Additional information: I have attempted to submit my patch to the
upstream maintainer at the only public contact address available,
http://www.info-zip.org/zip-bug.html. Sadly, their bug reporting CGI
script appears to have a bug. Every attempt I made was responded to
with the message "Error: Spammer stay away!". :-(
--Ben
On Wed, Jun 25, 2008 at 5:06 AM, Benjamin Wong <[EMAIL PROTECTED]> wrote:
> Package: unzip
> Version: 5.52-11
> Followup-For: Bug #314832
>
>
> The current version of unzip has an annoying bug where it creates
> files world readable and writable. The user's umask preferences are
> ignored.
>
> I have made a small patch which fixes that bug. Note that the old,
> broken behavior can still be had by using the -K flag. My patch should
> be simple to verify as correct; it merely ANDs the ~umask before
> running chmod.
>
> --Ben
>
> --- unix/unix.c.orig 2008-06-25 04:09:33.000000000 -0700
> +++ unix/unix.c 2008-06-25 04:47:20.000000000 -0700
> @@ -308,15 +308,23 @@
> * It's possible that a file in an archive could have one of these bits set
> * and, unknown to the person unzipping, could allow others to execute the
> * file as the user or group. The new option -K bypasses this check.
> + *
> + * Additionally, this function is now used to make unzip obey the Unix
> + * umask by default. Again, this can be overridden with the -K flag.
> */
>
> static unsigned filtattr(__G__ perms)
> __GDEF
> unsigned perms;
> {
> - /* keep setuid/setgid/tacky perms? */
> - if (!uO.K_flag)
> + mode_t mask = umask ( 0 );
> + umask(mask);
> +
> + /* keep setuid/setgid/tacky perms? ignore umask? */
> + if (!uO.K_flag) {
> perms &= ~(S_ISUID | S_ISGID | S_ISVTX);
> + perms &= ~mask; /* Obey the unix umask */
> + }
>
> return (0xffff & perms);
> } /* end function filtattr() */
>
>
>
>
> -- System Information:
> Debian Release: lenny/sid
> APT prefers testing
> APT policy: (500, 'testing'), (200, 'unstable')
> Architecture: i386 (i686)
>
> Kernel: Linux 2.6.22 (PREEMPT)
> Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages unzip depends on:
> ii libc6 2.7-10 GNU C Library: Shared libraries
>
> unzip recommends no packages.
>
> -- no debconf information
>
>
>
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]