PERFORCE change 105457 for review

Paolo Pisati piso at FreeBSD.org
Fri Sep 1 12:25:21 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=105457

Change 105457 by piso at piso_newluxor on 2006/09/01 12:24:30

	IFC

Affected files ...

.. //depot/projects/soc2005/libalias/MAINTAINERS#3 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/cmds.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/conf.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/extern.h#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpcmd.y#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.8#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.conf.5#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/logutmp.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/logwtmp.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/pathnames.h#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/popen.c#2 integrate
.. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/version.h#2 integrate
.. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit.h#3 delete
.. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_internal.h#3 delete
.. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_kevents.h#4 delete
.. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_record.h#4 delete
.. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_token.c#4 integrate
.. //depot/projects/soc2005/libalias/etc/Makefile#3 integrate
.. //depot/projects/soc2005/libalias/etc/defaults/periodic.conf#3 integrate
.. //depot/projects/soc2005/libalias/etc/freebsd-update.conf#1 branch
.. //depot/projects/soc2005/libalias/etc/hosts.allow#2 integrate
.. //depot/projects/soc2005/libalias/etc/inetd.conf#2 integrate
.. //depot/projects/soc2005/libalias/etc/mtree/BSD.var.dist#2 integrate
.. //depot/projects/soc2005/libalias/etc/periodic/weekly/120.clean-kvmdb#2 delete
.. //depot/projects/soc2005/libalias/etc/periodic/weekly/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/etc/phones#2 integrate
.. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_compression_none.c#3 integrate
.. //depot/projects/soc2005/libalias/lib/libbsm/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/lib/libc/ia64/gen/_set_tp.c#2 integrate
.. //depot/projects/soc2005/libalias/lib/libc/powerpc/gen/_set_tp.c#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/arch/ia64/ia64/pthread_md.c#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/arch/ia64/include/pthread_md.h#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/arch/powerpc/include/pthread_md.h#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/arch/powerpc/powerpc/pthread_md.c#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_create.c#3 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_init.c#4 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex.c#4 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex_prioceiling.c#2 delete
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex_protocol.c#2 delete
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_private.h#4 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_seterrno.c#2 delete
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_sigmask.c#2 delete
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_umtx.c#2 integrate
.. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_umtx.h#2 integrate
.. //depot/projects/soc2005/libalias/libexec/lukemftpd/nbsd2fbsd.h#2 integrate
.. //depot/projects/soc2005/libalias/libexec/lukemftpd/nbsd_pidfile.h#1 branch
.. //depot/projects/soc2005/libalias/libexec/lukemftpd/pamize.h#2 delete
.. //depot/projects/soc2005/libalias/libexec/rtld-elf/ia64/reloc.c#2 integrate
.. //depot/projects/soc2005/libalias/libexec/rtld-elf/ia64/rtld_machdep.h#2 integrate
.. //depot/projects/soc2005/libalias/libexec/save-entropy/save-entropy.sh#2 integrate
.. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#7 integrate
.. //depot/projects/soc2005/libalias/release/scripts/kernels-install.sh#2 integrate
.. //depot/projects/soc2005/libalias/release/scripts/lib32-install.sh#1 branch
.. //depot/projects/soc2005/libalias/release/scripts/proflibs-install.sh#2 integrate
.. //depot/projects/soc2005/libalias/share/man/man4/ixgb.4#3 integrate
.. //depot/projects/soc2005/libalias/share/man/man4/sio.4#2 integrate
.. //depot/projects/soc2005/libalias/share/man/man5/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/share/man/man5/freebsd-update.conf.5#1 branch
.. //depot/projects/soc2005/libalias/share/man/man5/periodic.conf.5#2 integrate
.. //depot/projects/soc2005/libalias/share/man/man8/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/share/man/man8/nanobsd.8#1 branch
.. //depot/projects/soc2005/libalias/share/man/man9/bus_dma.9#2 integrate
.. //depot/projects/soc2005/libalias/sys/amd64/amd64/support.S#4 integrate
.. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_machdep.c#5 integrate
.. //depot/projects/soc2005/libalias/sys/arm/arm/fusu.S#2 integrate
.. //depot/projects/soc2005/libalias/sys/arm/arm/pmap.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/arm/at91/at91.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/arm/at91/at91rm92reg.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/arm/at91/kb920x_machdep.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/arm/include/asm.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/bsm/audit_record.h#4 integrate
.. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/dev/arcmsr/arcmsr.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/dev/ata/ata-chipset.c#5 integrate
.. //depot/projects/soc2005/libalias/sys/dev/em/if_em.c#6 integrate
.. //depot/projects/soc2005/libalias/sys/dev/em/if_em.h#4 integrate
.. //depot/projects/soc2005/libalias/sys/dev/fdc/fdc.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/dev/isp/isp.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.h#3 integrate
.. //depot/projects/soc2005/libalias/sys/dev/isp/isp_pci.c#5 integrate
.. //depot/projects/soc2005/libalias/sys/dev/isp/isp_sbus.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/dev/mii/brgphy.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/dev/mii/miidevs#3 integrate
.. //depot/projects/soc2005/libalias/sys/i386/i386/support.s#3 integrate
.. //depot/projects/soc2005/libalias/sys/ia64/ia64/support.S#2 integrate
.. //depot/projects/soc2005/libalias/sys/kern/init_sysent.c#5 integrate
.. //depot/projects/soc2005/libalias/sys/kern/kern_exec.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/kern/kern_thread.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/kern/kern_umtx.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/kern/syscalls.c#5 integrate
.. //depot/projects/soc2005/libalias/sys/kern/syscalls.master#6 integrate
.. //depot/projects/soc2005/libalias/sys/kern/systrace_args.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/modules/Makefile#7 integrate
.. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#12 integrate
.. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_socket.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/pci/agp_ati.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/copyinout.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/vm_machdep.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit.h#3 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit_arg.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm.c#4 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_token.c#3 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit_private.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/security/audit/audit_syscalls.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/support.S#2 integrate
.. //depot/projects/soc2005/libalias/sys/sys/sx.h#3 integrate
.. //depot/projects/soc2005/libalias/sys/sys/syscall.h#5 integrate
.. //depot/projects/soc2005/libalias/sys/sys/syscall.mk#5 integrate
.. //depot/projects/soc2005/libalias/sys/sys/sysproto.h#5 integrate
.. //depot/projects/soc2005/libalias/sys/sys/systm.h#4 integrate
.. //depot/projects/soc2005/libalias/sys/sys/umtx.h#3 integrate
.. //depot/projects/soc2005/libalias/tools/tools/ministat/ministat.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/less/lesspipe.sh#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/NEWS#2 delete
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/biz22.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/biz31.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/courier.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/df.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/dn11.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/hayes.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/t3000.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/v3451.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/v831.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/ventel.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/Makefile#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/acu.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/acutab.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cmds.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cmdtab.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cu.1#1 branch
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cu.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/hunt.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/log.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/partab.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/pathnames.h#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/remote.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.1#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.h#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tipout.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/uucplock.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/value.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/tip/tip/vars.c#2 integrate
.. //depot/projects/soc2005/libalias/usr.bin/vgrind/vgrind.1#2 integrate
.. //depot/projects/soc2005/libalias/usr.sbin/Makefile#5 integrate
.. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/Makefile#1 branch
.. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.8#1 branch
.. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.sh#1 branch
.. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/config.c#2 integrate

