diff options
author | Gary Palmer <gpalmer@FreeBSD.org> | 1995-01-25 22:41:57 +0000 |
---|---|---|
committer | Gary Palmer <gpalmer@FreeBSD.org> | 1995-01-25 22:41:57 +0000 |
commit | 64b881e789e06ddfd32165c0e47da46d38a7385f (patch) | |
tree | 58ca533137710bc1bef779d3a764e85f8e241638 /ftp/wu-ftpd+ipv6/files/patch-aa | |
parent | Gloat about my new patch. (diff) |
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
Notes
Notes:
svn path=/head/; revision=826
Diffstat (limited to 'ftp/wu-ftpd+ipv6/files/patch-aa')
-rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-aa | 207 |
1 files changed, 15 insertions, 192 deletions
diff --git a/ftp/wu-ftpd+ipv6/files/patch-aa b/ftp/wu-ftpd+ipv6/files/patch-aa index a414a2f7a157..e5b1455adc81 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], |