summaryrefslogtreecommitdiffstats
path: root/lib/libfetch/fetch.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years.des2004-09-211-1/+1
|
* style(9): add parentheses to sizeof even when not strictly required.des2003-01-281-3/+3
| | | | MFC after: 3 days
* Initialization paranoia.des2003-01-221-0/+8
|
* Add SSL support + slight cleanup.des2002-06-051-16/+20
| | | | Submitted by: Henry Whincup <henry@techiebod.com> (in principle)
* Reindent, and add parentheses to return statements. Some functions indes2002-02-051-227/+224
| | | | | 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.
* Eliminate a redundant loop.des2002-02-051-2/+1
|
* Remove VT100 escapes from debugging messages now that they're enabled bydes2002-01-011-6/+6
| | | | | | | default. PR: 32988 MFC after: 3 days
* Introduce a fetchDebug global. Change the DEBUG macro so it only runs thedes2001-12-091-0/+1
| | | | | | | debugging code if fetchDebug is set. PR: bin/32615 MFC after: 1 week
* Add __FBSDID()s to libfetchdillon2001-09-301-2/+3
|
* The fix for schemeless and hostless URLs (rev. 1.27) broke the schemelessse2001-07-281-1/+2
| | | | | | | | | 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
* Unbreak parsing URLs that have a host part but no document part.des2001-07-171-2/+3
| | | | While we're here, fix a snprintf() usage warning.
* Handle shemeless, hostless URLs correctly.des2001-07-081-3/+5
|
* Add rudimentary support for an authentication callback function.des2001-05-261-1/+1
|
* Apply 'const' liberally.archie2001-04-241-14/+15
| | | | Fix some other minor glitches.
* Avoid a segfault (due to an unitialized pointer) when parsing URLs that havedes2000-12-131-0/+2
| | | | no scheme or host part.
* Clean up the whitespace encoding code.des2000-12-011-5/+6
|
* Use CHECK_FLAGdes2000-10-291-4/+4
|
* If the scheme is HTTP or HTTPS, percent-escape whitespace in the documentdes2000-10-211-1/+21
| | | | | | part. Submitted by: green
* Relax URL syntax so that schemeless URLs are supported.des2000-10-121-24/+23
|
* The decision to use an HTTP proxy for FTP documents belongs in the FTP codedes2000-07-211-12/+0
|
* Introduce fetchXGet*(), which combine the functionalities of fetchGet*() anddes2000-07-171-8/+27
| | | | | | 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.
* Introduce the (undocumented) variable fetchRestartCalls, which controls whetherdes2000-07-171-0/+1
| | | | | | | 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 (and document) fetchMakeURL()des2000-05-251-2/+42
|
* Dump com_err, it's a stinking crock of shit.des2000-05-251-2/+3
|
* IPv6 support.ume2000-05-201-3/+12
|
* Make HTTP_PROXY work for FTP.ume2000-05-151-8/+32
| | | | | Reported by: Ben Smithurst <ben@scientia.demon.co.uk> Reviewed by: des
* Reorganize some of the http code and split it into more functions.des2000-05-111-17/+21
| | | | | | Implement fetchStatHTTP(). Unbungle struct url, and add fetchFreeURL(). Document it.
* Use sizeof more consistently.des2000-05-071-2/+2
|
* More old uncommitted patches: implement timeouts at the protocol level.des2000-01-071-0/+1
| | | | Currently only supported for ftp connections.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Implement and document file list retrieval.des1998-12-211-1/+38
|
* Add verbose flag, and support functions.des1998-12-161-2/+5
| | | | | | | | | Brucify the Makefile. Differentiate atime and mtime in fetch*Stat(). Fix a few pointer bugs. Tweak some error messages. Don't #include sys/param.h and stdio.h in fetch.h. Document that sys/param.h and stdio.h must be #included before fetch.h.
* Second of a series of cleanups to libfetch.des1998-11-061-23/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces the following features: a) the fetchStat*() functions, which return meta-information for a document, such as size, modification time, etc. b) the use of the com_err(3) facilities to report errors. It also fixes a bunch of style bugs and a few logic bugs and somewhat improves the man page. Changed files, in alphabetical order: Makefile: Don't generate macros in {ftp,http}err.c. Generate category fields for the error message lists. Compile the error table. Install fetch_err.h along with fetch.h. common.c: Remove the _netdb_errstring() macro, and add FETCH_ERR_NETDB to the error code in the _netdb_seterr() macro. Add categories to the _netdb_errlist table. Report errors through the Common Error library. common.h: Add the DEBUG macros. Add prototype for fetchConnect(). Remove the prototype for _fetch_errstring(), which is local to common.c Add a categroy field to struct fetcherr, and define constants for error categories. Define macros for _{url,netdb,ftp,http}_seterr(). errors.et: (new file) List error categories. fetch.3: Document the fetchStat*() functions. Move the "unimplemented functionality" comments from NOTES to BUGS. Document that applications which use libfetch must also use libcom_err, and list existing error codes. Undocument fetchLastErr{Code,String}. Remove the (empty) DIAGNOSTICS section. Mention Eugene Skepner in the AUTHORS section. fetch.c: Move the DEBUG macros to common.c Add fetchStat() and fetchStatURL(). Generate error messages for URL parser errors, and fix a minor bug in the parser. Use 'struct url' instead of 'url_t'. Remove fetchLastErr{Code,String}. fetch.h: Use 'struct url' instead of 'url_t', and remove the typedef. Define struct url_stat (used by fetchStat()). Add prototypes for fetchStat*(). Remove the declarations for fetchLastErr{Code,String}. Include fetch_err.h. fetch_err.et: (new file) Error table for libfetch. file.c: Add fetchStatFile(). Use 'struct url' instead of 'url_t'. ftp.c: Add fetchStatFTP(). Use 'struct url' instead of 'url_t'. Don't use fetchLastErrCode. ftp.errors: Add categories to all error messages. http.c: Add fetchStatHTTP(). Use 'struct url' instead of 'url_t'. Don't use fetchLastErr{Code,Text}. http.errors: Add categories to all error messages. Prompted by: jkh and Eugene Skepner Numerous sugestions from: Garett Wollman and Eugene Skepner
* First of a series of cleanups to libfetch. Changed files, indes1998-11-051-57/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alphabetical order: Makefile: Add common.c to SRCS. Make debugging easier by making 'CFLAGS += -DNDEBUG' conditional on DEBUG Don't declare struct {ftp,http}err in {ftp,http}err.c; use struct fetcherr instead. README: Remove the todo list, which is out of date anyway. common.c: (new file) Gather utility functions in this file. Merge the error reporting functions intp _fetch_errstring(), _fetch_seterr() and _fetch_syserr(). Set fetchLastErrCode and fetchLastErrText appropriately when fetchConnect fails. common.h: (new file) Gather internal prototypes and structures in this files. fetch.3: Undocument fetchFreeURL(). Document a few more known bugs. Document fetchLastErrCode and fetchLastErrText. fetch.c: Add descriptive comments to all functions that lacked them. Move fetchConnect() to common.c. Obviate the need for fetchFreeURL(), and remove it. fetch.h: Modify struct url_t so the document part is at the end. ftp.c: Remove code that is duplicated elsewhere. http.c: Remove code that is duplicated elsewhere. Prompted by: jkh
* Commit a bunch of patches that have been accumulating:des1998-08-171-24/+37
| | | | | | | | | | - Fix the README to reflect the new status of the ftp code. - Change tons of 'if (xxx < 0)' to 'if (xxx == -1)' - Add two new interface functions - Fix the Makefile so it actually works (yay!) Now the manpage is lagging even further behind... :( Next on the todo list is to clean up the http code.
* FTP retrieve works.des1998-07-111-1/+1
|
* Too many changes to list. Basically, FTP is nearly there and errordes1998-07-111-1/+36
| | | | reporting is kinda sorted out. Now HTTP needs to catch up...
* Imported libfetch into the tree. It compiles, but there's still somedes1998-07-091-0/+189
work to do. I especially need help with the man page.
OpenPOWER on IntegriCloud