OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src openpkg-web openpkg$ Date:   10-Sep-2003 20:01:55
  Branch: HEAD                             Handle: 2003091019015203

  Modified files:
    openpkg-re/vcheck       vc.kerberos
    openpkg-src/kerberos    kerberos.patch kerberos.spec
    openpkg-web             news.txt

  Log:
    upgrading package: kerberos 1.2.8 -> 1.3.1

  Summary:
    Revision    Changes     Path
    1.5         +4  -3      openpkg-re/vcheck/vc.kerberos
    1.5         +20 -323    openpkg-src/kerberos/kerberos.patch
    1.35        +3  -4      openpkg-src/kerberos/kerberos.spec
    1.6491      +1  -0      openpkg-web/news.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-re/vcheck/vc.kerberos
  ============================================================================
  $ cvs diff -u -r1.4 -r1.5 vc.kerberos
  --- openpkg-re/vcheck/vc.kerberos     10 Apr 2003 16:24:34 -0000      1.4
  +++ openpkg-re/vcheck/vc.kerberos     10 Sep 2003 18:01:52 -0000      1.5
  @@ -1,8 +1,9 @@
  - config = {
  +config = {
   }
   
   prog kerberos = {
  -  version   = 1.2.8
  -  url       = 
http://www.mirrors.wiretapped.net/security/cryptography/apps/kerberos/krb5-mit/unix/
  +  version   = 1.3.1
  +  url       = http://www.crypto-publish.org/mit-kerberos5/index.html
     regex     = krb5-(__VER__)\.tar\.gz
   }
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/kerberos/kerberos.patch
  ============================================================================
  $ cvs diff -u -r1.4 -r1.5 kerberos.patch
  --- openpkg-src/kerberos/kerberos.patch       28 Jul 2003 20:44:56 -0000      1.4
  +++ openpkg-src/kerberos/kerberos.patch       10 Sep 2003 18:01:55 -0000      1.5
  @@ -1,64 +1,16 @@
  ---- krb5-1.2.8/src/appl/telnet/telnet/commands.c.dist        2003-05-16 
12:24:35.000000000 +0200
  -+++ krb5-1.2.8/src/appl/telnet/telnet/commands.c     2003-05-16 12:31:39.000000000 
+0200
  -@@ -60,7 +60,7 @@
  - #include <netdb.h>
  - #include <ctype.h>
  - #include <pwd.h>
  --#include <varargs.h>
  -+#include <stdarg.h>
  +diff -ru3 krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c 
krb5-1.3.1/src/appl/gssftp/ftp/cmds.c
  +--- krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c       2003-06-17 00:37:39.000000000 
+0200
  ++++ krb5-1.3.1/src/appl/gssftp/ftp/cmds.c    2003-09-10 19:45:29.000000000 +0200
  +@@ -65,6 +65,7 @@
    #include <errno.h>
  - #ifdef HAVE_VFORK_H
  - #include <vfork.h>
  -@@ -115,7 +115,7 @@
  - extern char **genget();
  - extern int Ambiguous();
  - 
  --static call();
  -+static call(void *va_alist, ...);
  - 
  - typedef struct {
  -     char    *name;          /* command name */
  -@@ -2698,8 +2698,7 @@
  - 
  -     /*VARARGS1*/
  -     static
  --call(va_alist)
  --    va_dcl
  -+call(void *va_alist, ...)
  - {
  -     va_list ap;
  -     typedef int (*intrtn_t)();
  -@@ -2707,8 +2706,8 @@
  -     char *args[100];
  -     int argno = 0;
  - 
  --    va_start(ap);
  --    routine = (va_arg(ap, intrtn_t));
  -+    va_start(ap, va_alist);
  -+    routine = (intrtn_t) va_alist;
  -     while ((args[argno++] = va_arg(ap, char *)) != 0) {
  -     ;
  -     }
  ---- krb5-1.2.8/src/appl/gssftp/ftp/cmds.c.dist       Wed Jun 25 17:41:28 2003
  -+++ krb5-1.2.8/src/appl/gssftp/ftp/cmds.c    Wed Jun 25 17:43:54 2003
  -@@ -52,6 +52,7 @@
  - #include <netdb.h>
    #include <ctype.h>
    #include <time.h>
   +#include <limits.h>
  - #include <netinet/in.h>
    
    #ifdef HAVE_GETCWD
  -@@ -69,6 +70,7 @@
  - extern      char **ftpglob();
  - extern      char *home;
  - extern      char *remglob();
  -+static int checkglob(int fd, const char *pattern);
  - extern      char *getenv();
  - #ifndef HAVE_STRERROR
  - #define strerror(error) (sys_errlist[error])
  -@@ -88,6 +90,64 @@
  - extern int do_auth();
  + #define getwd(x) getcwd(x,MAXPATHLEN)
  +@@ -101,6 +102,30 @@
  + static char *domap (char *);
    
    /*
   + * pipeprotect: protect against "special" local filenames by prepending
  @@ -85,44 +37,10 @@
   +}
   +
   +/*
  -+ * Look for embedded ".." in a pathname and change it to "!!", printing
  -+ * a warning.
  -+ */
  -+static char *pathprotect(char *name)
  -+{
  -+    int gotdots=0, i, len;
  -+    
  -+    /* Convert null terminator to trailing / to catch a trailing ".." */
  -+    len = strlen(name)+1;
  -+    name[len-1] = '/';
  -+
  -+    /*
  -+     * State machine loop. gotdots is < 0 if not looking at dots,
  -+     * 0 if we just saw a / and thus might start getting dots,
  -+     * and the count of dots seen so far if we have seen some.
  -+     */
  -+    for (i=0; i<len; i++) {
  -+            if (name[i]=='.' && gotdots>=0) gotdots++;
  -+            else if (name[i]=='/' && gotdots<0) gotdots=0;
  -+            else if (name[i]=='/' && gotdots==2) {
  -+                printf("Warning: embedded .. in %.*s (changing to !!)\n",
  -+                       len-1, name);
  -+                name[i-1] = '!';
  -+                name[i-2] = '!';
  -+                gotdots = 0;
  -+            }
  -+            else if (name[i]=='/') gotdots = 0;
  -+            else gotdots = -1;
  -+    }
  -+    name[len-1] = 0;
  -+    return name;
  -+}
  -+
  -+/*
     * `Another' gets another argument, and stores the new argc and argv.
     * It reverts to the top level (via main.c's intr()) on EOF/error.
     *
  -@@ -832,7 +892,15 @@
  +@@ -844,7 +869,15 @@
    
        if (argc == 2) {
                argc++;
  @@ -139,29 +57,7 @@
                loc++;
        }
        if (argc < 2 && !another(&argc, &argv, "remote-file"))
  -@@ -1007,8 +1075,19 @@
  -                     if (mapflag) {
  -                             tp = domap(tp);
  -                     }
  --                    recvrequest("RETR", tp, cp, "w",
  --                        tp != cp || !interactive);
  -+                    /* Reject embedded ".." */
  -+                    tp = pathprotect(tp);
  -+
  -+                    /* Prepend ./ to "-" or "!*" or leading "/" */
  -+                    tp = pipeprotect(tp);
  -+                    if (tp == NULL) {
  -+                            /* hmm... how best to handle this? */
  -+                            mflag = 0;
  -+                    }
  -+                    else {
  -+                        recvrequest("RETR", tp, cp, "w",
  -+                                    tp != cp || !interactive);
  -+                    }
  -                     if (!mflag && fromatty) {
  -                             ointer = interactive;
  -                             interactive = 1;
  -@@ -1024,16 +1103,14 @@
  +@@ -1033,16 +1066,14 @@
    }
    
    char *
  @@ -170,223 +66,24 @@
   -    int doswitch;
   +remglob(char *argv[], int doswitch)
    {
  + #ifdef _WIN32
  +     char *temp = NULL;
  + #else
        char temp[16];
  + #endif
   -    static char buf[MAXPATHLEN];
  -+    static char buf[PATH_MAX];
  ++    static char buf[PATH_MAX];
        static FILE *ftemp = NULL;
        static char **args;
  --    int oldverbose, oldhash;
  --    char *cp, *mode;
  -+    int oldverbose, oldhash, badglob = 0;
  -+    char *cp;
  - 
  -     if (!mflag) {
  -             if (!doglob) {
  -@@ -1055,36 +1132,154 @@
  -             return (cp);
  -     }
  -     if (ftemp == NULL) {
  --            (void) strncpy(temp, _PATH_TMP, sizeof(temp) - 1);
  --            temp[sizeof(temp) - 1] = '\0';
  --            (void) mktemp(temp);
  -+            int oldumask, fd;
  -+            (void) strcpy(temp, _PATH_TMP);
  -+
  -+            /* libc 5.2.18 creates with mode 0666, which is dumb */
  -+            oldumask = umask(077);
  -+            fd = mkstemp(temp);
  -+            umask(oldumask);
  -+
  -+            if (fd<0) {
  -+                    printf("Error creating temporary file, oops\n");
  -+                    return NULL;
  -+            }
  -+
  -             oldverbose = verbose, verbose = 0;
  -             oldhash = hash, hash = 0;
  -             if (doswitch) {
  -                     pswitch(!proxy);
  -             }
  --            for (mode = "w"; *++argv != NULL; mode = "a")
  --                    recvrequest ("NLST", temp, *argv, mode, 0);
  -+            while (*++argv != NULL) {
  -+                    int     dupfd = dup(fd);
  -+
  -+                    recvrequest ("NLST", temp, *argv, "a", 0);
  -+                    if (!checkglob(dupfd, *argv)) {
  -+                            badglob = 1;
  -+                            break;
  -+                    }
  -+            }
  -+            unlink(temp);
  -+
  -             if (doswitch) {
  -                     pswitch(!proxy);
  -             }
  -             verbose = oldverbose; hash = oldhash;
  --            ftemp = fopen(temp, "r");
  --            (void) unlink(temp);
  -+            if (badglob) {
  -+                    printf("Refusing to handle insecure file list\n");
  -+                    close(fd);
  -+                    return NULL;
  -+            }
  -+            ftemp = fdopen(fd, "r");
  -             if (ftemp == NULL) {
  -                     printf("can't find list of remote files, oops\n");
  -                     return (NULL);
  -             }
  -+            rewind(ftemp);
  -     }
  -     if (fgets(buf, sizeof (buf), ftemp) == NULL) {
  -             (void) fclose(ftemp), ftemp = NULL;
  -             return (NULL);
  -     }
  --    if ((cp = strchr(buf, '\n')) != NULL)
  -+    if ((cp = index(buf, '\n')) != NULL)
  -             *cp = '\0';
  -     return (buf);
  - }
  - 
  -+/*
  -+ * Check whether given pattern matches `..'
  -+ * We assume only a glob pattern starting with a dot will match
  -+ * dot entries on the server.
  -+ */
  -+static int
  -+isdotdotglob(const char *pattern)
  -+{
  -+    int     havedot = 0;
  -+    char    c;
  -+
  -+    if (*pattern++ != '.')
  -+            return 0;
  -+    while ((c = *pattern++) != '\0' && c != '/') {
  -+            if (c == '*' || c == '?')
  -+                    continue;
  -+            if (c == '.' && havedot++)
  -+                    return 0;
  -+    }
  -+    return 1;
  -+}
  -+
  -+/*
  -+ * This function makes sure the list of globbed files returned from
  -+ * the server doesn't contain anything dangerous such as
  -+ * /home/<yourname>/.forward, or ../.forward,
  -+ * or |mail [EMAIL PROTECTED] </etc/passwd, etc.
  -+ * Covered areas:
  -+ *  -       returned name starts with / but glob pattern doesn't
  -+ *  -       glob pattern starts with / but returned name doesn't
  -+ *  -       returned name starts with |
  -+ *  -       returned name contains .. in a position where glob
  -+ *  pattern doesn't match ..
  -+ *  I.e. foo/.* allows foo/../bar but not foo/.bar/../fly
  -+ *
  -+ * Note that globbed names starting with / should really be stored
  -+ * under the current working directory; this is handled in mget above.
  -+ *                                          --okir
  -+ */
  -+static int
  -+checkglob(int fd, const char *pattern)
  -+{
  -+    const char      *sp;
  -+    char            buffer[MAXPATHLEN], dotdot[MAXPATHLEN];
  -+    int             okay = 1, nrslash, initial, nr;
  -+    FILE            *fp;
  -+
  -+    /* Find slashes in glob pattern, and verify whether component
  -+     * matches `..'
  -+     */
  -+    initial = (pattern[0] == '/');
  -+    for (sp = pattern, nrslash = 0; sp != 0; sp = strchr(sp, '/')) {
  -+            while (*sp == '/')
  -+                    sp++;
  -+            if (nrslash >= MAXPATHLEN) {
  -+                    printf("Incredible pattern: %s\n", pattern);
  -+                    return 0;
  -+            }
  -+            dotdot[nrslash++] = isdotdotglob(sp);
  -+    }
  -+
  -+    fp = fdopen(fd, "r");
  -+    while (okay && fgets(buffer, sizeof(buffer), fp) != NULL) {
  -+            char    *sp;
  -+
  -+            if ((sp = strchr(buffer, '\n')) != 0) {
  -+                    *sp = '\0';
  -+            } else {
  -+                    printf("Extremely long filename from server: %s",
  -+                            buffer);
  -+                    okay = 0;
  -+                    break;
  -+            }
  -+            if (buffer[0] == '|'
  -+             || (buffer[0] != '/' && initial)
  -+             || (buffer[0] == '/' && !initial))
  -+                    okay = 0;
  -+            for (sp = buffer, nr = 0; sp; sp = strchr(sp, '/'), nr++) {
  -+                    while (*sp == '/')
  -+                            sp++;
  -+                    if (sp[0] == '.' && !strncmp(sp, "../", 3)
  -+                     && (nr >= nrslash || !dotdot[nr]))
  -+                            okay = 0;
  -+            }
  -+    }
  -+
  -+    if (!okay)
  -+            printf("Filename provided by server "
  -+                   "doesn't match pattern `%s': %s\n", pattern, buffer);
  -+
  -+    fclose(fp);
  -+    return okay;
  -+}
  -+
  - char *
  - onoff(bool)
  -     int bool;
  ---- krb5-1.2.8/src/util/ss/pager.c.dist      2003-07-28 22:14:13.000000000 +0200
  -+++ krb5-1.2.8/src/util/ss/pager.c   2003-07-28 22:14:44.000000000 +0200
  -@@ -10,6 +10,7 @@
  - #include "ss_internal.h"
  +     int oldverbose, oldhash;
  +diff -ru3 krb5-1.3.1.orig/src/util/ss/pager.c krb5-1.3.1/src/util/ss/pager.c
  +--- krb5-1.3.1.orig/src/util/ss/pager.c      2003-01-06 00:28:05.000000000 +0100
  ++++ krb5-1.3.1/src/util/ss/pager.c   2003-09-10 19:11:35.000000000 +0200
  +@@ -11,6 +11,7 @@
    #include "copyright.h"
  + #include <errno.h>
    #include <stdio.h>
   +#include <errno.h>
    #include <sys/types.h>
    #include <sys/file.h>
    #include <signal.h>
  -@@ -17,7 +18,6 @@
  - static char MORE[] = "more";
  - extern char *_ss_pager_name;
  - extern char *getenv();
  --extern int errno;
  - 
  - /*
  -  * this needs a *lot* of work....
  ---- krb5-1.2.8/src/util/ss/help.c.dist       2003-07-28 22:14:19.000000000 +0200
  -+++ krb5-1.2.8/src/util/ss/help.c    2003-07-28 22:14:33.000000000 +0200
  -@@ -8,12 +8,11 @@
  - #include <sys/types.h>
  - #include <sys/file.h>
  - #include <fcntl.h>  /* just for O_* */
  -+#include <errno.h>
  - #include <sys/wait.h>
  - #include "ss_internal.h"
  - #include "copyright.h"
  - 
  --extern int errno;
  --
  - void ss_help (argc, argv, sci_idx, info_ptr)
  -     int argc;
  -     char const * const *argv;
  ---- krb5-1.2.8/src/util/ss/parse.c.dist      2003-07-28 22:30:57.000000000 +0200
  -+++ krb5-1.2.8/src/util/ss/parse.c   2003-07-28 22:31:49.000000000 +0200
  -@@ -7,6 +7,8 @@
  - #include "ss_internal.h"
  - #include "copyright.h"
  - 
  -+#include <errno.h>
  -+
  - 
  - enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING };
  - 
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/kerberos/kerberos.spec
  ============================================================================
  $ cvs diff -u -r1.34 -r1.35 kerberos.spec
  --- openpkg-src/kerberos/kerberos.spec        26 Aug 2003 15:49:56 -0000      1.34
  +++ openpkg-src/kerberos/kerberos.spec        10 Sep 2003 18:01:55 -0000      1.35
  @@ -32,14 +32,14 @@
   Distribution: OpenPKG [PLUS]
   Group:        Cryptography
   License:      MIT
  -Version:      1.2.8
  -Release:      20030826
  +Version:      1.3.1
  +Release:      20030910
   
   #   package options
   %option       with_fsl  yes
   
   #   list of sources
  -Source0:      
http://www.mirrors.wiretapped.net/security/cryptography/apps/kerberos/krb5-mit/unix/krb5-%{version}.tar.gz
  +Source0:      
http://www.crypto-publish.org/dist/mit-kerberos5/krb5-%{version}.tar.gz
   Source1:      rc.kerberos
   Source2:      fsl.kerberos
   Source3:      krb5.conf
  @@ -143,7 +143,6 @@
           $RPM_BUILD_ROOT%{l_prefix}/libexec/kerberos/
       rmdir $RPM_BUILD_ROOT%{l_prefix}/sbin
   
  -    rmdir $RPM_BUILD_ROOT%{l_prefix}/include/asn.1
       mv \
           $RPM_BUILD_ROOT%{l_prefix}/include/*.h \
           $RPM_BUILD_ROOT%{l_prefix}/include/gssapi \
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-web/news.txt
  ============================================================================
  $ cvs diff -u -r1.6490 -r1.6491 news.txt
  --- openpkg-web/news.txt      10 Sep 2003 17:11:34 -0000      1.6490
  +++ openpkg-web/news.txt      10 Sep 2003 18:01:53 -0000      1.6491
  @@ -1,3 +1,4 @@
  +10-Sep-2003: Upgraded package: P<kerberos-1.3.1-20030910>
   10-Sep-2003: Upgraded package: P<postfix-2.0.15-20030910>
   10-Sep-2003: Upgraded package: P<spread-3.17.1-20030910>
   10-Sep-2003: Upgraded package: P<samhain-1.7.11-20030910>
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to