| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
|  | 
MFC after:	3 days
Notes:
    svn path=/head/; revision=109967
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=109694
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Submitted by:	Henry Whincup <henry@techiebod.com> (in principle)
Notes:
    svn path=/head/; revision=97868
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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.
Notes:
    svn path=/head/; revision=90267
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=90264
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
default.
PR:		32988
MFC after:	3 days
Notes:
    svn path=/head/; revision=88769
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
debugging code if fetchDebug is set.
PR:		bin/32615
MFC after:	1 week
Notes:
    svn path=/head/; revision=87560
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=84203
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
Notes:
    svn path=/head/; revision=80520
 | 
| | 
| 
| 
| 
| 
| 
|  | 
While we're here, fix a snprintf() usage warning.
Notes:
    svn path=/head/; revision=79834
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=79423
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=77238
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Fix some other minor glitches.
Notes:
    svn path=/head/; revision=75891
 | 
| | 
| 
| 
| 
| 
| 
|  | 
no scheme or host part.
Notes:
    svn path=/head/; revision=69975
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=69465
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=67892
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
part.
Submitted by:	green
Notes:
    svn path=/head/; revision=67419
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=67042
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=63713
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
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.
Notes:
    svn path=/head/; revision=63340
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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.
Notes:
    svn path=/head/; revision=63334
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=60927
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=60924
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=60737
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Reported by:	Ben Smithurst <ben@scientia.demon.co.uk>
Reviewed by:	des
Notes:
    svn path=/head/; revision=60587
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Implement fetchStatHTTP().
Unbungle struct url, and add fetchFreeURL().
Document it.
Notes:
    svn path=/head/; revision=60376
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=60190
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Currently only supported for ftp connections.
Notes:
    svn path=/head/; revision=55557
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=50476
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=41989
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
- 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
 | 
| | 
| 
| 
|  | 
Notes:
    svn path=/head/; revision=37573
 | 
| | 
| 
| 
| 
| 
| 
|  | 
reporting is kinda sorted out. Now HTTP needs to catch up...
Notes:
    svn path=/head/; revision=37571
 | 
|   
  
  
  
  
  
   | 
work to do. I especially need help with the man page.
Notes:
    svn path=/cvs2svn/branches/DES/; revision=37535
 |