summaryrefslogtreecommitdiffstats
path: root/lib/libfetch/common.c
Commit message (Collapse)AuthorAgeFilesLines
* PR: 139751fabient2009-10-211-1/+1
| | | | | | Approved by: des Obtained from: Xavier Heiny <xavier.heiny@netasq.com> MFC after: 3 weeks
* Fix one-byte buffer overflow: NUL gets written to the buffer, but isn'tcperciva2008-04-151-1/+1
| | | | | | | | | | | 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
* s/wait/delta/ to avoid namespace collision.des2008-03-201-16/+16
| | | | MFC after: 2 weeks
* Use memcpy(3) instead of the BSD-specific bcopy(3).des2008-02-081-1/+1
| | | | | Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de> MFC after: 2 weeks
* As several people pointed out, I did all the ctype casts the wrongdes2007-12-191-2/+2
| | | | | | | way (not for the first time...) Noticed by: bde, ru ++ MFC after: 1 week
* Add support for the NO_PROXY / no_proxy environment variable as used bydes2007-12-181-0/+50
| | | | | | | | | 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
* Clean up namespace violations.des2007-12-141-50/+50
| | | | MFC after: 1 week
* Fix a memory leak: when freeing the connection structure, don't forget todes2005-02-161-0/+1
| | | | | | | free the connection buffer as well. PR: bin/76153 MFC after: 1 week
* Update copyright years.des2004-09-211-1/+1
|
* preparation for RFC3493. EAI_NODATA was deprecated.ume2003-10-231-0/+2
|
* Add and document support for a FETCH_BIND_ADDRESS environment variabledes2003-03-031-3/+32
| | | | | | specifying a local address to bind sockets to. Caveat: lightly tested. PR: bin/37572
* style(9): add parentheses to sizeof even when not strictly required.des2003-01-281-8/+8
| | | | MFC after: 3 days
* Fix signed/unsigned comparison warning/error from 'make release'jwd2003-01-281-4/+4
|
* Experimental support for .netrc.des2003-01-221-0/+91
|
* Set auto-retry mode to avoid some spurious errors.des2003-01-031-0/+1
| | | | | Submitted by: Andre Albsmeier <andre.albsmeier@siemens.com> MFC after: 7 days
* Fix a bug in fenner's _fetch_writev() patch (rev 1.36)des2002-10-301-1/+6
| | | | Submitted by: fenner
* Recommit the non-broken parts of 1.34 and 1.37.des2002-10-301-6/+11
| | | | Change the type and name of a variable introduced in 1.33.
* Reinstate revs 1.35-36 and 1.38. Revisions 1.34 and 1.37 were specificallyimp2002-10-301-12/+38
| | | | | | | | the root cause of the bus errors I was experiencing. Submitted by: fenner Tested by: obrien Prompted by: peter
* Fix `pkg_add -r' by backing out revs 1.34-1.38.obrien2002-10-291-52/+19
| | | | | Revs 1.37-8 produce a bus error in some environments. Revs 1.34-6 do not bus error, but write corrupted files.
* Fix an off-by-one error (> where >= should have been used) which causeddes2002-10-281-6/+5
| | | | | | | | | _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>
* Slight amendment to rev 1.34: instead of considering any short read andes2002-10-271-6/+8
| | | | | | 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.
* Introduce _fetch_writev(), which is the conn_t version of writev(2). Indes2002-10-271-7/+34
| | | | | | | | | | | | | | 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
* Eliminate two cases of undefined behaviour: total in _fetch_write() wasdes2002-10-271-0/+1
| | | | | | | | 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
* Back out the previous commit, and fix the bug rather than try to hide itsdes2002-10-271-10/+18
| | | | | | | 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
* Fix an infinite loop when _fetch_read() can return 0 (if thealfred2002-09-201-1/+5
| | | | | connection is broken), take this into account and return at this point.
* Make _fetch_connect() always set the error code.fenner2002-09-171-1/+3
| | | | Tell ftp that _fetch_connect() always sets the error code (http already knew)
* Reintroduce debugging code that somehow got lost in a previous revision.des2002-06-241-0/+2
|
* Add a reference count to struct fetchconn so we don't prematurely close anddes2002-06-111-0/+19
| | | | free a cached FTP connection.
* Make SSL support conditional on NOCRYPT.des2002-06-051-0/+11
|
* Add SSL support + slight cleanup.des2002-06-051-1/+49
| | | | Submitted by: Henry Whincup <henry@techiebod.com> (in principle)
* Wrap everything in struct connection, and enforce timeouts everywheredes2002-06-051-61/+130
| | | | | (except for DNS operations). Always use funopen() for HTTP, to support both timeouts and SSL.
* First step towards SSL support: wrap connections in a 'struct connection'des2002-06-051-24/+56
| | | | | | | | | | 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.
* Switch to a self-starting allocation scheme.des2002-02-051-10/+3
|
* Reindent, and add parentheses to return statements. Some functions indes2002-02-051-233/+230
| | | | | 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.
* Remove VT100 escapes from debugging messages now that they're enabled bydes2002-01-011-3/+3
| | | | | | | default. PR: 32988 MFC after: 3 days
* Back out part of previous commit which was gcc-centricdes2001-10-191-2/+2
|
* Tons of type, style and warning fixes that have been rotting in my tree fordes2001-10-181-5/+8
| | | | | ages - some of which wouldn't be necessary if gcc wasn't broken or TPTB were willing to do something (-fno-builtin) about it.
* Add __FBSDID()s to libfetchdillon2001-09-301-2/+3
|
* MAXPATHLEN -> PATH_MAXdes2001-05-261-1/+1
|
* Apply 'const' liberally.archie2001-04-241-9/+9
| | | | Fix some other minor glitches.
* Don't try to get the proxy port number from /etc/services.des2000-11-271-4/+0
|
* Use the documented (and historical) defaults. Centralize the decision logicdes2000-11-101-0/+34
| | | | | | in order to avoid this bug in the future. Submitted by: se
* Introduce the (undocumented) variable fetchRestartCalls, which controls whetherdes2000-07-171-2/+2
| | | | | | | 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.
* Add _fetch_putln()des2000-07-111-5/+29
|
* Clean up the debugging outputdes2000-07-111-3/+2
|
* Free chunks obtained by getaddrinfo(3).ume2000-07-101-0/+1
| | | | Approved by: des
* Output newline after debugging messagedes2000-05-251-0/+1
|
* Dump com_err, it's a stinking crock of shit.des2000-05-251-45/+11
|
* IPv6 support.ume2000-05-201-22/+26
|
* Use sizeof more consistently.des2000-05-071-1/+1
|
OpenPOWER on IntegriCloud