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