des
0961c455f8
Wrap everything in struct connection, and enforce timeouts everywhere
...
(except for DNS operations). Always use funopen() for HTTP, to support
both timeouts and SSL.
2002-06-05 12:19:08 +00:00
des
71760f5130
Add the necessary dependencies for SSL.
2002-06-05 11:38:19 +00:00
des
f69a71af46
Rename struct cookie to struct httpio to avoid confusion (it's not an HTTP
...
cookie) and increase symmetry with equivalent FTP code.
2002-06-05 10:31:01 +00:00
des
b85e1918d1
Add comments to struct cookie.
2002-06-05 10:27:24 +00:00
des
300df6a8f1
Fix a bug I introduced in the chunk decoder in the previous commit..
2002-06-05 10:23:19 +00:00
des
e07ac3bab3
First step towards SSL support: wrap connections in a 'struct connection'
...
which contains the socket descriptor, the input buffer and (yet unused)
SSL state variables. This has the neat side effect of greatly improving
reentrance (though we're not *quite* there yet) and opening the door to
HTTP connection caching.
This commit is inspired by email conversations with and patches from
Henry Whincup <henry@techiebod.com> last fall.
2002-06-05 10:05:03 +00:00
markm
76fe441a7b
Do not use __progname directly (except in [gs]etprogname(3)).
...
Also, make an internal _getprogname() that is used only inside
libc. For libc, getprogname(3) is a weak symbol in case a
function of the same name is defined in userland.
2002-03-29 22:43:43 +00:00
phk
432db57cce
Modernize my email address
2002-03-25 13:53:46 +00:00
des
36254aa73f
Switch to a self-starting allocation scheme.
2002-02-05 22:15:16 +00:00
des
ec29926e4d
Reindent, and add parentheses to return statements. Some functions in
...
ftp.c and http.c now have exceedingly long lines due to deep nesting;
this will be corrected by reorganizing the code in a later revision.
2002-02-05 22:13:51 +00:00
des
95a4ae2830
Eliminate a redundant loop.
2002-02-05 21:32:16 +00:00
des
69f2f16cb4
Check the return value from read() when reading the CR/LF at the end of a
...
chunk.
PR: bin/33608
MFC after: 2 weeks
2002-01-20 19:53:12 +00:00
des
9f6167dc5a
Mark uploads as O_WRONLY, not O_RDONLY.
...
PR: misc/34043
MFC after: 2 weeks
2002-01-20 19:52:25 +00:00
des
cfe419eb21
Remove long-obsolete README.
2002-01-01 16:27:26 +00:00
des
99683cbbd4
In verbose mode, display the full error message from the server, stripping
...
it of HTML tags and comments.
PR: bin/32989
MFC after: 1 week
2002-01-01 16:25:29 +00:00
des
e37508b70c
Remove VT100 escapes from debugging messages now that they're enabled by
...
default.
PR: 32988
MFC after: 3 days
2002-01-01 14:48:09 +00:00
des
b073ce5f0e
Don't build with NDEBUG.
...
PR: bin/32615
MFC after: 1 week
2001-12-09 15:06:38 +00:00
des
01882c47bb
Conditionalize some debugging code that didn't use the DEBUG macro.
...
MFC after: 1 week
2001-12-09 15:05:58 +00:00
des
a9520ca9d7
Introduce a fetchDebug global. Change the DEBUG macro so it only runs the
...
debugging code if fetchDebug is set.
PR: bin/32615
MFC after: 1 week
2001-12-09 15:05:19 +00:00
des
ff6a5a5c28
Properly handle being redirected to an FTP URL.
...
Also fix a couple of not-so-minor bugs:
- missing case for HTTP_SEE_OTHER
- incorrect definition of HTTP_NEED_PROXY_AUTH
PR: 20259
MFC after: 2 weeks
2001-12-04 01:12:51 +00:00
des
8cabee0ca4
Add prototype for _ftp_request().
2001-12-04 01:10:34 +00:00
des
5d89c5ae6e
Reorganize to reduce code duplication.
2001-12-04 01:09:19 +00:00
des
38d04ef419
Add NO_WERROR so the build won't die because of discarded qualifiers
2001-10-19 10:08:38 +00:00
des
f59dae6318
Back out part of previous commit which was gcc-centric
2001-10-19 10:08:05 +00:00
des
f8774d9490
Tons of type, style and warning fixes that have been rotting in my tree for
...
ages - some of which wouldn't be necessary if gcc wasn't broken or TPTB were
willing to do something (-fno-builtin) about it.
2001-10-18 08:29:26 +00:00
ru
623da62a5a
mdoc(7) police: Use the new .In macro for #include statements.
2001-10-01 16:09:29 +00:00
dillon
9e8adf09a9
Add __FBSDID()s to libfetch
2001-09-30 21:36:09 +00:00
des
a0569e9940
Use fseeko() instead of fseek() (u->offset is already an off_t), and mark
...
some function arguments as unused.
2001-09-05 12:22:28 +00:00
brian
903d158fae
Handle snprintf() returning < 0 (not just -1)
...
MFC after: 2 weeks
2001-08-20 15:44:17 +00:00
brian
3b24d8f2af
Handle snrintf overflows.
...
Spotted by: bde
2001-08-20 13:44:13 +00:00
brian
4e059b7f96
Handle snprintf() returning -1.
...
MFC after: 2 weeks
2001-08-20 12:50:21 +00:00
se
742d7aada7
The fix for schemeless and hostless URLs (rev. 1.27) broke the schemeless
...
proxy specification, which seems to be valid according to the man page.
Change the logic to consider "hostname:port" a hostname and port instead
of a file URL.
Approved by: des
2001-07-28 21:28:14 +00:00
des
35acbfe0b3
Unbreak parsing URLs that have a host part but no document part.
...
While we're here, fix a snprintf() usage warning.
2001-07-17 20:22:33 +00:00
dd
a145482cf6
Remove whitespace at EOL.
2001-07-15 07:53:42 +00:00
dd
eaa6ee03b8
mdoc(7) police: remove extraneous .Pp before and/or after .Sh.
2001-07-09 09:54:33 +00:00
des
0ca9dbc9d1
Handle shemeless, hostless URLs correctly.
2001-07-08 15:59:15 +00:00
ru
9ca51e2245
mdoc(7) police: fixed markup and typo.
2001-07-05 11:24:26 +00:00
des
f47c06a197
Don't call _ftp_closefn() upon EOF in _ftp_readfn(); just return 0. This
...
fixes a bug in pkg_add(1) (which nobody noticed because of another bug).
2001-06-11 14:12:46 +00:00
des
1d4297a2b2
Implement a HTTP_USER_AGENT environment variable.
...
PR: 27669
Submitted by: Eoin Lawless <eoin@maths.tcd.ie>
2001-05-27 11:00:36 +00:00
des
77734dca3c
Document the authentication callback interface.
...
Update RFC references (should have done that ages ago...)
2001-05-26 19:38:34 +00:00
des
7be28011c0
Bump major number.
2001-05-26 19:37:26 +00:00
des
4f0b341263
Add rudimentary support for an authentication callback function.
2001-05-26 19:37:15 +00:00
des
4edf66ad45
MAXPATHLEN -> PATH_MAX
2001-05-26 19:36:49 +00:00
des
71613237c6
Plug memory leak.
...
PR: 27506
2001-05-26 17:23:38 +00:00
des
9af44bee15
Add some error codes that were added in RFC2616.
2001-05-23 18:52:02 +00:00
archie
21cf7b313e
Apply 'const' liberally.
...
Fix some other minor glitches.
2001-04-24 00:06:21 +00:00
dd
02c02ffeef
Grammar police: "its", not "it's", is the possessive form of "it".
2001-04-15 19:53:47 +00:00
des
a14b691e19
If the server's reply to the SIZE command is unparseable, reset us->size
...
to -1 so the caller will know it's invalid. This is an MFC candidate.
2001-04-07 15:26:31 +00:00
ru
25ef23ac1c
MAN[1-9] -> MAN.
2001-03-27 17:27:19 +00:00
des
bfaef3b3b9
Use high port range by default, and replace the 'h' option with an 'l' option
...
that forces the ftp code to use the low (default) port range instead.
2001-03-24 00:28:57 +00:00
des
79952149e8
Don't remember an EINTR, since the caller may want to restart the call.
2001-03-07 05:12:14 +00:00
des
1804e2a818
Support lower-case versions of the proxy environment variables.
...
PR: bin/25494
2001-03-07 04:45:55 +00:00
ru
1476a16d46
mdoc(7) police: fixed broken references.
2001-01-16 11:52:00 +00:00
ru
3d8401c62e
Prepare for mdoc(7)NG.
2001-01-16 09:08:22 +00:00
des
4a1dcddb01
The user name for anonymous ftp is now "anonymous".
...
Remove the period after the last man page reference.
Add a reference to RFC1635, and sort the RFC references by number.
2001-01-08 13:46:40 +00:00
des
0c87c94a31
Back out previous (accidental) commit.
2001-01-08 13:17:21 +00:00
des
e75c537ff5
Use "anonymous" rather than "ftp" as login name for anonymous ftp.
...
Rather than have a separate (misnamed) FTP_ANONYMOUS_PASSWORD constant, use
FTP_ANONYMOUS_USER (i.e. "anonymous") to construct the anonymous ftp password
if getlogin() fails.
2001-01-08 13:15:14 +00:00
des
68260023b0
Document FTP_LOGIN.
2000-12-22 18:03:21 +00:00
des
9d68cdd937
Check the FTP_LOGIN environment variable before falling back on
...
FTP_ANONYMOUS_USER.
2000-12-22 18:01:40 +00:00
des
ae0af0d011
Avoid a segfault (due to an unitialized pointer) when parsing URLs that have
...
no scheme or host part.
2000-12-13 11:21:09 +00:00
des
1f1139ecc0
Somewhere along the line, I misunderstood the whole FTP_PASSIVE_MODE debate
...
and had libfetch selecting passive mode even when FTP_PASSIVE_MODE was not
set at all, which is really quite surprising unless you know about it. So
change it to the agreed default behaviour of selecting passive mode if
FTP_PASSIVE_MODE is set, but not "no".
2000-12-06 09:23:27 +00:00
des
ac423cd763
Remove some obsolete comments.
2000-12-01 11:05:15 +00:00
des
1d928c8e6e
Clean up the whitespace encoding code.
2000-12-01 11:04:57 +00:00
des
91475759ce
Add SCHEME_HTTPS.
2000-12-01 11:04:43 +00:00
des
af385a33a0
Fix old-style proxy specs: default to FTP if FTP_PROXY was set; only default
...
to HTTP if HTTP_PROXY was used instead.
2000-11-27 13:42:56 +00:00
des
7affcbe9be
Don't try to get the proxy port number from /etc/services.
2000-11-27 13:41:55 +00:00
des
24bc75d6d1
Don't go haywire if the server closes the connection in the middle of a
...
multiline response (proper fix this time).
2000-11-22 14:50:46 +00:00
des
c3ebcca666
Revert previous commit, it was somewhat hasty.
2000-11-22 14:44:48 +00:00
des
f8ecb7b0f8
Don't go haywire if the server closes the connection during a multiline
...
response.
2000-11-22 14:30:28 +00:00
ru
1a6c69e84a
log
2000-11-22 09:23:54 +00:00
ru
3b7dc88538
Spell the des's name correctly.
2000-11-14 13:19:26 +00:00
ru
7d99729431
Use Fx macro wherever possible.
2000-11-14 11:20:58 +00:00
des
985bff7699
Use the documented (and historical) defaults. Centralize the decision logic
...
in order to avoid this bug in the future.
Submitted by: se
2000-11-10 08:43:40 +00:00
des
9c7c34c6a0
Use CHECK_FLAG
2000-10-29 15:56:10 +00:00
des
0b058e3e71
Stricter error checking in the I/O functions.
2000-10-29 15:52:05 +00:00
des
f8eaa3d801
Add CHECK_FLAGS, a macro for (safely) checking if a particular flag is set.
2000-10-29 15:45:31 +00:00
des
0237382c52
Document FTP_PASSIVE_MODE and FTP_PASSWORD.
...
PR: docs/20626
Submitted by: nik
2000-10-29 12:58:08 +00:00
des
24f27bdb94
Fix this my way. David had absolutely no call overriding MAINTAINER without
...
even giving me 24 hours to read his mail and find the bug.
2000-10-28 20:53:02 +00:00
obrien
dd714aa7f1
Install per function manpages so one doesn't mistakenly think we don't
...
have manpages for libfetch's functions.
2000-10-28 20:32:39 +00:00
obrien
a90e794625
Repeat after me, "check to see that a pointer isn't NULL before
...
dereferenceing it". This fixes ``pkg_add -r''.
2000-10-28 20:27:11 +00:00
des
ea5581599f
MFS: don't expect result code until you close the data connection
2000-10-27 11:37:21 +00:00
des
d1e9930273
Use funopen() instead of fdopen(). This fixes three problems:
...
- ftpTimeout was not honored when reading actual data, as opposed to
talking protocol
- connection caching was broken because _ftp_cached_connect() would see
the result of the transfer instead of the result of the NOOP.
- if the RETR succeeded, but an error occurred later (as can happen
when talking to a proxy), the error would not be detected.
There still remains to register an atexit(3) callback to close the cached
connection gracefully instead of just dropping it on the floor.
2000-10-22 12:07:28 +00:00
des
cbb8cbedb3
If the scheme is HTTP or HTTPS, percent-escape whitespace in the document
...
part.
Submitted by: green
2000-10-21 14:58:18 +00:00
des
328bdfc322
Argh! Fix passive mode selection (again)
2000-10-17 19:01:18 +00:00
des
0292a311c7
Use the right user name
2000-10-13 09:36:46 +00:00
des
9a7ce3cd1a
Document recent changes in URL parsing and proxy handling
2000-10-12 22:11:26 +00:00
des
62f1dcda19
ftp.c needs _http_request()
2000-10-12 22:10:43 +00:00
des
a0c41f1687
Rework proxy handling so that proxies can be specified as URLs.
...
As a side effect, remove a lot of duplicate and now redundant code.
2000-10-12 22:10:26 +00:00
des
238c26fcae
Relax URL syntax so that schemeless URLs are supported.
2000-10-12 22:07:49 +00:00
des
4ce445deae
Add macros for the names of the URL schemes we support.
2000-10-12 21:59:22 +00:00
des
88e20da596
Make the ENVIRONMENT section more legible, and mention that HTTP_AUTH is
...
colon-separated.
2000-10-12 16:55:52 +00:00
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