Differences ...

==== //depot/projects/soc2005/libalias/MAINTAINERS#3 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/MAINTAINERS,v 1.139 2006/07/11 06:09:54 mjacob Exp $
+$FreeBSD: src/MAINTAINERS,v 1.140 2006/08/31 09:51:33 cperciva Exp $
 
 Please note that the content of this file is strictly advisory.
 No locks listed here are valid.  The only strict review requirements
@@ -118,6 +118,7 @@
 linux emul	emulation	Please discuss changes here.
 bs{diff,patch}	cperciva	Pre-commit review requested.
 portsnap	cperciva	Pre-commit review requested.
+freebsd-update	cperciva	Pre-commit review requested.
 sys/netgraph/bluetooth	emax	Pre-commit review preferred.
 lib/libbluetooth	emax	Pre-commit review preferred.
 lib/libsdp		emax	Pre-commit review preferred.

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/Makefile#2 (text+ko) ====

@@ -1,11 +1,11 @@
-#	$NetBSD: Makefile,v 1.51 2003-07-23 08:01:27 itojun Exp $
+#	$NetBSD: Makefile,v 1.56 2006/03/23 20:14:16 wiz Exp $
 #	@(#)Makefile	8.2 (Berkeley) 4/4/94
 
 .include <bsd.own.mk>
 
 PROG=	ftpd
 SRCS=	cmds.c conf.c ftpd.c ftpcmd.y logutmp.c logwtmp.c popen.c
-CPPFLAGS+=-I${.CURDIR} -DSUPPORT_UTMP -DSUPPORT_UTMPX
+CPPFLAGS+=-I${.CURDIR} -DSUPPORT_UTMP -DSUPPORT_UTMPX -DLOGIN_CAP
 DPADD+=	${LIBCRYPT} ${LIBUTIL}
 LDADD+=	-lcrypt -lutil
 MAN=	ftpd.conf.5 ftpusers.5 ftpd.8
