From 4836d586c57329c5c0310faeeced7cb01b4d7361 Mon Sep 17 00:00:00 2001 From: pascalek Date: Thu, 24 Aug 2000 15:18:57 +0000 Subject: [PATCH] - causes ftp client quit when executed macro failed Changed files: netkit-ftp-macro-quit.patch -> 1.1 --- netkit-ftp-macro-quit.patch | 88 +++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 netkit-ftp-macro-quit.patch diff --git a/netkit-ftp-macro-quit.patch b/netkit-ftp-macro-quit.patch new file mode 100644 index 0000000..e1619e0 --- /dev/null +++ b/netkit-ftp-macro-quit.patch @@ -0,0 +1,88 @@ +diff -ur netkit-ftp-0.17.orig/ftp/domacro.c netkit-ftp-0.17/ftp/domacro.c +--- netkit-ftp-0.17.orig/ftp/domacro.c Thu Aug 15 01:27:28 1996 ++++ netkit-ftp-0.17/ftp/domacro.c Tue Aug 8 15:38:49 2000 +@@ -137,6 +137,18 @@ + if (c->c_handler_v) c->c_handler_v(margc, margv); + else if (c->c_handler_0) c->c_handler_0(); + else c->c_handler_1(marg); ++ ++ if (quitflag) { ++ switch (code) { ++ case 0: case 1: /* ommit "good" */ ++ case 200: case 221: /* codes */ ++ case 226: case 250: ++ break; ++ default: ++ printf("%d Macro failed.\n", code); ++ quit(); ++ } ++ } + + if (bell && c->c_bell) { + (void) putchar('\007'); +diff -ur netkit-ftp-0.17.orig/ftp/ftp.1 netkit-ftp-0.17/ftp/ftp.1 +--- netkit-ftp-0.17.orig/ftp/ftp.1 Tue Dec 14 13:52:50 1999 ++++ netkit-ftp-0.17/ftp/ftp.1 Tue Aug 8 14:19:00 2000 +@@ -42,10 +42,10 @@ + file transfer program + .Sh SYNOPSIS + .Nm ftp +-.Op Fl pinegvd ++.Op Fl pinegvdq + .Op Ar host + .Nm pftp +-.Op Fl inegvd ++.Op Fl inegvdq + .Op Ar host + .Sh DESCRIPTION + .Nm Ftp +@@ -97,6 +97,8 @@ + as report on data transfer statistics. + .It Fl d + Enables debugging. ++.It Fl q ++Quit if some macro command failed. + .El + .Pp + The client host with which +diff -ur netkit-ftp-0.17.orig/ftp/ftp_var.h netkit-ftp-0.17/ftp/ftp_var.h +--- netkit-ftp-0.17.orig/ftp/ftp_var.h Sat Oct 2 20:39:17 1999 ++++ netkit-ftp-0.17/ftp/ftp_var.h Tue Aug 8 14:14:48 2000 +@@ -74,6 +74,7 @@ + Extern int mcase; /* map upper to lower case for mget names */ + Extern int ntflag; /* use ntin ntout tables for name xlation */ + Extern int mapflag; /* use mapin mapout templates on file names */ ++Extern int quitflag; /* quit if macro command failed */ + Extern int code; /* return/reply code for ftp command */ + Extern int crflag; /* if 1, strip car. rets. on ascii gets */ + Extern char pasv[64]; /* passive port for proxy data connection */ +diff -ur netkit-ftp-0.17.orig/ftp/main.c netkit-ftp-0.17/ftp/main.c +--- netkit-ftp-0.17.orig/ftp/main.c Sat Oct 2 15:25:23 1999 ++++ netkit-ftp-0.17/ftp/main.c Tue Aug 8 14:29:49 2000 +@@ -95,6 +95,7 @@ + printf("\t -v: verbose mode\n"); + printf("\t -t: enable packet tracing [nonfunctional]\n"); + printf("\t -d: enable debugging\n"); ++ printf("\t -q: enable macro error quits\n"); + printf("\n"); + } + +@@ -119,6 +120,7 @@ + interactive = 1; + autologin = 1; + passivemode = 0; ++ quitflag = 0; + + cp = strrchr(argv[0], '/'); + cp = (cp == NULL) ? argv[0] : cp+1; +@@ -168,6 +170,10 @@ + + case 'e': + rl_inhibit = 1; ++ break; ++ ++ case 'q': ++ quitflag = 1; + break; + + case 'h': -- 2.43.0