This commit was generated by cvs2svn to compensate for changes in r133936,
which included commits to RCS files with non-trunk default branches.
This commit is contained in:
commit
07539dd5d7
@ -1,6 +1,6 @@
|
||||
/* $NetBSD: strsuftoll.c,v 1.1 2002/11/29 12:58:17 lukem Exp $ */
|
||||
/* $NetBSD: strsuftoll.c,v 1.5 2004/01/17 23:02:51 dbj Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 2001-2002,2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -50,11 +50,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -71,20 +67,20 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if HAVE_NBTOOL_CONFIG_H
|
||||
#include "nbtool_config.h"
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
__RCSID("$NetBSD: strsuftoll.c,v 1.1 2002/11/29 12:58:17 lukem Exp $");
|
||||
__RCSID("$NetBSD: strsuftoll.c,v 1.5 2004/01/17 23:02:51 dbj Exp $");
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#ifdef _LIBC
|
||||
#include "namespace.h"
|
||||
#endif
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#if !HAVE_STRSUFTOLL
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -100,16 +96,11 @@ __RCSID("$NetBSD: strsuftoll.c,v 1.1 2002/11/29 12:58:17 lukem Exp $");
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
# define _STRSUFTOLL _strsuftoll
|
||||
# define _STRSUFTOLLX _strsuftollx
|
||||
# ifdef __weak_alias
|
||||
__weak_alias(strsuftoll, _strsuftoll)
|
||||
__weak_alias(strsuftollx, _strsuftollx)
|
||||
# endif
|
||||
#else /* !LIBC */
|
||||
# define _STRSUFTOLL strsuftoll
|
||||
# define _STRSUFTOLLX strsuftollx
|
||||
#endif /* !LIBC */
|
||||
#endif /* LIBC */
|
||||
|
||||
/*
|
||||
* Convert an expression of the following forms to a (u)int64_t.
|
||||
@ -117,8 +108,10 @@ __weak_alias(strsuftollx, _strsuftollx)
|
||||
* 2) A positive decimal number followed by a b (mult by 512).
|
||||
* 3) A positive decimal number followed by a k (mult by 1024).
|
||||
* 4) A positive decimal number followed by a m (mult by 1048576).
|
||||
* 5) A positive decimal number followed by a w (mult by sizeof int)
|
||||
* 6) Two or more positive decimal numbers (with/without k,b or w).
|
||||
* 5) A positive decimal number followed by a g (mult by 1073741824).
|
||||
* 6) A positive decimal number followed by a t (mult by 1099511627776).
|
||||
* 7) A positive decimal number followed by a w (mult by sizeof int)
|
||||
* 8) Two or more positive decimal numbers (with/without k,b or w).
|
||||
* separated by x (also * for backwards compatibility), specifying
|
||||
* the product of the indicated values.
|
||||
* Returns the result upon successful conversion, or exits with an
|
||||
@ -127,7 +120,7 @@ __weak_alias(strsuftollx, _strsuftollx)
|
||||
*/
|
||||
/* LONGLONG */
|
||||
long long
|
||||
_STRSUFTOLL(const char *desc, const char *val,
|
||||
strsuftoll(const char *desc, const char *val,
|
||||
long long min, long long max)
|
||||
{
|
||||
long long result;
|
||||
@ -145,7 +138,7 @@ _STRSUFTOLL(const char *desc, const char *val,
|
||||
*/
|
||||
/* LONGLONG */
|
||||
long long
|
||||
_STRSUFTOLLX(const char *desc, const char *val,
|
||||
strsuftollx(const char *desc, const char *val,
|
||||
long long min, long long max, char *ebuf, size_t ebuflen)
|
||||
{
|
||||
long long num, t;
|
||||
@ -161,7 +154,7 @@ _STRSUFTOLLX(const char *desc, const char *val,
|
||||
while (isspace((unsigned char)*val)) /* Skip leading space */
|
||||
val++;
|
||||
|
||||
num = strtoll(val, &expr, 0);
|
||||
num = strtoll(val, &expr, 10);
|
||||
if (errno == ERANGE)
|
||||
goto erange; /* Overflow */
|
||||
|
||||
@ -244,7 +237,7 @@ _STRSUFTOLLX(const char *desc, const char *val,
|
||||
/* LONGLONG */
|
||||
snprintf(ebuf, ebuflen,
|
||||
"%s %lld is greater than %lld.",
|
||||
desc, (long long)num, (long long)min);
|
||||
desc, (long long)num, (long long)max);
|
||||
return (0);
|
||||
}
|
||||
*ebuf = '\0';
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: Makefile,v 1.49 2002/08/22 00:09:38 christos Exp $
|
||||
# $NetBSD: Makefile,v 1.51 2003-07-23 08:01:27 itojun Exp $
|
||||
# @(#)Makefile 8.2 (Berkeley) 4/4/94
|
||||
|
||||
.include <bsd.own.mk>
|
||||
@ -28,19 +28,24 @@ LDADD+= -lskey
|
||||
|
||||
ftpd.o ftpcmd.o: version.h
|
||||
|
||||
# XXX Kerberos support is broken right now.
|
||||
#.if (${USE_KERBEROS} != "no")
|
||||
#
|
||||
#.PATH: ${NETBSDSRCDIR}/usr.bin/login
|
||||
|
||||
#.ifdef KERBEROS5
|
||||
#
|
||||
#SRCS+= k5login.c
|
||||
#CPPFLAGS+=-DKERBEROS5
|
||||
#DPADD+= ${LIBKRB5} ${LIBK5CRYPTO} ${LIBCOM_ERR}
|
||||
#LDADD+= -lkrb5 -lk5crypto -lcom_err
|
||||
#.else
|
||||
#SRCS+= klogin.c
|
||||
#CPPFLAGS+=-DKERBEROS
|
||||
#DPADD+= ${LIBKRB} ${LIBDES} ${LIBCOM_ERR}
|
||||
#LDADD+= -lkrb -kdes -lcom_err
|
||||
#CPPFLAGS+=-DKERBEROS5 -I${DESTDIR}/usr/include/krb5
|
||||
#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
|
||||
#
|
||||
#.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $NetBSD: cmds.c,v 1.20 2003/01/08 18:07:31 manu Exp $ */
|
||||
/* $NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999-2001 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1999-2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -48,11 +48,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -101,7 +97,7 @@
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#ifndef lint
|
||||
__RCSID("$NetBSD: cmds.c,v 1.20 2003/01/08 18:07:31 manu Exp $");
|
||||
__RCSID("$NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -111,7 +107,6 @@ __RCSID("$NetBSD: cmds.c,v 1.20 2003/01/08 18:07:31 manu Exp $");
|
||||
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
#include <setjmp.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -812,7 +807,7 @@ static void
|
||||
mlsname(FILE *fp, factelem *fe)
|
||||
{
|
||||
char realfile[MAXPATHLEN];
|
||||
int i, userf;
|
||||
int i, userf = 0;
|
||||
|
||||
for (i = 0; i < FACTTABSIZE; i++) {
|
||||
if (facttab[i].enabled)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $NetBSD: conf.c,v 1.50 2002/11/16 03:10:34 itojun Exp $ */
|
||||
/* $NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997-2001 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1997-2004 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.50 2002/11/16 03:10:34 itojun Exp $");
|
||||
__RCSID("$NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -51,7 +51,6 @@ __RCSID("$NetBSD: conf.c,v 1.50 2002/11/16 03:10:34 itojun Exp $");
|
||||
#include <fcntl.h>
|
||||
#include <glob.h>
|
||||
#include <netdb.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: extern.h,v 1.44 2002/05/30 00:24:47 enami Exp $ */
|
||||
/* $NetBSD: extern.h,v 1.50 2004-08-09 12:56:47 lukem Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1992, 1993
|
||||
@ -12,11 +12,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -36,7 +32,7 @@
|
||||
*/
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997-2001 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -147,9 +143,6 @@ char *getline(char *, int, FILE *);
|
||||
void init_curclass(void);
|
||||
void logxfer(const char *, off_t, const char *, const char *,
|
||||
const struct timeval *, const char *);
|
||||
#if 0
|
||||
void logwtmp(const char *, const char *, const char *);
|
||||
#endif
|
||||
struct tab *lookup(struct tab *, const char *);
|
||||
void makedir(const char *);
|
||||
void mlsd(const char *);
|
||||
@ -184,6 +177,21 @@ void user(const char *);
|
||||
char *xstrdup(const char *);
|
||||
void yyerror(char *);
|
||||
|
||||
#ifdef SUPPORT_UTMP
|
||||
struct utmp;
|
||||
|
||||
void ftpd_logwtmp(const char *, const char *, const char *);
|
||||
void ftpd_login(const struct utmp *ut);
|
||||
int ftpd_logout(const char *line);
|
||||
#endif
|
||||
|
||||
#ifdef SUPPORT_UTMPX
|
||||
struct utmpx;
|
||||
|
||||
void ftpd_loginx(const struct utmpx *);
|
||||
void ftpd_logwtmpx(const char *, const char *, const char *, int, int);
|
||||
#endif
|
||||
|
||||
#include <netinet/in.h>
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
@ -302,11 +310,10 @@ GLOBAL struct sockinet pasv_addr;
|
||||
GLOBAL int connections;
|
||||
GLOBAL struct ftpclass curclass;
|
||||
GLOBAL int debug;
|
||||
GLOBAL jmp_buf errcatch;
|
||||
GLOBAL char *emailaddr;
|
||||
GLOBAL int form;
|
||||
GLOBAL int gidcount; /* number of entries in gidlist[] */
|
||||
GLOBAL gid_t gidlist[NGROUPS_MAX];
|
||||
GLOBAL gid_t *gidlist;
|
||||
GLOBAL int hasyyerrored;
|
||||
GLOBAL char hostname[MAXHOSTNAMELEN+1];
|
||||
GLOBAL char homedir[MAXPATHLEN];
|
||||
@ -324,7 +331,6 @@ GLOBAL int quietmessages;
|
||||
GLOBAL char remotehost[MAXHOSTNAMELEN+1];
|
||||
GLOBAL off_t restart_point;
|
||||
GLOBAL char tmpline[FTP_BUFLEN];
|
||||
GLOBAL sig_atomic_t transflag;
|
||||
GLOBAL int type;
|
||||
GLOBAL int usedefault; /* for data transfers */
|
||||
GLOBAL const char *version;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $NetBSD: ftpcmd.y,v 1.73 2003/01/22 04:33:35 lukem Exp $ */
|
||||
/* $NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997-2002 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -48,11 +48,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -83,7 +79,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)ftpcmd.y 8.3 (Berkeley) 4/6/94";
|
||||
#else
|
||||
__RCSID("$NetBSD: ftpcmd.y,v 1.73 2003/01/22 04:33:35 lukem Exp $");
|
||||
__RCSID("$NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@ -98,8 +94,6 @@ __RCSID("$NetBSD: ftpcmd.y,v 1.73 2003/01/22 04:33:35 lukem Exp $");
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <pwd.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -128,7 +122,7 @@ char *fromname;
|
||||
|
||||
%union {
|
||||
struct {
|
||||
off_t o;
|
||||
LLT ll;
|
||||
int i;
|
||||
} u;
|
||||
char *s;
|
||||
@ -138,7 +132,7 @@ char *fromname;
|
||||
A B C E F I
|
||||
L N P R S T
|
||||
|
||||
SP CRLF COMMA
|
||||
SP CRLF COMMA ALL
|
||||
|
||||
USER PASS ACCT CWD CDUP SMNT
|
||||
QUIT REIN PORT PASV TYPE STRU
|
||||
@ -164,7 +158,6 @@ char *fromname;
|
||||
LEXERR
|
||||
|
||||
%token <s> STRING
|
||||
%token <s> ALL
|
||||
%token <u> NUMBER
|
||||
|
||||
%type <u.i> check_login octal_number byte_size
|
||||
@ -179,7 +172,7 @@ char *fromname;
|
||||
cmd_sel
|
||||
: cmd
|
||||
{
|
||||
fromname = NULL;
|
||||
REASSIGN(fromname, NULL);
|
||||
restart_point = (off_t) 0;
|
||||
}
|
||||
|
||||
@ -459,8 +452,7 @@ cmd
|
||||
if (check_write($3, 0)) {
|
||||
if (fromname) {
|
||||
renamecmd(fromname, $3);
|
||||
free(fromname);
|
||||
fromname = NULL;
|
||||
REASSIGN(fromname, NULL);
|
||||
} else {
|
||||
reply(503, "Bad sequence of commands.");
|
||||
}
|
||||
@ -548,7 +540,7 @@ cmd
|
||||
| SITE SP CHMOD SP octal_number SP pathname CRLF
|
||||
{
|
||||
if (check_write($7, 0)) {
|
||||
if ($5 > 0777)
|
||||
if (($5 == -1) || ($5 > 0777))
|
||||
reply(501,
|
||||
"CHMOD: Mode value must be between 0 and 0777");
|
||||
else if (chmod($7, $5) < 0)
|
||||
@ -883,8 +875,8 @@ rcmd
|
||||
: REST check_login SP NUMBER CRLF
|
||||
{
|
||||
if ($2) {
|
||||
fromname = NULL;
|
||||
restart_point = $4.o;
|
||||
REASSIGN(fromname, NULL);
|
||||
restart_point = (off_t)$4.ll;
|
||||
reply(350,
|
||||
"Restarting at " LLF ". Send STORE or RETRIEVE to initiate transfer.",
|
||||
(LLT)restart_point);
|
||||
@ -894,8 +886,10 @@ rcmd
|
||||
| RNFR SP pathname CRLF
|
||||
{
|
||||
restart_point = (off_t) 0;
|
||||
if (check_write($3, 0))
|
||||
if (check_write($3, 0)) {
|
||||
REASSIGN(fromname, NULL);
|
||||
fromname = renamefrom($3);
|
||||
}
|
||||
if ($3 != NULL)
|
||||
free($3);
|
||||
}
|
||||
@ -987,7 +981,7 @@ host_long_port6
|
||||
memset(&data_dest, 0, sizeof(data_dest));
|
||||
#endif /* INET6 */
|
||||
/* reject invalid LPRT command */
|
||||
if ($1.i != 6.i || $3.i != 16.i || $37.i != 2)
|
||||
if ($1.i != 6 || $3.i != 16 || $37.i != 2)
|
||||
memset(&data_dest, 0, sizeof(data_dest));
|
||||
}
|
||||
;
|
||||
@ -1302,8 +1296,7 @@ struct tab sitetab[] = {
|
||||
static int check_write(const char *, int);
|
||||
static void help(struct tab *, const char *);
|
||||
static void port_check(const char *, int);
|
||||
static void toolong(int);
|
||||
static int yylex(void);
|
||||
int yylex(void);
|
||||
|
||||
extern int epsvall;
|
||||
|
||||
@ -1449,19 +1442,6 @@ getline(char *s, int n, FILE *iop)
|
||||
return (s);
|
||||
}
|
||||
|
||||
static void
|
||||
toolong(int signo)
|
||||
{
|
||||
|
||||
reply(421,
|
||||
"Timeout (" LLF " seconds): closing control connection.",
|
||||
(LLT)curclass.timeout);
|
||||
if (logging)
|
||||
syslog(LOG_INFO, "User %s timed out after " LLF " seconds",
|
||||
(pw ? pw->pw_name : "unknown"), (LLT)curclass.timeout);
|
||||
dologout(1);
|
||||
}
|
||||
|
||||
void
|
||||
ftp_handle_line(char *cp)
|
||||
{
|
||||
@ -1475,7 +1455,6 @@ ftp_loop(void)
|
||||
{
|
||||
|
||||
while (1) {
|
||||
(void) signal(SIGALRM, toolong);
|
||||
(void) alarm(curclass.timeout);
|
||||
if (getline(cbuf, sizeof(cbuf)-1, stdin) == NULL) {
|
||||
reply(221, "You could at least say goodbye.");
|
||||
@ -1487,7 +1466,7 @@ ftp_loop(void)
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
static int cpos, state;
|
||||
@ -1626,15 +1605,14 @@ yylex(void)
|
||||
c = cmdp[cpos];
|
||||
cmdp[cpos] = '\0';
|
||||
yylval.u.i = atoi(cp);
|
||||
yylval.u.o = strtoull(cp, (char **)NULL, 10);
|
||||
yylval.u.ll = STRTOLL(cp, (char **)NULL, 10);
|
||||
cmdp[cpos] = c;
|
||||
return (NUMBER);
|
||||
}
|
||||
if (strncasecmp(&cmdp[cpos], "ALL", 3) == 0
|
||||
&& !isalnum(cmdp[cpos + 3])) {
|
||||
yylval.s = xstrdup("ALL");
|
||||
&& !isalnum(cmdp[cpos + 3])) {
|
||||
cpos += 3;
|
||||
return ALL;
|
||||
return (ALL);
|
||||
}
|
||||
switch (cmdp[cpos++]) {
|
||||
|
||||
@ -1720,9 +1698,7 @@ yylex(void)
|
||||
}
|
||||
yyerror(NULL);
|
||||
state = CMD;
|
||||
is_oob = 0;
|
||||
longjmp(errcatch, 0);
|
||||
/* NOTREACHED */
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* ARGSUSED */
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" $NetBSD: ftpd.8,v 1.69 2002/02/08 01:30:07 ross Exp $
|
||||
.\" $NetBSD: ftpd.8,v 1.74 2003-08-07 09:46:39 agc Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1997-2002 The NetBSD Foundation, Inc.
|
||||
.\" Copyright (c) 1997-2003 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -45,11 +45,7 @@
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" 3. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
@ -67,7 +63,7 @@
|
||||
.\"
|
||||
.\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94
|
||||
.\"
|
||||
.Dd October 25, 2002
|
||||
.Dd February 26, 2003
|
||||
.Dt FTPD 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -82,6 +78,7 @@ Internet File Transfer Protocol server
|
||||
.Op Fl C Ar user
|
||||
.Op Fl e Ar emailaddr
|
||||
.Op Fl h Ar hostname
|
||||
.Op Fl L Ar xferlogfile
|
||||
.Op Fl P Ar dataport
|
||||
.Op Fl V Ar version
|
||||
.Sh DESCRIPTION
|
||||
@ -172,6 +169,13 @@ session is logged using syslog with a facility of
|
||||
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
|
||||
@ -392,7 +396,7 @@ interprets file names according to the
|
||||
.Dq globbing
|
||||
conventions used by
|
||||
.Xr csh 1 .
|
||||
This allows users to utilize the metacharacters
|
||||
This allows users to use the metacharacters
|
||||
.Dq Li \&*?[]{}~ .
|
||||
.Ss User authentication
|
||||
.Nm
|
||||
|
@ -1,7 +1,6 @@
|
||||
/*
|
||||
* Portions Copyright (c) 1988, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* Portions Copyright (c) 1996, Jason Downs. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -11,11 +10,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -32,7 +27,33 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Portions Copyright (c) 1996, Jason Downs. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
|
||||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
@ -41,8 +62,13 @@
|
||||
#include <ttyent.h>
|
||||
#include <unistd.h>
|
||||
#include <utmp.h>
|
||||
#ifdef SUPPORT_UTMPX
|
||||
#include <utmpx.h>
|
||||
#endif
|
||||
#include <util.h>
|
||||
|
||||
#include "extern.h"
|
||||
|
||||
typedef struct utmp UTMP;
|
||||
|
||||
static int fd = -1;
|
||||
@ -54,7 +80,7 @@ static int topslot = -1;
|
||||
*/
|
||||
|
||||
void
|
||||
login(const UTMP *ut)
|
||||
ftpd_login(const struct utmp *ut)
|
||||
{
|
||||
UTMP ubuf;
|
||||
|
||||
@ -94,7 +120,7 @@ login(const UTMP *ut)
|
||||
}
|
||||
|
||||
int
|
||||
logout(const char *line)
|
||||
ftpd_logout(const char *line)
|
||||
{
|
||||
UTMP ut;
|
||||
int rval;
|
||||
@ -118,3 +144,14 @@ logout(const char *line)
|
||||
}
|
||||
return(rval);
|
||||
}
|
||||
|
||||
#ifdef SUPPORT_UTMPX
|
||||
/*
|
||||
* special version of loginx which updates utmpx only.
|
||||
*/
|
||||
void
|
||||
ftpd_loginx(const struct utmpx *ut)
|
||||
{
|
||||
(void)pututxline(ut);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: logwtmp.c,v 1.17 2002/09/12 08:55:31 itojun Exp $ */
|
||||
/* $NetBSD: logwtmp.c,v 1.22 2004-08-09 12:56:48 lukem Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988, 1993
|
||||
@ -12,11 +12,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -40,7 +36,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)logwtmp.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: logwtmp.c,v 1.17 2002/09/12 08:55:31 itojun Exp $");
|
||||
__RCSID("$NetBSD: logwtmp.c,v 1.22 2004-08-09 12:56:48 lukem Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@ -48,15 +44,18 @@ __RCSID("$NetBSD: logwtmp.c,v 1.17 2002/09/12 08:55:31 itojun Exp $");
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <utmp.h>
|
||||
#ifdef SUPPORT_UTMPX
|
||||
#include <utmpx.h>
|
||||
#endif
|
||||
#include <util.h>
|
||||
|
||||
#ifdef KERBEROS5
|
||||
@ -66,6 +65,9 @@ __RCSID("$NetBSD: logwtmp.c,v 1.17 2002/09/12 08:55:31 itojun Exp $");
|
||||
#include "extern.h"
|
||||
|
||||
static int fd = -1;
|
||||
#ifdef SUPPORT_UTMPX
|
||||
static int fdx = -1;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Modified version of logwtmp that holds wtmp file open
|
||||
@ -73,7 +75,7 @@ static int fd = -1;
|
||||
* after login, but before logout).
|
||||
*/
|
||||
void
|
||||
logwtmp(const char *line, const char *name, const char *host)
|
||||
ftpd_logwtmp(const char *line, const char *name, const char *host)
|
||||
{
|
||||
struct utmp ut;
|
||||
struct stat buf;
|
||||
@ -90,3 +92,29 @@ logwtmp(const char *line, const char *name, const char *host)
|
||||
(void)ftruncate(fd, buf.st_size);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SUPPORT_UTMPX
|
||||
void
|
||||
ftpd_logwtmpx(const char *line, const char *name, const char *host, int status, int utx_type)
|
||||
{
|
||||
struct utmpx ut;
|
||||
struct stat buf;
|
||||
|
||||
if (fdx < 0 && (fdx = open(_PATH_WTMPX, O_WRONLY|O_APPEND, 0)) < 0)
|
||||
return;
|
||||
if (fstat(fdx, &buf) == 0) {
|
||||
(void)strncpy(ut.ut_line, line, sizeof(ut.ut_line));
|
||||
(void)strncpy(ut.ut_name, name, sizeof(ut.ut_name));
|
||||
(void)strncpy(ut.ut_host, host, sizeof(ut.ut_host));
|
||||
ut.ut_type = utx_type;
|
||||
if (WIFEXITED(status))
|
||||
ut.ut_exit.e_exit = (uint16_t)WEXITSTATUS(status);
|
||||
if (WIFSIGNALED(status))
|
||||
ut.ut_exit.e_termination = (uint16_t)WTERMSIG(status);
|
||||
(void)gettimeofday(&ut.ut_tv, NULL);
|
||||
if(write(fdx, (char *)&ut, sizeof(struct utmpx)) !=
|
||||
sizeof(struct utmpx))
|
||||
(void)ftruncate(fdx, buf.st_size);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pathnames.h,v 1.9 2000/01/08 11:09:56 lukem Exp $ */
|
||||
/* $NetBSD: pathnames.h,v 1.11 2003-08-07 09:46:40 agc Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
@ -12,11 +12,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $NetBSD: popen.c,v 1.28 2003/01/16 09:41:38 kleink Exp $ */
|
||||
/* $NetBSD: popen.c,v 1.30 2004-08-09 12:56:48 lukem Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999-2001 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1999-2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -51,11 +51,7 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@ -78,7 +74,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 4/6/94";
|
||||
#else
|
||||
__RCSID("$NetBSD: popen.c,v 1.28 2003/01/16 09:41:38 kleink Exp $");
|
||||
__RCSID("$NetBSD: popen.c,v 1.30 2004-08-09 12:56:48 lukem Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@ -88,7 +84,6 @@ __RCSID("$NetBSD: popen.c,v 1.28 2003/01/16 09:41:38 kleink Exp $");
|
||||
|
||||
#include <errno.h>
|
||||
#include <glob.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* $NetBSD: version.h,v 1.50 2003/01/22 04:46:08 lukem Exp $ */
|
||||
/* $NetBSD: version.h,v 1.57 2004-08-09 12:56:48 lukem Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 1999-2002 The NetBSD Foundation, Inc.
|
||||
* Copyright (c) 1999-2004 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
@ -36,5 +36,5 @@
|
||||
*/
|
||||
|
||||
#ifndef FTPD_VERSION
|
||||
#define FTPD_VERSION "NetBSD-ftpd 20030122"
|
||||
#define FTPD_VERSION "NetBSD-ftpd 20040809"
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user