]> sjero.net Git - wget/blobdiff - src/ChangeLog
[svn] Removed string_t.c from the list of source files in Makefiles.
[wget] / src / ChangeLog
index 6b39e88fff2158e0702a55abec04c8cbef1ecb90..36b8928cd87b9abd328c4c46685be8e5a4a8aa18 100644 (file)
@@ -1,3 +1,817 @@
+2005-04-05  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * Makefile.in: removed string_t.c from list of source files.
+
+2005-04-04  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * string_t.c: Removed.
+       
+       * string_t.h: Removed.
+
+2005-04-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (rewrite_shorthand_url): Only accept recognized schemes.
+       That way "foo:80" will correctly be rewritten to "http://foo:80"
+       instead of left unchanged and ultimately rejected because of
+       "unsupported scheme foo".
+
+2005-03-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (number_to_string): Avoid explicit 64-bit constants;
+       construct them by multiplication at compile-time.
+
+       * utils.c, elsewhere: Don't append "L" to 32-bit integer
+       constants; we aren't really compilable on 16-bit systems anyway.
+
+       * hash.c (prime_size): Remove primes larger than 2^31, but include
+       2^31-1, which is prime.
+
+2005-03-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (string_set_to_array): New function.
+
+       * convert.c: Replace the use of "slists" with sets/hash-tables,
+       which in fact suit the intended purpose much better.
+       downloaded_html_list is removed altogether.
+
+2005-03-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.h (enum): Rename GLOBALL, GETALL, and GETONE to
+       GLOB_GLOBALL, GLOB_GETALL, and GLOB_GETONE to avoid conflict with
+       Linux headers.
+
+2005-03-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (numdigit): More correct handling of negative numbers.
+
+2005-03-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Print the human-readable size.
+
+       * ftp.c (getftp): Print the human-readable size of the file to be
+       downloaded.
+
+       * utils.c (human_readable): New function.
+
+       * utils.c: Renamed "legible" to "with_thousand_seps",
+       "legible_large_int" to "with_thousand_seps_large", and "legible_1"
+       to "add_thousand_seps".
+
+2005-03-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Inhibit persistent connections when talking to
+       proxies, as mandated by RFC 2068.
+
+2005-03-20  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (unescape_single_char): New function.
+       (url_escape_dir): Use it to unescape slashes in directory
+       components.
+       (url_string): Escape unsafe chars in host name, except for the ':'
+       charaters, which can appear in IPv6 addresses.
+
+       * main.c (main): Don't access the cookie jar directly.
+
+       * log.c (escnonprint_internal): Correctly calculate the needed
+       string size.  Don't forget the buffer's new size after having
+       reallocated it.
+       (log_cleanup): New function.  Free the escnonprint ring data.
+
+       * init.c (cleanup): Don't free the cookie jar explicitly, it is
+       now done by http_cleanup.
+       (cleanup): opt.user_headers is now a vector, free it with
+       free_vec.
+
+       * http.c (gethttp): Make sure to free the request data, the status
+       message, and the response data before returning from the function.
+       (save_cookies): New function.
+       (http_cleanup): Free the cookie jar here.
+
+       * hash.c: Renamed string_hash to hash_string and ptrhash to
+       hash_pointer.  Exported hash_pointer.
+
+       * xmalloc.c: Organized malloc_table (previously malloc_debug) as a
+       simple EQ hash table.  register_ptr and unregister_ptr are now of
+       O(1) complexity.
+
+       * xmalloc.c: Renamed "*_debug" to debugging_* and "*_real" to
+       checking_*.
+
+2005-03-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (debug_test_md5): Moved to gen-md5.c.
+
+       * mswindows.h: Don't declare inet_ntop, since we don't use it.
+
+       * mswindows.h: For consistency, also wrap closesocket, it being
+       a Winsock call.
+
+       * mswindows.h: Don't declare sleep and usleep; we're defining
+       xsleep now.
+
+       * mswindows.h (mkdir): Don't special-case Borland C, _mkdir
+       works there as well.
+
+       * host.c: Don't include winsock header files; the correct ones
+       are already included by mswindows.h.
+
+       * mswindows.c (xsleep): Round toward the nearest millisecond
+       in an attempt to avoid average short sleeps.
+
+       * utils.c (wtimer_granularity): Report correct values for
+       Windows timers and for high-resolution timers.
+
+       * utils.c (wtimer_initialize_once): New function, called to
+       initialize the timer frequency.
+
+       * utils.c: Replace the use of GetSystemTime with high-resolution
+       counters under Windows.  When high-resolution counters are
+       unavailable, use GetTickCount().
+
+2005-03-15  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (fd_read_body): Undo the 2004-11-18 change.  Instead,
+       always be "exact".
+
+2005-03-17  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp-basic.c (ftp_login): Don't free the string if ftp_response
+       returned an error status because the line didn't get allocated in
+       the first place.
+
+2005-03-15  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (read_http_response_head): Limit the response size to 64k
+       bytes.
+
+       * retr.c (fd_read_hunk): Accept a MAXSIZE argument that limits the
+       number of bytes the function is allowed to allocate.
+       (fd_read_line): Limit the line to 4096 bytes.
+
+2005-03-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * wget.h: Include options.h after wgint has been defined.
+
+       * options.h (struct options): Declare options processed with
+       cmd_bytes as wgint, not long.
+
+2005-03-18  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c (cmd_file): Use concat_strings.
+
+       * http.c (basic_authentication_encode): Use concat_strings.
+
+       * ftp-ls.c (ftp_index): Use concat_strings.
+
+       * ftp-basic.c (ftp_request): Use concat_strings.
+
+       * utils.c (concat_strings): New function.
+
+2005-03-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c (simple_atof): Handle negative numbers; skip whitespace
+       before the number.
+       (simple_atoi): Ditto.  Also, check for overflow and underflow.
+       (cmd_number): Bail out on negative numbers.
+       (parse_bytes_helper): Ditto.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Handle multiple Set-Cookie headers sent by
+       remote server.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c (defaults): Use passive FTP by default.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * mswindows.c: Provide wrappers to Winsock functions that set
+       errno to WSAGetLastError() in case of failure.  Also provide a
+       Windows-specific version of strerror.
+
+       * mswindows.h: Wrap calls to socket, bind, connect, recv, send,
+       select, getsockname, getpeername, and setsockopt.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_parse): Reject port numbers larger than 65535.  We
+       also check for overflow while parsing port numbers.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (read_file): Don't use wgint for file size; LFS won't
+       work since the file is mmap'ed as a whole.
+
+       * options.h: Don't include stdio.h.
+
+       * log.c: Ditto.
+
+       * init.c: Disambiguate assignment from non-zero test to avoid
+       Borland C warning.
+
+       * http.c (response_new): Don't needlessly post-increment count.
+
+       * hash.c: Include stdio.h.
+
+       * gnu-md5.h: Don't include stdio.h.
+
+       * getopt.h (struct option): Always use const.
+
+       * ftp.c (getftp): Avoid unnecessary assignment to RES to avoid
+       Borland C warning.
+
+       * ftp-ls.c: Disambiguate assignment from non-zero test to avoid
+       Borland C warning.
+
+       * cmpt.c (strptime_internal): Don't initialize rp_backup when
+       !_NL_CURRENT to avoid Borland C warning.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (fopen_excl): Fix parse error when O_BINARY is
+       available.
+
+2005-03-05  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_file_name): Don't allow hosts named ".." to be
+       appended as path elements.
+
+2005-03-03  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (retrieve_url): Escape location header.
+
+       * http.c (print_server_response_1): Escape server response when
+       printing it.
+       (gethttp): Escape host name, status message, location header, and
+       content type.
+       (http_loop): Escape error message from server.
+
+       * host.c (lookup_host): Escape host name when printing it.
+
+       * ftp.c (getftp): Escape user name when printing it.
+       (getftp): Escape remote file and directory for printing.
+       (getftp): Escape server listing when printing it.
+       (ftp_retrieve_list): Escape link name and file name.
+       (ftp_retrieve_glob): Escape file name.
+
+       * ftp-basic.c (ftp_response): Escape server response when printing
+       it.
+
+       * cookies.c (parse_set_cookies): Escape the cookie field when
+       printing it.
+       (parse_set_cookies): Escape contents of remote header.
+       (cookie_handle_set_cookie): Escape host name and cookie domain.
+
+       * connect.c (connect_to_ip): Escape the host name.
+
+       * log.c (escnonprint): New function, used for printing strings
+       coming from the server that possibly contain non-ASCII characters.
+       (escnonprint_uri): Ditto.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (getftp): Ditto.
+
+       * http.c (gethttp): When we're not supposed to overwrite files,
+       use fopen_excl to open the file and recompute the file name.
+
+       * log.c (redirect_output): Use unique_create to avoid a race
+       condition.
+
+       * mswindows.c (fake_fork_child): Use unique_create.
+
+       * utils.c (fopen_excl): New function that opens a stdio stream
+       with the O_EXCL flag (where available).
+       (unique_create): New function, like unique_name, but also creating
+       the file and returning a file pointer.
+       (fork_to_background): Use unique_create to create the file
+       immediately to avoid race condition with multiple instances of
+       wget -b.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (lookup_host): Test for AI_ADDRCONFIG directly, instead
+       of checking for HAVE_GETADDRINFO_AI_ADDRCONFIG.
+
+2005-02-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (is_valid_ipv6_address): Move here from url.c.
+       (lookup_host): If the address is numeric, don't print the
+       "resolving..." line, don't set up DNS timeouts, and set the
+       AI_NUMERICHOST hint, where available.
+
+2005-02-26  Gisle Vanem  <giva@bgnett.no>
+
+       * utils.c: Use the nnnLL syntax under GCC.  Define struct_stat to
+       struct _stati64 under __MINGW32__ as well as under MS VC.
+
+2005-02-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c: Use the nnnI64 syntax for __int64 constants under all
+       Windows compilers.
+       (SPRINTF_WGINT): Use "%I64" under all Windows compilers.
+
+       * mswindows.h (WGINT_MAX): Use the nnnI64 syntax for
+       __int64 constants under all Windows compilers.
+       (struct_stat): Use `struct stati64' under Borland C.
+       (fstat): Don't redefine to _fstati64 under Borland.
+
+       * mswindows.c: Define str_to_int64 under Borland C as well as
+       under (older) Visual C.
+
+2005-02-25  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (getftp): Initialize err to suppress compiler warning.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (ftp_expected_bytes): Fix bug that caused infloop because
+       of not correctly skipping the '(' character.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * mswindows.c (wget_ftello): Removed.
+
+       * mswindows.h: Remove bogus definition of stat.
+       (wget_ftello): Remove the leftover ftello replacement.
+
+2005-02-20  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * mswindows.c (wget_ftello): Wget's replacement for ftello.
+
+       * utils.c (file_size): Use ftello where available.
+
+       * ftp-ls.c (ftp_parse_unix_ls): Use str_to_wgint to parse the file
+       size.
+       (ftp_parse_winnt_ls): Ditto.
+
+       * ftp-basic.c (ftp_size): Use str_to_wgint to convert number to
+       wgint; pass 10 instead of 0 as the BASE argument.
+
+       * ftp.c (ftp_expected_bytes): Use str_to_wgint to parse the file
+       size.
+
+       * sysdep.h (LARGE_INT_FMT): Use __int64 as LARGE_INT on
+       MSVC/Windows; print it with "%I64".
+
+       * wget.h: Define a `wgint' type, normally aliased to (the possibly
+       64-bit variant of) off_t.
+
+       * all: Use `wgint' instead of `long' for numeric variables that
+       can hold file sizes.
+
+       * utils.c (number_to_string): Support printing of `wgint'
+       argument.
+       (number_to_static_string): New function.
+
+       * all: Replace printf("%ld", long_value) with printf("%s",
+       number_to_static_string(wgint_value)).
+
+2005-02-18  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * main.c: Added the --ftp-passwd command line option.
+
+       * init.c: Renamed command passwd to ftppasswd.
+
+2005-02-11  Mauro Tortonesi <mauro@ferrara.linux.it>
+       
+       * string_t.c: Fixed a bug in do_escape and triggered escape of
+       backslashes in string_escape to avoid ambiguities in the result
+       string.
+       
+2005-02-10  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * string.h: Renamed to string_t.h to fix a compilation conflict 
+       with the string.h header in the standard C library.
+       
+       * string.c: Renamed to string_t.c for consistency with string.h.
+       
+       * string_t.c: Ditto.
+
+       * string_t.h: Ditto.
+       
+2004-12-31  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * string.c: New file.
+
+       * string.h: New file.
+
+       * Makefile.in: Added string.c to the list of modules to compile.
+
+       * main.c: Updated copyright.
+
+2004-11-18  Ulf Harnhammar <ulf.harnhammar.9485@student.uu.se>
+
+       * ftp-ls.c: Fixed a problem in ftp_parse_winnt_ls that could allow a
+       malicious remote FTP server to crash wget.
+
+2004-11-18  Hans-Andreas Engel <engel@node.ch>
+
+       * http.c: Enable --convert-links (-k) when a single page is downloaded
+       via --output-document (-O).
+
+2004-11-18  Mauro Tortonesi <mauro@deepspace6.net>
+
+       * connect.c: Minor correction to the comment in front of fd_peek.
+
+2004-11-18  Leonid Petrov <nouser@lpetrov.net>
+
+       * retr.c: Fix a timeout problem in fd_read_body when using http_proxy.
+
+2004-11-15  YAMAZAKI Makoto <Yamazaki.Makoto@fujixerox.co.jp>
+
+       * netrc.c: Fix termination by assertion bug in netrc parsing.
+
+2004-05-09  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (fake_fork): Pass entire command line to the child
+       process.
+
+2004-03-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Fix typo: SCHEME_SSL -> SCHEME_HTTPS.
+
+2004-03-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Send the Proxy-Authorization header over
+       non-SSL connections too.
+
+2004-03-25  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (fake_fork_child): Ignore error code when
+       OpenFileMapping() fails; assume it failed because the object does
+       not exist.
+
+2004-03-24  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (fake_fork): New function.
+
+       * mswindows.c (fork_to_background): Use it.
+
+2004-03-19  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (ws_hangup): Incorporate old fork_to_background()
+       code.  Add event name argument.
+       (fork_to_backgorund): Now a simple wrapper around ws_hangup().
+       (ws_handler): Correctly handle the case when neither CTRLC_BACKGND
+       nor CTRLBREAK_BACKGND are defined.  Don't bother handling close,
+       logoff, or shutdown events.  Call ws_hangup() with the correct
+       event name; don't assume it was CTRL+Break.
+
+2004-03-19  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_parse): Decode %HH sequences in host name.
+
+2004-03-04  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * convert.c (local_quote_string): Quote "#" as "%23" and "%" as
+       "%25" when creating links to local files.
+
+2004-03-02  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (ws_percenttitle): Guard against future changes by
+       doing nothing if the proper variables have not been initialized.
+       Clamp percentage value.
+
+2004-03-04  Gisle Vanem  <giva@bgnett.no>
+
+       * retr.c (fd_read_body): Don't change console title if quiet.
+
+2004-02-25  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.c (set_sleep_mode): Remove argument and return value.
+       Call GetModuleHandle() instead of LoadLibrary()/FreeLibrary() for
+       kernel32.dll.  Use typedef for function-pointer.  Don't cast
+       l-value.  Don't use dereference operator when calling through
+       function-pointer.
+       (ws_startup): Update call to set_sleep_mode().
+       (ws_cleanup): Remove call to set_sleep_mode().
+
+2004-02-23  David Fritz  <zeroxdf@att.net>
+
+       * http.c (http_loop): Ditto.
+
+       * ftp.c (ftp_loop_internal): Update call to ws_changetitle().
+
+       * main.c (main): Don't bother calling ws_changetitle().
+
+       * mswindows.h (ws_changetitle): Update prototype.
+
+       * mswindows.c (ws_changetitle): Remove second argument.  Use
+       xfree_null().
+       (ws_percenttitle): Only update title when percentage has changed.
+
+2004-02-23  David Fritz  <zeroxdf@att.net>
+
+       * mswindows.h: Ditto.
+
+       * mswindows.c: Misc. formatting/comment tweaks throughout.
+
+2004-02-20  David Fritz  <zeroxdf@att.net>
+
+       * main.c (print_help): Remove call to ws_help().
+
+       * mswindows.c (ws_help): Remove.
+
+       * mswindows.h (ws_help): Remove.
+
+2004-02-16  David Fritz  <zeroxdf@att.net>
+
+       * init.c (home_dir): Use aprintf() instead of xmalloc()/sprintf().
+       Under Windows, if $HOME is not defined, use the directory that
+       contains the Wget binary instead of hard-coded `C:\'.
+       (wgetrc_file_name): Under Windows, look for $HOME/.wgetrc then, if
+       not found, look for wget.ini in the directory of the Wget binary.
+
+       * mswindows.c (ws_mypath): Employ slightly more robust methodology.
+       Strip trailing path separator.
+
+2004-02-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Respect --ignore-length.
+       (gethttp): Inhibit keep-alive if --ignore-length is specified.
+
+2004-02-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (sockaddr_set_data): Zero out
+       sockaddr_in/sockaddr_in6.  Apparently BSD-derived stacks need this
+       when binding a socket to local address.
+
+2004-02-04  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * hash.c: Make the file compilable outside Wget source tree when
+       -DSTANDALONE is used.
+
+2004-01-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (determine_screen_width): Return 0 if not running on
+       Windows or on a TIOCGWINSZ-capable system.
+
+2004-01-28  David Fritz  <zeroxdf@att.net>
+
+       * utils.c (determine_screen_width): Correctly determine console
+       width under Windows.
+
+2004-01-28  Christian Biere  <christianbiere@gmx.de>
+
+       * progress.c (bar_set_params): Fixed syntax error when HAVE_ISATTY
+       was undefined.
+
+       * ftp.c (ftp_loop_internal): Allocate a larger buffer in case
+       "try" gets translated to something large.  Ditto in http_loop in
+       http.c.
+
+       * http.c (response_header_copy): Don't write to buf[BUFSIZE].
+
+       * ftp-opie.c (skey_response): Eliminate unnecessary string
+       concatenation; just call gen_md5_update twice.
+
+2004-01-25  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (xsleep): Don't call usleep with values larger than
+       1,000,000.
+
+2003-12-16  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Fix generation of `Content-Length'.
+
+2003-12-15  Gisle Vanem  <giva@bgnett.no>
+
+       * url.c (url_skip_credentials): Fixed return value; 'url' if no
+       credentials.
+
+2003-12-14  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_skip_credentials): Return a pointer directly.
+
+2003-12-14  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_file_name): Ditto.
+       (parse_errors): Ditto.
+
+       * retr.c (retr_rate): Ditto.
+
+       * progress.c (create_image): Ditto.
+
+       * netrc.c (parse_netrc): Ditto.
+
+       * main.c (struct cmdline_option): Ditto.
+       (redirect_output_signal): Ditto.
+
+       * init.c (commands): Ditto.
+
+       * ftp-ls.c (ftp_index): Ditto.
+
+       * cookies.c (check_domain_match): Declare the pointer to a literal
+       string as `const'.
+
+2003-12-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (fd_read_body): Pass total size to progress_create, not
+       the remaining amount.
+
+2003-12-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (fd_read_body): Don't fiddle with "interactive timeout"
+       if read timeout is unset.
+
+2003-12-12  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (bind_local): Don't set the IPV6_V6ONLY option on the
+       socket.
+
+2003-12-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_file_name): Respect the setting of
+       opt.protocol_directories.
+
+       * main.c (main): Only check for ret=='?' when longindex is unset.
+       (option_data): New option --protocol-directories.
+
+2003-12-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (getftp): Ditto.
+
+       * http.c (gethttp): Correctly calculate bandwidth as total data
+       read divided with download time.
+
+       * retr.c (fd_read_body): Separate the return values for data
+       written and read.
+
+2003-12-05  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (H_REDIRECTED): Respect the HTTP/1.1 "303 See Other"
+       response code.
+       Suggested by Dan Razzell.
+
+2003-11-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (fd_read_body): Report the amount of data *written* as
+       amount_read.  This is not entirely logical, but that's what the
+       callers expect, and it's not easy to change.
+
+       * ftp.c (ftp_loop_internal): Ditto.
+
+       * http.c (http_loop): Be smarter about assigning restval; if we're
+       in the nth pass of a download, simply use the information we have
+       about how much data has been retrieved as restval.
+
+       * ftp.c (getftp): Ditto for FTP "REST" command.
+
+       * http.c (gethttp): When the server doesn't respect range, skip
+       the first RESTVAL bytes of the read body.  Never truncate the
+       output file.
+
+       * retr.c (fd_read_body): Support skipping initial STARTPOS octets.
+
+2003-11-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (skip_short_body): Renamed skip_body to skip_short_body;
+       don't bother calling fd_read_body.
+
+2003-11-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (fd_read_body): Sanitize arguments and document them
+       better.  Make sure the timer is created and updated only if
+       necessary.  Updated callers.
+
+2003-11-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (skip_body): New function.
+       (gethttp): Use it to skip the body of the responses we don't care
+       to download.  That allows us to reuse the connection.
+       (gethttp): Trust that the HEAD requests will not generate body
+       data.
+
+       * retr.c (fd_read_body): Don't write to OUT if it's NULL.
+
+2003-11-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Initialize SSL only the first time when SSL
+       URL is downloaded.
+
+2003-11-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * cookies.c (cookie_header): Only generate the contents of the
+       header, not the leading "Cookie: " or the trailing "\r\n".
+
+       * http.c (gethttp): When adding headers specified with `--header',
+       allow them to override the headers generated by Wget.
+
+       * init.c (cmd_spec_header): Made opt.user_headers a vector.
+
+       * http.c (request_new): New function.  Returns a request structure
+       which can be modified in various ways, most notably by adding HTTP
+       headers to the request.
+       (request_set_header): New function for adding the header to the
+       request.  If the header is already available, it gets replaced.
+       (request_send): Construct and send the request.
+       (gethttp): Use the request_* functions to generate the request.
+
+2003-11-28  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Don't include the Proxy-Authorization header
+       in the request tunneled through proxy.
+
+2003-11-28  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (gethttp): Use the CONNECT handle to establish SSL
+       passthrough through non-SSL proxies.
+
+2003-11-28  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c: Don't #include netinet/Winsock stuff.
+
+2003-11-28  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c: Deleted the old functions header_process,
+       header_extract_number, header_exists, header_strdup,
+       http_process_range, http_process_none, http_process_type, and
+       http_process_connection.
+
+       * http.c (response_new): New function.
+       (response_header_bounds): Ditto.
+       (response_header_copy): Ditto.
+       (response_header_strdup): Ditto.
+       (response_status): Ditto.
+       (gethttp): Use the new response_* functions to parse the response.
+       Support HTTP/0.9 responses.
+
+2003-11-27  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * progress.c (create_image): Don't calculate ETA if nothing has
+       been downloaded yet, because it causes division by zero.
+
+2003-11-27  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (bind_local): Rename sa_len to addrlen because IRIX
+       headers define sa_len as a macro.
+
+2003-11-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-parse.c (convert_and_copy): Remove embedded newlines when
+       AP_TRIM_BLANKS is specified.
+
+2003-11-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c: Set con->csock to -1 where rbuf_uninitialize was
+       previously used.
+
+2003-11-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * Makefile.in (http$o): Added the trailing backslash that was
+       missing.
+
+2003-11-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * headers.c: Removed.  The file is no longer relevant, now that no
+       special handling of headers is done by the rbuf code.  Moved
+       portions to http.c.
+
+2003-11-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * rbuf.c: Removed.
+
+       * ftp-basic.c (ftp_response): Use fd_read_line.  No longer use
+       struct rbuf.  Updated all callers.
+
+       * http.c (gethttp): Use fd_read_head to read all the headers in
+       one go.
+       (next_header): New function.
+
+       * retr.c (fd_read_line): New function: reads a line from FD,
+       leaving the rest of the data unread.
+       (fd_read_head): New function.
+
+       * connect.c (fd_peek): New function, implements peeking.
+       (poll_internal): New function.
+       (fd_read): Use it.
+       (fd_write): Ditto.
+       (fd_peek): Ditto.
+       (fd_register_transport): Allow registering a "peeker" callback.
+
+2003-11-20  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c: Renamed xread/xwrite/xclose to
+       fd_read/fd_write/fd_close.  The "x" prefix is not appropriate
+       because the semantics have diverged from read/write/close too
+       significantly.  Updated all callers.
+
+2003-11-20  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (sock_write): It's not necessary to initialize RES.
+
+2003-11-19  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * main.c (main): Don't reference opt.ipv4_only and opt.ipv6_only
+       if IPv6 is disabled.
+
+2003-11-19  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (socket_has_inet6): Only compile it if IPv6 is enabled
+       and AI_ADDRCONFIG is missing.
+
 2003-11-18  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * gen_sslfunc.c (ssl_init_prng): Warn the user when using a weak