+2002-04-14 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.c (connect_with_timeout): Firing SIGALRM can result in
+ connect() exiting with EINTR. Treat EINTR the same as ETIMEDOUT.
+
+2002-04-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.c (connect_with_timeout): Use it.
+
+ * utils.c (run_with_timeout): New function.
+
+2002-04-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (getproxy): Accept a struct url argument. This obviates
+ the need for USE_PROXY_P.
+
+ * retr.c (retrieve_url): Allow proxy to be a non-FTP URL.
+
+ * ftp.c (getftp): Recognize FWTK-style proxy.
+
+2002-04-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * config.h.in: Only define _VA_LIST when compiled with gcc.
+
+2002-04012 Ian Abbott <abbotti@mev.co.uk>
+
+ * http.c (http_loop): Compensate for MS Windows two-second
+ granularity of file modification time when comparing timestamps.
+
+ * ftp.c (ftp_retrieve_list): Ditto.
+
+2002-04-12 Ian Abbott <abbotti@mev.co.uk>
+
+ * utils.c (has_html_suffix_p): New function to test filename for
+ common html extensions.
+
+ * utils.h: Declare it.
+
+ * http.c (http_loop): Use it instead of previous test.
+
+ * retr.c (retrieve_url): Ditto.
+
+ * recur.c (download_child_p): Ditto.
+
+2002-04-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * config.h.in: Define _VA_LIST on Solaris to prevent stdio.h from
+ declaring va_list.
+ From Kevin Rodgers <kevinr@ihs.com>.
+
+2002-04-12 Ian Abbott <abbotti@mev.co.uk>
+
+ * Makefile.in: Specify libtool mode explicitly when linking.
+
+2002-04-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.c (connect_with_timeout): New function.
+ (connect_to_one): Use it.
+
+ * config.h.in: Add stubs for HAVE_SIGSETJMP, HAVE_SIGBLOCK, and
+ HAVE_SETJMP_H.
+
+2002-04-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * log.c: Set WGET_USE_STDARG if __STDC__ is defined and stdarg.h
+ is present.
+
+2002-04-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_create): If INITIAL is larger than TOTAL, fix
+ TOTAL.
+ (bar_finish): Likewise.
+
+2002-04-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (tag_handle_form): New function. Pick up form
+ actions and mark them for conversion only.
+
+2002-04-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (struct progress_implementation): Use PARAMS when
+ declaring the parameters of *create, *update, *finish, and
+ *set_params.
+
+ * netrc.c: Ditto.
+
+ * http.c: Reformat some function definitions so that ansi2knr can
+ read them.
+
+ * hash.c (struct hash_table): Use the PARAMS macro around
+ parameters in the declaration of hash_function and test_function.
+ (prime_size): Spell 2580823717UL and 3355070839UL as (unsigned
+ long)0x99d43ea5 and (unsigned long)0xc7fa5177 respectively, so
+ that pre-ANSI compilers can read them.
+ (find_mapping): Use PARAMS when declaring EQUALS.
+ (hash_table_put): Ditto.
+
+ * ftp.h: Wrap the parameters of ftp_index declaration in PARAMS.
+
+ * cookies.c (cookie_new): Use (unsigned long)0 instead of 0UL,
+ which was unsupported by pre-ANSI compilers.
+
+ From Nelson H. F. Beebe <beebe@math.utah.edu>, for the most part.
+
+2002-04-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (url_filename): Use compose_file_name regardless of
+ whether opt.dirstruct is set.
+ (mkstruct): Don't handle the query and the reencoding of DIR; that
+ is done in compose_file_name.
+
+2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * wget.h: Ditto for extern char *exec_name.
+
+ * options.h: Don't guard against OPTIONS_DEFINED_HERE -- it is
+ perfectly legal to follow an `extern' with a non-`extern' ones,
+ provided the types match.
+
+ * main.c: Don't define OPTIONS_DEFINED_HERE.
+
+2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (create_image): Revert to calculating ETA based on
+ average download speed.
+ (create_image): Don't print ETA until the download has been active
+ for at least 3 seconds.
+ (create_image): When ETA is not available, don't print anything.
+ The previous version would print --:--.
+
+2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_update): Keep updating a subinterval until it
+ reaches or exceeds a watermark. That way the measurement will be
+ guaranteed to span a configurable minimum of time. The current
+ default is 3s in 30 100ms intervals.
+
+2002-04-09 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_update): Maintain an array of the time it took
+ to perform previous 30 network reads.
+ (create_image): Calculate the download speed and ETA based on the
+ last 30 reads, not the entire download.
+ (create_image): Make sure that the ETA is not changed more than
+ once per second.
+
+2002-04-09 Ian Abbott <abbotti@mev.co.uk>
+
+ * mswindows.c (borland_utime): New function conditionally defined
+ when `HACK_BCC_UTIME_BUG' is defined. A reimplementation of
+ `utime()' as Borland's `utime()' function is broken on Windows 9x
+ systems. (Original patch by Chin-yuan Kuo <sr1111111@yahoo.com.tw>.)
+
+2002-04-08 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * ftp.c (ftp_loop): Propagate the result of ftp_retrieve_glob.
+
+2002-03-26 Ian Abbott <abbotti@mev.co.uk>
+
+ * Makefile.in: Updated several dependencies for object files.
+
+2002-03-20 Ian Abbott <abbotti@mev.co.uk>
+
+ * mswindows.c: Include "utils.h".
+
+2002-03-18 Ian Abbott <abbotti@mev.co.uk>
+
+ * host.h: Don't include netdb.h on windows.
+
+2002-02-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): Handle the case when start_url doesn't
+ parse.
+
+2002-02-19 Andreas Damm <andreas-sourceforge@radab.org>
+
+ * wget.h (DO_REALLOC_FROM_ALLOCA): Multiply with sizeof(type) when
+ calling xmalloc and memcpy.
+
+2002-02-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * host.h: Include Unix-specific includes #ifndef WINDOWS.
+ Patch originally provided by Christian Lackas.
+
+2002-02-11 Christian Lackas <delta@lackas.net>
+
+ * recur.c: recurive downloading for https fixed.
+
+2002-02-19 Alan Eldridge <alane@geeksrus.net>
+
+ * host.h: Also include <netinet/in.h> and <sys/socket.h>.
+
+ * ftp-basic.c: Also include <netinet/in.h>.
+
+2002-02-05 Ian Abbott <abbotti@mev.co.uk>
+
+ * http.c (gethttp): when -c used, mark already fully retrieved
+ file as successfully retrieved.
+
+2002-02-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (url_parse): Don't treat '?' as query string separator
+ when parsing FTP URLs.
+
+2002-02-01 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (tag_handle_meta): Don't crash on <meta
+ http-equiv=refresh> where content is missing.
+
+2002-01-31 Herold Heiko <Heiko.Herold@previnet.it>
+
+ * ftp-basic.c, host.c: don't include sys/socket.h, arpa/inet.h,
+ netdb.h on windows.
+
+2002-01-30 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * retr.c (retrieve_url): Remove redirection cycle detection. This
+ is because some sites legitimately redirect the user back to the
+ same location, e.g. after an authorization check performed by
+ another page. MAX_REDIRECTIONS is still used to prevent infinite
+ redirection loops.
+
+2002-01-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * http.c (gethttp): Wrap host name in square brackets if it
+ contains a colon.
+
+2002-01-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (url_parse): Allow all hex digits, not only decimal ones,
+ to form an IP address.
+
+2002-01-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (urlchr_table): Make square braces reserved, so we can
+ parse http://[::1]/.
+ (url_parse): Handle host in braces.
+ (url_string): If url->host contains colons, wrap it in braces.
+
+2002-01-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.c (resolve_bind_address): New function.
+ (connect_to_one): Use it.
+ (bindport): Ditto.
+
+ * init.c: Don't resolve bind-address here.
+
+ * host.c (wget_sockaddr_set_address): Would bug out with ADDR == NULL.
+
+2002-01-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * host.c (lookup_host): Use sizeof(ip4_address) to calculate the
+ offset.
+ (address_list_new): Use map_ipv4_to_ip.
+ (wget_sockaddr_set_address): Convert ADDR to IPv4 before using it
+ in IPv4 context.
+
+2002-01-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * source: Integrated IPv6 support.
+ Written by Thomas Lussnig <thomas.lussnig@bewegungsmelder.de>.
+
+2002-01-15 Ian Abbott <abbotti@mev.co.uk>
+
+ * init.c (cmd_file): Change `\' to `/' for Windows (yes, really!)
+ (cmd_directory): New function. Like cmd_file(), but strips
+ trailing directory separators.
+ (commands): Change action for "dirprefix" from `cmd_file' to
+ `cmd_directory'.
+
+ * utils.c (make_directory): Allow intermediate `mkdir' calls to
+ fail, as not all path components that do not exist should be
+ directory components, especially under Windows.
+
+2002-01-17 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * netrc.c (parse_netrc): Skip leading whitespace before testing
+ whether the line is empty. Empty lines still contain the line
+ terminator.
+
+2002-01-15 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * gen_sslfunc.c (ssl_iread): Call select on the file descriptor
+ only if no data is pending in SSL buffers.
+ From tony@bluetail.com.
+
+2002-01-14 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * headers.c (header_get): Strip trailing whitespace from the
+ header.
+
+2002-01-14 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (parse_uname): URL-decode *USER and *PASSWD.
+
+2002-01-07 Ian Abbott <abbotti@mev.co.uk>
+
+ * url.c (uri_merge_1): Deal with "net path" relative URL (one that
+ starts with "//").
+
+2002-01-14 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * http.c (gethttp): Invalidate SOCK if get_contents encountered an
+ error.
+
+2001-12-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * version.c: Wget 1.8.1 is released.
+
+2001-12-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * version.c: Wget 1.8.1-pre3 is released.
+
+2001-12-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): Enqueue the canonical representation of
+ start_url, so that the test against dl_url_file_map works.
+
+2001-12-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * log.c (logputs): Check for requested verbosity before printing
+ anything.
+
+2001-12-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (tag_handle_link): Treat the "shortcut icon" link as
+ inline.
+
+2001-12-18 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): Make a copy of file obtained from
+ dl_url_file_map because the code calls xfree(file) later.
+
+2001-12-18 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (register_html): Maintain a hash table of HTML files
+ along with the list. Disallow duplicates.
+ (retrieve_tree): Use downloaded_html_set to check whether the file
+ found in dl_url_file_map is an HTML file, and descend into it if
+ so.
+ (convert_all_links): Don't guard against duplicates in
+ downloaded_html_list, since they are no longer possible.
+
+2001-12-18 Ian Abbott <abbotti@mev.co.uk>
+
+ * recur.c (retrieve_tree): Pass on referring URL when retrieving
+ recursed URL.
+
+2001-12-17 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * version.c: Wget 1.8.1-pre2 is released.
+
+2001-12-17 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * retr.c (sleep_between_retrievals): Simplify indentation.
+
+2001-12-17 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * gen_sslfunc.c (ssl_init_prng): Use random_number to get a byte
+ of "randomness" at a time.
+ (ssl_init_prng): Don't seed the PRNG; random_number will do that.
+
+ * retr.c (sleep_between_retrievals): Use it. Make sure that the
+ random amount averages in opt.wait.
+ (sleep_between_retrievals): Don't seed the PRNG; random_number
+ will do that.
+
+ * utils.c (random_number): New function.
+
+2001-12-14 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (path_simplify): Move here from utils.c, and make static.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * init.c (wgetrc_file_name): Print correct message when loading
+ getenv("WGETRC") fails.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (register_download): Don't abort when one URL references
+ two different files.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * http.c (gethttp): Check for conn->scheme, not u->scheme, before
+ calling ssl_iwrite.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * version.c: Wget 1.8.1-pre1 is released.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * res.c (matches): Fix broken URL in the docstring.
+
+2001-12-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (tag_url_attributes): Mark <embed href=...> as
+ external.
+
+2001-12-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (get_urls_file): Cosmetic changes.
+
+2001-12-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (append_one_url): Resurrect warning when unable to
+ resolve a relative link.
+
+2001-12-12 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * html-url.c (collect_tags_mapper): Break into several functions.
+ (tag_url_attributes): Collect <embed href=...>.
+
+2001-12-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * host.c: New type ipv4_address. Use it consistently instead of
+ `unsigned char[4]' and `unsigned char *'.
+ (pretty_print_address): Accept a `const void *', to require even
+ less casting.
+
+2001-12-11 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * ftp-ls.c (ftp_parse_vms_ls): Fix obvious memory leaks.
+