Your message dated Mon, 04 Sep 2006 14:03:01 -0700 with message-id <[EMAIL PROTECTED]> and subject line Bug#376119: fixed in lintian 1.23.24 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---Package: lintian Version: 1.23.21 Severity: wishlist Tags: patch *** Please type your report below this line *** The lintian check-scripts: /usr/share/lintian/checks/{control-files,files,menus,shared-libs} ...each define a "perm2oct" function to allow them to convert a ls-style string like drwxr-xr-x into a numeric value like 0755. However, the logic used in each case is incapable of coping with pathological strings like drwSr-Sr-T (=07644), and would read that as equivalent to the inoffensive drwxr-xr-x. Now, you could fix this by simple-mindedly extending the existing logic, or you could use something a bit fancier. Below are buggy, plain-fixed and fancy-fixed versions of the function; attached is a patch using the plain version. ###################################################################### BUGGY ###################################################################### # translate permission strings like `-rwxrwxrwx' into an octal number sub perm2oct { my ($t) = @_; my $o = 0; $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; $o += 04000 if $3 eq 's'; # set-uid $o += 02000 if $6 eq 's'; # set-gid $o += 01000 if $9 eq 't'; # sticky bit $o += 00400 if $1 ne '-'; # owner read $o += 00200 if $2 ne '-'; # owner write $o += 00100 if $3 ne '-'; # owner execute $o += 00040 if $4 ne '-'; # owner read $o += 00020 if $5 ne '-'; # owner write $o += 00010 if $6 ne '-'; # owner execute $o += 00004 if $7 ne '-'; # owner read $o += 00002 if $8 ne '-'; # owner write $o += 00001 if $9 ne '-'; # owner execute return $o; } ###################################################################### PLAIN-FIXED ###################################################################### # translate permission strings like `-rwxrwxrwx' into an octal number sub perm2oct { my ($t) = @_; my $o = 0; $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; $o += 00400 if $1 eq 'r'; # owner read $o += 00200 if $2 eq 'w'; # owner write $o += 00100 if $3 eq 'x'; # owner execute $o += 04000 if $3 eq 'S'; # setuid $o += 04100 if $3 eq 's'; # setuid + owner execute $o += 00040 if $4 eq 'r'; # group read $o += 00020 if $5 eq 'w'; # group write $o += 00010 if $6 eq 'x'; # group execute $o += 02000 if $6 eq 'S'; # setgid $o += 02010 if $6 eq 's'; # setgid + group execute $o += 00004 if $7 eq 'r'; # other read $o += 00002 if $8 eq 'w'; # other write $o += 00001 if $9 eq 'x'; # other execute $o += 01000 if $9 eq 'T'; # stickybit $o += 01001 if $9 eq 't'; # stickybit + other execute return $o; } ###################################################################### FANCY-FIXED ###################################################################### # translate permission strings like `-rwxrwxrwx' into an octal number sub perm2oct { my ($t) = @_; my $o = 0; $t =~ /^.(...)(...)(...)/o; my @ugo = ($1, $2, $3); my @rwx = ('[xst]', 'w', 'r'); for my $i (0..8) { unless ($i%3) { $_ = pop @ugo; /[stST]/ and $o += 1<<(9+$i/3); } /$rwx[$i%3]/ and $o += 1<<$i; } return $o; # though this isn't oct-shaped! } ###################################################################### -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing'), (50, 'unstable') Architecture: i386 (i586) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.17.hurakan Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1) Versions of packages lintian depends on: ii binutils 2.16.1cvs20060413-1 The GNU assembler, linker and bina ii diffstat 1.41-1 produces graph of changes introduc ii dpkg-dev 1.13.21 package building tools for Debian ii file 4.17-2 Determines file type using "magic" ii gettext 0.14.5-4 GNU Internationalization utilities ii intltool-debian 0.34.2+20060512 Help i18n of RFC822 compliant conf ii libparse-debianchang 1.0-1 parse Debian changelogs and output ii man-db 2.4.3-3 The on-line manual pager ii perl [libdigest-md5- 5.8.8-4 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information -- JBR Ankh kak! (Ancient Egyptian blessing)diff -ru lintian-1.23.22.pristine/checks/control-files lintian-1.23.22/checks/control-files --- lintian-1.23.22.pristine/checks/control-files 2006-01-02 09:19:16.000000000 +0000 +++ lintian-1.23.22/checks/control-files 2006-06-29 20:34:16.000000000 +0100 @@ -112,18 +112,21 @@ $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; - $o += 04000 if $3 eq 's'; # set-uid - $o += 02000 if $6 eq 's'; # set-gid - $o += 01000 if $9 eq 't'; # sticky bit - $o += 00400 if $1 ne '-'; # owner read - $o += 00200 if $2 ne '-'; # owner write - $o += 00100 if $3 ne '-'; # owner execute - $o += 00040 if $4 ne '-'; # owner read - $o += 00020 if $5 ne '-'; # owner write - $o += 00010 if $6 ne '-'; # owner execute - $o += 00004 if $7 ne '-'; # owner read - $o += 00002 if $8 ne '-'; # owner write - $o += 00001 if $9 ne '-'; # owner execute + $o += 00400 if $1 eq 'r'; # owner read + $o += 00200 if $2 eq 'w'; # owner write + $o += 00100 if $3 eq 'x'; # owner execute + $o += 04000 if $3 eq 'S'; # setuid + $o += 04100 if $3 eq 's'; # setuid + owner execute + $o += 00040 if $4 eq 'r'; # group read + $o += 00020 if $5 eq 'w'; # group write + $o += 00010 if $6 eq 'x'; # group execute + $o += 02000 if $6 eq 'S'; # setgid + $o += 02010 if $6 eq 's'; # setgid + group execute + $o += 00004 if $7 eq 'r'; # other read + $o += 00002 if $8 eq 'w'; # other write + $o += 00001 if $9 eq 'x'; # other execute + $o += 01000 if $9 eq 'T'; # stickybit + $o += 01001 if $9 eq 't'; # stickybit + other execute return $o; } diff -ru lintian-1.23.22.pristine/checks/files lintian-1.23.22/checks/files --- lintian-1.23.22.pristine/checks/files 2006-05-04 04:37:21.000000000 +0100 +++ lintian-1.23.22/checks/files 2006-06-29 20:42:21.000000000 +0100 @@ -769,20 +769,23 @@ my $o = 0; - $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/; + $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; - $o += 04000 if $3 eq 's'; # set-uid - $o += 02000 if $6 eq 's'; # set-gid - $o += 01000 if $9 eq 't'; # sticky bit - $o += 00400 if $1 ne '-'; # owner read - $o += 00200 if $2 ne '-'; # owner write - $o += 00100 if $3 ne '-'; # owner execute - $o += 00040 if $4 ne '-'; # owner read - $o += 00020 if $5 ne '-'; # owner write - $o += 00010 if $6 ne '-'; # owner execute - $o += 00004 if $7 ne '-'; # owner read - $o += 00002 if $8 ne '-'; # owner write - $o += 00001 if $9 ne '-'; # owner execute + $o += 00400 if $1 eq 'r'; # owner read + $o += 00200 if $2 eq 'w'; # owner write + $o += 00100 if $3 eq 'x'; # owner execute + $o += 04000 if $3 eq 'S'; # setuid + $o += 04100 if $3 eq 's'; # setuid + owner execute + $o += 00040 if $4 eq 'r'; # group read + $o += 00020 if $5 eq 'w'; # group write + $o += 00010 if $6 eq 'x'; # group execute + $o += 02000 if $6 eq 'S'; # setgid + $o += 02010 if $6 eq 's'; # setgid + group execute + $o += 00004 if $7 eq 'r'; # other read + $o += 00002 if $8 eq 'w'; # other write + $o += 00001 if $9 eq 'x'; # other execute + $o += 01000 if $9 eq 'T'; # stickybit + $o += 01001 if $9 eq 't'; # stickybit + other execute return $o; } diff -ru lintian-1.23.22.pristine/checks/menus lintian-1.23.22/checks/menus --- lintian-1.23.22.pristine/checks/menus 2006-05-09 02:53:09.000000000 +0100 +++ lintian-1.23.22/checks/menus 2006-06-29 20:35:08.000000000 +0100 @@ -260,20 +260,23 @@ my $o = 0; - $t =~ /^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; + $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; - $o += 04000 if $3 eq 's'; # set-uid - $o += 02000 if $6 eq 's'; # set-gid - $o += 01000 if $9 eq 't'; # sticky bit - $o += 00400 if $1 ne '-'; # owner read - $o += 00200 if $2 ne '-'; # owner write - $o += 00100 if $3 ne '-'; # owner execute - $o += 00040 if $4 ne '-'; # owner read - $o += 00020 if $5 ne '-'; # owner write - $o += 00010 if $6 ne '-'; # owner execute - $o += 00004 if $7 ne '-'; # owner read - $o += 00002 if $8 ne '-'; # owner write - $o += 00001 if $9 ne '-'; # owner execute + $o += 00400 if $1 eq 'r'; # owner read + $o += 00200 if $2 eq 'w'; # owner write + $o += 00100 if $3 eq 'x'; # owner execute + $o += 04000 if $3 eq 'S'; # setuid + $o += 04100 if $3 eq 's'; # setuid + owner execute + $o += 00040 if $4 eq 'r'; # group read + $o += 00020 if $5 eq 'w'; # group write + $o += 00010 if $6 eq 'x'; # group execute + $o += 02000 if $6 eq 'S'; # setgid + $o += 02010 if $6 eq 's'; # setgid + group execute + $o += 00004 if $7 eq 'r'; # other read + $o += 00002 if $8 eq 'w'; # other write + $o += 00001 if $9 eq 'x'; # other execute + $o += 01000 if $9 eq 'T'; # stickybit + $o += 01001 if $9 eq 't'; # stickybit + other execute return $o; } diff -ru lintian-1.23.22.pristine/checks/shared-libs lintian-1.23.22/checks/shared-libs --- lintian-1.23.22.pristine/checks/shared-libs 2006-04-04 21:20:47.000000000 +0100 +++ lintian-1.23.22/checks/shared-libs 2006-06-29 20:35:35.000000000 +0100 @@ -403,18 +403,21 @@ $t =~ m/^.(.)(.)(.)(.)(.)(.)(.)(.)(.)/o; - $o += 04000 if $3 eq 's'; # set-uid - $o += 02000 if $6 eq 's'; # set-gid - $o += 01000 if $9 eq 't'; # sticky bit - $o += 00400 if $1 ne '-'; # owner read - $o += 00200 if $2 ne '-'; # owner write - $o += 00100 if $3 ne '-'; # owner execute - $o += 00040 if $4 ne '-'; # owner read - $o += 00020 if $5 ne '-'; # owner write - $o += 00010 if $6 ne '-'; # owner execute - $o += 00004 if $7 ne '-'; # owner read - $o += 00002 if $8 ne '-'; # owner write - $o += 00001 if $9 ne '-'; # owner execute + $o += 00400 if $1 eq 'r'; # owner read + $o += 00200 if $2 eq 'w'; # owner write + $o += 00100 if $3 eq 'x'; # owner execute + $o += 04000 if $3 eq 'S'; # setuid + $o += 04100 if $3 eq 's'; # setuid + owner execute + $o += 00040 if $4 eq 'r'; # group read + $o += 00020 if $5 eq 'w'; # group write + $o += 00010 if $6 eq 'x'; # group execute + $o += 02000 if $6 eq 'S'; # setgid + $o += 02010 if $6 eq 's'; # setgid + group execute + $o += 00004 if $7 eq 'r'; # other read + $o += 00002 if $8 eq 'w'; # other write + $o += 00001 if $9 eq 'x'; # other execute + $o += 01000 if $9 eq 'T'; # stickybit + $o += 01001 if $9 eq 't'; # stickybit + other execute return $o; }
--- End Message ---
--- Begin Message ---Source: lintian Source-Version: 1.23.24 We believe that the bug you reported is fixed in the latest version of lintian, which is due to be installed in the Debian FTP archive: lintian_1.23.24.dsc to pool/main/l/lintian/lintian_1.23.24.dsc lintian_1.23.24.tar.gz to pool/main/l/lintian/lintian_1.23.24.tar.gz lintian_1.23.24_all.deb to pool/main/l/lintian/lintian_1.23.24_all.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Russ Allbery <[EMAIL PROTECTED]> (supplier of updated lintian package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Mon, 4 Sep 2006 12:03:16 -0700 Source: lintian Binary: lintian Architecture: source all Version: 1.23.24 Distribution: unstable Urgency: low Maintainer: Debian Lintian Maintainers <[EMAIL PROTECTED]> Changed-By: Russ Allbery <[EMAIL PROTECTED]> Description: lintian - Debian package checker Closes: 376119 377740 384476 385178 386014 Changes: lintian (1.23.24) unstable; urgency=low . The "LSB init script" release . * checks/control-files: + [RA] perm2oct definition moved to Util.pm. * checks/cruft{.desc,}: + [RA] Remove the (info-level) check for .cvsignore files in the source tarball. This isn't an error; those files contain metadata that may be useful for people making modifications and it's quite common to distribute them. * checks/debconf{.desc,}: + [RA] Diagnose unknown priorities in db_input and db_text invocations. Patch from Thomas Huriaux. (Closes: #386014) * checks/fields{.desc,}: + [RA] Depending on versioned variants of python-minimal is also an error. Thanks, Adeodato Simó. (Closes: #384476) * checks/files: + [RA] perm2oct definition moved to Util.pm. * checks/init.d{.desc,}: + [RA] Added a warning for init scripts missing an LSB keyword section, checks of the syntax of such a section if present, and some basic semantic checks of the easiest fields. Based on initial work by Carlos Villegas. (Closes: #377740) * checks/menus: + [RA] perm2oct definition moved to Util.pm. * checks/scripts: + [RA] Properly concatenate the dependencies for a package when checking whether the dependency for an interpreter is included. Thanks, Vincent Danjean. (Closes: #385178) * checks/shared-libs: + [RA] perm2oct definition moved to Util.pm. . * lib/Util.pm: + [RA] Move perm2oct to here and improve recognition of s, S, t, and T characters. Thanks to Justin B. Rye for patch. (Closes: #376119) Files: d99a044f4bdd199c9b267c89cf3f5cbb 803 devel optional lintian_1.23.24.dsc be2ff09babea1a73bb75c8508e2465f5 312666 devel optional lintian_1.23.24.tar.gz c681e9f48104e3304cbfdccfd814b563 265882 devel optional lintian_1.23.24_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFE/Hly+YXjQAr8dHYRApd/AJ9wSSrBO1DHUoNEj01P4qgeUjOggACfTxL9 HXfRImQB2t1Dn7cSv/eCepI= =dM09 -----END PGP SIGNATURE-----
--- End Message ---

