pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/pkgsrc-2004Q2]: pkgsrc Pullup ticket 102 to the pkgsrc-2004Q2 branch,...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b70851d9204a
branches:  pkgsrc-2004Q2
changeset: 476761:b70851d9204a
user:      agc <agc%pkgsrc.org@localhost>
date:      Fri Aug 13 13:05:04 2004 +0000

description:
Pullup ticket 102 to the pkgsrc-2004Q2 branch, requested by Mark Davies

Security fix for kdelibs3


        Module Name:    pkgsrc
        Committed By:   markd
        Date:           Wed Aug 11 13:51:14 UTC 2004

        Modified Files:
                pkgsrc/x11/kdelibs3: Makefile distinfo
                pkgsrc/x11/kdelibs3/patches: patch-an
        Added Files:
                pkgsrc/x11/kdelibs3/patches: patch-ap patch-aq patch-ar patch-as
                    patch-at patch-au patch-av patch-aw patch-ax patch-ay

        Log Message:
        Fix some issues related to html frames, cookie handling and temporary
         filenames. From KDE cvs.
        Bump PKGREVISION.

diffstat:

 doc/CHANGES-pkgsrc-2004Q2     |    5 +-
 x11/kdelibs3/Makefile         |    3 +-
 x11/kdelibs3/distinfo         |   14 +-
 x11/kdelibs3/patches/patch-an |   32 ++++-
 x11/kdelibs3/patches/patch-ap |  187 ++++++++++++++++++++++++++++
 x11/kdelibs3/patches/patch-aq |   72 +++++++++++
 x11/kdelibs3/patches/patch-ar |   37 +++++
 x11/kdelibs3/patches/patch-as |   37 +++++
 x11/kdelibs3/patches/patch-at |   29 ++++
 x11/kdelibs3/patches/patch-au |   19 ++
 x11/kdelibs3/patches/patch-av |  272 ++++++++++++++++++++++++++++++++++++++++++
 x11/kdelibs3/patches/patch-aw |   52 ++++++++
 x11/kdelibs3/patches/patch-ax |   27 ++++
 x11/kdelibs3/patches/patch-ay |   47 +++++++
 14 files changed, 827 insertions(+), 6 deletions(-)

diffs (truncated from 917 to 300 lines):

diff -r 92e7d880f1b9 -r b70851d9204a doc/CHANGES-pkgsrc-2004Q2
--- a/doc/CHANGES-pkgsrc-2004Q2 Fri Jul 30 18:32:20 2004 +0000
+++ b/doc/CHANGES-pkgsrc-2004Q2 Fri Aug 13 13:05:04 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: CHANGES-pkgsrc-2004Q2,v 1.1.2.54 2004/07/30 18:32:20 agc Exp $
+$NetBSD: CHANGES-pkgsrc-2004Q2,v 1.1.2.55 2004/08/13 13:05:04 agc Exp $
 
 Changes to the packages collection and infrastructure on the
 pkgsrc-2004Q2 branch:
@@ -104,4 +104,5 @@
        Build fix for gnutls
 Pullup ticket 92, requested by Grant Beattie [agc 2004-07-30]
        Bulk build fix
-
+Pullup ticket 102, requested by Mark Davies [agc 2004-08-13]
+       Security fix for kdelibs3
diff -r 92e7d880f1b9 -r b70851d9204a x11/kdelibs3/Makefile
--- a/x11/kdelibs3/Makefile     Fri Jul 30 18:32:20 2004 +0000
+++ b/x11/kdelibs3/Makefile     Fri Aug 13 13:05:04 2004 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.61 2004/06/10 11:39:50 markd Exp $
+# $NetBSD: Makefile,v 1.61.2.1 2004/08/13 13:05:04 agc Exp $
 
 DISTNAME=      kdelibs-${_KDE_VERSION}
+PKGREVISION=   2
 CATEGORIES=    x11
 COMMENT=       Support libraries for the KDE integrated X11 desktop
 
