des
6fe9a920d1
Work around buggy servers such as NCSA httpd which send an incomplete
...
HTTP-Version on the Status-Line (see RFC2616 sections 3.1 and 6.1).
2000-09-24 12:22:12 +00:00
des
ebf8e6bdbf
Document the FTP_PROXY and HTTP_PROXY variables better.
2000-08-31 15:13:22 +00:00
des
98f58e5a22
Grok 125 replies to passive RETR. This fixes an interoperability bug with
...
Microsoft FTP Service.
Reported by: asmodai, eivind
2000-08-21 07:18:31 +00:00
des
5f91d2827b
Fix signedness bogon.
2000-08-02 11:25:21 +00:00
des
0247d400b1
Don't fail if _ftp_stat() reports a protocol error, since that most likely
...
means that the server doesn't understand SIZE or MDTM, which should not be a
hard failure.
Submitted by: ume
2000-07-27 08:48:48 +00:00
des
e534b00520
If the server reports the size as 0, treat it as unknown. This works around
...
a bug in some ftp servers (most notably ftp.vmunix.com) which report the
size of a file correctly in ascii mode, but report it as 0 in binary mode.
Reported by: asmodai
Also remove an unneeded initialization.
2000-07-25 14:41:02 +00:00
des
2de7b8d72b
Centralize the default port finding code.
...
Work around YA Apache bug: don't send port in Host: header if it's the
default port.
2000-07-25 11:45:38 +00:00
des
accb02b55a
Ignore environment variables that are set but empty.
...
Sort out the size / length confusion. Always try to report the *real* file
size in the url_stat structure, no matter how much of it is actually being
sent, and try to detect inconsistencies between sizes.
Rearrange the request loop to avoid having to add meaningless code just to
silence compiler warnings.
Switch to a more sensible and consistent interface for the _http_parse*()
functions.
2000-07-21 11:02:43 +00:00
des
ef0d473b84
Document the proxy support better.
2000-07-21 10:57:15 +00:00
des
c99122fbde
The decision to use an HTTP proxy for FTP documents belongs in the FTP code
2000-07-21 10:46:22 +00:00
des
2fa9607541
Don't send port number to proxy unless it's not the standard FTP port
2000-07-21 10:25:33 +00:00
des
a260febdf9
Fix the case where the file name is preceded by a lone slash.
2000-07-20 02:03:56 +00:00
des
adc026dc20
Don't try to skip to the requested offset if the server returns more data
...
than requested. Instead, inform the caller of the real offset by modifying
the offset field in the original struct url, and let him decide how to handle
the situation.
2000-07-19 23:43:49 +00:00
des
c5e4329667
Don't take a failure to stat a file to mean that it doesn't exist, as it may
...
be a dynamically created file, e.g. a tarball on servers that support sending
tarballs of directories.
2000-07-18 07:12:26 +00:00
des
3033318809
Introduce fetchXGet*(), which combine the functionalities of fetchGet*() and
...
fetchStat*(). In most cases, either fetchGet*() or fetchXGet*() is a wrapper
around the other; in all cases, calling fetchGet*() is identical to calling
fetchXGet*() with the second argument set to NULL.
2000-07-17 21:25:00 +00:00
des
9e42d615d8
Don't forget to set file descriptor to -1 after closing it, since the code
...
outside the loop inspects it to determine whether or not we succeeded in
retrieving the requested document. This fixes a bug where fetchGetHTTP()
would return a FILE with an invalid file descriptor if it hit the redirect
limit without locating the requested document.
2000-07-17 21:09:11 +00:00
des
147a437a42
Use a symbolic constant instead of hardcoding 999
2000-07-17 21:00:49 +00:00
des
a0fbdfaa34
Don't forget to declare fetchRestartCalls.
2000-07-17 20:52:06 +00:00
des
c1df3803c6
Introduce the (undocumented) variable fetchRestartCalls, which controls whether
...
or not interrupted system calls will be restarted. This fixes a bug where
fetch(1) would hang (potentially forever) if a server stopped responding,
because the signal handler would absorb the user's efforts to interrupt the
transfer.
2000-07-17 20:49:39 +00:00
des
94b7364484
Remove fetchContentType(), which disappeared in the HTTP rewrite.
2000-07-17 20:42:13 +00:00
des
5996cf5b9e
#ifdef DEBUG -> #ifndef NDEBUG
...
Pointed out by: ache
2000-07-16 23:18:44 +00:00
des
436b76a904
Reinsert the MIT copyright, which applies to the base64 code and was
...
left out by accident during the rewrite.
2000-07-16 01:04:10 +00:00
des
797b7f6ddd
Fix a bug (misplaced continue) that caused redirects to fail. Lots of code
...
moved around, but the acutal functional changes are small.
Add support for site-internal redirects (where the Location: header gives a
path instead of an absolute URI)
Pointed out by: kuriyama
2000-07-13 09:13:58 +00:00
des
a7682e2874
Fully document the HTTP authorization feature.
...
Update the BUGS section to reflect the HTTP rewrite.
2000-07-12 10:41:29 +00:00
des
59adaf8069
Extensive rewrite of the HTTP code. The new code is significantly cleaner and
...
more robust, and somewhat more efficient. It also handles authorization and
redirects properly, and supports timeouts like the FTP code.
Many thanks to Umemoto-san for his assistance with IPv6 support, both here
and in other parts of libfetch.
2000-07-12 10:39:56 +00:00
des
d908f153d0
Use fetch_putln()
2000-07-11 23:50:22 +00:00
des
848e1688b8
Add _fetch_putln()
2000-07-11 23:50:08 +00:00
des
ce80758a3f
Document that basic authorization now kinda works.
2000-07-11 18:13:08 +00:00
des
c42f438ce8
Rework the authorization code.
...
Only send absolute URI if connected to a proxy, since Apache doesn't always
understand absolute URIs.
Clean up some of the debugging output.
2000-07-11 18:12:41 +00:00
des
686d930615
Clean up the debugging output
2000-07-11 18:07:09 +00:00
ume
ae7af5f4bd
Free chunks obtained by getaddrinfo(3).
...
Approved by: des
2000-07-10 16:28:28 +00:00
ume
4f24653720
Make EPSV work again. Separate parsing code of 229 replies from
...
the code for 227 and 228.
Submitted by: des
2000-07-10 08:41:25 +00:00
des
866a6bff9a
Don't assume the remote address in a 227 reply is enclosed in parentheses.
2000-07-08 09:27:47 +00:00
des
9f7754e0e5
Fix basic authentication, and add proxy authentication.
...
Submitted by: se
2000-07-08 08:08:58 +00:00
des
2f7d5cb4f5
Make restart work in active mode, too.
...
PR: bin/18688
Submitted by: Rudolf Cejka <cejkar@dcse.fee.vutbr.cz>
2000-06-29 10:44:10 +00:00
des
b112ea1321
Handle multiline replies properly, instead of kinda-right.
2000-06-28 15:48:26 +00:00
des
d6712064a8
Don't incorrectly report a protocol error when we get a 302 and redirects
...
are disabled.
2000-06-21 09:49:51 +00:00
des
720d162772
Back out wes' commit with extreme prejudice.
2000-06-20 13:57:00 +00:00
wes
425601774e
Add implementation of fetchListFTP.
...
Reviewed by: silence
2000-06-20 05:32:41 +00:00
des
96fd818f66
Hackish support for 302 redirect.
2000-05-26 15:34:42 +00:00
des
2a39533c00
Honor FTP_PASSIVE_MODE so caller doesn't need to.
2000-05-26 12:56:53 +00:00
des
969e1c4e0d
Output newline after debugging message
2000-05-25 16:50:08 +00:00
des
59892af9b1
Add (and document) fetchMakeURL()
2000-05-25 16:46:09 +00:00
des
e5d7688f99
Dump com_err, it's a stinking crock of shit.
2000-05-25 16:24:31 +00:00
ume
79e112b26f
Use $FTP_PASSWORD for FTP password. If $FTP_PASSWORD is not
...
found, `yourname@yourhost' is used.
2000-05-22 13:01:13 +00:00
ume
1db238984d
IPv6 support.
2000-05-20 18:23:51 +00:00
des
4721396b1d
Better handling of some boundary conditions.
...
Submitted by: ume
2000-05-19 09:45:42 +00:00
ume
3194168ffc
Make HTTP_PROXY work for FTP.
...
Reported by: Ben Smithurst <ben@scientia.demon.co.uk>
Reviewed by: des
2000-05-15 09:05:36 +00:00
des
e10535fbc8
Document struct url.
...
Document the default values for fetchStat*().
2000-05-15 08:34:42 +00:00
des
5d01e7fd74
Initialize the struct url_stat at the beginning of _fetch_stat_file().
2000-05-15 08:33:58 +00:00