diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/formdata.h | 4 | ||||
-rw-r--r-- | lib/ftp.c | 24 | ||||
-rw-r--r-- | lib/getenv.c | 4 | ||||
-rw-r--r-- | lib/getenv.h | 4 | ||||
-rw-r--r-- | lib/netrc.h | 4 | ||||
-rw-r--r-- | lib/url.c | 3 | ||||
-rw-r--r-- | lib/urldata.h | 3 |
7 files changed, 36 insertions, 10 deletions
diff --git a/lib/formdata.h b/lib/formdata.h index 6b08a05b4..9dcde397e 100644 --- a/lib/formdata.h +++ b/lib/formdata.h @@ -52,8 +52,8 @@ * * ------------------------------------------------------------ * $Log$ - * Revision 1.1 1999-12-29 14:21:22 bagder - * Initial revision + * Revision 1.2 2000-01-10 23:36:14 bagder + * syncing with local edit * * Revision 1.4 1999/09/06 06:59:40 dast * Changed email info @@ -79,7 +79,7 @@ #include "progress.h" #include "upload.h" #include "download.h" - +#include "escape.h" /* returns last node in linked list */ static struct curl_slist *slist_get_last(struct curl_slist *list) @@ -1014,6 +1014,28 @@ UrgError _ftp(struct UrlData *data, return URG_FTP_WRITE_ERROR; } + /* Send any post-transfer QUOTE strings? */ + if(data->postquote) { + qitem = data->postquote; + /* Send all QUOTE strings in same order as on command-line */ + while (qitem) { + /* Send string */ + if (qitem->data) { + sendf(data->firstsocket, data, "%s\r\n", qitem->data); + + nread = GetLastResponse(data->firstsocket, buf, data); + + if (buf[0] != '2') { + failf(data, "QUOT string not accepted: %s", + qitem->data); + return URG_FTP_QUOTE_ERROR; + } + } + qitem = qitem->next; + } + } + + return URG_OK; } diff --git a/lib/getenv.c b/lib/getenv.c index 404f1c970..e39d3c194 100644 --- a/lib/getenv.c +++ b/lib/getenv.c @@ -49,8 +49,8 @@ * * ------------------------------------------------------------ * $Log$ - * Revision 1.1 1999-12-29 14:21:29 bagder - * Initial revision + * Revision 1.2 2000-01-10 23:36:14 bagder + * syncing with local edit * * Revision 1.4 1999/09/06 06:59:40 dast * Changed email info diff --git a/lib/getenv.h b/lib/getenv.h index 83b9495e1..78f9bc882 100644 --- a/lib/getenv.h +++ b/lib/getenv.h @@ -51,8 +51,8 @@ * * ------------------------------------------------------------ * $Log$ - * Revision 1.1 1999-12-29 14:21:30 bagder - * Initial revision + * Revision 1.2 2000-01-10 23:36:14 bagder + * syncing with local edit * * Revision 1.3 1999/09/06 06:59:40 dast * Changed email info diff --git a/lib/netrc.h b/lib/netrc.h index 2875cbc53..ffbd4794b 100644 --- a/lib/netrc.h +++ b/lib/netrc.h @@ -51,8 +51,8 @@ * * ------------------------------------------------------------ * $Log$ - * Revision 1.1 1999-12-29 14:21:35 bagder - * Initial revision + * Revision 1.2 2000-01-10 23:36:15 bagder + * syncing with local edit * * Revision 1.3 1999/09/06 06:59:41 dast * Changed email info @@ -413,6 +413,9 @@ UrgError curl_urlget(UrgTag tag, ...) case URGTAG_USERPWD: data->userpwd = (char *)param_obj; break; + case URGTAG_POSTQUOTE: + data->postquote = (struct curl_slist *)param_obj; + break; case URGTAG_PROXYUSERPWD: data->proxyuserpwd = (char *)param_obj; break; diff --git a/lib/urldata.h b/lib/urldata.h index f171cd096..3cfee993a 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -176,7 +176,8 @@ struct UrlData { X509* server_cert; #endif /* USE_SSLEAY */ long crlf; - struct curl_slist *quote; + struct curl_slist *quote; /* before the transfer */ + struct curl_slist *postquote; /* after the transfer */ TimeCond timecondition; time_t timevalue; |