@@ -15,8 +15,9 @@
 SRCS+=	ls.c cmp.c print.c stat_flags.c util.c
 .PATH:	${NETBSDSRCDIR}/bin/ls
 
+.if (${USE_INET6} != "no")
 CPPFLAGS+=-DINET6
-.include <bsd.own.mk>
+.endif
 
 WARNS=2
 
@@ -25,6 +26,11 @@
 DPADD+= ${LIBSKEY}
 LDADD+= -lskey
 .endif
+.if (${USE_PAM} != "no")
+CPPFLAGS+=-DUSE_PAM
+DPADD+= ${LIBPAM} ${PAM_STATIC_DPADD}
+LDADD+= -lpam ${PAM_STATIC_LDADD}
+.endif
 
 ftpd.o ftpcmd.o: version.h
 
@@ -38,13 +44,8 @@
 #DPADD+=	${LIBKRB5} ${LIBASN1}
 #LDADD+= -lkrb5 -lasn1
 #
-#SRCS+= klogin.c
-#CPPFLAGS+=-DKERBEROS -I${DESTDIR}/usr/include/kerberosIV
-#DPADD+=	${LIBKRB}
-#LDADD+= -lkrb
-#
-#DPADD+=	${LIBCRYPTO} ${LIBROKEN} ${LIBCOM_ERR}
-#LDADD+=	-lcrypto -lroken -lcom_err
+#DPADD+=	${LIBCRYPTO} ${{LIBCRYPT} ${LIBROKEN} ${LIBCOM_ERR}
+#LDADD+=	-lcrypto -lcrypt -lroken -lcom_err
 #
 #.endif
 

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/cmds.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $	*/
+/*	$NetBSD: cmds.c,v 1.24 2006/02/01 14:20:12 christos Exp $	*/
 
 /*
  * Copyright (c) 1999-2004 The NetBSD Foundation, Inc.
@@ -97,7 +97,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $");
+__RCSID("$NetBSD: cmds.c,v 1.24 2006/02/01 14:20:12 christos Exp $");
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -391,7 +391,7 @@
 
 			/* default cases */
 	if (ep != NULL && *ep != '\0')
-		REASSIGN(c->options, xstrdup(ep));
+		REASSIGN(c->options, ftpd_strdup(ep));
 	if (c->options != NULL)
 		reply(200, "Options for %s are '%s'.", c->name,
 		    c->options);
@@ -438,7 +438,7 @@
 		return (NULL);
 	}
 	reply(350, "File exists, ready for destination name");
-	return (xstrdup(name));
+	return (ftpd_strdup(name));
 }
 
 void

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/conf.c#2 (text+ko) ====

@@ -1,7 +1,7 @@
-/*	$NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $	*/
+/*	$NetBSD: conf.c,v 1.57 2006/02/01 14:20:12 christos Exp $	*/
 
 /*-
- * Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
+ * Copyright (c) 1997-2005 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * This code is derived from software contributed to The NetBSD Foundation
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $");
+__RCSID("$NetBSD: conf.c,v 1.57 2006/02/01 14:20:12 christos Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -77,7 +77,7 @@
 #define DEFAULT_MAXFILESIZE	-1		/* unlimited file size */
 #define DEFAULT_MAXTIMEOUT	7200		/* 2 hours */
 #define DEFAULT_TIMEOUT		900		/* 15 minutes */
-#define DEFAULT_UMASK		027		/* 15 minutes */
+#define DEFAULT_UMASK		027		/* rw-r----- */
 
 /*
  * Initialise curclass to an `empty' state
@@ -109,7 +109,7 @@
 	curclass.maxrateget =	0;
 	curclass.maxrateput =	0;
 	curclass.maxtimeout =	DEFAULT_MAXTIMEOUT;
-	REASSIGN(curclass.motd, xstrdup(_PATH_FTPLOGINMESG));
+	REASSIGN(curclass.motd, ftpd_strdup(_NAME_FTPLOGINMESG));
 	REASSIGN(curclass.notify, NULL);
 	curclass.portmin =	0;
 	curclass.portmax =	0;
@@ -126,6 +126,7 @@
 
 	CURCLASS_FLAGS_SET(checkportcmd);
 	CURCLASS_FLAGS_CLR(denyquick);
+	CURCLASS_FLAGS_CLR(hidesymlinks);
 	CURCLASS_FLAGS_SET(modify);
 	CURCLASS_FLAGS_SET(passive);
 	CURCLASS_FLAGS_CLR(private);
@@ -152,14 +153,14 @@
 	struct ftpconv	*conv, *cnext;
 
 	init_curclass();
-	REASSIGN(curclass.classname, xstrdup(findclass));
+	REASSIGN(curclass.classname, ftpd_strdup(findclass));
 			/* set more guest defaults */
 	if (strcasecmp(findclass, "guest") == 0) {
 		CURCLASS_FLAGS_CLR(modify);
 		curclass.umask = 0707;
 	}
 
