+2001-12-01 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * cookies.c (check_domain_match): Reimplement to match Netscape's
+ "preliminary specification" for cookies.
+
+2001-12-01 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (replace_attr_refresh_hack): New function.
+ (convert_links): Call replace_attr_refresh_hack for Refresh
+ links. It will add the "TMOUT; URL=" junk before the link.
+
+ * html-url.c (collect_tags_mapper): Set ID to the ID of the
+ "content" attribute, not "http-equiv".
+ (collect_tags_mapper): Don't use OFFSET to hack the raw_* values;
+ instead, store the information that this entry belongs to a
+ "refresh" link.
+
+2001-12-01 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): Allow -p retrievals to exceed maximum
+ depth by more than one.
+
+2001-11-30 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * retr.c (retrieve_url): Don't allow more than 20 redirections.
+
+2001-11-30 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): Skip the non-inline entries when
+ enqueuing the children of a leaf HTML node in -p mode.
+ (descend_url_p): Ignore opt.no_parent when in -p mode and UPOS is
+ "inline".
+
+ * html-url.c (get_urls_html): Don't accept dash_p_leaf_HTML.
+ (collect_tags_mapper): When an entry is "inline", mark it as such.
+
+ * recur.c (descend_url_p): Fix test when checking for
+ acceptance/rejection rules.
+
+2001-10-31 Daniel BODEA <dali@dali-designs.com>
+
+ * netrc.c (search_netrc): When slack_default is 0, still look for
+ an account with matching password, just not the "default account".
+ HTTP Authorization using .netrc should now work as expected.
+
+2001-11-30 T. Bharath <TBharath@responsenetworks.com>
+
+ * http.c (persistent_available_p): Call SHUTDOWN_SSL if
+ test_socket_open fails.
+
+2001-11-30 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (display_image): Just print one CR to reset the
+ cursor position.
+
+2001-11-30 Christian Fraenkel <c.fraenkel@gmx.net>
+
+ * init.c: New command `ssl_egd_sock'.
+
+ * main.c (main): New option `--sslegdsock'.
+
+ * gen_sslfunc.c (ssl_init_prng): Seed the RNG using EGD.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * cmpt.c (memmove): Include a simple memmove implementation.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * headers: Guard against header files being included twice.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * gen-md5.c: Use unsigned char * as the buffer argument to
+ gen_md5_update.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.h: Declare select_fd.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (descend_url_p): When resolving no_parent, compare with
+ start_url, not parent url. Otherwise link from /a/b/ to /a/c/
+ wouldn't be followed, although the download started from /a/.
+
+2001-01-23 Herold Heiko <Heiko.Herold@previnet.it>
+
+ * config.h.ms, mswindows.h: defined HAVE_ISATTY, use _isatty for
+ MS VC; somebody with Borland compiler please check and provide
+ patch if possible;
+
+ * cmpt.c: provided a usleep emulation.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * host.c (address_list_new): Initialize al->faulty.
+
+2001-11-29 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * http.c (http_process_range): Accept the broken output of
+ "JavaWebServer/1.1.1".
+
+2001-11-28 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (dot_set_params): If PARAMS is unspecified, use
+ dot_style, if available.
+
+ * init.c: Ditto.
+
+ * main.c (main): Resurect --dot-style.
+
+ * progress.c (dot_finish): Print the quantity if we're left at the
+ beginning of a row.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * cmpt.c (random): Removed.
+
+ * retr.c (sleep_between_retrievals): Use the more portable rand()
+ instead of random().
+
+2001-11-27 Ian Abbott <abbotti@mev.co.uk>
+
+ * retr.c (retrieve_from_file): Initialize `new_file' to NULL to
+ prevent seg fault.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * connect.c (connect_to_many): Use address_list_set_faulty to
+ prevent the faulty address from being reused.
+
+ * host.c (address_list_set_faulty): New function.
+ (address_list_get_bounds): New function, instead of
+ address_list_count.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (convert_links): Don't translate %d-%d.
+
+ * main.c (print_help): Remove stray HAVE_RANDOM code.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * ftp.c (getftp): Improve output after sending PASV. Don't
+ attempt to "look up" the IP address we already know; call
+ connect_to_one directly.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c: Change the default progress implementation to "bar".
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_create): Print two newlines.
+
+2001-11-27 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * cmpt.c (random): New function, a simple-minded replacement for
+ random() on systems that don't have it.
+
+2001-11-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * config.h.in: Put a HAVE_USLEEP stub.
+
+ * cmpt.c (usleep): Replacement implementation of usleep using
+ select.
+
+ * init.c: New option init_rate.
+
+ * main.c (main): New option --limit-rate.
+
+ * retr.c (limit_bandwidth): New function.
+ (get_contents): Call it to limit the bandwidth used when
+ downloading.
+
+ * progress.c (dot_update): Would print the wrong download speed on
+ rows other than the first one when the download was continued.
+ (dot_finish): Ditto.
+
+2001-11-26 Ian Abbott <abbotti@mev.co.uk>
+
+ * http.c (gethttp): fix undeclared variable 'err' when compiled
+ with HAVE_SSL.
+
+2001-11-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c: Don't allocate new timers; use the timing data
+ propagated from the caller.
+
+ * retr.c (get_contents): Allocate and use a timer.
+
+2001-11-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * http.c (last_host_ip): Made into an address_list.
+ (invalidate_persistent): Release pc_last_host_ip.
+ (register_persistent): Use lookup_host.
+ (persistent_available_p): Check for equality of hosts using
+ address_list_match_all. Call address_list_release.
+ (http_cleanup): New function.
+
+ * ftp.c (getftp): Use lookup_host and connect_to_many.
+
+ * http.c (gethttp): Use lookup_host and connect_to_many.
+
+ * connect.c (make_connection): Removed.
+ (connect_to_one): New function.
+ (connect_to_many): Ditto.
+ (set_connection_host_name): Ditto.
+
+ * host.c (lookup_host): New function; new return type.
+ (address_list_new): New function.
+ (address_list_count): Ditto.
+ (address_list_copy_one): Ditto.
+ (address_list_delete): Ditto.
+ (address_list_release): Ditto.
+ (pretty_print_address): Ditto.
+
+2001-11-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (retrieve_tree): In case of followed redirection,
+ blacklist the pre-redirection URL.
+
+2001-11-26 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (descend_redirect_p): New function.
+ (retrieve_tree): Make sure redirections are not blindly followed.
+
+2001-11-04 Alan Eldridge <alane@geeksrus.net>
+
+ * config.h.in: added HAVE_RANDOM.
+
+ * options.h: added random_wait to struct options.
+
+ * main.c (print_help [HAVE_RANDOM], main): added arg parsing, help
+ for --random-wait.
+
+ * retr.c (sleep_between_retrievals) [HAVE_RANDOM]: added
+ implementation of random wait times.
+
+ * init.c (commands): added "randomwait" keyword.
+
+2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (descend_url_p): Be more conservative with blacklisting
+ URLs.
+ (convert_all_links): Print how many files have been converted, and
+ how long it took.
+
+ * progress.c (create_image): Place the number of downloaded bytes
+ right after the progress bar.
+
+ * utils.c (suffix): Return a pointer into the string.
+
2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
* url.c (convert_links): Handle CO_NULLIFY_BASE.