diff -r 92e7d880f1b9 -r b70851d9204a x11/kdelibs3/distinfo
--- a/x11/kdelibs3/distinfo     Fri Jul 30 18:32:20 2004 +0000
+++ b/x11/kdelibs3/distinfo     Fri Aug 13 13:05:04 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.38 2004/06/10 11:39:50 markd Exp $
+$NetBSD: distinfo,v 1.38.2.1 2004/08/13 13:05:04 agc Exp $
 
 SHA1 (kdelibs-3.2.3.tar.bz2) = 33df00cb44694db306c29504f6ee5f3bd4a71c7d
 Size (kdelibs-3.2.3.tar.bz2) = 12737024 bytes
@@ -7,7 +7,17 @@
 SHA1 (patch-ae) = 238f16203cd101a5944ff01aa965956392c5b16d
 SHA1 (patch-af) = 7fbb3abcbf56020e3827ddf9d056beab9d1f3cd7
 SHA1 (patch-ag) = e471fdf5428e0f515ef3fe5427622854886ef952
-SHA1 (patch-an) = 41d2721bd55d060cde630771dad0377dbe770d73
+SHA1 (patch-an) = 443560cbbca3d29d2e436ac94b4920da081c99f9
+SHA1 (patch-ap) = 807a36fc910679431115f0d03208977d8cae7bc6
+SHA1 (patch-aq) = 26627136717b912e3c1ec884db4e9712398904cd
+SHA1 (patch-ar) = af4fe2fe875f91095aa024c23e17b4144ade283c
+SHA1 (patch-as) = e208b595c0f39094a8db16e6aa6b00c0d90420d2
+SHA1 (patch-at) = 9b114f66dd8b9134e884334d3d2217dd1f6e217e
+SHA1 (patch-au) = 20bebf25372adcb61065927adb093ddd10ec1b00
+SHA1 (patch-av) = 26c026a500f49847eedd56b143317d6661bf2f54
+SHA1 (patch-aw) = 4514ec04885709cfc402e387346c0c5f72408385
+SHA1 (patch-ax) = 36f21f6b3bb42f43deecd837095318d3f4e3b125
+SHA1 (patch-ay) = 27cf47be52f2f643f808d7092a6fe33458b67fc5
 SHA1 (patch-bc) = 434a48d290aa9716b8c6e372419460ebd33cf8ea
 SHA1 (patch-bd) = f233a73d0a8148e1ae7f4e777c3f5d50b56d768f
 SHA1 (patch-bu) = 65aca46f30be04c0d8177498eac149437b21ba56
diff -r 92e7d880f1b9 -r b70851d9204a x11/kdelibs3/patches/patch-an
--- a/x11/kdelibs3/patches/patch-an     Fri Jul 30 18:32:20 2004 +0000
+++ b/x11/kdelibs3/patches/patch-an     Fri Aug 13 13:05:04 2004 +0000
@@ -1,7 +1,37 @@
-$NetBSD: patch-an,v 1.3 2004/02/04 13:58:39 markd Exp $
+$NetBSD: patch-an,v 1.3.4.1 2004/08/13 13:05:04 agc Exp $
 
 --- kdecore/kstandarddirs.cpp.orig     2004-01-26 06:24:42.000000000 +1300
 +++ kdecore/kstandarddirs.cpp
