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

  Server: cvs.openpkg.org                  Name:   Thomas Lotterer
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src openpkg-web          Date:   02-Oct-2003 14:21:14
  Branch: OPENPKG_1_3_SOLID HEAD           Handle: 2003100213211202

  Modified files:
    openpkg-web             news.txt
  Modified files:           (Branch: OPENPKG_1_3_SOLID)
    openpkg-src/qpopper     fsl.qpopper qpopper.patch qpopper.spec rc.qpopper

  Log:
    MFC: permissions; fix bug where hton(3) was called twice; rewrite
    addr/port parsing

  Summary:
    Revision    Changes     Path
    1.2.2.1.2.1 +1  -1      openpkg-src/qpopper/fsl.qpopper
    1.1.4.2.2.1 +137 -3     openpkg-src/qpopper/qpopper.patch
    1.36.2.6.2.2+6  -1      openpkg-src/qpopper/qpopper.spec
    1.9.2.1.2.1 +1  -1      openpkg-src/qpopper/rc.qpopper
    1.6816      +1  -0      openpkg-web/news.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/qpopper/fsl.qpopper
  ============================================================================
  $ cvs diff -u -r1.2.2.1 -r1.2.2.1.2.1 fsl.qpopper
  --- openpkg-src/qpopper/fsl.qpopper   24 Jul 2003 20:45:13 -0000      1.2.2.1
  +++ openpkg-src/qpopper/fsl.qpopper   2 Oct 2003 12:21:14 -0000       1.2.2.1.2.1
  @@ -9,7 +9,7 @@
       -> {
           debug: file(
               path="@l_prefix@/var/qpopper/qpopper.log",
  -            perm=0644
  +            perm=0664
           )
       }
   };
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/qpopper/qpopper.patch
  ============================================================================
  $ cvs diff -u -r1.1.4.2 -r1.1.4.2.2.1 qpopper.patch
  --- openpkg-src/qpopper/qpopper.patch 24 Jul 2003 20:45:13 -0000      1.1.4.2
  +++ openpkg-src/qpopper/qpopper.patch 2 Oct 2003 12:21:14 -0000       1.1.4.2.2.1
  @@ -1,6 +1,97 @@
  ---- popper/main.c.orig       Wed Apr  4 02:23:26 2001
  -+++ popper/main.c    Fri Dec 28 11:18:39 2001
  -@@ -472,6 +472,22 @@
  +Index: popper/main.c
  +--- popper/main.c.orig       2003-01-02 03:39:02.000000000 +0100
  ++++ popper/main.c    2003-09-18 22:04:57.000000000 +0200
  +@@ -226,12 +226,6 @@
  +     err_out = msg_out  = fopen ( "/dev/null", "w+" ); /* until we get set up */
  + 
  +     /*
  +-     * Ensure default port & address is in network order
  +-     */
  +-    addr = htonl ( addr );
  +-    port = htons ( port );
  +-
  +-    /*
  +      * Set defaults for Qargc and Qargv
  +      */
  +     Qargc = argc;
  +@@ -256,43 +250,34 @@
  +     ptr = argv [ 1 ];
  +     if ( argc >= 2 && ( *ptr == ':' || isdigit ( (int) *ptr ) ) )
  +     {
  +-        unsigned long  a = addr;
  +-        unsigned short n = port;
  +-        char           b [ 25 ] = "";
  +-        char          *q = b;
  +-
  +-        /*
  +-         * We might have an ip address first
  +-         */
  +-        if ( strchr ( ptr, '.' ) != NULL )
  +-            while ( *ptr == '.' || isdigit ( (int) *ptr ) )
  +-                *q++ = *ptr++;
  +-        
  +-        if ( *b != '\0' )
  +-        {
  +-            a   = inet_addr ( b );
  +-            ptr = strchr ( ptr, ':' );
  +-            if ( ptr != NULL )
  +-                ptr++;
  ++        char *cpIp = NULL;
  ++        char *cpPort = NULL;
  ++        char *cpDup;
  ++        char *cp;
  ++
  ++        if ((cpDup = strdup(ptr)) == NULL)
  ++            err_dump ( HERE, "unable to allocate memory to examine first argument" 
);
  ++        if ((cp = strchr(cpDup, ':')) != NULL) {
  ++            *cp++ = '\0'; /* a colon means both ip and port are given, split them 
*/
  ++            if (*cpDup != '\0') /* do not accept empty strings */
  ++                cpIp = cpDup;
  ++            if (*cp != '\0') /* do not accept empty strings */
  ++                cpPort = cp;
  +         }
  +-        else
  +-        {
  +-            ptr = argv [ 1 ];
  +-            if ( *ptr == ':' )
  +-                ptr++;
  ++        else {
  ++            if (strchr (ptr, '.') != NULL)
  ++                cpIp = cpDup;   /* no colon but a dot means a ip is given */
  ++            else
  ++                cpPort = cpDup; /* no colon and no dot means a port is given */
  +         }
  ++        if (cpIp != NULL )
  ++            addr = inet_addr(cpIp);
  ++        if (cpPort != NULL )
  ++            port = atoi(cpPort);
  ++        free(cpDup);
  + 
  +-        /*
  +-         * We might have a port number
  +-         */
  +-        if ( ptr != NULL )
  +-            n = atoi ( ptr );
  +-
  +-        if ( a == BAD_ADDR || n == 0 || n > USHRT_MAX )
  ++        if ( addr == BAD_ADDR || port == 0 || port > USHRT_MAX )
  +             err_dump ( HERE, "invalid address and/or port: \"%s\"", argv[1] );
  +-
  +-        port = htons ( n );
  +-        addr = a;
  +         
  +         /*
  +          * Since we consumed the first specified parameter,
  +@@ -310,6 +295,8 @@
  +             Qargv [ rslt - 1 ] = argv [ rslt ];
  +         Qargc = argc - 1;
  +     }
  ++    /* Ensure address remains and default port becomes network byte order */
  ++    port = htons ( port );
  + 
  +     /*
  +      * Open the log
  +@@ -477,6 +464,22 @@
    
    #endif /* not _DEBUG */
    
  @@ -23,3 +114,46 @@
        /*
         * Set up the socket on which we listen
         */
  +@@ -510,17 +513,9 @@
  +     rslt = bind ( sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr) );
  +     if ( rslt < 0 )
  +     {
  +-        if ( errno == EADDRINUSE )
  +-        {
  +-            fprintf ( stderr, "%s:%d in use\n",
  +-                      inet_ntoa ( serv_addr.sin_addr ),
  +-                      ntohs     ( serv_addr.sin_port ) );
  +-            return 1;
  +-        }
  +-        else
  +-            err_dump ( HERE, "Can't bind local address %s:%d",
  +-                       inet_ntoa ( serv_addr.sin_addr ),
  +-                       ntohs     ( serv_addr.sin_port ) );
  ++        err_dump ( HERE, "Can't bind local address %s:%d",
  ++                   inet_ntoa ( serv_addr.sin_addr ),
  ++                   ntohs     ( serv_addr.sin_port ) );
  +     }
  + 
  +     TRACE ( trace_file, POP_DEBUG, HERE,
  +Index: pop_dropcopy.c
  +--- popper/pop_dropcopy.c.orig       2003-01-02 03:39:02.000000000 +0100
  ++++ popper/pop_dropcopy.c    2003-10-01 17:33:31.000000000 +0200
  +@@ -1231,6 +1231,10 @@
  +             return pop_msg ( p, POP_FAILURE, HERE,
  +                              "[SYS/TEMP] Unable to get temp drop name" );
  +         
  ++        /*
  ++         *  OpenPKG: enforce usage of "spool-dir" configuration option
  ++         */
  ++#if 0
  +         if ( stat ( p->temp_drop, &mybuf ) == -1 || mybuf.st_size <= 0 ) {
  +             if ( genpath ( p, 
  +                            p->temp_drop, 
  +@@ -1239,6 +1243,7 @@
  +                 return pop_msg ( p, POP_FAILURE, HERE,
  +                                  "[SYS/TEMP] Unable to get temp drop name" );
  +         }
  ++#endif
  +     }
  +     else {
  +         /*
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/qpopper/qpopper.spec
  ============================================================================
  $ cvs diff -u -r1.36.2.6.2.1 -r1.36.2.6.2.2 qpopper.spec
  --- openpkg-src/qpopper/qpopper.spec  29 Jul 2003 15:01:12 -0000      1.36.2.6.2.1
  +++ openpkg-src/qpopper/qpopper.spec  2 Oct 2003 12:21:14 -0000       1.36.2.6.2.2
  @@ -33,7 +33,7 @@
   Group:        Mail
   License:      GPL
   Version:      4.0.5
  -Release:      1.3.0
  +Release:      1.3.1
   
   #   package options
   %option       with_fsl  yes
  @@ -115,10 +115,15 @@
           $RPM_BUILD_ROOT%{l_prefix}/man/man8 \
           $RPM_BUILD_ROOT%{l_prefix}/var/qpopper \
           $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper
  +    %{l_shtool} mkdir -f -p -m 775 \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/qpopper/cache \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/qpopper/spool
   
       #   install qpopper
       %{l_shtool} install -c -m 644 \
           -e 's;^# \(set home-dir-mail[^=]*=\).*;\1 ".mail/inbox";' \
  +        -e 's;^\(# set cache-dir[^=]*=\).*;\1 "%{l_prefix}/var/qpopper/cache";' \
  +        -e 's;^\(# set spool-dir[^=]*=\).*;\1 "%{l_prefix}/var/qpopper/spool";' \
           samples/qpopper.config $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper/
       %{l_shtool} install -c -s -m 755 \
           popper/popper $RPM_BUILD_ROOT%{l_prefix}/sbin/qpopper
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/qpopper/rc.qpopper
  ============================================================================
  $ cvs diff -u -r1.9.2.1 -r1.9.2.1.2.1 rc.qpopper
  --- openpkg-src/qpopper/rc.qpopper    24 Jul 2003 20:45:13 -0000      1.9.2.1
  +++ openpkg-src/qpopper/rc.qpopper    2 Oct 2003 12:21:14 -0000       1.9.2.1.2.1
  @@ -52,7 +52,7 @@
       #   rotate logfile
       shtool rotate -f \
           -n ${qpopper_log_numfiles} -s ${qpopper_log_minsize} -d \
  -        -z ${qpopper_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
  +        -z ${qpopper_log_complevel} -m 664 -o @l_susr@ -g @l_mgrp@ \
           -P "${qpopper_log_prolog}" \
           -E "${qpopper_log_epilog} && rc qpopper restart" \
           $POP_logfile
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-web/news.txt
  ============================================================================
  $ cvs diff -u -r1.6815 -r1.6816 news.txt
  --- openpkg-web/news.txt      2 Oct 2003 08:34:36 -0000       1.6815
  +++ openpkg-web/news.txt      2 Oct 2003 12:21:12 -0000       1.6816
  @@ -1,3 +1,4 @@
  +02-Oct-2003: Upgraded package: P<qpopper-4.0.5-1.3.1>
   02-Oct-2003: Upgraded package: P<netpbm-10.11.14-20031002>
   02-Oct-2003: Upgraded package: P<uvscan-4.24+4296-20031002>
   02-Oct-2003: New package: P<zope-2.6.2-20031002>
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to