ports/108008: sysutils/fcron
Brad Huntting
huntting at glarp.com
Tue Jan 16 18:10:08 UTC 2007
>Number: 108008
>Category: ports
>Synopsis: sysutils/fcron
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Tue Jan 16 18:10:07 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Brad Huntting
>Release: FreeBSD 6.2-RC1 i386
>Organization:
>Environment:
System: FreeBSD hunkular.glarp.com 6.2-RC1 FreeBSD 6.2-RC1 #0: Sat Nov 18 21:05:22 MST 2006 root@:/usr/src/sys/i386/compile/HUNKULAR i386
>Description:
Let's try this again shall we... The last attempt
http://www.freebsd.org/cgi/query-pr.cgi?pr=107993 did not
aparently recognise me as being the maintainer.
Upgrade for fcron stable version 3.0.2.
Find below 3 diffs one for /usr/ports/sysutils/fcron, one
for /usr/ports/UIDs and one for /usr/ports/GIDs.
Details:
All of the FreeBSD port patches have been rolled into the
distribution. As a result, all the patch files should be
removed (I used diff -ruN to generate the first diff below)
rm sysutils/fcron/files/patch-config.h.in
rm sysutils/fcron/files/patch-configure.in
rm sysutils/fcron/files/patch-fcrondyn.c
rm sysutils/fcron/files/patch-socket.c
In addition, fcron 3.0.2 now calls setuid() before exec()ing
new cron jobs. This is the behaviour of Vixie cron, SysV
cron, old BSD cron, etc, etc.
In addition to the port patch, there are two patches for
the UIDs and GIDs files which add fcron's default UID/GID
(247/247).
Lastly, the install script now adds the fcron pseudo-user
with shell /sbin/nologin.
>How-To-Repeat:
>Fix:
diff -ruN /usr/ports/sysutils/fcron/Makefile sysutils/fcron/Makefile
--- /usr/ports/sysutils/fcron/Makefile Sun Jun 4 15:24:06 2006
+++ sysutils/fcron/Makefile Mon Jan 15 19:18:27 2007
@@ -7,7 +7,7 @@
#
PORTNAME= fcron
-PORTVERSION= 3.0.1
+PORTVERSION= 3.0.2
PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_SUNSITE} \
@@ -21,7 +21,6 @@
GNU_CONFIGURE= yes
USE_GMAKE= yes
-USE_AUTOTOOLS= autoconf:259
USE_PERL5_BUILD=yes
CONFIGURE_ARGS= --with-etcdir=${PREFIX}/etc --with-cflags="${CFLAGS}" \
--with-rootname=root --with-rootgroup=wheel \
@@ -37,7 +36,7 @@
MAN8= fcron.8
PAMDIR?= /etc/pam.d
-PLIST_SUB+= PAMDIR=${PAMDIR}
+PLIST_SUB+= PAMDIR=etc/pam.d
PORTDOCS= *
diff -ruN /usr/ports/sysutils/fcron/distinfo sysutils/fcron/distinfo
--- /usr/ports/sysutils/fcron/distinfo Fri Feb 10 02:51:04 2006
+++ sysutils/fcron/distinfo Mon Jan 15 18:19:46 2007
@@ -1,3 +1,3 @@
-MD5 (fcron-3.0.1.src.tar.gz) = 8e5dcb3a646c11294294895954ef0a48
-SHA256 (fcron-3.0.1.src.tar.gz) = 31288b04619bb9c7cd5fe6ff004c1e2c1340685cec2d0fa8725259c491699de9
-SIZE (fcron-3.0.1.src.tar.gz) = 536972
+MD5 (fcron-3.0.2.src.tar.gz) = f35e6af41d356ebcb38882f86a14fb94
+SHA256 (fcron-3.0.2.src.tar.gz) = ea25f4e9a78f6872c65cc97aa18c018b548e9fcd73b06d77c312e635ecf9ad48
+SIZE (fcron-3.0.2.src.tar.gz) = 540559
Binary files /usr/ports/sysutils/fcron/fcron-3.0.2_1.tbz and sysutils/fcron/fcron-3.0.2_1.tbz differ
diff -ruN /usr/ports/sysutils/fcron/files/patch-config.h.in sysutils/fcron/files/patch-config.h.in
--- /usr/ports/sysutils/fcron/files/patch-config.h.in Sun Jun 4 14:09:42 2006
+++ sysutils/fcron/files/patch-config.h.in Wed Dec 31 17:00:00 1969
@@ -1,8 +0,0 @@
---- config.h.in.orig Mon Feb 6 14:44:52 2006
-+++ config.h.in Tue May 9 17:15:19 2006
-@@ -424,3 +424,5 @@
- #define O_SYNC O_FSYNC
- #endif
-
-+/* Define if (struct sockaddr) has an sa_len field. */
-+#undef HAVE_SA_LEN
diff -ruN /usr/ports/sysutils/fcron/files/patch-configure.in sysutils/fcron/files/patch-configure.in
--- /usr/ports/sysutils/fcron/files/patch-configure.in Sun Jun 4 14:09:42 2006
+++ sysutils/fcron/files/patch-configure.in Wed Dec 31 17:00:00 1969
@@ -1,20 +0,0 @@
---- configure.in.orig Mon Jan 9 17:21:24 2006
-+++ configure.in Tue May 9 17:04:30 2006
-@@ -57,6 +57,17 @@
- AC_STRUCT_TM
- AC_TYPE_UID_T
-
-+dnl Check for post-Reno style struct sockaddr
-+AC_CACHE_CHECK([for sa_len],
-+ ac_cv_sa_len,
-+[AC_TRY_COMPILE([#include <sys/types.h>
-+#include <sys/socket.h>], [int main(void) {
-+ struct sockaddr t;t.sa_len = 0;}],
-+ ac_cv_sa_len=yes,ac_cv_sa_len=no)])
-+if test $ac_cv_sa_len = yes; then
-+ AC_DEFINE(HAVE_SA_LEN)
-+fi
-+
- dnl Checks for library functions.
- AC_PROG_GCC_TRADITIONAL
- AC_FUNC_MEMCMP
diff -ruN /usr/ports/sysutils/fcron/files/patch-fcrondyn.c sysutils/fcron/files/patch-fcrondyn.c
--- /usr/ports/sysutils/fcron/files/patch-fcrondyn.c Sun Jun 4 14:09:42 2006
+++ sysutils/fcron/files/patch-fcrondyn.c Wed Dec 31 17:00:00 1969
@@ -1,29 +0,0 @@
---- fcrondyn.c.orig Mon Feb 6 14:44:52 2006
-+++ fcrondyn.c Tue May 9 15:24:22 2006
-@@ -399,17 +399,21 @@
- int fd = -1;
- struct sockaddr_un addr;
- int len = 0;
-+ int sa_len;
-
- if ( (fd = socket(PF_UNIX, SOCK_STREAM, 0)) == -1 )
- die_e("could not create socket");
-
- addr.sun_family = AF_UNIX;
-- if ( (len = strlen(fifofile)) > sizeof(addr.sun_path) )
-- die("Error : fifo file path too long (max is %d)", sizeof(addr.sun_path));
-- strncpy(addr.sun_path, fifofile, sizeof(addr.sun_path) - 1);
-- addr.sun_path[sizeof(addr.sun_path)-1] = '\0';
-+ if ( (len = strlen(fifofile)) > sizeof(addr.sun_path) - 1 )
-+ die("Error : fifo file path too long (max is %d)", sizeof(addr.sun_path) - 1);
-+ strncpy(addr.sun_path, fifofile, sizeof(addr.sun_path));
-+ sa_len = (addr.sun_path - (char *)&addr) + len;
-+#if HAVE_SA_LEN
-+ addr.sun_len = sa_len;
-+#endif
-
-- if ( connect(fd, (struct sockaddr *) &addr, sizeof(addr.sun_family) + len) < 0 )
-+ if ( connect(fd, (struct sockaddr *) &addr, sa_len) < 0 )
- die_e("Cannot connect() to fcron (check if fcron is running)");
-
- if ( authenticate_user(fd) == ERR ) {
diff -ruN /usr/ports/sysutils/fcron/files/patch-socket.c sysutils/fcron/files/patch-socket.c
--- /usr/ports/sysutils/fcron/files/patch-socket.c Sun Jun 4 14:09:42 2006
+++ sysutils/fcron/files/patch-socket.c Wed Dec 31 17:00:00 1969
@@ -1,34 +0,0 @@
---- socket.c.orig Mon Feb 6 14:44:52 2006
-+++ socket.c Tue May 9 16:33:19 2006
-@@ -134,6 +134,7 @@
- {
- struct sockaddr_un addr;
- int len = 0;
-+ int sa_len;
-
- /* used in fcron.c:main_loop():select() */
- FD_ZERO(&read_set);
-@@ -145,15 +146,19 @@
- }
-
- addr.sun_family = AF_UNIX;
-- if ( (len = strlen(fifofile)) > sizeof(addr.sun_path) ) {
-- error("Error : fifo file path too long (max is %d)", sizeof(addr.sun_path));
-+ if ( (len = strlen(fifofile)) > sizeof(addr.sun_path) - 1) {
-+ error("Error : fifo file path too long (max is %d)", sizeof(addr.sun_path) - 1);
- goto err;
- }
-- strncpy(addr.sun_path, fifofile, sizeof(addr.sun_path) - 1);
-+ strncpy(addr.sun_path, fifofile, sizeof(addr.sun_path));
- addr.sun_path[sizeof(addr.sun_path) -1 ] = '\0';
-+ sa_len = (addr.sun_path - (char *)&addr) + len;
-+#if HAVE_SA_LEN
-+ addr.sun_len = sa_len;
-+#endif
-
- unlink(fifofile);
-- if (bind(listen_fd, (struct sockaddr*) &addr, sizeof(addr.sun_family)+len+1) != 0){
-+ if (bind(listen_fd, (struct sockaddr*) &addr, sa_len) != 0){
- error_e("Cannot bind socket to '%s'", fifofile);
- goto err;
- }
diff -ruN /usr/ports/sysutils/fcron/pkg-install sysutils/fcron/pkg-install
--- /usr/ports/sysutils/fcron/pkg-install Fri Feb 10 02:51:04 2006
+++ sysutils/fcron/pkg-install Mon Jan 15 18:30:53 2007
@@ -21,7 +21,7 @@
if /usr/sbin/pw usershow $user 2>/dev/null; then
echo "Using already existing user \"$user\"."
else
- if /usr/sbin/pw useradd $user -u $uid -g $group -c "fcron pseudo-user"; then
+ if /usr/sbin/pw useradd $user -u $uid -g $group -s /sbin/nologin -c "fcron pseudo-user"; then
echo "Added user \"$user\"."
else
echo "Unable to add user \"$user\"."
diff -u /usr/ports/UIDs UIDs
--- /usr/ports/UIDs Sun Jan 14 00:22:44 2007
+++ UIDs Mon Jan 15 18:29:15 2007
@@ -75,6 +75,7 @@
dspam:*:202:202:Dspam:/nonexistent:/sbin/nologin
shoutcast:*:210:210:Shoutcast sandbox:/nonexistent:/bin/sh
bs:*:220:220:Big Sister:/usr/local/bigsister:/bin/sh
+fcron:*:247:247:fcron pseudo-user:/nonexistent:/sbin/nologin
_tor:*:256:256:Tor anonymising router:/var/db/tor:/bin/sh
_dns-proxy-tor:*:257:257:dns-proxy-tor user:/nonexistent:/sbin/nologin
_trans-proxy-tor:*:258:258:dns-proxy-tor user:/nonexistent:/sbin/nologin
diff -u /usr/ports/GIDs GIDs
--- /usr/ports/GIDs Sun Jan 14 00:22:43 2007
+++ GIDs Mon Jan 15 18:28:02 2007
@@ -64,6 +64,7 @@
sympa:*:200:
dspam:*:202:
bs:*:220:
+fcron:*:247:
_tor:*:256:
_dns-proxy-tor:*:257:
_trans-proxy-tor:*:258:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list