]> git.pld-linux.org Git - packages/wget.git/commitdiff
- don't permit chmod 777 on symlinks (patch from rawhide).
authorkloczek <kloczek@pld-linux.org>
Fri, 1 Oct 1999 20:34:25 +0000 (20:34 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    wget-symlink.patch -> 1.1

wget-symlink.patch [new file with mode: 0644]

diff --git a/wget-symlink.patch b/wget-symlink.patch
new file mode 100644 (file)
index 0000000..03c3b7f
--- /dev/null
@@ -0,0 +1,159 @@
+From charles@comm.polymtl.ca  Thu Aug 26 14:28:18 1999
+Return-Path: <charles@comm.polymtl.ca>
+Received: from mail.redhat.com (mail.redhat.com [199.183.24.239])
+       by developer.redhat.com (8.8.7/8.8.7) with ESMTP id OAA26562
+       for <bugzilla@developer.redhat.com>; Thu, 26 Aug 1999 14:28:18 -0400
+Received: from lacrosse.corp.redhat.com (root@lacrosse.corp.redhat.com [207.175.42.154])
+       by mail.redhat.com (8.8.7/8.8.7) with ESMTP id OAA26105
+       for <bugzilla@developer.redhat.com>; Thu, 26 Aug 1999 14:28:17 -0400
+Received: from mail.redhat.com (mail.redhat.com [199.183.24.239])
+       by lacrosse.corp.redhat.com (8.9.3/8.9.3) with ESMTP id OAA20589
+       for <bugzilla@lacrosse.redhat.com>; Thu, 26 Aug 1999 14:28:16 -0400
+Received: from comm.polymtl.ca (inconnu@comm.polymtl.ca [132.207.7.20])
+       by mail.redhat.com (8.8.7/8.8.7) with ESMTP id OAA26096
+       for <bugzilla@redhat.com>; Thu, 26 Aug 1999 14:28:16 -0400
+Received: from faucon.comm.polymtl.ca (charles@faucon.comm.polymtl.ca [132.207.20.24])
+       by comm.polymtl.ca (8.8.7/8.8.7) with SMTP id OAA06425;
+       Thu, 26 Aug 1999 14:28:11 -0400 (EDT)
+Date: Thu, 26 Aug 1999 14:28:11 -0400 (EDT)
+Message-Id: <199908261828.OAA06425@comm.polymtl.ca>
+Received: by faucon.comm.polymtl.ca (4.1/SMI-4.1)
+       id AA09514; Thu, 26 Aug 99 14:28:09 EDT
+From: Charles Levert <charles@comm.polymtl.ca>
+To: bugzilla@redhat.com
+Subject: BUG ID #4725
+
+--- wget-1.5.3/src/ChangeLog.orig-1.5.3        Mon Sep 21 13:01:05 1998
++++ wget-1.5.3/src/ChangeLog   Sat Jun 19 16:09:40 1999
+@@ -1,3 +1,17 @@
++1999-06-19  Charles Levert  <charles@comm.polymtl.ca>
++
++      * ftp.c (touch_and_chmod): New static function from code in
++      ftp_retrieve_list.
++
++      * ftp.c (ftp_retrieve_list): use touch_and_chmod instead.
++
++      * ftp.c (ftp_retrieve_dirs): chmod 0700 each dir, process it,
++      and touch_and_chmod it properly afterwards.
++
++1999-06-14  Charles Levert  <charles@comm.polymtl.ca>
++
++      * ftp.c (ftp_retrieve_list): Do not use chmod on a symlink.
++
+ 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
+       * version.c: Wget 1.5.3 is released.
+--- wget-1.5.3/src/ftp.c.orig-1.5.3    Thu Sep 10 08:21:36 1998
++++ wget-1.5.3/src/ftp.c       Sat Jun 19 16:00:31 1999
+@@ -1023,6 +1023,7 @@
+ static struct fileinfo *delelement PARAMS ((struct fileinfo *,
+                                           struct fileinfo **));
+ static void freefileinfo PARAMS ((struct fileinfo *f));
++static void touch_and_chmod PARAMS ((char *local_name, struct fileinfo *f));
+ /* Retrieve a list of files given in struct fileinfo linked list.  If
+    a file is a symbolic link, do not retrieve it, but rather try to
+@@ -1178,24 +1179,8 @@
+         break;
+       }       /* switch */
+-      /* Set the time-stamp information to the local file.  Symlinks
+-       are not to be stamped because it sets the stamp on the
+-       original.  :( */
+-      if (!opt.dfp
+-        && !(f->type == FT_SYMLINK && !opt.retr_symlinks)
+-        && f->tstamp != -1
+-          && dlthis
+-        && file_exists_p (u->local))
+-      {
+-        touch (u->local, f->tstamp);
+-      }
+-      else if (f->tstamp == -1)
+-      logprintf (LOG_NOTQUIET, _("%s: corrupt time-stamp.\n"), u->local);
+-
+-      if (f->perms && dlthis)
+-      chmod (u->local, f->perms);
+-      else
+-      DEBUGP (("Unrecognized permissions for %s.\n", u->local));
++      if (!opt.dfp && dlthis)
++      touch_and_chmod (u->local, f);
+       free (u->local);
+       u->local = olocal;
+@@ -1224,6 +1209,8 @@
+ ftp_retrieve_dirs (struct urlinfo *u, struct fileinfo *f, ccon *con)
+ {
+   char *odir;
++  char *ofile;
++  char *ulocal;
+   char *current_container = NULL;
+   int current_length = 0;
+@@ -1235,6 +1222,12 @@
+       break;
+       if (f->type != FT_DIRECTORY)
+       continue;
++
++      ofile = u->file;
++      u->file = f->name;
++      ulocal = url_filename (u);
++      u->file = ofile;
++
+       odir = u->dir;
+       len = 1 + strlen (u->dir) + 1 + strlen (f->name) + 1;
+       /* Allocate u->dir off stack, but reallocate only if a larger
+@@ -1251,12 +1244,23 @@
+       {
+         logprintf (LOG_VERBOSE, _("\
+ Not descending to `%s' as it is excluded/not-included.\n"), u->dir);
++        free (ulocal);
+         u->dir = odir;
+         continue;
+       }
+       con->st &= ~DONE_CWD;
++
++      /* Make sure we can write in there.  */
++      if (!opt.dfp)
++      chmod (ulocal, 0700);
++
+       ftp_retrieve_glob (u, con, GETALL);
+-      /* Set the time-stamp?  */
++
++      /* Now that everything that had to be done there is done...  */
++      if (!opt.dfp)
++      touch_and_chmod (ulocal, f);
++
++      free (ulocal);
+       u->dir = odir;
+     }
+   if (opt.quota && opt.downloaded > opt.quota)
+@@ -1472,5 +1476,28 @@
+       free (f->linkto);
+       free (f);
+       f = next;
++    }
++}
++
++static void
++touch_and_chmod(char *local_name, struct fileinfo *f)
++{
++  /* Set the time-stamp information to the local file.  Symlinks
++     are not to be stamped because it sets the stamp on the
++     original.  :( */
++  /* Symlinks always have 0777 perms.  Chmod would affect
++     linked file. */
++  if (!(f->type == FT_SYMLINK && !opt.retr_symlinks)
++      && file_exists_p (local_name))
++    {
++      if (f->tstamp != -1)
++      touch (local_name, f->tstamp);
++      else
++      logprintf (LOG_NOTQUIET, _("%s: corrupt time-stamp.\n"), local_name);
++
++      if (f->perms)
++      chmod (local_name, f->perms);
++      else
++      DEBUGP (("Unrecognized permissions for %s.\n", local_name));
+     }
+ }
+
This page took 0.176844 seconds and 4 git commands to generate.