mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
[svn] Add support for OS/400 ftp server.
This commit is contained in:
parent
fb67dd6201
commit
e71b2799d2
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Aurelien Marchand <artaxerxes@users.sf.net>
|
||||||
|
|
||||||
|
* ftp.h: Added OS400 system in enum
|
||||||
|
* ftp-basic.c: recognize OS400 systems
|
||||||
|
* ftp.c: don't prepend the CWD if talking to OS400, since it
|
||||||
|
breaks the change in library
|
||||||
|
|
||||||
2003-09-18 Hrvoje Niksic <hniksic@xemacs.org>
|
2003-09-18 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
* retr.c (get_contents): Pass the correct argument to ssl_iread.
|
* retr.c (get_contents): Pass the correct argument to ssl_iread.
|
||||||
|
@ -768,6 +768,8 @@ ftp_syst (struct rbuf *rbuf, enum stype *server_type)
|
|||||||
*server_type = ST_WINNT;
|
*server_type = ST_WINNT;
|
||||||
else if (!strcasecmp (request, "MACOS"))
|
else if (!strcasecmp (request, "MACOS"))
|
||||||
*server_type = ST_MACOS;
|
*server_type = ST_MACOS;
|
||||||
|
else if (!strcasecmp (request, "OS/400"))
|
||||||
|
*server_type = ST_OS400;
|
||||||
else
|
else
|
||||||
*server_type = ST_OTHER;
|
*server_type = ST_OTHER;
|
||||||
|
|
||||||
|
12
src/ftp.c
12
src/ftp.c
@ -397,11 +397,19 @@ Error in server response, closing control connection.\n"));
|
|||||||
|
|
||||||
A relative directory is one that does not begin with '/'
|
A relative directory is one that does not begin with '/'
|
||||||
and, on non-Unix OS'es, one that doesn't begin with
|
and, on non-Unix OS'es, one that doesn't begin with
|
||||||
"<letter>:". */
|
"[a-z]:".
|
||||||
|
|
||||||
|
This is not done for OS400, which doesn't use
|
||||||
|
"/"-delimited directories, nor does it support directory
|
||||||
|
hierarchies. "CWD foo" followed by "CWD bar" leaves us
|
||||||
|
in "bar", not in "foo/bar", as would be customary
|
||||||
|
elsewhere. */
|
||||||
|
|
||||||
if (target[0] != '/'
|
if (target[0] != '/'
|
||||||
&& !(con->rs != ST_UNIX
|
&& !(con->rs != ST_UNIX
|
||||||
&& ISALPHA (target[0]) && target[1] == ':'))
|
&& ISALPHA (target[0])
|
||||||
|
&& target[1] == ':')
|
||||||
|
&& con->rs != ST_OS400)
|
||||||
{
|
{
|
||||||
int idlen = strlen (con->id);
|
int idlen = strlen (con->id);
|
||||||
char *ntarget, *p;
|
char *ntarget, *p;
|
||||||
|
Loading…
Reference in New Issue
Block a user