-	infile = conffilename(_PATH_FTPDCONF);
+	infile = conffilename(_NAME_FTPDCONF);
 	if ((f = fopen(infile, "r")) == NULL)
 		return;
 
@@ -205,7 +206,7 @@
 		if (none || EMPTYSTR(arg))				\
 			arg = NULL;					\
 		else							\
-			arg = xstrdup(arg);				\
+			arg = ftpd_strdup(arg);				\
 		REASSIGN(curclass.Field, arg);				\
 	} while (0)
 
@@ -310,16 +311,16 @@
 			convcmd = p;
 			if (convcmd)
 				convcmd += strspn(convcmd, " \t");
-			suffix = xstrdup(arg);
+			suffix = ftpd_strdup(arg);
 			if (none || EMPTYSTR(types) ||
 			    EMPTYSTR(disable) || EMPTYSTR(convcmd)) {
 				types = NULL;
 				disable = NULL;
 				convcmd = NULL;
 			} else {
-				types = xstrdup(types);
-				disable = xstrdup(disable);
-				convcmd = xstrdup(convcmd);
+				types = ftpd_strdup(types);
+				disable = ftpd_strdup(disable);
+				convcmd = ftpd_strdup(convcmd);
 			}
 			for (conv = curclass.conversions; conv != NULL;
 			    conv = conv->next) {
@@ -354,6 +355,9 @@
 		} else if (strcasecmp(word, "display") == 0) {
 			CONF_STRING(display);
 
+		} else if (strcasecmp(word, "hidesymlinks") == 0) {
+			CONF_FLAG(hidesymlinks);
+
 		} else if (strcasecmp(word, "homedir") == 0) {
 			CONF_STRING(homedir);
 
@@ -362,7 +366,7 @@
 			REASSIGN(curclass.limitfile, NULL);
 			CONF_LL(limit, arg, -1, LLTMAX);
 			REASSIGN(curclass.limitfile,
-			    EMPTYSTR(p) ? NULL : xstrdup(p));
+			    EMPTYSTR(p) ? NULL : ftpd_strdup(p));
 
 		} else if (strcasecmp(word, "maxfilesize") == 0) {
 			curclass.maxfilesize = DEFAULT_MAXFILESIZE;
@@ -385,6 +389,10 @@
 			curclass.writesize = 0;
 			CONF_LL(writesize, arg, 0, LLTMAX);
 
+		} else if (strcasecmp(word, "recvbufsize") == 0) {
+			curclass.recvbufsize = 0;
+			CONF_LL(recvbufsize, arg, 0, LLTMAX);
+
 		} else if (strcasecmp(word, "sendbufsize") == 0) {
 			curclass.sendbufsize = 0;
 			CONF_LL(sendbufsize, arg, 0, LLTMAX);
@@ -464,7 +472,7 @@
 		} else if (strcasecmp(word, "template") == 0) {
 			if (none)
 				continue;
-			REASSIGN(template, EMPTYSTR(arg) ? NULL : xstrdup(arg));
+			REASSIGN(template, EMPTYSTR(arg) ? NULL : ftpd_strdup(arg));
 
 		} else if (strcasecmp(word, "umask") == 0) {
 			u_long fumask;
@@ -547,7 +555,7 @@
 	if (sl_find(slist, curwd) != NULL)
 		return;	
 
-	cp = xstrdup(curwd);
+	cp = ftpd_strdup(curwd);
 	if (sl_add(slist, cp) == -1)
 		syslog(LOG_WARNING, "can't add `%s' to stringlist", cp);
 
@@ -846,13 +854,13 @@
 	/* Split up command into an argv */
 	if ((sl = sl_init()) == NULL)
 		goto cleanup_do_conv;
-	cmd = xstrdup(cp->command);
+	cmd = ftpd_strdup(cp->command);
 	p = cmd;
 	while (p) {
 		NEXTWORD(p, lp);
 		if (strcmp(lp, "%s") == 0)
 			lp = base;
-		if (sl_add(sl, xstrdup(lp)) == -1)
+		if (sl_add(sl, ftpd_strdup(lp)) == -1)
 			goto cleanup_do_conv;
 	}
 

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/extern.h#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$NetBSD: extern.h,v 1.50 2004-08-09 12:56:47 lukem Exp $	*/
+/*	$NetBSD: extern.h,v 1.55 2006/02/01 14:20:12 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -32,7 +32,7 @@
  */
 
 /*-
- * Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
+ * Copyright (c) 1997-2005 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * This code is derived from software contributed to The NetBSD Foundation
@@ -174,22 +174,27 @@
 void	statxfer(void);
 void	store(const char *, const char *, int);
 void	user(const char *);
-char   *xstrdup(const char *);
+char   *ftpd_strdup(const char *);
 void	yyerror(char *);
 
 #ifdef SUPPORT_UTMP
 struct utmp;
 
+void	ftpd_initwtmp(void);
 void	ftpd_logwtmp(const char *, const char *, const char *);
-void	ftpd_login(const struct utmp *ut);
-int	ftpd_logout(const char *line);
+void	ftpd_login(const struct utmp *);
+int	ftpd_logout(const char *);
 #endif
 
 #ifdef SUPPORT_UTMPX
 struct utmpx;
+struct sockinet;
 
+void	ftpd_initwtmpx(void);
+void	ftpd_logwtmpx(const char *, const char *, const char *, 
+    struct sockinet *, int, int);
 void	ftpd_loginx(const struct utmpx *);
-void	ftpd_logwtmpx(const char *, const char *, const char *, int, int);
+int	ftpd_logoutx(const char *, int, int);
 #endif
 
 #include <netinet/in.h>
@@ -251,12 +256,15 @@
 typedef enum {
 	FLAG_checkportcmd =	1<<0,	/* Check port commands */
 	FLAG_denyquick =	1<<1,	/* Check ftpusers(5) before PASS */
-	FLAG_modify =		1<<2,	/* Allow CHMOD, DELE, MKD, RMD, RNFR,
+	FLAG_hidesymlinks =	1<<2,	/* For symbolic links, list the file
+					   or directory the link references
+					   rather than the link itself */
+	FLAG_modify =		1<<3,	/* Allow CHMOD, DELE, MKD, RMD, RNFR,
 					   UMASK */
-	FLAG_passive =		1<<3,	/* Allow PASV mode */
-	FLAG_private =		1<<4,	/* Don't publish class info in STAT */
-	FLAG_sanenames =	1<<5,	/* Restrict names of uploaded files */ 
-	FLAG_upload =		1<<6,	/* As per modify, but also allow
+	FLAG_passive =		1<<4,	/* Allow PASV mode */
+	FLAG_private =		1<<5,	/* Don't publish class info in STAT */
+	FLAG_sanenames =	1<<6,	/* Restrict names of uploaded files */ 
+	FLAG_upload =		1<<7,	/* As per modify, but also allow
 					   APPE, STOR, STOU */
 } classflag_t;
 
