diff options
author | gpalmer <gpalmer@FreeBSD.org> | 1995-01-25 22:41:57 +0000 |
---|---|---|
committer | gpalmer <gpalmer@FreeBSD.org> | 1995-01-25 22:41:57 +0000 |
commit | f05955b58b48caabb6d8fac7391a207ebda971f0 (patch) | |
tree | 12d8973d7d99d90b2ed2edd7ca4f35f5a73916a0 /ftp | |
parent | 617ffa183ad6d775de8b58f7bcfc310e521b7840 (diff) | |
download | FreeBSD-ports-f05955b58b48caabb6d8fac7391a207ebda971f0.zip FreeBSD-ports-f05955b58b48caabb6d8fac7391a207ebda971f0.tar.gz |
Finally get most of wu-ftpd working.
Changes:
- Use internal functions rather than libc versions in a couple of places
This allows writing to dirs without read perms and the
ftpconversions file to work.
- Fix up skey support to use correct parameters
- using compress in the ftpconversions file doesn't seem to work,
so alter example ftpconversions file to use gzip -d rather than compress -dc
- Install manpages compressed
Still broken :
- using /bin/compress to compress/uncompress files on the fly
Diffstat (limited to 'ftp')
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-aa | 207 | ||||
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ab | 15 | ||||
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ac | 2 | ||||
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ad | 489 | ||||
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ag | 19 | ||||
-rw-r--r-- | ftp/wu-ftpd+ipv6/scripts/configure | 2 | ||||
-rw-r--r-- | ftp/wu-ftpd/files/patch-aa | 207 | ||||
-rw-r--r-- | ftp/wu-ftpd/files/patch-ab | 15 | ||||
-rw-r--r-- | ftp/wu-ftpd/files/patch-ac | 2 | ||||
-rw-r--r-- | ftp/wu-ftpd/files/patch-ad | 489 | ||||
-rw-r--r-- | ftp/wu-ftpd/files/patch-ag | 19 | ||||
-rw-r--r-- | ftp/wu-ftpd/scripts/configure | 2 |
12 files changed, 1074 insertions, 394 deletions
diff --git a/ftp/wu-ftpd+ipv6/files/patch-aa b/ftp/wu-ftpd+ipv6/files/patch-aa index a414a2f..e5b1455 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-aa +++ b/ftp/wu-ftpd+ipv6/files/patch-aa @@ -1,196 +1,19 @@ -*** src/ftpd.c.orig Wed Apr 13 22:17:18 1994 ---- src/ftpd.c Fri Jan 13 20:22:05 1995 +*** src/realpath.c.orig Wed Jan 18 22:39:04 1995 +--- src/realpath.c Wed Jan 18 22:38:48 1995 *************** -*** 139,146 **** - *freopen(const char *, const char *, FILE *); - extern int ftpd_pclose(FILE *iop), - fclose(FILE *); -! extern char *getline(), -! *realpath(char *pathname, char *result); - extern char cbuf[]; - extern off_t restart_point; - ---- 139,148 ---- - *freopen(const char *, const char *, FILE *); - extern int ftpd_pclose(FILE *iop), - fclose(FILE *); -! extern char *getline(); -! #ifndef HAVE_REALPATH -! extern char *realpath(char *pathname, char *result); -! #endif - extern char cbuf[]; - extern off_t restart_point; - -*************** -*** 237,242 **** ---- 239,250 ---- - - #endif /* SETPROCTITLE */ - -+ #ifdef SKEY -+ int pwok = 0; -+ char *skey_challenge(); -+ char *skey_crypt(); -+ #endif -+ - #ifdef KERBEROS - void init_krb(); - void end_krb(); -*************** -*** 878,884 **** ---- 886,897 ---- - } else - acl_setfunctions(); - -+ #ifdef SKEY -+ pwok = skeyaccess(name, NULL, remotehost); -+ reply(331, "%s", skey_challenge(name, pw, pwok)); -+ #else - reply(331, "Password required for %s.", name); -+ #endif - askpasswd = 1; - /* Delay before reading passwd after first failed attempt to slow down - * passwd-guessing programs. */ -*************** -*** 1007,1014 **** ---- 1020,1032 ---- - #ifdef KERBEROS - xpasswd = crypt16(passwd, salt); - #else -+ #ifdef SKEY -+ xpasswd = skey_crypt(passwd, salt, pw, pwok); -+ pwok = 0; -+ #else - xpasswd = crypt(passwd, salt); +*** 42,48 **** #endif -+ #endif - - #ifdef ULTRIX_AUTH - if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { -*************** -*** 1095,1101 **** - (void) initgroups(pw->pw_name, pw->pw_gid); - - /* open wtmp before chroot */ -! (void) sprintf(ttyline, "ftp%d", getpid()); - logwtmp(ttyline, pw->pw_name, remotehost); - logged_in = 1; ---- 1113,1119 ---- - (void) initgroups(pw->pw_name, pw->pw_gid); - - /* open wtmp before chroot */ -! (void) sprintf(ttyline, "ftp%ld", getpid()); - logwtmp(ttyline, pw->pw_name, remotehost); - logged_in = 1; - -*************** -*** 1422,1428 **** - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, ---- 1440,1446 ---- - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, -*************** -*** 1610,1616 **** - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, ---- 1628,1634 ---- - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, -*************** -*** 1699,1705 **** - file_size = size; - byte_count = 0; - if (size != (off_t) - 1) -! (void) sprintf(sizebuf, " (%ld bytes)", size); - else - (void) strcpy(sizebuf, ""); - if (pdata >= 0) { ---- 1717,1723 ---- - file_size = size; - byte_count = 0; - if (size != (off_t) - 1) -! (void) sprintf(sizebuf, " (%qd bytes)", size); - else - (void) strcpy(sizebuf, ""); - if (pdata >= 0) { -*** src/realpath.c.orig Fri Apr 1 20:03:45 1994 ---- src/realpath.c Fri Jan 13 01:09:30 1995 -*************** -*** 29,36 **** ---- 29,39 ---- - * POSSIBILITY OF SUCH DAMAGE. - */ - -+ - #include "config.h" + char * +! realpath(char *pathname, char *result) + { + struct stat sbuf; + char curpath[MAXPATHLEN], +--- 42,48 ---- + #endif -+ #ifndef HAVE_REALPATH -+ - #include <stdio.h> - #include <sys/types.h> - #include <sys/stat.h> -*************** -*** 159,161 **** ---- 162,165 ---- - strcpy(result, workpath); - return (result); - } -+ #endif -*** src/extensions.c.orig Fri Jan 13 20:26:26 1995 ---- src/extensions.c Fri Jan 13 20:29:39 1995 -*************** -*** 103,109 **** - if (st->st_mtime > newer_time) { - if (show_fullinfo != 0) { - if (flag == FTW_F || flag == FTW_D) { -! fprintf(dout, "%s %d %d %s", flag == FTW_F ? "F" : "D", - st->st_size, st->st_mtime, path); - } - } else if (flag == FTW_F) ---- 103,109 ---- - if (st->st_mtime > newer_time) { - if (show_fullinfo != 0) { - if (flag == FTW_F || flag == FTW_D) { -! fprintf(dout, "%s %qd %ld %s", flag == FTW_F ? "F" : "D", - st->st_size, st->st_mtime, path); - } - } else if (flag == FTW_F) -*************** -*** 524,530 **** - if (fp == NULL) - return (0); - fgets(buf, sizeof(buf), fp); -! if (sscanf(buf, "%d %d %d %d %d %d %d", &tmbuf.tm_year, &tmbuf.tm_mon, - &tmbuf.tm_mday, &tmbuf.tm_hour, &tmbuf.tm_min, &deny, &disc) != 7) { - return (0); - } ---- 524,530 ---- - if (fp == NULL) - return (0); - fgets(buf, sizeof(buf), fp); -! if (sscanf(buf, "%d %d %d %d %d %ld %ld", &tmbuf.tm_year, &tmbuf.tm_mon, - &tmbuf.tm_mday, &tmbuf.tm_hour, &tmbuf.tm_min, &deny, &disc) != 7) { - return (0); - } + char * +! realpath(const char *pathname, char *result) + { + struct stat sbuf; + char curpath[MAXPATHLEN], diff --git a/ftp/wu-ftpd+ipv6/files/patch-ab b/ftp/wu-ftpd+ipv6/files/patch-ab index 26023cb..1532376 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ab +++ b/ftp/wu-ftpd+ipv6/files/patch-ab @@ -1,5 +1,5 @@ -*** Makefile.orig Fri Apr 1 21:03:58 1994 ---- Makefile Tue Oct 18 18:45:08 1994 +*** Makefile.orig Fri Apr 1 20:03:58 1994 +--- Makefile Wed Jan 25 21:12:08 1995 *************** *** 1,25 **** ! BINDIR= /usr/local/bin @@ -27,7 +27,7 @@ ! install -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 ! install -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 ! install -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 ---- 1,26 ---- +--- 1,35 ---- ! BINDIR= ${PREFIX}/bin ! ETCDIR= ${PREFIX}/etc ! MANDIR= ${PREFIX}/man @@ -54,3 +54,12 @@ ! install -c -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 ! install -c -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 ! install -c -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! @echo Compressing manpages +! gzip -9 ${MANDIR}/man8/ftpd.8 +! gzip -9 ${MANDIR}/man1/ftpcount.1 +! gzip -9 ${MANDIR}/man1/ftpwho.1 +! gzip -9 ${MANDIR}/man8/ftpshut.8 +! gzip -9 ${MANDIR}/man5/ftpaccess.5 +! gzip -9 ${MANDIR}/man5/ftphosts.5 +! gzip -9 ${MANDIR}/man5/ftpconversions.5 +! gzip -9 ${MANDIR}/man5/xferlog.5 diff --git a/ftp/wu-ftpd+ipv6/files/patch-ac b/ftp/wu-ftpd+ipv6/files/patch-ac index eb7be9d..8f9f98a 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ac +++ b/ftp/wu-ftpd+ipv6/files/patch-ac @@ -22,7 +22,7 @@ ! #define _PATH_FTPUSERS "!!PREFIX!!/etc/ftpusers" ! #define _PATH_FTPACCESS "!!PREFIX!!/etc/ftpaccess" #define _PATH_EXECPATH "/bin/ftp-exec" -! #define _PATH_PIDNAMES "/var/run/ftp.pids-%s" +! #define _PATH_PIDNAMES "!!PREFIX!!/daemon/ftpd/ftp.pids-%s" ! #define _PATH_CVT "!!PREFIX!!/etc/ftpconversions" ! #define _PATH_XFERLOG "/var/log/xferlog" ! #define _PATH_PRIVATE "!!PREFIX!!/etc/ftpgroups" diff --git a/ftp/wu-ftpd+ipv6/files/patch-ad b/ftp/wu-ftpd+ipv6/files/patch-ad new file mode 100644 index 0000000..71569a9 --- /dev/null +++ b/ftp/wu-ftpd+ipv6/files/patch-ad @@ -0,0 +1,489 @@ +*** src/ftpd.c.orig Wed Apr 13 22:17:18 1994 +--- src/ftpd.c Wed Jan 25 21:51:50 1995 +*************** +*** 139,146 **** + *freopen(const char *, const char *, FILE *); + extern int ftpd_pclose(FILE *iop), + fclose(FILE *); +! extern char *getline(), +! *realpath(char *pathname, char *result); + extern char cbuf[]; + extern off_t restart_point; + +--- 139,146 ---- + *freopen(const char *, const char *, FILE *); + extern int ftpd_pclose(FILE *iop), + fclose(FILE *); +! extern char *getline(); +! extern char *realpath(const char *pathname, char *result); + extern char cbuf[]; + extern off_t restart_point; + +*************** +*** 237,242 **** +--- 237,247 ---- + + #endif /* SETPROCTITLE */ + ++ #ifdef SKEY ++ #include <skey.h> ++ int pwok = 0; ++ #endif ++ + #ifdef KERBEROS + void init_krb(); + void end_krb(); +*************** +*** 252,257 **** +--- 257,269 ---- + char ls_short[50]; + struct aclmember *entry = NULL; + ++ void end_login(void); ++ void send_data(FILE *, FILE *, off_t); ++ void dolog(struct sockaddr_in *); ++ void dologout(int); ++ void perror_reply(int, char *); ++ ++ void + main(int argc, char **argv, char **envp) + { + int addrlen, +*************** +*** 686,691 **** +--- 698,705 ---- + * does not have a standard shell as returned by getusershell(). Disallow + * anyone mentioned in the file _PATH_FTPUSERS to allow people such as root + * and uucp to be avoided. */ ++ ++ void + user(char *name) + { + register char *cp; +*************** +*** 878,884 **** +--- 892,903 ---- + } else + acl_setfunctions(); + ++ #ifdef SKEY ++ pwok = skeyaccess(name, NULL, remotehost, remoteaddr); ++ reply(331, "%s", skey_challenge(name, pw, pwok)); ++ #else + reply(331, "Password required for %s.", name); ++ #endif + askpasswd = 1; + /* Delay before reading passwd after first failed attempt to slow down + * passwd-guessing programs. */ +*************** +*** 887,892 **** +--- 906,912 ---- + } + + /* Check if a user is in the file _PATH_FTPUSERS */ ++ int + checkuser(char *name) + { + register FILE *fd; +*************** +*** 911,916 **** +--- 931,937 ---- + + /* Terminate login as previous user, if any, resetting state; used when USER + * command is given or login fails. */ ++ void + end_login(void) + { + +*************** +*** 965,970 **** +--- 986,992 ---- + return 0; + } + ++ void + pass(char *passwd) + { + char *xpasswd, +*************** +*** 1007,1014 **** +--- 1029,1041 ---- + #ifdef KERBEROS + xpasswd = crypt16(passwd, salt); + #else ++ #ifdef SKEY ++ xpasswd = skey_crypt(passwd, salt, pw, pwok); ++ pwok = 0; ++ #else + xpasswd = crypt(passwd, salt); + #endif ++ #endif + + #ifdef ULTRIX_AUTH + if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { +*************** +*** 1095,1101 **** + (void) initgroups(pw->pw_name, pw->pw_gid); + + /* open wtmp before chroot */ +! (void) sprintf(ttyline, "ftp%d", getpid()); + logwtmp(ttyline, pw->pw_name, remotehost); + logged_in = 1; + +--- 1122,1132 ---- + (void) initgroups(pw->pw_name, pw->pw_gid); + + /* open wtmp before chroot */ +! #if (defined(BSD) && (BSD >= 199103)) +! (void) sprintf(ttyline, "ftp%ld", getpid()); +! #else +! (void) sprintf(ttyline, "ftpd%d", getpid()); +! #endif + logwtmp(ttyline, pw->pw_name, remotehost); + logged_in = 1; + +*************** +*** 1190,1197 **** + reply(230, "Guest login ok, access restrictions apply."); + #ifdef SETPROCTITLE + sprintf(proctitle, "%s: anonymous/%.*s", remotehost, +! sizeof(proctitle) - sizeof(remotehost) - +! sizeof(": anonymous/"), passwd); + setproctitle("%s", proctitle); + #endif /* SETPROCTITLE */ + if (logging) +--- 1221,1228 ---- + reply(230, "Guest login ok, access restrictions apply."); + #ifdef SETPROCTITLE + sprintf(proctitle, "%s: anonymous/%.*s", remotehost, +! (int) (sizeof(proctitle) - sizeof(remotehost) - +! sizeof(": anonymous/")), passwd); + setproctitle("%s", proctitle); + #endif /* SETPROCTITLE */ + if (logging) +*************** +*** 1235,1240 **** +--- 1266,1272 ---- + return (buf); + } + ++ void + retrieve(char *cmd, char *name) + { + FILE *fin, +*************** +*** 1422,1428 **** +--- 1454,1464 ---- + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; ++ #if (defined(BSD) && (BSD >= 199103)) ++ sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", ++ #else + sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", ++ #endif + ctime(&curtime), + xfertime, + remotehost, +*************** +*** 1445,1450 **** +--- 1481,1487 ---- + (*closefunc) (fin); + } + ++ void + store(char *name, char *mode, int unique) + { + FILE *fout, *din; +*************** +*** 1610,1616 **** + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; +! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", + ctime(&curtime), + xfertime, + remotehost, +--- 1647,1657 ---- + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; +! #if (defined(BSD) && (BSD >= 199103)) +! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", +! #else +! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", +! #endif + ctime(&curtime), + xfertime, + remotehost, +*************** +*** 1699,1705 **** + file_size = size; + byte_count = 0; + if (size != (off_t) - 1) +! (void) sprintf(sizebuf, " (%ld bytes)", size); + else + (void) strcpy(sizebuf, ""); + if (pdata >= 0) { +--- 1740,1750 ---- + file_size = size; + byte_count = 0; + if (size != (off_t) - 1) +! #if (defined(BSD) && (BSD >= 199103)) +! (void) sprintf(sizebuf, " (%qd bytes)", size); +! #else +! (void) sprintf(sizebuf, " (%d bytes)", size); +! #endif + else + (void) strcpy(sizebuf, ""); + if (pdata >= 0) { +*************** +*** 1707,1715 **** + int s, + fromlen = sizeof(from); + +! s = accept(pdata, (struct sockaddr *) &from, &fromlen); +! if (s < 0) { +! reply(425, "Can't open data connection."); + (void) close(pdata); + pdata = -1; + return (NULL); +--- 1752,1774 ---- + int s, + fromlen = sizeof(from); + +! #ifdef FD_ZERO +! struct timeval timeout; +! fd_set set; +! +! FD_ZERO(&set); +! FD_SET(pdata, &set); +! +! timeout.tv_usec = 0; +! timeout.tv_sec = 120; +! +! if (select(pdata+1, &set, (fd_set *) 0, (fd_set *) 0, &timeout) == 0 || +! (s = accept(pdata, (struct sockaddr *) &from, &fromlen)) < 0) { +! #else +! s = accept(pdata, (struct sockaddr *) &from, &fromlen); +! if (s < 0) { +! #endif +! reply(425, "Can't open data connection."); + (void) close(pdata); + pdata = -1; + return (NULL); +*************** +*** 1764,1769 **** +--- 1823,1829 ---- + * encapsulation of the data subject to Mode, Structure, and Type. + * + * NB: Form isn't handled. */ ++ void + send_data(FILE *instr, FILE *outstr, off_t blksize) + { + register int c, +*************** +*** 1839,1844 **** +--- 1899,1905 ---- + * the data subject to Mode, Structure, and Type. + * + * N.B.: Form isn't handled. */ ++ int + receive_data(FILE *instr, FILE *outstr) + { + register int c; +*************** +*** 1915,1920 **** +--- 1976,1982 ---- + return (-1); + } + ++ void + statfilecmd(char *filename) + { + char line[BUFSIZ]; +*************** +*** 1948,1953 **** +--- 2010,2016 ---- + reply(211, "End of Status"); + } + ++ void + statcmd(void) + { + struct sockaddr_in *sin; +*************** +*** 2001,2006 **** +--- 2064,2070 ---- + reply(211, "End of status"); + } + ++ void + fatal(char *s) + { + reply(451, "Error in server: %s\n", s); +*************** +*** 2095,2100 **** +--- 2159,2165 ---- + + #else + /* VARARGS2 */ ++ void + reply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) + { + if (autospout != NULL) { +*************** +*** 2129,2134 **** +--- 2194,2200 ---- + } + + /* VARARGS2 */ ++ void + lreply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) + { + if (!dolreplies) +*************** +*** 2144,2160 **** +--- 2210,2229 ---- + } + #endif + ++ void + ack(char *s) + { + reply(250, "%s command successful.", s); + } + ++ void + nack(char *s) + { + reply(502, "%s command not implemented.", s); + } + + /* ARGSUSED */ ++ void + yyerror(char *s) + { + char *cp; +*************** +*** 2164,2169 **** +--- 2233,2239 ---- + reply(500, "'%s': command not understood.", cbuf); + } + ++ void + delete(char *name) + { + struct stat st; +*************** +*** 2208,2213 **** +--- 2278,2284 ---- + ack("DELE"); + } + ++ void + cwd(char *path) + { + struct aclmember *entry = NULL; +*************** +*** 2248,2253 **** +--- 2319,2325 ---- + } + } + ++ void + makedir(char *name) + { + uid_t uid; +*************** +*** 2274,2282 **** + reply(257, "MKD command successful."); + } + + removedir(char *name) + { +! int c, d; /* dummy variables */ + int valid = 0; + + /* +--- 2346,2355 ---- + reply(257, "MKD command successful."); + } + ++ void + removedir(char *name) + { +! unsigned long c, d; /* dummy variables */ + int valid = 0; + + /* +*************** +*** 2298,2303 **** +--- 2371,2377 ---- + ack("RMD"); + } + ++ void + pwd(void) + { + char path[MAXPATHLEN + 1]; +*************** +*** 2342,2347 **** +--- 2416,2422 ---- + return (name); + } + ++ void + renamecmd(char *from, char *to) + { + +*************** +*** 2357,2362 **** +--- 2432,2438 ---- + ack("RNTO"); + } + ++ void + dolog(struct sockaddr_in *sin) + { + struct hostent *hp; +*************** +*** 2412,2417 **** +--- 2488,2494 ---- + } + + /* Record logout in wtmp file and exit with supplied status. */ ++ void + dologout(int status) + { + if (logged_in) { +*************** +*** 2459,2464 **** +--- 2536,2542 ---- + * PASV command in RFC959. However, it has been blessed as a legitimate + * response by Jon Postel in a telephone conversation with Rick Adams on 25 + * Jan 89. */ ++ void + passive(void) + { + int len; +*************** +*** 2530,2535 **** +--- 2608,2614 ---- + } + + /* Format and send reply containing system error number. */ ++ void + perror_reply(int code, char *string) + { + reply(code, "%s: %s.", string, strerror(errno)); +*************** +*** 2538,2543 **** +--- 2617,2623 ---- + static char *onefile[] = + {"", 0}; + ++ void + send_file_list(char *whichfiles) + { + struct stat st; diff --git a/ftp/wu-ftpd+ipv6/files/patch-ag b/ftp/wu-ftpd+ipv6/files/patch-ag new file mode 100644 index 0000000..dabfbce --- /dev/null +++ b/ftp/wu-ftpd+ipv6/files/patch-ag @@ -0,0 +1,19 @@ +*** doc/examples/ftpconversions.orig Wed Jan 25 22:11:02 1995 +--- doc/examples/ftpconversions Wed Jan 25 22:11:49 1995 +*************** +*** 1,7 **** +! :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS + : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS + :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP + : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP + : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR + : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS +! : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP +--- 1,7 ---- +! :.Z: : :/bin/gzip -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS + : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS + :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP + : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP + : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR + : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS +! : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP diff --git a/ftp/wu-ftpd+ipv6/scripts/configure b/ftp/wu-ftpd+ipv6/scripts/configure index c5dca72..e557ecd 100644 --- a/ftp/wu-ftpd+ipv6/scripts/configure +++ b/ftp/wu-ftpd+ipv6/scripts/configure @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id$ +# configure,v 1.1.1.1 1994/10/23 01:36:59 torstenb Exp # mv ${WRKSRC}/src/pathnames.h ${WRKSRC}/src/pathnames.h.bak diff --git a/ftp/wu-ftpd/files/patch-aa b/ftp/wu-ftpd/files/patch-aa index a414a2f..e5b1455 100644 --- a/ftp/wu-ftpd/files/patch-aa +++ b/ftp/wu-ftpd/files/patch-aa @@ -1,196 +1,19 @@ -*** src/ftpd.c.orig Wed Apr 13 22:17:18 1994 ---- src/ftpd.c Fri Jan 13 20:22:05 1995 +*** src/realpath.c.orig Wed Jan 18 22:39:04 1995 +--- src/realpath.c Wed Jan 18 22:38:48 1995 *************** -*** 139,146 **** - *freopen(const char *, const char *, FILE *); - extern int ftpd_pclose(FILE *iop), - fclose(FILE *); -! extern char *getline(), -! *realpath(char *pathname, char *result); - extern char cbuf[]; - extern off_t restart_point; - ---- 139,148 ---- - *freopen(const char *, const char *, FILE *); - extern int ftpd_pclose(FILE *iop), - fclose(FILE *); -! extern char *getline(); -! #ifndef HAVE_REALPATH -! extern char *realpath(char *pathname, char *result); -! #endif - extern char cbuf[]; - extern off_t restart_point; - -*************** -*** 237,242 **** ---- 239,250 ---- - - #endif /* SETPROCTITLE */ - -+ #ifdef SKEY -+ int pwok = 0; -+ char *skey_challenge(); -+ char *skey_crypt(); -+ #endif -+ - #ifdef KERBEROS - void init_krb(); - void end_krb(); -*************** -*** 878,884 **** ---- 886,897 ---- - } else - acl_setfunctions(); - -+ #ifdef SKEY -+ pwok = skeyaccess(name, NULL, remotehost); -+ reply(331, "%s", skey_challenge(name, pw, pwok)); -+ #else - reply(331, "Password required for %s.", name); -+ #endif - askpasswd = 1; - /* Delay before reading passwd after first failed attempt to slow down - * passwd-guessing programs. */ -*************** -*** 1007,1014 **** ---- 1020,1032 ---- - #ifdef KERBEROS - xpasswd = crypt16(passwd, salt); - #else -+ #ifdef SKEY -+ xpasswd = skey_crypt(passwd, salt, pw, pwok); -+ pwok = 0; -+ #else - xpasswd = crypt(passwd, salt); +*** 42,48 **** #endif -+ #endif - - #ifdef ULTRIX_AUTH - if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { -*************** -*** 1095,1101 **** - (void) initgroups(pw->pw_name, pw->pw_gid); - - /* open wtmp before chroot */ -! (void) sprintf(ttyline, "ftp%d", getpid()); - logwtmp(ttyline, pw->pw_name, remotehost); - logged_in = 1; ---- 1113,1119 ---- - (void) initgroups(pw->pw_name, pw->pw_gid); - - /* open wtmp before chroot */ -! (void) sprintf(ttyline, "ftp%ld", getpid()); - logwtmp(ttyline, pw->pw_name, remotehost); - logged_in = 1; - -*************** -*** 1422,1428 **** - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, ---- 1440,1446 ---- - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, -*************** -*** 1610,1616 **** - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, ---- 1628,1634 ---- - for (loop = 0; namebuf[loop]; loop++) - if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) - namebuf[loop] = '_'; -! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", - ctime(&curtime), - xfertime, - remotehost, -*************** -*** 1699,1705 **** - file_size = size; - byte_count = 0; - if (size != (off_t) - 1) -! (void) sprintf(sizebuf, " (%ld bytes)", size); - else - (void) strcpy(sizebuf, ""); - if (pdata >= 0) { ---- 1717,1723 ---- - file_size = size; - byte_count = 0; - if (size != (off_t) - 1) -! (void) sprintf(sizebuf, " (%qd bytes)", size); - else - (void) strcpy(sizebuf, ""); - if (pdata >= 0) { -*** src/realpath.c.orig Fri Apr 1 20:03:45 1994 ---- src/realpath.c Fri Jan 13 01:09:30 1995 -*************** -*** 29,36 **** ---- 29,39 ---- - * POSSIBILITY OF SUCH DAMAGE. - */ - -+ - #include "config.h" + char * +! realpath(char *pathname, char *result) + { + struct stat sbuf; + char curpath[MAXPATHLEN], +--- 42,48 ---- + #endif -+ #ifndef HAVE_REALPATH -+ - #include <stdio.h> - #include <sys/types.h> - #include <sys/stat.h> -*************** -*** 159,161 **** ---- 162,165 ---- - strcpy(result, workpath); - return (result); - } -+ #endif -*** src/extensions.c.orig Fri Jan 13 20:26:26 1995 ---- src/extensions.c Fri Jan 13 20:29:39 1995 -*************** -*** 103,109 **** - if (st->st_mtime > newer_time) { - if (show_fullinfo != 0) { - if (flag == FTW_F || flag == FTW_D) { -! fprintf(dout, "%s %d %d %s", flag == FTW_F ? "F" : "D", - st->st_size, st->st_mtime, path); - } - } else if (flag == FTW_F) ---- 103,109 ---- - if (st->st_mtime > newer_time) { - if (show_fullinfo != 0) { - if (flag == FTW_F || flag == FTW_D) { -! fprintf(dout, "%s %qd %ld %s", flag == FTW_F ? "F" : "D", - st->st_size, st->st_mtime, path); - } - } else if (flag == FTW_F) -*************** -*** 524,530 **** - if (fp == NULL) - return (0); - fgets(buf, sizeof(buf), fp); -! if (sscanf(buf, "%d %d %d %d %d %d %d", &tmbuf.tm_year, &tmbuf.tm_mon, - &tmbuf.tm_mday, &tmbuf.tm_hour, &tmbuf.tm_min, &deny, &disc) != 7) { - return (0); - } ---- 524,530 ---- - if (fp == NULL) - return (0); - fgets(buf, sizeof(buf), fp); -! if (sscanf(buf, "%d %d %d %d %d %ld %ld", &tmbuf.tm_year, &tmbuf.tm_mon, - &tmbuf.tm_mday, &tmbuf.tm_hour, &tmbuf.tm_min, &deny, &disc) != 7) { - return (0); - } + char * +! realpath(const char *pathname, char *result) + { + struct stat sbuf; + char curpath[MAXPATHLEN], diff --git a/ftp/wu-ftpd/files/patch-ab b/ftp/wu-ftpd/files/patch-ab index 26023cb..1532376 100644 --- a/ftp/wu-ftpd/files/patch-ab +++ b/ftp/wu-ftpd/files/patch-ab @@ -1,5 +1,5 @@ -*** Makefile.orig Fri Apr 1 21:03:58 1994 ---- Makefile Tue Oct 18 18:45:08 1994 +*** Makefile.orig Fri Apr 1 20:03:58 1994 +--- Makefile Wed Jan 25 21:12:08 1995 *************** *** 1,25 **** ! BINDIR= /usr/local/bin @@ -27,7 +27,7 @@ ! install -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 ! install -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 ! install -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 ---- 1,26 ---- +--- 1,35 ---- ! BINDIR= ${PREFIX}/bin ! ETCDIR= ${PREFIX}/etc ! MANDIR= ${PREFIX}/man @@ -54,3 +54,12 @@ ! install -c -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 ! install -c -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 ! install -c -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! @echo Compressing manpages +! gzip -9 ${MANDIR}/man8/ftpd.8 +! gzip -9 ${MANDIR}/man1/ftpcount.1 +! gzip -9 ${MANDIR}/man1/ftpwho.1 +! gzip -9 ${MANDIR}/man8/ftpshut.8 +! gzip -9 ${MANDIR}/man5/ftpaccess.5 +! gzip -9 ${MANDIR}/man5/ftphosts.5 +! gzip -9 ${MANDIR}/man5/ftpconversions.5 +! gzip -9 ${MANDIR}/man5/xferlog.5 diff --git a/ftp/wu-ftpd/files/patch-ac b/ftp/wu-ftpd/files/patch-ac index eb7be9d..8f9f98a 100644 --- a/ftp/wu-ftpd/files/patch-ac +++ b/ftp/wu-ftpd/files/patch-ac @@ -22,7 +22,7 @@ ! #define _PATH_FTPUSERS "!!PREFIX!!/etc/ftpusers" ! #define _PATH_FTPACCESS "!!PREFIX!!/etc/ftpaccess" #define _PATH_EXECPATH "/bin/ftp-exec" -! #define _PATH_PIDNAMES "/var/run/ftp.pids-%s" +! #define _PATH_PIDNAMES "!!PREFIX!!/daemon/ftpd/ftp.pids-%s" ! #define _PATH_CVT "!!PREFIX!!/etc/ftpconversions" ! #define _PATH_XFERLOG "/var/log/xferlog" ! #define _PATH_PRIVATE "!!PREFIX!!/etc/ftpgroups" diff --git a/ftp/wu-ftpd/files/patch-ad b/ftp/wu-ftpd/files/patch-ad new file mode 100644 index 0000000..71569a9 --- /dev/null +++ b/ftp/wu-ftpd/files/patch-ad @@ -0,0 +1,489 @@ +*** src/ftpd.c.orig Wed Apr 13 22:17:18 1994 +--- src/ftpd.c Wed Jan 25 21:51:50 1995 +*************** +*** 139,146 **** + *freopen(const char *, const char *, FILE *); + extern int ftpd_pclose(FILE *iop), + fclose(FILE *); +! extern char *getline(), +! *realpath(char *pathname, char *result); + extern char cbuf[]; + extern off_t restart_point; + +--- 139,146 ---- + *freopen(const char *, const char *, FILE *); + extern int ftpd_pclose(FILE *iop), + fclose(FILE *); +! extern char *getline(); +! extern char *realpath(const char *pathname, char *result); + extern char cbuf[]; + extern off_t restart_point; + +*************** +*** 237,242 **** +--- 237,247 ---- + + #endif /* SETPROCTITLE */ + ++ #ifdef SKEY ++ #include <skey.h> ++ int pwok = 0; ++ #endif ++ + #ifdef KERBEROS + void init_krb(); + void end_krb(); +*************** +*** 252,257 **** +--- 257,269 ---- + char ls_short[50]; + struct aclmember *entry = NULL; + ++ void end_login(void); ++ void send_data(FILE *, FILE *, off_t); ++ void dolog(struct sockaddr_in *); ++ void dologout(int); ++ void perror_reply(int, char *); ++ ++ void + main(int argc, char **argv, char **envp) + { + int addrlen, +*************** +*** 686,691 **** +--- 698,705 ---- + * does not have a standard shell as returned by getusershell(). Disallow + * anyone mentioned in the file _PATH_FTPUSERS to allow people such as root + * and uucp to be avoided. */ ++ ++ void + user(char *name) + { + register char *cp; +*************** +*** 878,884 **** +--- 892,903 ---- + } else + acl_setfunctions(); + ++ #ifdef SKEY ++ pwok = skeyaccess(name, NULL, remotehost, remoteaddr); ++ reply(331, "%s", skey_challenge(name, pw, pwok)); ++ #else + reply(331, "Password required for %s.", name); ++ #endif + askpasswd = 1; + /* Delay before reading passwd after first failed attempt to slow down + * passwd-guessing programs. */ +*************** +*** 887,892 **** +--- 906,912 ---- + } + + /* Check if a user is in the file _PATH_FTPUSERS */ ++ int + checkuser(char *name) + { + register FILE *fd; +*************** +*** 911,916 **** +--- 931,937 ---- + + /* Terminate login as previous user, if any, resetting state; used when USER + * command is given or login fails. */ ++ void + end_login(void) + { + +*************** +*** 965,970 **** +--- 986,992 ---- + return 0; + } + ++ void + pass(char *passwd) + { + char *xpasswd, +*************** +*** 1007,1014 **** +--- 1029,1041 ---- + #ifdef KERBEROS + xpasswd = crypt16(passwd, salt); + #else ++ #ifdef SKEY ++ xpasswd = skey_crypt(passwd, salt, pw, pwok); ++ pwok = 0; ++ #else + xpasswd = crypt(passwd, salt); + #endif ++ #endif + + #ifdef ULTRIX_AUTH + if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { +*************** +*** 1095,1101 **** + (void) initgroups(pw->pw_name, pw->pw_gid); + + /* open wtmp before chroot */ +! (void) sprintf(ttyline, "ftp%d", getpid()); + logwtmp(ttyline, pw->pw_name, remotehost); + logged_in = 1; + +--- 1122,1132 ---- + (void) initgroups(pw->pw_name, pw->pw_gid); + + /* open wtmp before chroot */ +! #if (defined(BSD) && (BSD >= 199103)) +! (void) sprintf(ttyline, "ftp%ld", getpid()); +! #else +! (void) sprintf(ttyline, "ftpd%d", getpid()); +! #endif + logwtmp(ttyline, pw->pw_name, remotehost); + logged_in = 1; + +*************** +*** 1190,1197 **** + reply(230, "Guest login ok, access restrictions apply."); + #ifdef SETPROCTITLE + sprintf(proctitle, "%s: anonymous/%.*s", remotehost, +! sizeof(proctitle) - sizeof(remotehost) - +! sizeof(": anonymous/"), passwd); + setproctitle("%s", proctitle); + #endif /* SETPROCTITLE */ + if (logging) +--- 1221,1228 ---- + reply(230, "Guest login ok, access restrictions apply."); + #ifdef SETPROCTITLE + sprintf(proctitle, "%s: anonymous/%.*s", remotehost, +! (int) (sizeof(proctitle) - sizeof(remotehost) - +! sizeof(": anonymous/")), passwd); + setproctitle("%s", proctitle); + #endif /* SETPROCTITLE */ + if (logging) +*************** +*** 1235,1240 **** +--- 1266,1272 ---- + return (buf); + } + ++ void + retrieve(char *cmd, char *name) + { + FILE *fin, +*************** +*** 1422,1428 **** +--- 1454,1464 ---- + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; ++ #if (defined(BSD) && (BSD >= 199103)) ++ sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", ++ #else + sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", ++ #endif + ctime(&curtime), + xfertime, + remotehost, +*************** +*** 1445,1450 **** +--- 1481,1487 ---- + (*closefunc) (fin); + } + ++ void + store(char *name, char *mode, int unique) + { + FILE *fout, *din; +*************** +*** 1610,1616 **** + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; +! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", + ctime(&curtime), + xfertime, + remotehost, +--- 1647,1657 ---- + for (loop = 0; namebuf[loop]; loop++) + if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) + namebuf[loop] = '_'; +! #if (defined(BSD) && (BSD >= 199103)) +! sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", +! #else +! sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", +! #endif + ctime(&curtime), + xfertime, + remotehost, +*************** +*** 1699,1705 **** + file_size = size; + byte_count = 0; + if (size != (off_t) - 1) +! (void) sprintf(sizebuf, " (%ld bytes)", size); + else + (void) strcpy(sizebuf, ""); + if (pdata >= 0) { +--- 1740,1750 ---- + file_size = size; + byte_count = 0; + if (size != (off_t) - 1) +! #if (defined(BSD) && (BSD >= 199103)) +! (void) sprintf(sizebuf, " (%qd bytes)", size); +! #else +! (void) sprintf(sizebuf, " (%d bytes)", size); +! #endif + else + (void) strcpy(sizebuf, ""); + if (pdata >= 0) { +*************** +*** 1707,1715 **** + int s, + fromlen = sizeof(from); + +! s = accept(pdata, (struct sockaddr *) &from, &fromlen); +! if (s < 0) { +! reply(425, "Can't open data connection."); + (void) close(pdata); + pdata = -1; + return (NULL); +--- 1752,1774 ---- + int s, + fromlen = sizeof(from); + +! #ifdef FD_ZERO +! struct timeval timeout; +! fd_set set; +! +! FD_ZERO(&set); +! FD_SET(pdata, &set); +! +! timeout.tv_usec = 0; +! timeout.tv_sec = 120; +! +! if (select(pdata+1, &set, (fd_set *) 0, (fd_set *) 0, &timeout) == 0 || +! (s = accept(pdata, (struct sockaddr *) &from, &fromlen)) < 0) { +! #else +! s = accept(pdata, (struct sockaddr *) &from, &fromlen); +! if (s < 0) { +! #endif +! reply(425, "Can't open data connection."); + (void) close(pdata); + pdata = -1; + return (NULL); +*************** +*** 1764,1769 **** +--- 1823,1829 ---- + * encapsulation of the data subject to Mode, Structure, and Type. + * + * NB: Form isn't handled. */ ++ void + send_data(FILE *instr, FILE *outstr, off_t blksize) + { + register int c, +*************** +*** 1839,1844 **** +--- 1899,1905 ---- + * the data subject to Mode, Structure, and Type. + * + * N.B.: Form isn't handled. */ ++ int + receive_data(FILE *instr, FILE *outstr) + { + register int c; +*************** +*** 1915,1920 **** +--- 1976,1982 ---- + return (-1); + } + ++ void + statfilecmd(char *filename) + { + char line[BUFSIZ]; +*************** +*** 1948,1953 **** +--- 2010,2016 ---- + reply(211, "End of Status"); + } + ++ void + statcmd(void) + { + struct sockaddr_in *sin; +*************** +*** 2001,2006 **** +--- 2064,2070 ---- + reply(211, "End of status"); + } + ++ void + fatal(char *s) + { + reply(451, "Error in server: %s\n", s); +*************** +*** 2095,2100 **** +--- 2159,2165 ---- + + #else + /* VARARGS2 */ ++ void + reply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) + { + if (autospout != NULL) { +*************** +*** 2129,2134 **** +--- 2194,2200 ---- + } + + /* VARARGS2 */ ++ void + lreply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) + { + if (!dolreplies) +*************** +*** 2144,2160 **** +--- 2210,2229 ---- + } + #endif + ++ void + ack(char *s) + { + reply(250, "%s command successful.", s); + } + ++ void + nack(char *s) + { + reply(502, "%s command not implemented.", s); + } + + /* ARGSUSED */ ++ void + yyerror(char *s) + { + char *cp; +*************** +*** 2164,2169 **** +--- 2233,2239 ---- + reply(500, "'%s': command not understood.", cbuf); + } + ++ void + delete(char *name) + { + struct stat st; +*************** +*** 2208,2213 **** +--- 2278,2284 ---- + ack("DELE"); + } + ++ void + cwd(char *path) + { + struct aclmember *entry = NULL; +*************** +*** 2248,2253 **** +--- 2319,2325 ---- + } + } + ++ void + makedir(char *name) + { + uid_t uid; +*************** +*** 2274,2282 **** + reply(257, "MKD command successful."); + } + + removedir(char *name) + { +! int c, d; /* dummy variables */ + int valid = 0; + + /* +--- 2346,2355 ---- + reply(257, "MKD command successful."); + } + ++ void + removedir(char *name) + { +! unsigned long c, d; /* dummy variables */ + int valid = 0; + + /* +*************** +*** 2298,2303 **** +--- 2371,2377 ---- + ack("RMD"); + } + ++ void + pwd(void) + { + char path[MAXPATHLEN + 1]; +*************** +*** 2342,2347 **** +--- 2416,2422 ---- + return (name); + } + ++ void + renamecmd(char *from, char *to) + { + +*************** +*** 2357,2362 **** +--- 2432,2438 ---- + ack("RNTO"); + } + ++ void + dolog(struct sockaddr_in *sin) + { + struct hostent *hp; +*************** +*** 2412,2417 **** +--- 2488,2494 ---- + } + + /* Record logout in wtmp file and exit with supplied status. */ ++ void + dologout(int status) + { + if (logged_in) { +*************** +*** 2459,2464 **** +--- 2536,2542 ---- + * PASV command in RFC959. However, it has been blessed as a legitimate + * response by Jon Postel in a telephone conversation with Rick Adams on 25 + * Jan 89. */ ++ void + passive(void) + { + int len; +*************** +*** 2530,2535 **** +--- 2608,2614 ---- + } + + /* Format and send reply containing system error number. */ ++ void + perror_reply(int code, char *string) + { + reply(code, "%s: %s.", string, strerror(errno)); +*************** +*** 2538,2543 **** +--- 2617,2623 ---- + static char *onefile[] = + {"", 0}; + ++ void + send_file_list(char *whichfiles) + { + struct stat st; diff --git a/ftp/wu-ftpd/files/patch-ag b/ftp/wu-ftpd/files/patch-ag new file mode 100644 index 0000000..dabfbce --- /dev/null +++ b/ftp/wu-ftpd/files/patch-ag @@ -0,0 +1,19 @@ +*** doc/examples/ftpconversions.orig Wed Jan 25 22:11:02 1995 +--- doc/examples/ftpconversions Wed Jan 25 22:11:49 1995 +*************** +*** 1,7 **** +! :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS + : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS + :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP + : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP + : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR + : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS +! : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP +--- 1,7 ---- +! :.Z: : :/bin/gzip -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS + : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS + :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP + : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP + : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR + : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS +! : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP diff --git a/ftp/wu-ftpd/scripts/configure b/ftp/wu-ftpd/scripts/configure index c5dca72..e557ecd 100644 --- a/ftp/wu-ftpd/scripts/configure +++ b/ftp/wu-ftpd/scripts/configure @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id$ +# configure,v 1.1.1.1 1994/10/23 01:36:59 torstenb Exp # mv ${WRKSRC}/src/pathnames.h ${WRKSRC}/src/pathnames.h.bak |