diff options
Diffstat (limited to 'ftp/spegla/files')
-rw-r--r-- | ftp/spegla/files/patch-Makefile | 32 | ||||
-rw-r--r-- | ftp/spegla/files/patch-e_err.c | 10 | ||||
-rw-r--r-- | ftp/spegla/files/patch-jftp.c | 90 | ||||
-rw-r--r-- | ftp/spegla/files/patch-spegla.c | 19 |
4 files changed, 0 insertions, 151 deletions
diff --git a/ftp/spegla/files/patch-Makefile b/ftp/spegla/files/patch-Makefile deleted file mode 100644 index ba9ee5b..0000000 --- a/ftp/spegla/files/patch-Makefile +++ /dev/null @@ -1,32 +0,0 @@ ---- Makefile.orig 2008-10-05 21:20:36.000000000 +0900 -+++ Makefile 2008-10-05 21:22:33.000000000 +0900 -@@ -8,7 +8,8 @@ - - PROG = spegla - SRCS = jftp.c parserow.c spegla.c tgetopt.c container.c spf_util.c \ -- que_syms.c e_err.c -+ que_syms.c e_err.c \ -+ regcomp.c regerror.c regexec.c regfree.c - .if !(defined(HAVE_STRLCPY) && ${HAVE_STRLCPY} == "yes") - SRCS += strlcpy.c - CPPFLAGS += -DNO_STRLCPY -@@ -16,14 +17,6 @@ - - MAN = spegla.1 - --FILES = spegla.sh spegla.conf --FILESDIR = ${PREFIX}/share/examples/spegla -- --filesinstall:: ${PREFIX}/share/examples/spegla -- --${PREFIX}/share/examples/spegla: -- mkdir -p ${PREFIX}/share/examples/spegla -- - #WARNS = 2 - CFLAGS += -Wall - LDADD += -lcompat -@@ -73,3 +66,4 @@ - cp ${.CURDIR}/../tgetopt/tgetopt.c tgetopt.c - .endif - -+.PATH: ${.CURDIR}/regex diff --git a/ftp/spegla/files/patch-e_err.c b/ftp/spegla/files/patch-e_err.c deleted file mode 100644 index f75ebc1..0000000 --- a/ftp/spegla/files/patch-e_err.c +++ /dev/null @@ -1,10 +0,0 @@ ---- e_err.c.orig Sun May 14 23:39:39 2000 -+++ e_err.c Thu Feb 1 15:38:37 2001 -@@ -115,6 +115,7 @@ - } - - res = vsnprintf(p, len, fmt, args); -+ if (res >= len) res = len - 1; - len -= res; - p += res; - diff --git a/ftp/spegla/files/patch-jftp.c b/ftp/spegla/files/patch-jftp.c deleted file mode 100644 index 5f96696..0000000 --- a/ftp/spegla/files/patch-jftp.c +++ /dev/null @@ -1,90 +0,0 @@ ---- jftp.c.orig Thu Mar 23 17:34:21 2006 -+++ jftp.c Thu Mar 23 17:39:39 2006 -@@ -40,6 +40,7 @@ - #include <netinet/in.h> - #include <arpa/inet.h> - -+#include <ctype.h> - #include <setjmp.h> - #include <signal.h> - #include <stdio.h> -@@ -246,6 +247,7 @@ - int ftp_status, eol, i, islongtext; - ssize_t done, res, size, pos; - char *nfmt; -+ char rescode[5]; - - if (*fmt != ' ') { - if ((nfmt = alloca(strlen(fmt) + 3)) == NULL) { -@@ -293,12 +295,28 @@ - pos += done; - if(eol) { - ftp_status=0; -- res = sscanf(c->ftp_buf, "%3d", &ftp_status); -- if ((res == 1) && (ftp_status >= 100) && (ftp_status <= 999)) { -- /* We have a line that contains a valid reply code */ - -- /* This may be the start of a multi line reply */ -- islongtext = (c->ftp_buf[3] == '-'); -+ /* We are interested in the first 4 bytes */ -+ (void)memset(rescode, '\0', sizeof(rescode)); -+ (void)memcpy(rescode, c->ftp_buf, sizeof(rescode) - 1); -+ -+ if (isdigit(rescode[0]) -+ && isdigit(rescode[1]) -+ && isdigit(rescode[2])) { -+ res = sscanf(rescode, "%3d", &ftp_status); -+ -+ E_LOGX_1(3, "ftp_status: %d", ftp_status); -+ E_LOGX_1(3, "c->ftp_buf: %s", c->ftp_buf); -+ -+ if ((rescode[3] == '-' || rescode[3] == ' ') -+ && (res == 1)) { -+ islongtext = (rescode[3] == '-'); -+ if (ftp_status < 100) { -+ E_LOGX_1(1, "%s", c->ftp_buf); -+ c->ftp_resp = JFTP_ERR; -+ return -1; -+ } -+ } - } - if(islongtext) { - size = sizeof(c->ftp_buf); -@@ -455,17 +473,22 @@ - c->ftp_resp = JFTP_ERR; - return -1; - } -- if (ftp_req(c, "user %s", c->ftp_user_name) < 0 || c->ftp_resp != 331) { -+ if (ftp_req(c, "user %s", c->ftp_user_name) < 0 -+ || (c->ftp_resp != 331 && c->ftp_resp != 230)) { - E_LOGX_1(0, "Username %s: failed", c->ftp_user_name); - FD_CLOSE(c->ftp_com); - c->ftp_resp = JFTP_ERR; - return -1; - } -- if (ftp_req(c, "pass %s", c->ftp_password) < 0 || c->ftp_resp != 230) { -- E_LOGX(0, "Password xxxxx: failed"); -- FD_CLOSE(c->ftp_com); -- c->ftp_resp = JFTP_ERR; -- return -1; -+ /* USER command can respond 230 immediately in some cases */ -+ if (c->ftp_resp != 230) { -+ if (ftp_req(c, "pass %s", c->ftp_password) < 0 -+ || c->ftp_resp != 230) { -+ E_LOGX(0, "Password xxxxx: failed"); -+ FD_CLOSE(c->ftp_com); -+ c->ftp_resp = JFTP_ERR; -+ return -1; -+ } - } - c->ftp_resp = 0; - if (ftp_req(c, "TYPE I") < 0 || c->ftp_resp != 200) { -@@ -980,7 +1003,7 @@ - /* Late versions of wu-ftpd does some kind of recursive - * listing if only a '.' is given as directory. - */ -- if (strcmp(dir, ".") == 0) -+ if ((strcmp(dir, ".") == 0) || !*dir) - res = ftp_req(c, "list %s", flags); - else - res = ftp_req(c, "list %s %s", flags, dir); diff --git a/ftp/spegla/files/patch-spegla.c b/ftp/spegla/files/patch-spegla.c deleted file mode 100644 index a0a7f2a..0000000 --- a/ftp/spegla/files/patch-spegla.c +++ /dev/null @@ -1,19 +0,0 @@ ---- spegla.c.orig Sat May 27 22:38:14 2000 -+++ spegla.c Thu Feb 1 15:39:24 2001 -@@ -728,7 +728,7 @@ - #ifdef ULTRIX - if ((f.fd_req.bfreen * 1024) < minfree) - #else -- if ((f.f_bsize * f.f_bavail) < minfree) -+ if (((long long)f.f_bsize * f.f_bavail) < minfree) - #endif - e_errx(1, "%s: Not enough space left", path); - -@@ -953,6 +953,7 @@ - } - buf[i] = p[j]; - } -+ buf[i] = '\0'; - *val = buf; - ret: - if (show) |