@@ -290,6 +298,7 @@
 	LLT		 mmapsize;	/* mmap window size */
 	LLT		 readsize;	/* data read size */
 	LLT		 writesize;	/* data write size */
+	LLT		 recvbufsize;	/* SO_RCVBUF size */
 	LLT		 sendbufsize;	/* SO_SNDBUF size */
 	LLT		 sendlowat;	/* SO_SNDLOWAT size */
 };
@@ -309,7 +318,7 @@
 GLOBAL	struct sockinet	pasv_addr;
 GLOBAL	int		connections;
 GLOBAL	struct ftpclass	curclass;
-GLOBAL	int		debug;
+GLOBAL	int		ftpd_debug;
 GLOBAL	char		*emailaddr;
 GLOBAL	int		form;
 GLOBAL	int		gidcount;	/* number of entries in gidlist[] */

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpcmd.y#2 (text+ko) ====

@@ -1,7 +1,7 @@
-/*	$NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $	*/
+/*	$NetBSD: ftpcmd.y,v 1.84 2006/02/01 14:20:12 christos Exp $	*/
 
 /*-
- * Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
+ * Copyright (c) 1997-2005 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * This code is derived from software contributed to The NetBSD Foundation
@@ -79,7 +79,7 @@
 #if 0
 static char sccsid[] = "@(#)ftpcmd.y	8.3 (Berkeley) 4/6/94";
 #else
-__RCSID("$NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $");
+__RCSID("$NetBSD: ftpcmd.y,v 1.84 2006/02/01 14:20:12 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -118,6 +118,14 @@
 char	*cmdp;
 char	*fromname;
 
+extern int	epsvall;
+struct tab	sitetab[];
+
+static	int	check_write(const char *, int);
+static	void	help(struct tab *, const char *);
+static	void	port_check(const char *, int);
+	int	yylex(void);
+
 %}
 
 %union {
@@ -503,6 +511,8 @@
 		{
 			char *argv[] = { INTERNAL_LS, "-lgA", NULL };
 			
+			if (CURCLASS_FLAGS_ISSET(hidesymlinks))
+				argv[1] = "-LlgA";
 			if ($2)
 				retrieve(argv, "");
 		}
@@ -511,6 +521,8 @@
 		{
 			char *argv[] = { INTERNAL_LS, "-lgA", NULL, NULL };
 
+			if (CURCLASS_FLAGS_ISSET(hidesymlinks))
+				argv[1] = "-LlgA";
 			if ($2 && $4 != NULL) {
 				argv[2] = $4;
 				retrieve(argv, $4);
@@ -1293,13 +1305,6 @@
 	{ NULL,		0,	0,	0,	NULL }
 };
 
-static	int	check_write(const char *, int);
-static	void	help(struct tab *, const char *);
-static	void	port_check(const char *, int);
-	int	yylex(void);
-
-extern int epsvall;
-
 /*
  * Check if a filename is allowed to be modified (isupload == 0) or
  * uploaded (isupload == 1), and if necessary, check the filename is `sane'.
@@ -1333,7 +1338,7 @@
 		if (file[0] == '.')
 			goto insane_name;
 		for (p = file; *p; p++) {
-			if (isalnum(*p) || *p == '-' || *p == '+' ||
+			if (isalnum((unsigned char)*p) || *p == '-' || *p == '+' ||
 			    *p == ',' || *p == '.' || *p == '_')
 				continue;
  insane_name:
@@ -1371,7 +1376,7 @@
 		*cs++ = tmpline[c];
 		if (tmpline[c] == '\n') {
 			*cs++ = '\0';
-			if (debug)
+			if (ftpd_debug)
 				syslog(LOG_DEBUG, "command: %s", s);
 			tmpline[0] = '\0';
 			return(s);
@@ -1419,7 +1424,7 @@
 	if (c == EOF && cs == s)
 		return (NULL);
 	*cs++ = '\0';
-	if (debug) {
+	if (ftpd_debug) {
 		if ((curclass.type != CLASS_GUEST &&
 		    strncasecmp(s, "PASS ", 5) == 0) ||
 		    strncasecmp(s, "ACCT ", 5) == 0) {
@@ -1571,7 +1576,7 @@
 		 */
 		if (n > 1 && cmdp[cpos] == '\n') {
 			cmdp[cpos] = '\0';
-			yylval.s = xstrdup(cp);
+			yylval.s = ftpd_strdup(cp);
 			cmdp[cpos] = '\n';
 			state = ARGS;
 			return (STRING);
@@ -1583,9 +1588,9 @@
 			cpos++;
 			return (SP);
 		}
