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]