Package: mini-dinstall
Version: 0.7.0+nmu2
Severity: normal
Tags: patch

Dear Maintainer,

I've installed "mini-dinstall" on "bullseye" (which brought version 0.7.0)
I found out that my "incoming/" folder became inaccessible:
  - I've used permissions of 0755, to allow access from web-server scripts
  - The real permissions were very different
  - I found out the value (0755 or 0o755) was always interpreted as decimal.
  - As a workaround, I've set the value to 493 (which is decimal for 0755)

Analysing the code and testing demonstrated the followin:
  - It seems the breakage happened in commit dc580be8
  - In "mini-dinstall", line 247 of original code the parsing changed:
    From:
       incoming_permissions = int(configp.get('DEFAULT', 
'incoming_permissions'), 8)
    To:
       incoming_permissions = configp.getint('DEFAULT', 'incoming_permissions')
  - I.e: the convertion to base-8 was removed
  - But "ConfigParser.getint() does not handle number base.
  - This changed happend ~3 years ago, but "buster" had older version, so we
    didn't notice this until now.

Fixing this is just one line (attaching a patch)

-- System Information:
Debian Release: 11.0
  APT prefers testing-security
  APT policy: (500, 'testing-security'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-7-amd64 (SMP w/88 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mini-dinstall depends on:
ii  apt-utils    2.2.4
ii  python3      3.9.2-3
ii  python3-apt  2.2.1

Versions of packages mini-dinstall recommends:
ii  gpgv  2.2.27-2

Versions of packages mini-dinstall suggests:
ii  debian-keyring  2021.06.25

-- no debconf information
>From cd06abde9961b7d49a31664f8e2c1866ef560c39 Mon Sep 17 00:00:00 2001
From: Volodymyr Sarkisian <volodymyr.sarkis...@harmonicinc.com>
Date: Tue, 20 Jul 2021 14:19:54 +0300
Subject: [PATCH] Fixed CBLOS-64905: mini-dinstall now uses octal permissions
 format

---
 debian/changelog | 7 +++++++
 mini-dinstall    | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index bf9c70c..97deb96 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mini-dinstall (0.7.0+nmu2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix CBLOS-64905: octal permissions representation now works again
+
+ -- Volodymyr Sarkisian <vsark...@harmonicinc.com>  Tue, 20 Jul 2021 14:14:55 
+0300
+
 mini-dinstall (0.7.0+nmu1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff --git a/mini-dinstall b/mini-dinstall
index b0753fb..3d59358 100755
--- a/mini-dinstall
+++ b/mini-dinstall
@@ -249,7 +249,8 @@ else:
     sys.exit(1)
 
 if configp.has_option('DEFAULT', 'incoming_permissions'):
-    incoming_permissions = configp.getint('DEFAULT', 'incoming_permissions')
+    # Falling back to octal permissions representation
+    incoming_permissions = int(configp.get('DEFAULT', 'incoming_permissions'), 
8)
 
 do_mkdir(toplevel_directory)
 dinstall_subdir = os.path.join(toplevel_directory, dinstall_subdir)
-- 
2.20.1

Reply via email to