]> sjero.net Git - wget/blobdiff - src/ChangeLog
[svn] Mark <embed href=...> as external.
[wget] / src / ChangeLog
index 8c799ddafbef8d71b3d2a59e7ca8e31e2c01d91d..af8fb0cadd44fbd62095b4927940738219ddfe3d 100644 (file)
@@ -1,3 +1,776 @@
+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.
+
+2001-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * main.c (main): Initialize progress after fork_to_background, so
+       that it knows when to use dots.
+
+       * mswindows.c (ws_hangup): Call log_request_redirect_output.
+
+       * utils.c (fork_to_background): Print the PID of the child
+       process.
+
+       * log.c (log_request_redirect_output): Set a flag that output
+       redirection has been requested.  Doing anything else in a signal
+       handler is unsafe.
+       (check_redirect_output): New function: check whether redirection
+       has been requested and, if so, call redirect_output().
+       (logputs): Call check_redirect_output.
+       (logprintf): Ditto.
+       (debug_logprintf): Ditto.
+       (redirect_output): Print clearer messages.
+
+       * main.c (redirect_output_signal): Don't call
+       redirect_output_signal directly.  Instead, call
+       log_request_redirect_output.
+
+       * utils.c (memfatal): Ditto.
+
+       * progress.c (display_image): Use it.
+
+       * log.c (log_set_save_context): New function: allow the caller to
+       turn off saving log context lines.
+
+2001-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * host.c (address_list_set_faulty): Uncomment a sanity check.
+
+2001-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (long_to_string): Return a pointer after where the
+       number ends.
+       (long_to_string): Rename to number_to_string.
+
+2001-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (path_simplify): Correctly handle the unlikely case that
+       b starts out as path + 1.
+
+2001-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (path_simplify): Rewrite, with better comments, and
+       without the use of strcpy to move overlapping blocks.
+
+2001-12-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * init.c (cmd_spec_progress): Resurrect.  Check whether VAL is a
+       valid progress type before setting it.
+
+2001-12-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * main.c (main): Remove stray debugging message.
+
+2001-12-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (create_image): Fix ETA padding when hours are prined.
+
+2001-12-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * version.c: Wget 1.8 is released.
+
+2001-12-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (reencode_string): Declare static.
+
+       * res.c (registered_specs): Declare static.
+
+       * progress.c (current_impl_locked): Declare static.
+
+       * log.c (flush_log_p): Declare static.
+       (needs_flushing): Ditto.
+
+       * http.c (digest_authentication_encode): Declare static.
+
+       * html-url.c (init_interesting): Declare static.
+
+       * host.c (host_name_addresses_map): Declare static.
+
+       * cookies.c (find_matching_chains): Declare static.
+
+       * ftp-ls.c (ftp_parse_vms_ls): Warn about the memory leak
+       indicated by lint.
+
+       * utils.c (path_simplify): Remove unused variable STUB_CHAR.
+
+       * host.c (address_list_set_faulty): Document that INDEX is
+       currently unused.
+
+       * url.c (rewrite_shorthand_url): Remove unused variable PATH.
+
+2001-12-08  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * version.c: Wget 1.8-pre2 is released.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (progress_handle_sigwinch): Set up the signal again.
+
+       * utils.c: Include <sys/termios.h>, where Solaris defines
+       TIOCGWINSZ.
+
+       * progress.c (bar_create): Don't use the last column on the screen.
+       (create_image): Pad ETA to constant size.  Pad SIZE to nine digits
+       only until it exceeded them.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * version.c: Wget 1.8-pre1 is released.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (progress_create): Make sure that, when the output is
+       redirected, the progress implementation gets changed to the
+       fallback one.
+       (bar_set_params): Set current_impl_locked to 1 when "force" is
+       specified.
+       (progress_create): Don't change the progress implementation if
+       current_impl_locked is non-zero.
+
+       * main.c (redirect_output_signal): Call
+       progress_schedule_redirect.
+
+       * progress.c (progress_schedule_redirect): New function.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * log.c (logvprintf): Restructure to allow being called multiple
+       times.
+       (logprintf): Call logvprintf in a loop.
+       (debug_logprintf): Ditto.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * gen_sslfunc.c (ssl_init_prng): Allow the user to disable EGD by
+       setting egd_file it to empty string.
+
+       * main.c (main): Change the option name from --sslegdsock to
+       --egd-file.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * gen_sslfunc.c (ssl_init_prng): Make the printed message
+       translatable.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (scheme_disable): New function.
+
+       * main.c (main): Call ssl_init_prng from here rather than from
+       init_ssl, so that it has a chance to disable support for https
+       before a URL has been resolved.
+
+       * gen_sslfunc.c (ssl_init_prng): Seed with rand() if all else
+       failed.
+       (ssl_init_prng): Disable support for https if seeding the PRNG
+       fails.
+
+2001-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (read_whole_line): Handle lines beginning with \0.
+
+2001-12-05  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * recur.c (convert_all_links): Guard against duplicates in
+       downloaded_html_files.
+       (register_download): Don't invalidate similar-looking URLs.
+       (match_except_index): New function.
+
+2001-12-05  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (path_simplify): Document with test cases.
+
+2001-12-04  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * gen_sslfunc.c: Ditto.
+
+       * rbuf.c: Include <string.h>.
+
+2001-12-04  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * recur.c (retrieve_tree): Check whether the URL was already
+       downloaded before downloading it again.
+       (descend_child_p): Renamed to download_child_p.
+       (register_download): When one URL is downloaded to a file already
+       "owned" by another URL, delete all references that map any URL to
+       that file.
+       (register_delete_file): New function.
+       (retrieve_tree): Use it after deleting a file.
+
+       * url.c (url_parse): Re-canonicalize the URL also if the path is
+       empty, so that e.g. "http://www.server.com" ->
+       "http://www.server.com/".
+       (lowercase_str): Use ISUPPER instead of !ISLOWER.
+
+       * retr.c (retrieve_url): Use the canonical URL form when calling
+       register_download().
+
+2001-12-04  Ian Abbott <abbotti@mev.co.uk>
+
+       * snprintf.c (dopr): Use `unsigned int' as the second argument to
+       va_arg when casting to `unsigned short' is intended.
+
+2001-12-04  Herold Heiko  <Heiko.Herold@previnet.it>
+
+       * gen_sslfunc.c: on windows provide ssl crypto random 
+         initialization through RAND_screen(); could possibly
+         be not enough for strong ssl communication (see the 
+         relevant manual page from the openssl package).
+
+2001-12-04  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (local_quote_string): Reenable quoting of question marks,
+       but only when `--html-extension' is used.
+
+2001-12-03  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * version.c: Wget 1.8-beta3 is released.
+
+2001-12-03  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * snprintf.c (dopr): Cast the result of va_arg to short int and
+       short unsigned int where these types are expected to be used.
+
+2001-12-03  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * snprintf.c (dopr): Replace `short int' and `unsigned short int'
+       with `int' when using it as the second argument to `va_arg'.
+
+2001-12-03  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * host.c (address_list_new_one): New function.
+       (lookup_host): Use it.
+
+2001-12-03  Andre Majorel  <amajorel@teaser.fr>
+
+       * host.c (lookup_host): Don't initialize TMPSTORE directly because
+       it's not legal C.
+
+2001-12-03  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * ftp-basic.c (ftp_port): Don't return HOSTERR if we fail getting
+       the socket data.
+
+       * ftp.c: Ditto.
+
+       * http.c: No need to declare h_errno.
+
+       * host.c: Declare h_errno.
+
+2001-12-02  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (file_merge): If BASE doesn't contain a slash, just
+       return a copy of FILE.
+
+2001-12-02  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * version.c: Wget 1.8-beta2 is released.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * ftp.c (getftp): When PWD fails, assume "/".
+
+       * ftp-basic.c (ftp_syst): Fix indentation.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (get_urls_file): If opt.base_href is specified, merge each
+       URL with the base.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * main.c (print_help): Don't document the removed `-nh'.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (url_full_path): Document better.
+
+       * http.c (gethttp): Use the full path when creating digest
+       authorization.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * cookies.c (path_matches): Return 0 if PREFIX doesn't begin with
+       '/'.
+
+2001-12-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * cookies.c (path_matches): FULL_PATH doesn't begin with '/', but
+       PREFIX does.
+
+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>
+
+       * version.c: Wget 1.8-beta1 is released.
+
+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.
+
+       * 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.