+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.
+
+ * recur.c (retrieve_tree): Ignore download-ignorable children.
+ (convert_all_links): Specify CO_NULLIFY_BASE when link_base_p.
+
+ * html-url.c (handle_link): Return the newly created urlpos.
+ (collect_tags_mapper): When dealing with BASE, store the base
+ reference and mark it as download-ignorable.
+
+2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (convert_links): Attempt to quote '?' as "%3F" when
+ linking to local files. Given up on the attempt, as it breaks
+ local browsing.
+
+2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * main.c (private_initialize): Removed.
+ (main): Don't call private_initialize.
+
+ * http.c: Call lookup_host.
+
+ * host.c (host_init): Removed.
+ (add_host_to_cache): Initialize host_name_address_map here, on
+ demand.
+ (ngethostbyname): Commented out.
+
+ * connect.c (make_connection): Remove dead code; use lookup_host.
+
+ * host.c (store_hostaddress): Renamed to lookup_host and reversed
+ the args.
+ Removed host_address_name_map and host_slave_master_map.
+
+2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (dot_create): Align the "[ skipping ... ]" string
+ with the dots.
+
+ * retr.c (rate): Split into two functions: calc_rate and
+ retr_rate.
+
+ * progress.c (create_image): Draw a dummy progress bar even when
+ total size is unknown.
+ (display_image): Place the text cursor at the end of the "image".
+
+2001-11-25 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (reencode_string): Use unsigned char, not char --
+ otherwise the hex digits come out wrong for 8-bit chars such as
+ nbsp.
+ (lowercase_str): New function.
+ (url_parse): Canonicalize u->url if needed.
+ (get_urls_file): Parse each URL, and return only the valid ones.
+ (free_urlpos): Call url_free.
+ (mkstruct): Add :port if the port is non-standard.
+ (mkstruct): Append the query string to the file name, if any.
+ (urlpath_length): Use strpbrk_or_eos.
+ (uri_merge_1): Handle the cases where LINK is an empty string,
+ where LINK consists only of query, and where LINK consists only of
+ fragment.
+ (convert_links): Count and report both kinds of conversion.
+ (downloaded_file): Use a hash table, not a list.
+ (downloaded_files_free): Free the hash table.
+
+ * retr.c (retrieve_from_file): Ditto.
+
+ * main.c (main): Call either retrieve_url or retrieve_tree
+ for each URL, not both.
+
+ * retr.c (register_all_redirections): New function.
+ (register_redirections_mapper): Ditto.
+ (retrieve_url): Register the redirections.
+ (retrieve_url): Make the string "Error parsing proxy ..."
+ translatable.
+
+ * res.c (add_path): Strip leading slash from robots.txt paths so
+ that the path representations are "compatible".
+ (free_specs): Free each individual path, too.
+ (res_cleanup): New function.
+ (cleanup_hash_table_mapper): Ditto.
+
+ * recur.c (url_queue_new): New function.
+ (url_queue_delete): Ditto.
+ (url_enqueue): Ditto.
+ (url_dequeue): Ditto.
+ (retrieve_tree): New function, replacement for recursive_retrieve.
+ (descend_url_p): New function.
+ (register_redirection): New function.
+
+ * progress.c (create_image): Cosmetic changes.
+
+ * init.c (cleanup): Do all those complex cleanups only if
+ DEBUG_MALLOC is defined.
+
+ * main.c: Removed --simple-check and the corresponding
+ simple_host_check in init.c.
+
+ * html-url.c (handle_link): Parse the URL here, and propagate the
+ parsed URL to the caller, who would otherwise have to parse it
+ again.
+
+ * host.c (xstrdup_lower): Moved to utils.c.
+ (realhost): Removed.
+ (same_host): Ditto.
+
+2001-11-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * utils.c (path_simplify): Preserver the (non-)existence of
+ leading slash. Return non-zero if changes were made.
+
+2001-11-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_update): Don't modify bp->total_length if it is
+ zero.
+
+2001-11-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * retr.c (retrieve_url): When the redirection URL doesn't parse,
+ print the correct error message rather than "UNKNOWN".
+
+2001-11-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_finish): If the timer didn't record any time
+ since the download beginning, fake 1ms.
+
+2001-11-24 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * recur.c (recursive_retrieve): Fix typo.
+
+2001-11-23 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (create_image): Don't translate "%ld ".
+
+2001-11-23 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_set_params): Allow the user to force the use of
+ the bar.
+
+2001-11-23 Lemble Gregory <gregory.lemble@st.com>
+
+ * gen_sslfunc.c (ssl_init_prng): New function; seed the SSL RNG.
+
+2001-11-23 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c: Renamed dp_* functions to dot_* for greater clarity
+ and consistency with bar_*.
+ (print_download_speed): Get rid of the unneeded '@' character.
+ (create_image): Fix download rate geometry.
+
+ * progress.c (print_elapsed): Remove spurious space.
+ (print_elapsed): Renamed to print_download_speed, since that's
+ what it does.
+
+2001-11-23 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * progress.c (bar_update): If the downloaded amount becomes larger
+ than the expected amount, adjust the expected amount accordingly.
+
+2001-11-23 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * utils.c (determine_screen_width): New function.
+
+ * main.c (main): New option `--progress=TYPE'.
+ (main): Implement compatibility with the old option `--dot-style'.
+
+ * init.c: Removed cmd_spec_dotstyle -- that logic is now in
+ dp_set_params.
+ (cmd_spec_progress): New function.
+
+ * retr.c (get_contents): Use the progress_* functions instead of
+ the old show_progress().
+ (show_progress): Removed.
+ (rate): Print "xxxx.xx K/s" instead of "KB/s". Ditto for MB/s,
+ etc.
+
+ * progress.c (set_progress_implementation): New function.
+ (valid_progress_implementation_p): Ditto.
+ (progress_create): Ditto.
+ (progress_update): Ditto.
+ (progress_finish): Ditto.
+ (dp_create): Ditto.
+ (dp_update): Ditto.
+ (dp_finish): Ditto.
+ (dp_set_params): Ditto.
+ (print_elapsed): Ditto.
+
+2001-11-22 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * retr.c (show_progress): Use it.
+
+ * log.c (log_set_flush): New function.
+
+2001-11-22 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * utils.c (path_simplify): Don't remove trailing slashes.
+
+ * ftp.c (ftp_get_listing): Use it.
+
+ * utils.c (file_merge): New function.
+
+ * url.c (opt_url): Removed.
+
+ * recur.c (recursive_retrieve): Inline "opt_url" logic.
+
+ * main.c (main): Use xfree(), not free().
+
+ * url.c (rewrite_url_maybe): Renamed to rewrite_shorthand_url.
+
+ * ftp.c (ccon): Move `ccon' typedef here, since it's only used
+ internally.
+
+ * config.h.in: Include a stub for HAVE_STRPBRK.
+
+ * cmpt.c (strpbrk): Include a replacement for systems without
+ strpbrk().
+
+ * ftp.c: Use url_set_dir and url_set_file when modifying the URL.
+
+ * url.c (url_set_dir): New function.
+ (url_set_file): Ditto.
+
+ * ftp-basic.c (ftp_process_type): Process FTP type here; the URL
+ parser makes the URL "params" available, so we can do that in this
+ function.
+
+ * retr.c: Ditto.
+
+ * ftp.c: Ditto; pass the local file information in `ccon'.
+
+ * http.c: Get rid of the ugly kludge that had URL being replaced
+ with the proxy URL when proxy retrieval was requested. Use a
+ separate parameter to http_loop and gethttp for the proxy URL.
+
+ * http.c: Changed to reflect the fact that local file, proxy, and
+ referer information are no longer stored in struct url. The local
+ file information is passed in `struct hstat' now.
+
+ * url.c: Reworked URL parsing to be more regular. Reencode the
+ URL using reencode_string.
+ Removed non-URL-related information from struct url. This
+ includes fields `proxy', `local', and `referer'.
+
+2001-11-22 Jochen Hein <jochen@jochen.org>
+
+ * main.c (main): Split the copyright notice for easier
+ translation.
+
+2001-08-21 Dave Turner <dct25@hermes.cam.ac.uk>
+
+ * ftp-basic.c (ftp_size): New function to send non-standard SIZE
+ command to server to request file size.
+ * ftp.h (ftp_size): Export it.
+ * ftp.c (getftp): Use new ftp_size function if restoring
+ transfer of a file with unknown size.
+
+2001-11-20 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (parseurl): Don't depend on the now-obsolete TYPE.
+
+2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c (getproxy): Handle URL shorthands.
+
+2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * main.c: Remove --wait / --waitretry backwards compatibility
+ code.
+
+2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * main.c (main): Use it.
+
+ * url.c (rewrite_url_maybe): New function.
+
+2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c: Clean up handling of URL schemes.
+
+2001-05-13 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * url.c: Get rid of `protostrings'.
+ (skip_proto): Don't use protostrings.
+ (has_proto): Ditto.
+
+2001-11-18 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * Makefile.in: Conditionally compile getopt.o.
+
+2001-11-18 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * md5.h: Renamed to gnu-md5.h.
+
+ * md5.c: Renamed to gnu-md5.c.
+
+ * http.c: Ditto.
+
+ * ftp-opie.c: Use the new macros.
+
+ * sysdep.h: Define md5-related macros.
+
+ * config.h.in: Define HAVE_SOLARIS_MD5 or HAVE_BUILTIN_MD5
+ depending on which md5 implementation is used.
+
2001-11-18 Hrvoje Niksic <hniksic@arsdigita.com>
* res.c (res_register_specs): Initialize OLD and HP_OLD to appease