summaryrefslogtreecommitdiff
path: root/lib/libfetch/ftp.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC: set us->size to -1 when server's response is unparseable.Dag-Erling Smørgrav2001-04-071-0/+1
| | | | | | | Approved by: jkh Notes: svn path=/stable/4/; revision=75294
* MFC: port range usage.Dag-Erling Smørgrav2001-03-241-4/+4
| | | | | | | Approved by: jkh Notes: svn path=/stable/4/; revision=74750
* MFC: support {ftp,http}_proxy for compatibility reasons.Dag-Erling Smørgrav2001-03-151-4/+7
| | | | | | | fix EINTR handling bug. Notes: svn path=/stable/4/; revision=74315
* MFC: 'anonymous' instead of 'ftp'Dag-Erling Smørgrav2001-02-221-3/+2
| | | | Notes: svn path=/stable/4/; revision=72901
* MFC: FTP_LOGIN.Dag-Erling Smørgrav2000-12-271-0/+2
| | | | Notes: svn path=/stable/4/; revision=70407
* MFC: synch with -CURRENT (cleanup, passive mode detection)Dag-Erling Smørgrav2000-12-101-1/+1
| | | | Notes: svn path=/stable/4/; revision=69821
* MFC: fix support for historical proxy syntax.Dag-Erling Smørgrav2000-12-011-2/+6
| | | | Notes: svn path=/stable/4/; revision=69462
* MFC: multiline response fix.Dag-Erling Smørgrav2000-11-271-1/+1
| | | | Notes: svn path=/stable/4/; revision=69268
* MFC: revert to documented (and historical) defaults.Dag-Erling Smørgrav2000-11-101-17/+4
| | | | | | | Approved by: jkh Notes: svn path=/stable/4/; revision=68558
* MFC: various bug fixes and additional error checking.Dag-Erling Smørgrav2000-10-301-12/+36
| | | | Notes: svn path=/stable/4/; revision=67975
* Don't expect a result code on the control connection until you've closed theDag-Erling Smørgrav2000-10-271-3/+3
| | | | | | | | | | | | | data connection, as some servers wait for the remote end to close the data connection instead of just closing their end once the transfer is complete. This fixes the hangs some people have been experiencing when fetching ports. (committed to RELENG_4 before HEAD because it was debugged and fixed on a RELENG_4 box) Notes: svn path=/stable/4/; revision=67706
* MFC: everything (notably: better proxy support, better timeout handling,Dag-Erling Smørgrav2000-10-241-79/+211
| | | | | | | fix FTP connection caching) Notes: svn path=/stable/4/; revision=67490
* MFC: grok 125 replies to passive RETRDag-Erling Smørgrav2000-08-291-1/+2
| | | | Notes: svn path=/stable/4/; revision=65204
* MFC: don't die if server doesn't grok MDTMDag-Erling Smørgrav2000-07-281-0/+1
| | | | Notes: svn path=/stable/4/; revision=63961
* MFC: Sync with -CURRENT (work around bugs in FTP and HTTP servers)Dag-Erling Smørgrav2000-07-261-20/+19
| | | | | | | Approved by: jkh Notes: svn path=/stable/4/; revision=63878
* MFC: Sync with -CURRENT (most notably, fix resume and proxy problems)Dag-Erling Smørgrav2000-07-211-3/+30
| | | | | | | Approved by: jkh Notes: svn path=/stable/4/; revision=63718
* MFC: fix the case where the file name is preceded by a lone slash.Dag-Erling Smørgrav2000-07-201-1/+1
| | | | Notes: svn path=/stable/4/; revision=63586
* MFC: Failure to stat does not necessarily imply failure to retrieveDag-Erling Smørgrav2000-07-181-1/+5
| | | | Notes: svn path=/stable/4/; revision=63393
* MFC: everything since the last one.Dag-Erling Smørgrav2000-07-171-102/+143
| | | | Notes: svn path=/stable/4/; revision=63347
* MFC: synch with -CURRENTDag-Erling Smørgrav2000-07-161-27/+24
| | | | Notes: svn path=/stable/4/; revision=63237
* MFC: everything since RELENG_4 branchedDag-Erling Smørgrav2000-06-291-62/+295
| | | | Notes: svn path=/stable/4/; revision=62243
* Fix timestamp handling.Dag-Erling Smørgrav2000-01-261-5/+7
| | | | | | | Submitted by: bde Notes: svn path=/head/; revision=56635
* More old uncommitted patches: implement timeouts at the protocol level.Dag-Erling Smørgrav2000-01-071-97/+119
| | | | | | | Currently only supported for ftp connections. Notes: svn path=/head/; revision=55557
* Patches I've had lying around for several months:Dag-Erling Smørgrav2000-01-071-14/+43
| | | | | | | | | | * Add the 'h' ftp flag (allocate local port in high range) * Add the 'd' flag (use direct connection even if proxy is defined) * Make sure flags != NULL before calling strchr(). * Minor changes to some comments. Notes: svn path=/head/; revision=55544
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50476
* Implement and document file list retrieval.Dag-Erling Smørgrav1998-12-211-1/+12
| | | | Notes: svn path=/head/; revision=41989
* Don't specify a language to compile_et.Dag-Erling Smørgrav1998-12-181-3/+3
| | | | | | | Rename fetchConnect to _fetch_connect since it's internal. Notes: svn path=/head/; revision=41923
* Implement and document fetchStatFTP.Dag-Erling Smørgrav1998-12-161-46/+129
| | | | | | | | Update description of struct url_stat in the man page. Clean up error handling in ftp.c. Notes: svn path=/head/; revision=41869
* Remove unused header files. Fix a few shadowing bugs. Improve error reporting.Dag-Erling Smørgrav1998-12-161-34/+21
| | | | Notes: svn path=/head/; revision=41863
* Add verbose flag, and support functions.Dag-Erling Smørgrav1998-12-161-7/+8
| | | | | | | | | | | | 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. Notes: svn path=/head/; revision=41862
* Second of a series of cleanups to libfetch.Dag-Erling Smørgrav1998-11-061-11/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=40975
* First of a series of cleanups to libfetch. Changed files, inDag-Erling Smørgrav1998-11-051-40/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=40939
* Commit a bunch of patches that have been accumulating:Dag-Erling Smørgrav1998-08-171-13/+12
| | | | | | | | | | | | | - 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. Notes: svn path=/head/; revision=38394
* Base64 code (and the MIT copyright) moved to http.cDag-Erling Smørgrav1998-07-121-77/+62
| | | | | | | | FTP STORe and APPEnd added. FTP proxy support added (untested). Notes: svn path=/head/; revision=37608
* FTP retrieve works.Dag-Erling Smørgrav1998-07-111-57/+143
| | | | Notes: svn path=/head/; revision=37573
* Too many changes to list. Basically, FTP is nearly there and errorDag-Erling Smørgrav1998-07-111-95/+235
| | | | | | | reporting is kinda sorted out. Now HTTP needs to catch up... Notes: svn path=/head/; revision=37571
* Imported libfetch into the tree. It compiles, but there's still someDag-Erling Smørgrav1998-07-091-0/+250
work to do. I especially need help with the man page. Notes: svn path=/cvs2svn/branches/DES/; revision=37535