Tim Kientzle
9bc22394d8
Fix -Wunsequenced warning.
...
Submitted by: dt71@gmx.com
2013-06-29 15:51:27 +00:00
Dag-Erling Smørgrav
4056bae982
Use the CONNECT method to proxy HTTPS connections through HTTP proxies.
...
PR: bin/80176
Submitted by: Yuichiro NAITO <naito.yuichiro@gmail.com>
2013-04-12 22:05:15 +00:00
Simon J. Gerraty
7cf3a1c6b2
Updated dependencies
2013-03-11 17:21:52 +00:00
Simon J. Gerraty
f5f7c05209
Updated dependencies
2013-02-16 01:23:54 +00:00
David E. O'Brien
d9a447559b
Sync with HEAD.
2013-02-08 16:10:16 +00:00
Dag-Erling Smørgrav
eab7a548ba
Fix weird indentation.
2012-11-16 12:31:43 +00:00
Simon J. Gerraty
7cd2dcf076
Updated/new Makefile.depend
2012-11-08 21:24:17 +00:00
Simon J. Gerraty
23090366f7
Sync from head
2012-11-04 02:52:03 +00:00
Eitan Adler
8d049fb235
Implement HTTP 305 redirect handling.
...
PR: 172452
Submitted by: gcooper
Reviewed by: des
Approved by: cperciva
MFC after: 1 week
2012-10-22 03:00:15 +00:00
Eitan Adler
c4fa1489ec
Don't deny non-temporary redirects if the -A option is set (per
...
the man page) [0]
While here add support for draft-reschke-http-status-308-07
PR: 172451 [0]
Submitted by: gcooper [0]
Reviewed by: des
Approved by: cperciva
MFC after: 1 week
2012-10-22 03:00:10 +00:00
Eitan Adler
e6c0e200f4
Be a bit more lenient in the maximum number of redirects allowed.
...
Chrome and Firefox have a limit of 20. IE has a limit of 8.
Reviewed by: des
Approved by: cperciva
MFC after: 3 days
2012-10-22 03:00:04 +00:00
Dag-Erling Smørgrav
0e50a83330
Use libmd if and only if OpenSSL is not available.
...
PR: bin/171402
MFC after: 3 days
2012-09-14 13:00:43 +00:00
Eitan Adler
42415fcb52
Adding missing return statements during error conditions.
...
PR: kern/171187
Submitted by: Mark Johnston <markjdb@gmail.com>
Reviewed by: des
Approved by: cperciva
MFC after: 2 weeks
2012-09-14 12:15:13 +00:00
Marcel Moolenaar
7750ad47a9
Sync FreeBSD's bmake branch with Juniper's internal bmake branch.
...
Requested by: Simon Gerraty <sjg@juniper.net>
2012-08-22 19:25:57 +00:00
Jung-uk Kim
1f13597d10
Merge OpenSSL 1.0.1c.
...
Approved by: benl (maintainer)
2012-07-12 19:30:53 +00:00
Jilles Tjoelker
28fd93073a
libfetch: Avoid SIGPIPE on network connections.
...
To avoid unexpected process termination from SIGPIPE when writing to a
closed network connection, enable SO_NOSIGPIPE on all network connections.
The POSIX standard MSG_NOSIGNAL is not used since it requires modifying all
send calls to add this flag. This is particularly nasty for SSL connections.
Reviewed by: des
Tested by: bapt
MFC after: 5 days
2012-05-28 19:22:23 +00:00
Dag-Erling Smørgrav
f51b84bcc4
Don't reuse credentials if redirected to a different host.
...
Submitted by: Niels Heinen <heinenn@google.com>
MFC after: 3 weeks
2012-04-30 12:12:48 +00:00
Dag-Erling Smørgrav
30787285b5
Since the socket is non-blocking, it is necessary to use select(2) even
...
when there is no timeout, because read(2) will return immediately if there
is no data waiting in the TCP buffer, causing fetch_read() to busy-loop on
slow connections.
MFC after: 3 weeks
Noticed by: Yanhui Shen <shen.elf@gmail.com>
2012-04-30 12:11:45 +00:00
Ed Maste
0fa391997a
Support percent-encoded user and password
...
RFC 1738 specifies that any ":", "@", or "/" within a user name or
password in a URL is percent-encoded, to avoid ambiguity with the use
of those characters as URL component separators.
Reviewed by: rstone@
MFC after: 1 month
2012-04-11 15:42:02 +00:00
Eitan Adler
50d675f7a9
Remove trailing whitespace per mdoc lint warning
...
Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days
2012-03-29 05:02:12 +00:00
Dag-Erling Smørgrav
e6e3bcd376
Fix two nits in previous commit pointed out by pjd@.
...
MFC after: 3 weeks
2012-01-23 09:23:07 +00:00
Dag-Erling Smørgrav
2a7daafe67
Fix two issues related to the use of SIGINFO in fetch(1) to display
...
progress information. The first is that fetch_read() (used in the HTTP
code but not the FTP code) can enter an infinite loop if it has previously
been interrupted by a signal. The second is that when it is interrupted,
fetch_read() will discard any data it may have read up to that point.
Luckily, both bugs are extremely timing-sensitive and therefore difficult
to trigger.
PR: bin/153240
Submitted by: Mark <markjdb@gmail.com>
MFC after: 3 weeks
2012-01-18 15:13:21 +00:00
Dag-Erling Smørgrav
578153f1ba
latin1 -> utf8
2011-10-19 11:43:51 +00:00
Dag-Erling Smørgrav
6337341d81
Update copyright dates and strip my middle name.
2011-09-27 18:57:26 +00:00
Dag-Erling Smørgrav
76b94eb6e9
Bump date.
2011-09-27 18:53:35 +00:00
Dag-Erling Smørgrav
ecd18c961b
Think first, commit second.
...
1. Allow the caller to select active mode.
2. Fix the envar logic so it *always* overrides the caller's flags.
3. Document the change from active to passive.
2011-09-27 18:42:09 +00:00
Dag-Erling Smørgrav
4f411f8601
Long overdue: make passive mode the default for ftp.
2011-09-27 18:23:58 +00:00
Dag-Erling Smørgrav
15b68c63bb
Mark all socket and file descriptors close-on-exec.
...
PR: bin/151866
MFC after: 3 weeks
2011-05-13 07:21:41 +00:00
Dag-Erling Smørgrav
ee3cb0e502
Builds cleanly at the default WARNS level (WARNS=6).
2011-05-12 21:30:46 +00:00
Dag-Erling Smørgrav
eb9b80c30d
Increase WARNS to 4.
2011-05-12 21:26:42 +00:00
Dag-Erling Smørgrav
c12c6e3cda
Mechanical whitespace cleanup.
2011-05-12 21:18:55 +00:00
Dag-Erling Smørgrav
a42eecded0
Increase WARNS to 3.
2011-05-12 21:12:24 +00:00
Dag-Erling Smørgrav
e8eaf30078
Fix a bug related to connection caching which could cause a crash after
...
a STAT command.
PR: kern/153748 (different patch)
Submitted by: Mark Johnston <markjdb@gmail.com>
MFC after: 2 weeks
2011-01-17 17:25:46 +00:00
Ed Maste
a9d0c84909
Move variable declarations into the conditional block where they are
...
used, to fix warning if WITH_SSL is not set.
Submitted by: Sean Bruno
MFC after: 1 week
2010-10-24 01:05:10 +00:00
Dag-Erling Smørgrav
caaffed8f0
Redo fetch_read() using non-blocking sockets. This is necessary to
...
avoid a hang in the SSL case if the server sends a close notification
before we are done reading. In the non-SSL case, it can provide a
minor (but probably not noticeable) performance improvement for small
transfers.
MFC after: 3 weeks
2010-07-28 16:11:22 +00:00
Dag-Erling Smørgrav
c954ded250
Fix a couple of embarrassing mistakes in the previous commit.
...
Submitted by: Dimitry Andric <dimitry@andric.com>
2010-07-28 15:29:18 +00:00
Dag-Erling Smørgrav
962cf29525
If the A flag is supplied, http_request() will attempt the request only
...
once, even if authentication is required, instead of retrying with the
proper credentials. Fix this by bumping the countdown if the origin or
proxy server requests authentication so that the initial unauthenticated
request does not count as an attempt.
PR: 148087
Submitted by: Tom Evans <tevans.uk@googlemail.com>
MFC after: 2 weeks
2010-07-01 17:44:33 +00:00
Dag-Erling Smørgrav
78122aac3d
Document HTTP digest authentication support.
...
Mention some prominent past contributors: Hajimu Umemoto (ipv6), Henry
Whincup (https), Jukka Ukkonen (if-modified-since) and Jean-François
Dockes (digest auth)
2010-01-26 15:06:22 +00:00
Dag-Erling Smørgrav
66c82e578c
Add missing DPADD and fix whitespace.
...
Submitted by: ru
2010-01-19 13:31:57 +00:00
Dag-Erling Smørgrav
79ad329d0c
Add HTTP digest authentication.
...
Submitted by: Jean-Francois Dockes <jf@dockes.org>
Forgotten by: des (repeatedly)
2010-01-19 10:19:55 +00:00
Attilio Rao
f413289ee0
Fix a socket leak in ftp_request() after that a connection is established.
...
Submitted by: Sandvine Incorporated
Reviewed by: des, emaste
Sponsored by: Sandvine Incorporated
MFC: 1 week
2009-11-25 14:57:07 +00:00
Fabien Thomas
c0d2581bcb
PR: 139751
...
Approved by: des
Obtained from: Xavier Heiny <xavier.heiny@netasq.com>
MFC after: 3 weeks
2009-10-21 18:29:26 +00:00
Ken Smith
3ca3047aee
Bump the version of all non-symbol-versioned shared libraries in
...
preparation for 8.0-RELEASE. Add the previous version of those
libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.
Reviewed by: kib
Approved by: re (rwatson)
2009-07-19 17:25:24 +00:00
Murray Stokely
e8f612b687
1. Update fetch to consistently return 1 on error, as the man page states,
...
rather than usually returning 1 but in a few instances using a sysexits(3)
return value.
2. Remove a few unused variables from libfetch.
PR: docs/122470 (1, only)
Reviewed by: des
2008-12-17 18:00:18 +00:00
Murray Stokely
7f92799f67
Add support for HTTP 1.1 If-Modified-Since behavior.
...
fetch(1) accepts a new argument -i <file> that if specified will cause
the file to be downloaded only if it is more recent than the mtime of
<file>.
libfetch(3) accepts the mtime in the url structure and a flag to
indicate when this behavior is desired.
PR: bin/87841
Submitted by: Jukka A. Ukkonen <jau@iki.fi> (partially)
Reviewed by: des, ru
MFC after: 3 weeks
2008-12-15 08:27:44 +00:00
Ruslan Ermilov
e374393a07
Don't fail mistakenly with -r when we already have the whole file.
...
Reviewed by: des
2008-10-24 07:56:01 +00:00
Colin Percival
fc2841a92f
Fix one-byte buffer overflow: NUL gets written to the buffer, but isn't
...
counted in the width specification in scanf.
This is not a security problem, since this function is only used to
parse a user's configuration file.
Submitted by: Joerg Sonnenberger
Obtained from: dragonflybsd
MFC after: 1 week
2008-04-15 23:29:51 +00:00
Dag-Erling Smørgrav
5092cf0569
s/wait/delta/ to avoid namespace collision.
...
MFC after: 2 weeks
2008-03-20 09:55:27 +00:00
Dag-Erling Smørgrav
340b079be0
Use memcpy(3) instead of the BSD-specific bcopy(3).
...
Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
MFC after: 2 weeks
2008-02-08 09:48:48 +00:00
Dag-Erling Smørgrav
e97f516c09
s/MAXPATHLEN/PATH_MAX/ to reflect five-year old change to the code :)
...
Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
MFC after: 2 weeks
2008-02-08 09:44:34 +00:00
Dag-Erling Smørgrav
79257dd70a
Add necessary cast for tolower() argument.
...
Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
MFC after: 1 week
2008-02-06 11:39:55 +00:00
Dag-Erling Smørgrav
b2a9c5a1ba
Fix a regression introduced in rev 1.99: replace fclose(f) with a comment
...
explaining why f cannot possibly be a valid FILE * at this point.
MFC after: 1 day
2008-01-23 20:57:59 +00:00
Ruslan Ermilov
edabafcb01
Add missing dependencies on Makefile (fixes NO_CLEAN builds).
2007-12-19 05:10:07 +00:00
Dag-Erling Smørgrav
facd982794
As several people pointed out, I did all the ctype casts the wrong
...
way (not for the first time...)
Noticed by: bde, ru ++
MFC after: 1 week
2007-12-19 00:26:36 +00:00
Dag-Erling Smørgrav
e99ace3508
Document NO_PROXY / no_proxy.
...
MFC after: 3 weeks
2007-12-18 11:03:26 +00:00
Dag-Erling Smørgrav
62a2681c93
Add support for the NO_PROXY / no_proxy environment variable as used by
...
lynx, curl etc. Note that this patch differs significantly from that
in the PR, as the submitter refined it after submitting the PR.
PR: 110388
Submitted by: Alexander Pohoyda <alexander.pohoyda@gmx.net>
MFC after: 3 weeks
2007-12-18 11:03:07 +00:00
Dag-Erling Smørgrav
836e34eeae
Old patch I had lying around: correctly cast the argument to is*().
...
IWBNI gcc could warn about this the way it warns about printf() abuse.
MFC after: 1 week
2007-12-18 10:41:12 +00:00
Dag-Erling Smørgrav
a1b37df2d7
Clean up namespace violations.
...
MFC after: 1 week
2007-12-14 10:26:58 +00:00
Dag-Erling Smørgrav
887ecc8d53
Enable FTP_COMBINE_CWDS.
2007-05-24 20:28:14 +00:00
Daniel Eischen
419ecd5dee
Bump library versions in preparation for 7.0.
...
Ok'd by: kan
2007-05-21 02:49:08 +00:00
Dag-Erling Smørgrav
cd84225739
Handle temporary redirects (HTTP status code 307)
...
PR: kern/112515
Submitted by: Ryan C. Gordon <icculus@icculus.org>
MFC after: 3 weeks
2007-05-08 19:28:03 +00:00
Nate Lawson
f5e97105d3
Add back the original behavior of changing the entire directory path at
...
once (CWD a/b/c vs. 3 CWDs). If an error occurs, we fall back to the default
method of a single CWD per directory element. Since this is technically
a violation of the basic FTP RFC, this behavior is under a compile-time
option FTP_COMBINE_CWDS and is off by default. It should work with most
Unix-based FTP daemons and can save latency.
MFC after: 2 weeks
2007-04-22 22:33:29 +00:00
Yaroslav Tykhiy
ad82a90b81
Respect MK_INET6_SUPPORT.
2006-07-27 04:54:03 +00:00
Dag-Erling Smørgrav
9aa2cb8613
Respect FETCH_BIND_ADDRESS when opening the data connection.
...
PR: misc/98872
2006-06-13 10:21:03 +00:00
Dag-Erling Smørgrav
c23fb8a4d3
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
Ruslan Ermilov
e1fe3dba5c
Reimplementation of world/kernel build options. For details, see:
...
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
The src.conf(5) manpage is to follow in a few days.
Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Dag-Erling Smørgrav
254f2fa208
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
Tom McLaughlin
8d98402040
Fix misspelling in Poul-Henning Kamp's email address under AUTHORS, from
...
pkh@ to phk@.
Approved by: ade
2005-11-30 04:08:45 +00:00
Dag-Erling Smørgrav
2738229eb8
Ignore HTTP_PROXY if it is defined but empty. This was already handled
...
correctly in the case of FTP_PROXY, because an empty FTP_PROXY has a
specific meaning ("don't use any proxy at all for ftp, even if HTTP_PROXY
is defined"), while an empty HTTP_PROXY has no meaning at all.
PR: bin/85185
Submitted by: Conall O'Brien <conallob=freebsd@maths.tcd.ie>
MFC after: 2 weeks
2005-08-24 12:28:05 +00:00
Dag-Erling Smørgrav
fd04cc7766
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
Ken Smith
a84020c2b9
Bump the shared library version number of all libraries that have not
...
been bumped since RELENG_5.
Reviewed by: ru
Approved by: re (not needed for commit check but in principle...)
2005-07-22 17:19:05 +00:00
Kelly Yancey
448980e704
Set the TCP_NODELAY socket option and clear TCP_NOPUSH in order to flush
...
any pending HTTP request rather than calling shutdown(2) with SHUT_WR.
This makes libfetch (and thus fetch(1)) work again with Squid proxies
configured to not allow half-closed connections.
Reported by: Pawel Worach (pawel.worach AT telia DOT com)
2005-03-02 19:09:28 +00:00
Dag-Erling Smørgrav
55cf7be1ab
Fix a memory leak: when freeing the connection structure, don't forget to
...
free the connection buffer as well.
PR: bin/76153
MFC after: 1 week
2005-02-16 12:46:46 +00:00
Kelly Yancey
20a2a51bc3
Set TCP_NOPUSH on HTTP requests, reducing the number of round-trips
...
necessary to establish each connection.
MFC after: 2 weeks
2005-02-16 00:22:20 +00:00
Ruslan Ermilov
36a142c455
Expand contractions.
2005-02-13 23:45:54 +00:00
Ruslan Ermilov
0227791b40
Expand *n't contractions.
2005-02-13 22:25:33 +00:00
Ruslan Ermilov
a216173556
NOCRYPT -> NO_CRYPT
2004-12-21 10:16:04 +00:00
Dag-Erling Smørgrav
2cbbf9dac9
Update copyright years.
2004-09-21 18:35:21 +00:00
Dag-Erling Smørgrav
264a4c03fc
Don't forget to allocate space for the terminating NUL when converting to
...
base 64.
PR: misc/70022
Submitted by: Herve Masson <herve-bsdbt@mindstep.com>
MFC after: 3 days
2004-08-07 20:23:50 +00:00
Colin Percival
d37df47d31
Join the 21st century: Cryptography is no longer an optional component
...
of releases. The -DNOCRYPT build option still exists for anyone who
really wants to build non-cryptographic binaries, but the "crypto"
release distribution is now part of "base", and anyone installing from a
release will get cryptographic binaries.
Approved by: re (scottl), markm
Discussed on: freebsd-current, in late April 2004
2004-08-06 07:27:08 +00:00
Ruslan Ermilov
1a0a934547
Mechanically kill hard sentence breaks.
2004-07-02 23:52:20 +00:00
Dag-Erling Smørgrav
4d3d90ad0a
Slight tweak to previous commit: don't forget to call _http_seterr() if
...
we get a genuine 416 reply.
2004-02-11 09:35:27 +00:00
Dag-Erling Smørgrav
b5e1214546
When restarting a transfer that has already completed, the server will
...
reply with a 416 error code (requested range not satisfiable) because
we ask it to start at the end of the file. Handle this gracefully by
considering a 416 reply a success if the requested offset exactly
matches the length of the file and the requested length is zero.
2004-02-11 09:31:39 +00:00
Dag-Erling Smørgrav
2576e45915
Re-wrap some comments.
2004-02-11 09:23:35 +00:00
Dag-Erling Smørgrav
09e0653941
I don't normally use my middle name, so remove it from attributions in
...
man pages (though not from copyright notices). While I'm here, add email
addresses where appropriate.
2004-01-25 11:39:42 +00:00
Hajimu UMEMOTO
3d82ba4313
preparation for RFC3493. EAI_NODATA was deprecated.
2003-10-23 13:50:01 +00:00
Ruslan Ermilov
fe08efe680
mdoc(7): Use the new feature of the .In macro.
2003-09-08 19:57:22 +00:00
Dag-Erling Smørgrav
fd8f6d2269
Don't close a FILE * which we know is bogus.
2003-08-29 15:54:12 +00:00
Dag-Erling Smørgrav
39082bb4a5
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
Ruslan Ermilov
36317d686a
Make sure the crypto versions of libfetch and fetch(1) appear in
...
the "crypto" distribution.
Approved by: des
2003-07-22 13:54:31 +00:00
Tom Rhodes
0315901c7c
Add an EXAMPLES section.
...
PR: 43899
Reviewed by: des, ru
2003-06-10 20:41:18 +00:00
Ruslan Ermilov
3a5146d9e2
Assorted mdoc(7) fixes.
...
Approved by: re (blanket)
2003-05-22 13:02:28 +00:00
Dag-Erling Smørgrav
7691f66abf
Retire the useless NOSECURE knob.
...
Approved by: re (scottl)
2003-05-19 15:52:01 +00:00
Dag-Erling Smørgrav
60a87a5fa2
Mark libfetch as c99-clean. Always build at WARNS level 2 rather than
...
juggling with levels 2 and 3, as this has lead to world breakage for
NOCRYPT users in the past.
2003-05-01 14:39:43 +00:00
Dag-Erling Smørgrav
762892c047
Don't dereference flags if NULL (see http.c rev 1.87)
2003-03-29 15:15:38 +00:00
Mike Makonnen
4418f9df30
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
Dag-Erling Smørgrav
b91d6074d4
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
Dag-Erling Smørgrav
c42cb9d906
Add and document support for a FETCH_BIND_ADDRESS environment variable
...
specifying a local address to bind sockets to. Caveat: lightly tested.
PR: bin/37572
2003-03-03 12:35:03 +00:00
Mark Murray
edf34e80d8
No need for the OPENSSL_NO_KRB5 switch anymore.
...
Fixed by: nectar
2003-01-31 23:26:55 +00:00
Mark Murray
cb9c19ff86
Adjust for OpenSSL 0.9.7.
2003-01-28 23:03:15 +00:00
Dag-Erling Smørgrav
930105c1e9
style(9): add parentheses to sizeof even when not strictly required.
...
MFC after: 3 days
2003-01-28 08:04:40 +00:00
John W. De Boskey
9015b953d6
Fix signed/unsigned comparison warning/error from 'make release'
2003-01-28 00:33:53 +00:00
Dag-Erling Smørgrav
0ab4a51e4e
Document .netrc support.
2003-01-22 18:27:25 +00:00
Dag-Erling Smørgrav
9f808a4dd0
Hook in the .netrc code + don't use pointers as if they were booleans.
2003-01-22 17:54:49 +00:00
Dag-Erling Smørgrav
07350d12cf
Experimental support for .netrc.
2003-01-22 17:53:58 +00:00
Dag-Erling Smørgrav
02e6bec10b
Initialization paranoia.
2003-01-22 17:53:15 +00:00
Dag-Erling Smørgrav
591c019988
A negative offset means "get it all".
2003-01-22 17:52:27 +00:00
Dag-Erling Smørgrav
f8020ddefe
Set auto-retry mode to avoid some spurious errors.
...
Submitted by: Andre Albsmeier <andre.albsmeier@siemens.com>
MFC after: 7 days
2003-01-03 02:45:10 +00:00
Jens Schweikhardt
57bd0fc6e8
english(4) police.
2002-12-27 12:15:40 +00:00
Jake Burkholder
7b628f43e0
Reduce WARNS level to 3 in the non-crypto case to fix make release on sparc64.
...
This may only be turning up now to changes in the cpp predefines for sparc64,
which may be turning on more strict alignment checking.
Approved by: re
2002-12-04 04:34:59 +00:00
Dag-Erling Smørgrav
d5216a4fb7
Implement and document support for an HTTP_REFERER environment variable.
...
PR: 28171
Submitted by: Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
Approved by: re (bmah)
MFC after: 1 week
2002-11-28 12:07:15 +00:00
Bill Fenner
d5c24aa856
Fix two typos.
2002-11-08 19:10:05 +00:00
Dag-Erling Smørgrav
a49b853d94
Use __func__ and break a long line.
2002-10-30 15:01:29 +00:00
Dag-Erling Smørgrav
7504527ed2
Fix a bug in fenner's _fetch_writev() patch (rev 1.36)
...
Submitted by: fenner
2002-10-30 14:25:00 +00:00
Dag-Erling Smørgrav
66b8df5fdf
Recognize the (incorrect) error code a MediaHawk server sends in reply to
...
unrecognized commands such as MDTM.
Requested by: Stephen Roome <stephen_roome@pepcross.com>
2002-10-30 06:06:16 +00:00
Dag-Erling Smørgrav
75c3973ab8
Clarify my feelings towards fetch / libfetch.
2002-10-30 04:53:58 +00:00
Dag-Erling Smørgrav
bb13d0af67
Recommit the non-broken parts of 1.34 and 1.37.
...
Change the type and name of a variable introduced in 1.33.
2002-10-30 04:43:00 +00:00
Dag-Erling Smørgrav
cab8495092
Don't forget to set the error flag when _fetch_read() returns -1.
2002-10-30 04:42:01 +00:00
Warner Losh
a4a37038bb
Reinstate revs 1.35-36 and 1.38. Revisions 1.34 and 1.37 were specifically
...
the root cause of the bus errors I was experiencing.
Submitted by: fenner
Tested by: obrien
Prompted by: peter
2002-10-30 00:17:16 +00:00
David E. O'Brien
b68fbebd5a
Fix `pkg_add -r' by backing out revs 1.34-1.38.
...
Revs 1.37-8 produce a bus error in some environments.
Revs 1.34-6 do not bus error, but write corrupted files.
2002-10-29 12:17:43 +00:00
Dag-Erling Smørgrav
cf2d89d98b
libfetch is now WARNS5 clean in the non-SSL case.
2002-10-28 10:37:31 +00:00
Dag-Erling Smørgrav
32a4a82829
Fix an off-by-one error (> where >= should have been used) which caused
...
_fetch_writev() to incorrectly report EPIPE in certain cases.
Also fix a number of const warnings by using __DECONST(), plus a signed /
unsigned comparison by casting the rhs to ssize_t.
Submitted by: fenner, Craig Rodrigues <rodrigc@attbi.com>
2002-10-28 10:19:03 +00:00
Bill Fenner
8497092d00
Up WARNS to 3 if not building with crypto.
...
Approved by: des
2002-10-28 01:41:28 +00:00
Dag-Erling Smørgrav
1a5424b137
Slight amendment to rev 1.34: instead of considering any short read an
...
error, only report an error if no data was read at all (unless len was
0 to start with). Otherwise, the final read of practically any transfer
will end in a fatal error.
2002-10-27 17:20:49 +00:00
Dag-Erling Smørgrav
2761348f78
Introduce _fetch_writev(), which is the conn_t version of writev(2). In
...
the SSL case, it is no different from the old _fetch_write(), but in the
non-SSL case it uses writev(2) to send the entire vector as a single
packet (provided it can fit in one packet). Implement _fetch_write()
and _fetch_putln() in terms of _fetch_writev().
This should improve performance in the non-SSL case (by reducing protocol
overhead) and solve the problem where too-smart-for-their-own-good
firewalls reject FTP packets that do not end in CRLF.
PR: bin/44123
Submitted by: fenner
2002-10-27 16:11:21 +00:00
Dag-Erling Smørgrav
9f788e9c90
Eliminate two cases of undefined behaviour: total in _fetch_write() was
...
not initialized before use, and _http_growbuf() did not return a value
on success.
Reported by: Peter Edwards <pmedwards@eircom.net>
MFC after: 2 weeks
2002-10-27 15:43:40 +00:00
Dag-Erling Smørgrav
e24f60e74f
Back out the previous commit, and fix the bug rather than try to hide its
...
symptoms: make timeouts and short transfers fatal, and set errno to an
appropriate value (ETIMEDOUT for a timeout, EPIPE for a short transfer).
MFC after: 2 weeks
2002-10-27 15:08:21 +00:00
Nate Lawson
13cc1c8394
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
David E. O'Brien
513829ec5e
Use a warns setting we can catch regressions with.
2002-10-20 23:50:28 +00:00
Tim J. Robbins
9d649c1fd0
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
Ruslan Ermilov
721d559c03
HTTP authentication got broken in rev. 1.49.
2002-10-03 10:42:19 +00:00
Peter Wemm
224af215a6
Zap now-unused SHLIB_MINOR
2002-09-28 00:25:32 +00:00
Alfred Perlstein
a6756ecc22
Fix an infinite loop when _fetch_read() can return 0 (if the
...
connection is broken), take this into account and return at this
point.
2002-09-20 21:50:57 +00:00
Bill Fenner
40cfbfd508
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
Dag-Erling Smørgrav
190c185e22
Surround prototypes with __BEGIN_DECLS / __END_DECLS.
...
PR: misc/40399
MFC after: 3 days
2002-07-22 16:11:39 +00:00
Hajimu UMEMOTO
f8fa093e82
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
Dag-Erling Smørgrav
66ffb8a371
Reintroduce debugging code that somehow got lost in a previous revision.
2002-06-24 12:18:41 +00:00
Dag-Erling Smørgrav
a7a4510fd8
Fix incorrect library ordering. I thought I'd committed this already...
2002-06-21 09:56:38 +00:00
Dag-Erling Smørgrav
f8bd33a0ae
Don't try to dereference conn when we know it's NULL.
2002-06-19 08:36:00 +00:00
Dag-Erling Smørgrav
f606d589b9
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
Ruslan Ermilov
4093807dd9
libfetch now depends on libcrypto and libssl.
2002-06-06 13:45:46 +00:00
Dag-Erling Smørgrav
3070f6cb06
Make SSL support conditional on NOCRYPT.
2002-06-05 21:35:35 +00:00
Dag-Erling Smørgrav
d9615d7da4
During buildworld, "regular" libraries are built before crypto stuff, so
...
libfetch can't depend on lib{crypto,ssl}. Move the dependency to fetch
until we can figure out how to fix this.
2002-06-05 21:25:33 +00:00
Dag-Erling Smørgrav
111e251009
Add SSL support + slight cleanup.
...
Submitted by: Henry Whincup <henry@techiebod.com> (in principle)
2002-06-05 12:46:36 +00:00
Dag-Erling Smørgrav
9601e333a8
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
Dag-Erling Smørgrav
4dc0da3f3e
Add the necessary dependencies for SSL.
2002-06-05 11:38:19 +00:00
Dag-Erling Smørgrav
ccdd94bdd9
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
Dag-Erling Smørgrav
d3b03a9006
Add comments to struct cookie.
2002-06-05 10:27:24 +00:00
Dag-Erling Smørgrav
3f4823c55d
Fix a bug I introduced in the chunk decoder in the previous commit..
2002-06-05 10:23:19 +00:00
Dag-Erling Smørgrav
dea29ca1d5
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