+@@ -651,7 +651,28 @@ void KStandardDirs::createSpecialResourc
+    char link[1024];
+    link[1023] = 0;
+    int result = readlink(QFile::encodeName(dir).data(), link, 1023);
+-   if ((result == -1) && (errno == ENOENT))
++   bool relink = (result == -1) && (errno == ENOENT);
++   if ((result > 0) && (link[0] == '/'))
++   {
++      link[result] = 0;
++      struct stat stat_buf;
++      int res = lstat(link, &stat_buf);
++      if ((res == -1) && (errno == ENOENT))
++      {
++         relink = true;
++      }
++      else if ((res == -1) || (!S_ISDIR(stat_buf.st_mode)))
++      {
++         fprintf(stderr, "Error: \"%s\" is not a directory.\n", link);
++         relink = true;
++      }
++      else if (stat_buf.st_uid != getuid())
++      {
++         fprintf(stderr, "Error: \"%s\" is owned by uid %d instead of uid %d.\n", link, stat_buf.st_uid, getuid());
++         relink = true;
++      }
++   }
++   if (relink)
+    {
+       QString srv = findExe(QString::fromLatin1("lnusertemp"), KDEDIR+QString::fromLatin1("/bin"));
+       if (srv.isEmpty())
 @@ -847,33 +847,33 @@ static int tokenize( QStringList& tokens
  
  QString KStandardDirs::kde_default(const char *type) {
diff -r 92e7d880f1b9 -r b70851d9204a x11/kdelibs3/patches/patch-ap
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/kdelibs3/patches/patch-ap     Fri Aug 13 13:05:04 2004 +0000
@@ -0,0 +1,187 @@
+$NetBSD: patch-ap,v 1.7.4.1 2004/08/13 13:05:05 agc Exp $
+
+Index: dcopserver.cpp
+===================================================================
+RCS file: /home/kde/kdelibs/dcop/dcopserver.cpp,v
+retrieving revision 1.160.2.3
+diff -u -p -r1.160.2.3 dcopserver.cpp
+--- dcop/dcopserver.cpp        30 Apr 2004 15:00:08 -0000      1.160.2.3
++++ dcop/dcopserver.cpp        26 Jul 2004 09:03:06 -0000
+@@ -443,35 +443,78 @@ write_iceauth (FILE *addfp, IceAuthDataE
+     fprintf (addfp, "\n");
+ }
+ 
++#ifndef HAVE_MKSTEMPS
++#include <string.h>
++#include <strings.h>
+ 
+-#ifndef HAVE_MKSTEMP
+-static char *unique_filename (const char *path, const char *prefix)
+-#else
+-static char *unique_filename (const char *path, const char *prefix, int *pFd)
+-#endif
++/* this is based on code taken from the GNU libc, distributed under the LGPL license */
++
++/* Generate a unique temporary file name from TEMPLATE.
++
++   TEMPLATE has the form:
++
++   <path>/ccXXXXXX<suffix>
++
++   SUFFIX_LEN tells us how long <suffix> is (it can be zero length).
++
++   The last six characters of TEMPLATE before <suffix> must be "XXXXXX";
++   they are replaced with a string that makes the filename unique.
++
++   Returns a file descriptor open on the file for reading and writing.  */
++
++int mkstemps (char* _template, int suffix_len)
+ {
+-#ifndef HAVE_MKSTEMP
+-#ifndef X_NOT_POSIX
+-    return ((char *) tempnam (path, prefix));
+-#else
+-    char tempFile[PATH_MAX];
+-    char *tmp;
++  static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
++  char *XXXXXX;
++  int len;
++  int count;
++  int value;
++
++  len = strlen (_template);
++
++  if ((int) len < 6 + suffix_len || strncmp (&_template[len - 6 - suffix_len], "XXXXXX", 6))
++      return -1;
++
++  XXXXXX = &_template[len - 6 - suffix_len];
++
++  value = rand();
++  for (count = 0; count < 256; ++count)
++  {
++      int v = value;
++      int fd;
++
++      /* Fill in the random bits.  */
++      XXXXXX[0] = letters[v % 62];
++      v /= 62;
++      XXXXXX[1] = letters[v % 62];
++      v /= 62;
++      XXXXXX[2] = letters[v % 62];
++      v /= 62;
++      XXXXXX[3] = letters[v % 62];
++      v /= 62;
++      XXXXXX[4] = letters[v % 62];
++      v /= 62;
++      XXXXXX[5] = letters[v % 62];
++
++      fd = open (_template, O_RDWR|O_CREAT|O_EXCL, 0600);
++      if (fd >= 0)
++      /* The file does not exist.  */
++      return fd;
++
++      /* This is a random value.  It is only necessary that the next
++       TMP_MAX values generated by adding 7777 to VALUE are different
++       with (module 2^32).  */
++      value += 7777;
++    }
++  /* We return the null string if we can't find a unique file name.  */
++  _template[0] = '\0';
++  return -1;
++}
+ 
+-    snprintf (tempFile, PATH_MAX, "%s/%sXXXXXX", path, prefix);
+-    tmp = (char *) mktemp (tempFile);
+-    if (tmp)
+-      {
+-          char *ptr = (char *) malloc (strlen (tmp) + 1);
+-        if (ptr != NULL)
+-        {
+-              strcpy (ptr, tmp);
+-        }
+-          return (ptr);
+-      }
+-    else
+-      return (NULL);
+ #endif
+-#else
++
++static char *unique_filename (const char *path, const char *prefix, int *pFd)
++{
+     char tempFile[PATH_MAX];
+     char *ptr;
+ 
+@@ -480,43 +523,10 @@ static char *unique_filename (const char
+     if (ptr != NULL)
+       {
+           strcpy(ptr, tempFile);
+-          *pFd =  mkstemp(ptr);
++          *pFd =  mkstemps(ptr, 0);
+       }
+     return ptr;
+-#endif
+-}
+-
+-#if 0
+-Status SetAuthentication_local (int count, IceListenObj *listenObjs)
+-{
+-    int i;
+-    for (i = 0; i < count; i ++) {
+-      char *prot = IceGetListenConnectionString(listenObjs[i]);
+-      if (!prot) continue;
+-      char *host = strchr(prot, '/');
+-      char *sock = 0;
+-      if (host) {
+-          *host=0;
+-          host++;
+-          sock = strchr(host, ':');
+-          if (sock) {
+-              *sock = 0;
+-              sock++;
+-          }
+-      }
+-#ifndef NDEBUG
+-      qDebug("DCOPServer: SetAProc_loc: conn %d, prot=%s, file=%s",
+-              (unsigned)i, prot, sock);
+-#endif
+-      if (sock && !strcmp(prot, "local")) {
+-          chmod(sock, 0700);
+-      }
+-      IceSetHostBasedAuthProc (listenObjs[i], HostBasedAuthProc);
+-      free(prot);
+-    }
+-    return 1;
+ }
+-#endif
+ 
+ #define MAGIC_COOKIE_LEN 16
+ 
+@@ -529,28 +539,19 @@ SetAuthentication (int count, IceListenO
+     int         original_umask;
+     int         i;
+     QCString command;    
+-#ifdef HAVE_MKSTEMP
+     int         fd;
+-#endif
+ 
+     original_umask = umask (0077);      /* disallow non-owner access */
+ 
+     path = getenv ("DCOP_SAVE_DIR");
+     if (!path)
+       path = "/tmp";
+-#ifndef HAVE_MKSTEMP
+-    if ((addAuthFile = unique_filename (path, "dcop")) == NULL)
+-      goto bad;
+ 
+-    if (!(addfp = fopen (addAuthFile, "w")))
+-      goto bad;
+-#else
+     if ((addAuthFile = unique_filename (path, "dcop", &fd)) == NULL)
+       goto bad;
+ 
+     if (!(addfp = fdopen(fd, "wb")))
+       goto bad;
+-#endif
+ 
+     if ((*_authDataEntries = static_cast<IceAuthDataEntry *>(malloc (count * 2 * sizeof (IceAuthDataEntry)))) == NULL)
+       goto bad;
diff -r 92e7d880f1b9 -r b70851d9204a x11/kdelibs3/patches/patch-aq
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/kdelibs3/patches/patch-aq     Fri Aug 13 13:05:04 2004 +0000
@@ -0,0 +1,72 @@
+$NetBSD: patch-aq,v 1.4.4.1 2004/08/13 13:05:05 agc Exp $
+
+Index: kioslave/http/kcookiejar/kcookiejar.cpp
+===================================================================
+RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp,v
+retrieving revision 1.116
+retrieving revision 1.117



Home | Main Index | Thread Index | Old Index