des
eb329791f1
Respect FETCH_BIND_ADDRESS when opening the data connection.
...
PR: misc/98872
2006-06-13 10:21:03 +00:00
des
a5357a7c3f
Fix a bug introduced in rev 1.92, where, when changing from one directory
...
to another, the first CWD after a string of CDUPs would incorrectly include
a slash before the directory name.
Reported by: obrien
PR: bin/83278
2006-06-13 10:19:59 +00:00
des
fe60356e67
In order to maintain interoperability with certain broken FTP servers,
...
ignore a MODE failure if and only if the mode we attempted to set was S
(which is supposed to be the default).
PR: bin/91973
2006-01-19 08:31:47 +00:00
des
387b90c322
Change directory one level at a time, and use CDUP to back out. This is a
...
work in progress; it partially fixed bin/83278 and is a prerequisite to
fixing bin/83277.
PR: bin/83277, bin/83278
2005-08-12 12:48:50 +00:00
des
d59f3ddc7e
Update copyright years.
2004-09-21 18:35:21 +00:00
des
8af1bcf602
Don't close a FILE * which we know is bogus.
2003-08-29 15:54:12 +00:00
des
a1cad5ae8b
Some servers respond to RETR in active mode with 125 (connection already
...
open) rather than 150 (opening connection). There's no reason why we
shouldn't accept that.
PR: misc/42172
MFC in: 3 days
2003-08-19 11:43:11 +00:00
mtm
a65d822bcd
The flags passed in to _ftp_get_proxy may be null
...
Approved by: des, markm (mentor)(implicit)
2003-03-19 21:39:00 +00:00
des
2d46bf6bbe
Don't parse the proxy URL unless we're actually going to use it. No real
...
functional difference, but debugging output will be less confusing.
2003-03-11 08:20:58 +00:00
des
7a494517a4
style(9): add parentheses to sizeof even when not strictly required.
...
MFC after: 3 days
2003-01-28 08:04:40 +00:00
des
48ceb170df
Hook in the .netrc code + don't use pointers as if they were booleans.
2003-01-22 17:54:49 +00:00
njl
06c0d543e0
The FTP connection caching needs a better interface -- connections are
...
closed through _fetch_close() which is the only one who knows the connection
REALLY was closed (since ref -> 0). However, FTP keeps its own local
cached_connection and checks if it is valid by comparing it to NULL. This
is bogus since it may have been freed elsewhere by _fetch_close().
This change checks if we are closing the cached_connection and the ref is 1
(soon to be 0). If so, set cached_connection to NULL so we don't
accidentally reuse it. The REAL fix should be to move connection caching
to the common.c level (_fetch_* functions) and NULL the cache(s) in
_fetch_close(). Then all layers could benefit from caching.
2002-10-25 01:17:32 +00:00
tjr
8ed112060e
When recycling a cached connection, increment the reference count so that
...
the heap block does not get freed and reused. This should fix the
pkg_add -r crashes that have been happening for months.
2002-10-20 10:36:27 +00:00
fenner
dd87f608a3
Make _fetch_connect() always set the error code.
...
Tell ftp that _fetch_connect() always sets the error code (http already knew)
2002-09-17 05:54:33 +00:00
ume
eb16909ba9
Cope with 2292bis-01 getaddrinfo (no NI_WITHSCOPEID, always attach
...
scope identifier).
Approved by: des
MFC after: 3 weeks
2002-07-02 11:09:02 +00:00
des
5064d0b266
Add a reference count to struct fetchconn so we don't prematurely close and
...
free a cached FTP connection.
2002-06-11 11:27:28 +00:00
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
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
phk
432db57cce
Modernize my email address
2002-03-25 13:53:46 +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
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
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
5d89c5ae6e
Reorganize to reduce code duplication.
2001-12-04 01:09:19 +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
dillon
9e8adf09a9
Add __FBSDID()s to libfetch
2001-09-30 21:36:09 +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
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
4f0b341263
Add rudimentary support for an authentication callback function.
2001-05-26 19:37:15 +00:00
des
71613237c6
Plug memory leak.
...
PR: 27506
2001-05-26 17:23:38 +00:00
archie
21cf7b313e
Apply 'const' liberally.
...
Fix some other minor glitches.
2001-04-24 00:06:21 +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
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
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
9d68cdd937
Check the FTP_LOGIN environment variable before falling back on
...
FTP_ANONYMOUS_USER.
2000-12-22 18:01:40 +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
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
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
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
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
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