-		if (isdigit(cmdp[cpos])) {
+		if (isdigit((unsigned char)cmdp[cpos])) {
 			cp = &cmdp[cpos];
-			while (isdigit(cmdp[++cpos]))
+			while (isdigit((unsigned char)cmdp[++cpos]))
 				;
 			c = cmdp[cpos];
 			cmdp[cpos] = '\0';
@@ -1598,9 +1603,9 @@
 		goto dostr1;
 
 	case ARGS:
-		if (isdigit(cmdp[cpos])) {
+		if (isdigit((unsigned char)cmdp[cpos])) {
 			cp = &cmdp[cpos];
-			while (isdigit(cmdp[++cpos]))
+			while (isdigit((unsigned char)cmdp[++cpos]))
 				;
 			c = cmdp[cpos];
 			cmdp[cpos] = '\0';
@@ -1610,7 +1615,7 @@
 			return (NUMBER);
 		}
 		if (strncasecmp(&cmdp[cpos], "ALL", 3) == 0
-		    && !isalnum(cmdp[cpos + 3])) {
+		    && !isalnum((unsigned char)cmdp[cpos + 3])) {
 			cpos += 3;
 			return (ALL);
 		}

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.8#2 (text+ko) ====

@@ -1,4 +1,4 @@
-.\"	$NetBSD: ftpd.8,v 1.74 2003-08-07 09:46:39 agc Exp $
+.\"	$NetBSD: ftpd.8,v 1.76 2005/08/07 11:13:34 wiz Exp $
 .\"
 .\" Copyright (c) 1997-2003 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -63,7 +63,7 @@
 .\"
 .\"     @(#)ftpd.8	8.2 (Berkeley) 4/19/94
 .\"
-.Dd February 26, 2003
+.Dd August 4, 2005
 .Dt FTPD 8
 .Os
 .Sh NAME
@@ -72,10 +72,10 @@
 Internet File Transfer Protocol server
 .Sh SYNOPSIS
 .Nm
-.Op Fl dHlqQrsuUwWX
+.Op Fl 46DdHlQqrsUuWwX
 .Op Fl a Ar anondir
+.Op Fl C Ar user
 .Op Fl c Ar confdir
-.Op Fl C Ar user
 .Op Fl e Ar emailaddr
 .Op Fl h Ar hostname
 .Op Fl L Ar xferlogfile
@@ -93,6 +93,14 @@
 .Pp
 Available options:
 .Bl -tag -width Ds
+.It Fl 4
+When
+.Fl D
+is specified, bind to IPv4 addresses only.
+.It Fl 6
+When
+.Fl D
+is specified, bind to IPv6 addresses only.
 .It Fl a Ar anondir
 Define
 .Ar anondir
@@ -104,6 +112,16 @@
 .Xr ftpd.conf 5
 .Sy chroot
 directive.
+.It Fl C Ar user
+Check whether
+.Ar user
+would be granted access under
+the restrictions given in
+.Xr ftpusers 5
+and exit without attempting a connection.
+.Nm
+exits with an exit code of 0 if access would be granted, or 1 otherwise.
+This can be useful for testing configurations.
 .It Fl c Ar confdir
 Change the root directory of the configuration files from
 .Dq Pa /etc
@@ -118,16 +136,16 @@
 .Xr ftpd.conf 5
 .Sy limit
 directive.
-.It Fl C Ar user
-Check whether
-.Ar user
-would be granted access under
-the restrictions given in
-.Xr ftpusers 5
-and exit without attempting a connection.
+.It Fl D
+Run as daemon.
+.Nm
+will listen on the default FTP port for incoming connections
+and fork a child for each connection.
+This is lower overhead than starting
 .Nm
-exits with an exit code of 0 if access would be granted, or 1 otherwise.
-This can be useful for testing configurations.
+from
+.Xr inetd 8
+and thus might be useful on busy servers to reduce load.
 .It Fl d
 Debugging information is written to the syslog using a facility of
 .Dv LOG_FTP .
@@ -138,6 +156,12 @@
 .Dq "\&%E"
 escape sequence (see
 .Sx Display file escape sequences )
+.It Fl H
+Equivalent to
+.Do
+-h
+`hostname`
+.Dc .
 .It Fl h Ar hostname
 Explicitly set the hostname to advertise as to
 .Ar hostname .
@@ -155,12 +179,13 @@
 Refer to
 .Xr inetd.conf 5
 for more information on starting services to listen on specific IP addresses.
-.It Fl H
-Equivalent to
-.Do
--h
-`hostname`
-.Dc .
+.It Fl L Ar xferlogfile
+Log
+.Tn wu-ftpd
+style
+.Sq xferlog
+entries to
+.Ar xferlogfile .
 .It Fl l
 Each successful and failed
 .Tn FTP
@@ -169,13 +194,6 @@
 If this option is specified more than once, the retrieve (get), store (put),
 append, delete, make directory, remove directory and rename operations and
 their file name arguments are also logged.
-.It Fl L Ar xferlogfile
-Log
-.Tn wu-ftpd
-style
-.Sq xferlog
-entries to
-.Ar xferlogfile .
 .It Fl P Ar dataport
 Use
 .Ar dataport
@@ -183,16 +201,16 @@
 that the port
 .Nm
 is listening on.
-.It Fl q
-Enable the use of pid files for keeping track of the number of logged-in
-users per class.
-This is the default.
 .It Fl Q
 Disable the use of pid files for keeping track of the number of logged-in
 users per class.
 This may reduce the load on heavily loaded
 .Tn FTP
 servers.
+.It Fl q
+Enable the use of pid files for keeping track of the number of logged-in
+users per class.
+This is the default.
 .It Fl r
 Permanently drop root privileges once the user is logged in.
 The use of this option may result in the server using a port other
@@ -206,6 +224,12 @@
 below for more details.
 .It Fl s
 Require a secure authentication mechanism like Kerberos or S/Key to be used.
+.It Fl U
+Don't log each concurrent
+.Tn FTP
+session to
+.Pa /var/run/utmp .
+This is the default.
 .It Fl u
 Log each concurrent
 .Tn FTP
@@ -213,12 +237,6 @@
 .Pa /var/run/utmp ,
 making them visible to commands such as
 .Xr who 1 .
-.It Fl U
-Don't log each concurrent
-.Tn FTP
-session to
-.Pa /var/run/utmp .
-This is the default.
 .It Fl V Ar version
 Use
 .Ar version
@@ -232,6 +250,11 @@
 is empty or
 .Sq -
 then don't display any version information.
+.It Fl W
+Don't log each
+.Tn FTP
+session to
+.Pa /var/log/wtmp .
 .It Fl w
 Log each
 .Tn FTP
@@ -240,11 +263,6 @@
 making them visible to commands such as
 .Xr last 1 .
 This is the default.
-.It Fl W
-Don't log each
-.Tn FTP
-session to
-.Pa /var/log/wtmp .
 .It Fl X
 Log
 .Tn wu-ftpd

==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$NetBSD: ftpd.c,v 1.158 2004-08-09 12:56:47 lukem Exp $	*/
+/*	$NetBSD: ftpd.c,v 1.176 2006/05/09 20:18:06 mrg Exp $	*/
 
 /*
  * Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
@@ -105,10 +105,10 @@
 #if 0
 static char sccsid[] = "@(#)ftpd.c	8.5 (Berkeley) 4/28/95";
 #else
-__RCSID("$NetBSD: ftpd.c,v 1.158 2004-08-09 12:56:47 lukem Exp $");
+__RCSID("$NetBSD: ftpd.c,v 1.176 2006/05/09 20:18:06 mrg Exp $");
 #endif
+__FBSDID("$FreeBSD: src/contrib/lukemftpd/src/ftpd.c,v 1.5 2006/08/31 17:08:21 obrien Exp $");
 #endif /* not lint */
-__FBSDID("$FreeBSD: src/contrib/lukemftpd/src/ftpd.c,v 1.4 2004/08/18 06:34:20 obrien Exp $");
 
 /*
  * FTP server.
@@ -141,6 +141,7 @@
 #include <limits.h>
 #include <netdb.h>
 #include <pwd.h>
+#include <poll.h>
 #include <signal.h>
 #include <stdarg.h>
 #include <stdio.h>
@@ -164,19 +165,27 @@
 #include <com_err.h>
 #include <krb5/krb5.h>
 #endif
-#ifdef LOGIN_CAP
+
+#ifdef	LOGIN_CAP
 #include <login_cap.h>
 #endif
 
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#endif
+
 #define	GLOBAL
 #include "extern.h"
 #include "pathnames.h"
 #include "version.h"
 
+#include "nbsd_pidfile.h"
+
 volatile sig_atomic_t	transflag;
 volatile sig_atomic_t	urgflag;
 
 int	data;
+int	Dflag;
 int	sflag;
 int	stru;			/* avoid C keyword */
 int	mode;
@@ -191,6 +200,12 @@
 off_t	file_size;
 off_t	byte_count;
 static char ttyline[20];
+
+#ifdef USE_PAM
+static int	auth_pam(struct passwd **, const char *);
+pam_handle_t	*pamh = NULL;
+#endif
+
 #ifdef SUPPORT_UTMP
 static struct utmp utmp;	/* for utmp */
 #endif
@@ -233,7 +248,6 @@
 	SS_DATA_ERROR			/* data send error */
 };
 
-
 #ifdef USE_OPIE
 #include <opie.h>
 static struct opie opiedata;
@@ -241,13 +255,6 @@
 static int pwok;
 #endif
 
-#ifdef USE_PAM
-#include <security/pam_appl.h>
-pam_handle_t	*pamh = NULL;
-#include "pamize.h"
-#endif
-
-
 static int	 bind_pasv_addr(void);
 static int	 checkuser(const char *, const char *, int, int, char **);
 static int	 checkaccess(const char *);
@@ -255,7 +262,8 @@
 static void	 end_login(void);
 static FILE	*getdatasock(const char *);
 static char	*gunique(const char *);
-static void	 login_utmp(const char *, const char *, const char *);
+static void	 login_utmp(const char *, const char *, const char *,
+		     struct sockinet *);
 static void	 logremotehost(struct sockinet *);
 static void	 lostconn(int);
 static void	 toolong(int);
@@ -288,7 +296,8 @@
 int
 main(int argc, char *argv[])
 {
-	int		addrlen, ch, on = 1, tos, keepalive;
+	int		ch, on = 1, tos, keepalive;
+	socklen_t	addrlen;
 #ifdef KERBEROS5
 	krb5_error_code	kerror;
 #endif
@@ -296,11 +305,13 @@
 	const char	*xferlogname = NULL;
 	long		l;
 	struct sigaction sa;
+	sa_family_t	af = AF_UNSPEC;
 
 	connections = 1;
-	debug = 0;
+	ftpd_debug = 0;
 	logging = 0;
 	pdata = -1;
+	Dflag = 0;
 	sflag = 0;
 	dataport = 0;
 	dopidfile = 1;		/* default: DO use a pid file to count users */
@@ -324,9 +335,17 @@
 	 */
 	openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP);
 
-	while ((ch = getopt(argc, argv, "a:c:C:de:h:HlL:P:qQrst:T:uUvV:wWX"))
-	    != -1) {
+	while ((ch = getopt(argc, argv,
+	    "46a:c:C:Dde:h:HlL:P:qQrst:T:uUvV:wWX")) != -1) {
 		switch (ch) {

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list