From ac7a99c6365898d3763b18e96703ec27e6039d8e Mon Sep 17 00:00:00 2001 From: hniksic <devnull@localhost> Date: Wed, 29 May 2002 18:51:09 -0700 Subject: [PATCH] [svn] New file. --- src/ChangeLog-branches/1.8_branch.ChangeLog | 6253 +++++++++++++++++++ 1 file changed, 6253 insertions(+) create mode 100644 src/ChangeLog-branches/1.8_branch.ChangeLog diff --git a/src/ChangeLog-branches/1.8_branch.ChangeLog b/src/ChangeLog-branches/1.8_branch.ChangeLog new file mode 100644 index 00000000..f73830ee --- /dev/null +++ b/src/ChangeLog-branches/1.8_branch.ChangeLog @@ -0,0 +1,6253 @@ +2002-05-28 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Wget 1.8.2 is released. + +2002-02-11 Christian Lackas <delta@lackas.net> + + * Recurive downloading for https fixed. + +2002-05-24 Hrvoje Niksic <hniksic@arsdigita.com> + + * progress.c (bar_set_params): Fall back to dot progress if the + terminal type is "emacs". + +2002-05-24 Hack Kampbjorn <wget@hack.kampbjorn.com> + + * url.c (mkstruct) [WINDOWS || __CYGWIN__]: Use `_' to separate domain + from port number in filename instead of `:'. + +2002-05-24 Ian Abbott <abbotti@mev.co.uk> + + * url.c (mkstruct) [WINDOWS || __CYGWIN__]: Replace query character + `?' with `@'. + (compose_file_name) [WINDOWS || __CYGWIN__]: Ditto. + +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> + + * progress.c (bar_create): If INITIAL is larger than TOTAL, fix + TOTAL. + (bar_finish): Likewise. + +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-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> + + * url.c (parse_uname): URL-decode *USER and *PASSWD. + +2002-02-19 Hrvoje Niksic <hniksic@arsdigita.com> + + * recur.c (retrieve_tree): Handle the case when start_url doesn't + parse. + +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-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Invalidate SOCK if get_contents encountered an + error. + +2002-04-16 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): If Content-Type is not given, assume + text/html. + +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-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * headers.c (header_get): Strip trailing whitespace from the + header. + +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. + +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. + +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. + + * 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 + the compiler. + +2001-11-18 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Print the whole response line when printing + headers is requested. + +2001-05-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * res.c: New file. Implement all RES-related code here. + +2001-11-18 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Wget 1.7.1 is released. + +2001-11-16 Hrvoje Niksic <hniksic@arsdigita.com> + + * headers.c (header_extract_number): Ignore trailing whitespace. + +2001-08-24 Ian Abbott <abbotti@mev.co.uk> + + * html-url.c (collect_tags_mapper): Fix bug converting links + with -k option for tags with multiple link attributes by + handling links in the order they appear. + +2001-08-15 Ian Abbott <abbotti@mev.co.uk> + + * ftp.c (ftp_loop_internal): Avoid a potential buffer overflow in + the call to the 'rate' function by moving it past the error + checking for the 'getftp' function return value. + +2001-11-16 Hrvoje Niksic <hniksic@arsdigita.com> + + * html-parse.c (advance_declaration): Use 0x22 instead of '"' or + '\"'. Different compilers' assert macros are broken in different + ways. + +2001-09-29 Christian Fraenkel <c.fraenkel@gmx.net> + + * http.c (gethttp): print debug output for errors occuring during + the ssl handshake. + +2001-11-16 Chris Seawood <cls@seawood.org> + + * init.c: Ditto. + + * host.c: Ditto. + + * connect.c: Ditto. + + * sysdep.h: Support compilation under BEOS. + +2001-06-08 Edward J. Sabol <sabol@alderaan.gsfc.nasa.gov> + + * url.c (url_equal): Fix a memory leak when parseurl returns an + error on the second URL. Also, since url_equal is not used at the + moment, do not compile it. + + * url.h: Ditto for the prototype of url_equal. + +2001-11-16 Hrvoje Niksic <hniksic@arsdigita.com> + + * html-parse.c (map_html_tags): Support XML-style empty tags. + +2001-06-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h (DO_REALLOC_FROM_ALLOCA): Check for do_realloc_newsize in + loop condition because we're no longer setting SIZEVAR here. + +2001-06-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h (DO_REALLOC_FROM_ALLOCA): Set SIZEVAR after the memcpy() + call because it needs the old value. + +2001-06-18 Hrvoje Niksic <hniksic@arsdigita.com> + + * cookies.c (ATTR_NAME_CHAR): Allow almost any character to be in + an attribute name. + +2001-06-18 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (url_filename): Make sure that slashes that sneak in to + u->file via query string get protected. + (file_name_protect_query_string): New function. + +2001-06-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * recur.c (recursive_retrieve): Also check undesirable_urls with + canonicalized URL. + +2001-06-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Search `.netrc' with real host, not the proxy + one. + +2001-06-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * sysdep.h (MAP_FAILED): Provide MAP_FAILED for systems that don't + define it. + +2001-06-09 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp.h: Provide correct prototype for ftp_parse_ls(). + +2001-06-04 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Wget 1.7 is released. + +2001-06-03 Karl Eichwalder <ke@suse.de> + + * ftp-ls.c (ftp_parse_ls): Fix typo. + +2001-05-27 Hrvoje Niksic <hniksic@arsdigita.com> + + * all: Update copyright information. + +2001-05-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Indicate that the continued download failed + for *this* file. + +2001-05-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Wget 1.7-pre1 is released. + +2001-05-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Updated version to 1.7-pre1. + +2001-05-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * gen_sslfunc.c: Don't include <sys/time.h> directly. + +2001-05-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Use real URL data for cookies, not the proxy + stuff. + +2001-05-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (print_help): Document `--no-http-keep-alive'. + + * utils.c (numdigit): Handle negative numbers *correctly*. + + * hash.c (make_nocase_string_hash_table): Use term "nocase" rather + than the confusing "unsigned". + + * utils.c (string_set_contains): Renamed from string_set_exists. + + * hash.c (hash_table_contains): Renamed from hash_table_exists. + + * cookies.c: Move case-insensitive hash tables to hash.c. + +2001-05-09 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Before concluding that the file is already + fully retrieved, make sure that the file existed and `Range' was + actually requested. + +2001-05-09 Hrvoje Niksic <hniksic@arsdigita.com> + + * cookies.c (eliminate_dups): New function. + (build_cookies_request): Use it. + (build_cookies_request): Set chain_store_size after reallocating + all_chains. + (check_domain_match): Annotated for easier future debugging. + (store_cookie): In the debug message, print whether the cookie is + permanent. + +2001-05-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): Reset no_truncate before deciding whether to + set it. + (gethttp): Further clarify "-c conflicts with existing file" error + message, based on input from Herold Heiko. + +2001-05-07 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): If restval is set, set no_truncate to 1 + unconditionally. + +2001-05-02 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_winnt_ls): Assure months are being correctly + converted. Pointed out by <Stefan.Weil@de.heidelberg.com>. + (ftp_parse_vms_ls): Ditto. + +2001-04-30 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c (cmd_address): Zero SIN before using it; apparently + needed on *BSD. + +2001-04-29 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_loop_internal): Don't set NO_TRUNCATE if the file is + empty. + +2001-04-29 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (main): Make `--cookies' respect its argument. + +2001-04-28 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (main): Removed undocumented option `--email-address'. + + * netrc.c: Use the latest read_whole_line. + + * init.c (defaults): Set opt.ftp_pass to "-wget@". + + * mswindows.c (pwd_cuserid): Ditto. + + * utils.c (pwd_cuserid): Removed. + + * host.c (ftp_getaddress): Removed. + +2001-04-28 Hrvoje Niksic <hniksic@arsdigita.com> + + (http_loop): Allocate space for filename_plus_orig_suffix with + alloca; this is more efficient and removes the need to free it + before each and every return. + +2001-04-28 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Return RETRUNNEEDED when the retrieval is + unneeded because the file is already there and fully downloaded, + and -c is specified. + (http_loop): Handle RETRUNNEEDED. + + * wget.h (uerr_t): New value RETRUNNEEDED. + + * http.c (http_loop): Set no_truncate for files that both exist + and are non-empty. + (gethttp): Consider the download finished when restval >= contlen, + not only when restval==contlen. + (gethttp): Handle redirection before giving up due to -c. + (gethttp): Clarify error message which explains that -c will not + truncate the file. + (gethttp): When returning CONTNOTSUPPORTED, don't forget to free + the stuff that needs freeing and release the socket. + +2001-04-27 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (print_help): Wget booleans accept "off", not "no". + +2001-04-27 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): If allow_cache is zero, always disable + caching, not only when retrieving through proxy. + + * init.c: Ditto. + + * options.h (struct options): Rename proxy_cache to allow_cache. + +2001-04-27 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (mktime_from_utc): Improve documentation. + (http_atotm): Put format strings into a separate array. + +2001-04-27 Hrvoje Niksic <hniksic@arsdigita.com> + + * safe-ctype.h: Instead of throwing #error when isalpha is + defined, redefine it to something that will throw a compile-time + error if actually *used*. Do the same for the rest of the + standard C macros. + +2001-04-26 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (getproxy): Ignore empty proxy vars. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): Would load cookies every time. + + * cookies.c (load_cookies): Handle cookies whose values contain + embedded spaces. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c: Define each DIGITS_* in one line. + +2001-04-25 Roger L. Beeman <beeman@cisco.com> + + * http.c (http_atotm): Initialize t.tm_isdst to 0. + (mktime_from_utc): Prevent mktime() from having discontinuities at + DST transition points. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * html-url.c (get_urls_html): Fix documentation. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (UNSAFE_CHAR): Reimplement using a static table. + (url_init): Removed. + (init_unsafe_char_table): Removed. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * snprintf.c (dopr): Replace ISDIGIT with '0' <= ch && ch <= '9'. + +2001-04-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c: Document timer functions. + + * retr.c (rate): Use it. + (rate): Print in GB/s if transfer rate exceeds 1 GB/s. + + * utils.c (wtimer_granularity): New function. + +2001-04-24 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (show_progress): Ditto. + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Use new timer functions. + + * utils.c (wtimer_allocate): New function. + (wtimer_new): Ditto. + (wtimer_delete): Ditto. + (wtimer_reset): Ditto. + (wtimer_elapsed): Ditto. + +2001-04-24 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (long_to_string): New, faster version. Favors smaller + numbers; much of the calculation is now done at compile-time. + +2001-04-24 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (numdigit): Handle negative numbers. + +2001-04-23 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (show_progress): Print the download rate even when the + percentages are not available. + +2001-04-21 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (getftp): Adjust expected_bytes if the length is + authoritative. + +2001-04-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c: Don't declare `construct'. + + * hash.c (grow_hash_table): Speed up rehashing; inline storing of + mappings to new locations. + (hash_table_new): Make resize_threshold a field in the hash table, + so we don't have to recalculate it in each hash_table_put. + (grow_hash_table): Update resize_threshold. + (MAX): Remove unused macro. + (prime_size): Made static. + +2001-04-14 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): Call uri_merge, not url_concat. + + * html-url.c (collect_tags_mapper): Call uri_merge, not + url_concat. + + * url.c (mkstruct): Use encode_string instead of xstrdup followed + by URL_CLEANSE. + (path_simplify_with_kludge): Deleted. + (contains_unsafe): Deleted. + (construct): Renamed to uri_merge_1. + (url_concat): Renamed to uri_merge. + +2001-04-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (str_url): Use encode_string instead of the unnecessary + CLEANDUP. + (encode_string_maybe): New function, returns input string if no + encoding is needed. + (encode_string): Call encode_string_maybe to do the dirty work, + xstrdup if no work needed. + +2001-04-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h (XDIGIT_TO_xchar): Define here. + + * url.c (decode_string): Use new name. + (encode_string): Ditto. + + * http.c (XDIGIT_TO_xchar): Rename HEXD2asc to XDIGIT_TO_xchar. + (dump_hash): Use new name. + + * wget.h: Rename ASC2HEXD and HEXD2ASC to XCHAR_TO_XDIGIT and + XDIGIT_TO_XCHAR respectively. + +2001-04-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c: Include cookies.h. + + * cookies.h: Declare cookies_cleanup. + + * cookies.c (check_domain_match): Remove unused variable. + (save_cookies): Remove extraneous argument from debug statement. + + * host.c (same_host): Don't call skip_url. + + * url.c (skip_url): Removed. Removed its calls from various + functions in url.c. + +2001-04-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * cookies.c (unsigned_string_hash): Use the new code in + string_hash as reference. + + * hash.c (hash_table_map): Allow deletion and change of the + element processed by MAPFUN. + (string_hash): Use the function from glib. + +2001-04-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * config.h.in: Include #undef stub. + + * hash.c (hash_table_remove): Rewrite to actually clear deleted + entries instead of just marking them as deleted. + +2001-04-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * hash.h: Declare hash_table_get_pair and hash_table_count. + +2001-04-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * cookies.c: Declare http_atotm. + +2001-04-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp-ls.c (ftp_parse_unix_ls): Use octal constants for + permissions. A compiler that doesn't accept octal constants is + seriously broken and shouldn't be used -- octal constants were + present in K&R C! + +2001-01-20 Karl Eichwalder <ke@suse.de> + + * Makefile.in: Provide and use DESTDIR according to the Coding + Standards. + +2001-04-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp-ls.c (ftp_parse_vms_ls): Make seconds optional in time + specification. + +2001-04-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (parseurl): Don't strip trailing slash when u->dir is "/" + because that strips the *leading* slash, thus forcing relative + FTP retrieval. + +2001-04-10 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp.c (getftp): Convert initial FTP directory from VMS to UNIX + notation for VMS servers. + (ftp_retrieve_dirs): Do not prepend '/' to f->name when + odir is an empty string. + +2001-04-10 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_winnt_ls): Made the fix for AM/PM more + effective. Suggested by Edward J. Sabol. + +2001-04-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * cookies.c (build_cookies_request): Use and sort cookies from all + matching domains. + (build_cookies_request): Check for duplicates before generating + the `Cookies' header. + + * main.c (main): Don't load cookies here. + (main): Make loadcookies and savecookies call the correct command. + + * http.c (http_loop): Load cookies on-demand. + +2001-04-09 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Fix indentation of SSL ifdef. + +2001-04-09 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_retrieve_dirs): Don't forcibly prepend "/" to u->dir; + that hack is no longer necessary. + (getftp): Prepend initial directory to *non*-absolute u->dir's. + +2001-04-09 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c (cmd_file): New function. + (enable_tilde_expansion): New variable. + (run_wgetrc): Use it. + (cmd_file): Use it. + +2001-04-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c: Include cookie-related options. + + * main.c (main): Include cookie-specific options. + (main): Load cookies before download is finished. + (main): Save cookies when done. + + * http.c (gethttp): Process the `Set-Cookie' header. + (gethttp): Include cookies in the response. + + * cookies.c: New file. + +2001-04-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (datetime_str): New function. + +2001-04-08 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_winnt_ls): The AM/PM change did assume + 12:01PM == 00:01, which was obviously wrong. Taken care of this + anomaly. + + * ChangeLog: Removed an excess conflict marker. Reformatted the + entry by Philipp Thomas from 2001-03-09. + + * ftp-ls.c (ftp_parse_winnt_ls): Ensure that adjusted PM hours lay + between 0 and 23. Elminate unused variable `sec'. + +2001-04-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * hash.c (hash_table_count): New function. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (read_file): Cast MAP_FAILED to char *. Enforced by + Digital Unix cc. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * config.h.in: Oops, do the namespace tweaks only on systems we + know about. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * hash.c: Include <string.h>. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * config.h.in: Define "compilation environment" options that work + under Linux and Solaris. To be reviewed on other OS'es. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Prepend literal newline with `\n\'. + +2001-04-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * sysdep.h: Don't define VERY_LONG_FORMAT. + + * utils.c (very_long_to_string): New function. + (legible_very_long): Use it; don't use VERY_LONG_FORMAT. + +2001-04-04 Christian Fraenkel <christian.fraenkel@gmx.net> + + * url.c (parse_uname): Would run past the end of the string if the + username was present, but the URL did not contain a slash, e.g. + http://foo:bar@myhost. + +2001-04-03 KOJIMA Hajime <kjm@rins.ryukoku.ac.jp> + + * http.c (http_atotm): Use %A instead of %a to match full + weekday. (On most systems there is no difference.) + +2001-04-03 Paul Bludov <paul@ozero.net> + + * mswindows.c (sleep): Use SleepEx() instead of Sleep(). + (ws_changetitle): Use alloca() instead of malloc() to avoid memory + leak. + (ws_mypath): Use GetModuleFileName instead of argv[0]. + (ws_startup): Use data.wVersion for comparison. + +2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): Ditto. + + * ftp.c (ftp_loop_internal): Made the check whether to continue + retrieval `-O'-friendly. + +2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * netrc.c (parse_netrc): Don't trim the line endings explicitly; + they will be handled as whitespace. + (parse_netrc): Correctly handle lines that end with whitespace. + +2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): New variable global_download_count used + to identify first retrieval. + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Rewind opt.dfp only on first retrieval. + +2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c (cmd_address): Heap-allocate the address that gets stored + to CLOSURE. Old code would simply assign an address on the stack. + +2001-04-01 Nicolas Lichtmaier <nick@debian.org> + + * ftp.c (ftp_get_listing): Propagate error status. + (ftp_retrieve_glob): Use it. + (ftp_loop): Ditto. + +2001-04-01 Nicolas Lichtmaier <nick@debian.org> + + * main.c (main): Add -C to the string that is the third arg to + getopt_long(). + +2001-04-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (getftp): Don't start the download from scratch if `-c' + was specified, but the file is already fully downloaded. + + * http.c (gethttp): Don't truncate a pre-existing file if `-c' was + specified and the server doesn't support continued download. + (gethttp): Don't start the download from scratch if `-c' was + specified, but the file is already fully downloaded. + +2001-03-31 Hrvoje Niksic <hniksic@arsdigita.com> + + (recursive_retrieve): Don't clear the hash tables at this point at + all; it interferes with the normal operation of register_download. + +2001-03-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * recur.c (recursive_retrieve): Clear the hash tables only when + they are defined. + +2001-03-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Make sure the socket is closed with + CLOSE_INVALIDATE before we have drained the body. + +2001-03-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): Call register_download() for downloaded + files and register_html() for downloaded HTML files. + + * recur.c (register_download): New function; register here that a + file has been downloaded, rather than in recursive_retrieve(). + (register_html): New function; enqueue the location of HTML files + here rather than in recursive_retrieve(). + +2001-03-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (print_help): Use multiple fputs instead of a single ugly + printf(). + (main): Consistently assign numbers >128 to options without a + corresponding character. + +2001-03-09 Philipp Thomas <pthomas@suse.de> + + * safe-ctype.h: New file. Locale independent ctype.h replacement + taken from libiberty. + + * safe-ctype.c: New file. Tables for above. + + * Makefile.in: Add safe-ctype$o to OBJS. Add dependencies for + safe-ctype$o. + + * cmpt.c: Remove include of ctype.h. Use ISSPACE instead of + isspace. + + * ftp-basic.c: Don't include ctype.h. + + * ftp-ls.c: Likewise. + + * ftp.c: Likewise. + + * headers.c: Likewise. + + * host.c: Likewise. + + * html-parse.c: Likewise. + + * html-url.c: Likewise. + + * http.c: Likewise. + + * init.c: Likewise. + + * main.c: Likewise. Set LC_CTYPE along with LC_MESSAGES. + + * netrc.c: Likewise. + + * recur.c: Likewise. + + * retr.c: Likewise. + + * snprintf.c: Replace ctype.h with safe-ctype.h. Use ISDIGIT + instead of isdigit. + + * sysdep.h: Remove defines of ctype macros as they aren't needed + for safe-ctype-h. + + * url.c: Don't include ctype.h. + + * utils.c: Likewise. + + * wget.h: Include safe-ctype.h. + +2001-03-27 Dan Harkless <wget@harkless.org> + + * Makefile.in: Moved top_builddir out of "User configuration + section" of top Makefile and analogous spot in this one. + +2001-03-17 Dan Harkless <wget@harkless.org> + + * Makefile.in: Include @SSL_INCLUDES@ substition in INCLUDES. + Define top_builddir. Link wget with libtool so the user doesn't + have to supply a bunch of custom environment variables to + correctly link with the OpenSSL shared libraries. + +2001-03-06 Hack Kampbjorn <hack@hackdata.com> + + * http.c (gethttp): skip :port in host header if it is the + DEFAULT_HTTPS_PORT when using SSL. + + * url.c: move the #define of DEFAULT_HTTP_PORT, DEFAULT_FTP_PORT + and DEFAULT_HTTPS_PORT to the header file so it can be use in the + rest of the code. + * url.h: Ditto + +2001-03-01 Jonas Jensen <bones@huleboer.dk> + + * retr.c (show_progress): Correctly calculate the number of bytes + in the first line of the download that have been actually + downloaded in this run. + +2001-02-23 Dan Harkless <wget@harkless.org> + + * main.c (print_help): --help documentation for -N said it would + re-download files if they had the _same_ timestamp on server. + (print_help): -nr belongs in "FTP options" section of --help + output, not "Recursive retrieval" section. Alphabetized FTP + options by long option name. + +2001-02-16 Dan Harkless <wget@harkless.org> + + * init.c (commands): Hack Kampbj�rn <hack@hackdata.com> discovered + that "httpsproxy" had been inserted into commands[] out of + alphabetical order, causing "BUG: unknown command `httpuser'". + +2001-02-13 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_ls): Added support of ST_MACOS (Unix-like + listing without correct permissons). + + * ftp.h (stype): Added ST_MACOS to identify the NetPresenz MacOS + FTP server. + + * ftp.c (ftp_retrieve_list): New mirroring logic: A remote file + shall be donwloaded only when it's newer than the local copy or + when it has the same timeestamp but its size is different. ST_VMS + and ST_MACOS as special cases that lie about file size. + + * ftp-ls.c (ftp_parse_ls): Support for ST_MACOS. + + * Makefile.in: Removed dependency on ftpparse library due to unclear + copyright issues and absence of any feedback to our queries. + + * ftp-ls.c: Removed dependency on ftpparse library due to unclear + copyright issues and absence of any feedback to our queries. + (ftp_parse_ls): Added a warning message when remote server system + does not seem to be suported by wget. + (ftp_parse_vms_ls): New function for parsing VMS ftp + server listing output. + (clean_line): New function responsible for removing + end-of-line characters from FTP listing texts. + + * ftp.c (getftp): Global variables pwd and host_type are now + member of the ccon structure under names ccon.id and ccon.rs. + + * ftp.h (struct ccon): Added formed global variables from ftp.c, + enum stype rs (remote system identification) and char *id (initial + working directory), as suggested by Hrvoje. + + * url.c (parse_uname): Added support for passwords containing '@' + characters. + (skip_uname): Ditto. + +2001-02-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_loop): Reset con. + +2001-01-06 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * url.c (parse_uname): Added support for passwords containing '@' + characters. + (skip_uname): Ditto. + +2001-02-11 Hack Kampbj�rn <hack@hackdata.com> + + * url.c (parseurl): Debug-print u->ftp_type. + +2001-02-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_loop_internal): Disable padding. + (getftp): Ditto. + + * http.c (http_loop): Disable padding. + + * retr.c (show_progress): Use it to enable padding. + + * retr.c (rate): Optional parameter PAD for padding the rate. + +2001-02-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (show_progress): Make sure that the last output line + includes progress. + +2001-02-10 Jonas Jensen <bones@huleboer.dk> + + * retr.c (show_progress): Print the download rate along with the + percentages. + Along with Anders Thorsby <anders@thorsby.dk>. + +2001-02-10 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> + + * ftp.h: Rename enums `command' to `wget_ftp_command' and + `fstatus' to `wget_ftp_status' because old names clash with Tru64 + net/if.h. + +2001-02-08 Christian Fraenkel <christian.fraenkel@gmx.net> + + * gen_sslfunc.c: verify_callback is now static + + * gen_sslfunc.c (init_ssl): load certificate if specified + + * gen_sslfunc.c (ssl_printerr): new function + + * init.c: added new --sslcertfile and --sslcertkey switches + + * main.c: ditto + + * options.h: ditto + + * http.c (gethttp): abort when init_ssl fails + +2001-01-23 Herold Heiko <Heiko.Herold@previnet.it> + + * mswindows.h: Include <malloc.h>; it's needed for alloca(). + +2001-01-10 Dan Harkless <wget@harkless.org> + + * url.c (str_url): Clarified this function's comment header after + Hrvoje answered my question on the list as to when hide != 1. + Also Hrvoje pointed out I need to use xstrdup() on the string literal. + +2001-01-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * connect.c (bindport): Declare addrlen as int. Diagnosed by + Drazen Kacar <dave@arsdigita.com>. + (conaddr): Ditto. + +2001-01-09 Dan Harkless <wget@harkless.org> + + * html-url.c: A bunch of fixup of `--page-requisites'-related + comments to reflect Hrvoje's changes to my code when transplanting + it into this new file, to fix spelling mistakes, to clarify, etc. + + * url.c (write_backup_file): Clarified a comment. + (str_url): Henrik van Ginhoven pointed out on the list that we + shouldn't give away the number of characters in the password by + replacing each character with a 'x'. Use "<password>" instead. + + * ftp.c (ftp_retrieve_dirs): The bug where recursion into FTP + directories didn't work if logging in put you in a directory other + than "/" is fixed now. Removed the comment here warning of the bug. + + * main.c (print_help): --continue's description was misleading. + We don't "restart", we "resume". Also, better to say + "partially-downloaded file" rather than just "existing file". + +2001-01-06 Dan Harkless <wget@harkless.org> + + * ChangeLog: The '[Not in 1.6 branch.]'s were decided not to be + the best way to go about my aim. Removed them in favor of: + + * ChangeLog-branches/1.6_branch.ChangeLog: New file. + +2001-01-04 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (replace_attr): New function, to be used by both + TO_COMPLETE and TO_RELATIVE case in convert_links. + (find_fragment): New function for finding URL fragments. + (replace_attr): Better handle the case where the original string + is not quoted. Use find_fragment. + (convert_links): Use replace_attr(). + +2000-12-31 Dan Harkless <wget@harkless.org> + + * ChangeLog: Since this flat file doesn't have multiple branches, + looking at the dates would make you think that things went into + 1.6 that actually just went into the 1.7-dev branch. Added "[Not + in 1.6 branch.]" where appropriate to clarify. + +2000-12-30 Dan Harkless <wget@harkless.org> + + * ftp.c, http.c: Applied Hack Kampbj�rn <hack@hackdata.com>'s + patch to deal with h_errno not being defined in netdb.h under Cygwin. + +2000-12-18 Csaba Raduly <csaba.raduly@sophos.com> + + * sysdep.h: Include <malloc.h> and <io.h> under Watcom. + +2000-12-17 Igor Khristophorov <igor@atdot.org> + + * http.c (check_end): Fix test for '+' or '-'. + +2000-12-17 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (parseurl): Rename inner loop var from i to ind to avoid + clash with the function top-level-declared variable i. + (str_url): Likewise, rename inner-loop i to j. + + * recur.c (parse_robots): Don't declare LEN at top of function. + (robots_match): Renamed parameter FORBIDDEN to avoid hiding of + global variable. + + * main.c (main): Change erroneous use of bitwise and to logical. + + * init.c (cmd_address): Don't heap-allocate `sin'; it can be on + the stack because it will be copied to closure. + + Thanks to Csaba Raduly's run of PC-LINT over the sources. + +2000-12-17 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (basic_authentication_encode): Use xmalloc(), not + malloc(). Thanks to Csaba Raduly's run of PC-LINT over the + sources. + +2000-12-17 Csaba Raduly <csaba.raduly@sophos.com> + + * sysdep.h: Test for __EMX__ rather than for EMXOS2 for OS/2 + compilation. + +2000-12-17 Hrvoje Niksic <hniksic@arsdigita.com> + + * mswindows.c: Include <errno.h>. + + * gen_sslfunc.c: Include <errno.h>. + + * ftp-basic.c: Don't attempt to declare errno or h_errno because + they're not used. + + * main.c: Include <errno.h> because errno is used. + + * ftp.c: Ditto. + + * http.c: Include <netdb.h> for h_errno. + +2000-12-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * html-parse.c (advance_declaration): MSVC assert() chokes on + '\"'. Use '"' instead. + +2000-12-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (xfree_real): Removed. + (xfree_debug): Just call free(). + + * wget.h (xfree): Make it an alias for free. + +2000-12-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): Furthermore, touch output_document only if + it is known to be an existing regular file. + +2000-12-11 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_retrieve_list): Ditto. + + * http.c (http_loop): Touch output_document if that is used for + output. + +2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c: Include gen_sslfunc.h after including Wget's headers. + (persistent_available_p): Needed coma before `int ssl'. + +2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_loop_internal): Ditto. + + * http.c (http_loop): Use it. + + * retr.c (sleep_between_retrievals): New function that handles the + logic of opt.wait and opt.waitretry. + +2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * rbuf.h: Implement only a single version of RBUF_READCHAR, using + rbuf_read_bufferful when the buffer is depleted. + + * rbuf.c (rbuf_read_bufferful): New function. + +2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * gen_sslfunc.h: Use ansi2knr style function declarations. + + * gen_sslfunc.c: Reformat according to the GNU coding standards. + More should be done. + + * http.c (persistent_available_p): Place the cheap SSL test nearer + the top of the function. + (CLOSE_FINISH, CLOSE_INVALIDATE): Define only one version of each. + +2000-12-05 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (init_unsafe_char_table): Reinstate space as an unsafe + char. + +2000-12-03 Christian Fraenkel <christian.fraenkel@gmx.net> + + * Makefile.in: added gen_sslfunc object + * config.h.in: added HAVE_SSL define + * connect.c: changed select_fd from static int to int + * connect.h: ditto + * gen_sslfunc.h: New file + * gen_sslfunc.c: ditto + * http.c: added HTTPS fuctionality + * retrc.c: ditto + * url.c: ditto + * init.c: added opt.httpsproxy + * options.h: ditto + * rbuf.h: added alternate rbuf struct + * wget.h: added CONSSLERR + * rbuf.c: ditto + + * http.c: Added HTTPS fuctionality. + + * retrc.c: Ditto. + + * url.c: Ditto. + + * init.c: Added opt.httpsproxy. + + * options.h: Ditto. + + * rbuf.h: Added alternate rbuf struct. + + * wget.h: Added CONSSLERR. + + * rbuf.c: Ditto. + +2000-11-30 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_unix_ls): Added second parameter + "ignore_perms" to ignore file and directory permissions for + Windows NT FTP server listings. + (ftp_parse_winnt_ls): New function. + (ftp_parse_ls): Parses UNIX and Windows NT listings + separately. Simple heuristics for distinguishing between UNIX and + MS-DOS-like FTP listing provided by Windows NT FTP service. + +2000-11-18 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftpparse.c, ftpparse.h: New files. + + * ftp-ls.c (ftp_parse_ls): Use ftp_parse_unix_ls for UNIX servers + only. Use ftp_parse_nonunix_ls otherwise. + (ftp_parse_nonunix_ls): Stub to the ftpparse library handling all + exotic FTP servers. + + * ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other" + FTP servers. + + * ftp.c: New static wariables host_type, pwd, and pwd_len. + (getftp): Support for VMS. Support for FTP servers that do not + place you in the root directory after login. + (ftp_retrieve_list): VMS is silent about the real file size, issue + a more appropriate message. + (ftp_get_listing): Pass host_type to ftp_parse_ls. + + * ftp-basic.c (ftp_pwd, ftp_syst): New functions. + +2000-11-30 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftp-ls.c (ftp_parse_unix_ls): Added second parameter + "ignore_perms" to ignore file and directory permissions for + Windows NT FTP server listings. + (ftp_parse_winnt_ls): New function. + (ftp_parse_ls): Parses UNIX and Windows NT listings + separately. Simple heuristics for distinguishing between UNIX + and MS-DOS-like FTP listing provided by Windows NT FTP service. + +2000-11-29 John Summerfield <summer@OS2.ami.com.au> + + * netrc.c (parse_netrc): Get rid of line ending. + +2000-11-25 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_retrieve_list): Undo typo "fix" until resolution by + Dan. + +2000-11-24 Karl Eichwalder <ke@suse.de> + + * main.c (print_help): Untabify. + +2000-11-23 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (xrealloc_debug): Do the unregister/register thing only + if the pointer has actually changed. + (xmalloc_real): Declare `static' in DEBUG_MALLOC builds. + (xfree_real): Ditto. + (xrealloc_real): Ditto. + (xstrdup_real): Ditto. + +2000-11-22 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (getftp): ftp_getaddress() returns a malloc'ed copy of the + string; no need to strdup() it. + (getftp): Make pwd_len a local variable. + (ftp_loop): Free PWD before returning. + + * init.c (cleanup): Free opt.ftp_pass only if it's non-NULL. + +2000-11-22 Hrvoje Niksic <hniksic@arsdigita.com> + + * all: Use xfree() instead of free. + + * utils.c (xfree): New function. + +2000-11-21 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (convert_links): HTML-quote the converted string. + + * utils.c (html_quote_string): Move here from ftp-ls.c + (html_quote_string): Make non-static; declare in utils.h. + (html_quote_string): Convert SP to  . + +2000-11-21 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (getftp): Reformat Jan's code according to GNU coding + standards; remove (debugging?) printf's; use '\0' for the ASCII + zero character. Use alloca() instead of malloc() for + inter-function temporary allocations. + +2000-11-18 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * ftpparse.c, ftpparse.h: New files. + + * ftp-ls.c (ftp_parse_ls): Use ftp_parse_unix_ls for UNIX servers + only. Use ftp_parse_nonunix_ls otherwise. + (ftp_parse_nonunix_ls): Stub to the ftpparse library handling all + exotic FTP servers. + + * ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other" + FTP servers. + + * ftp.c: New static wariables host_type, pwd, and pwd_len. + (getftp): Support for VMS. Support for FTP servers that do not + place you in the root directory after login. + (ftp_retrieve_list): VMS is silent about the real file size, issue + a more appropriate message. + (ftp_get_listing): Pass host_type to ftp_parse_ls. + + * ftp-basic.c (ftp_pwd, ftp_syst): New functions. + +2000-11-21 Hrvoje Niksic <hniksic@arsdigita.com> + + * hash.c (hash_table_put): Don't overwrite deleted mappings. + +2000-11-21 Hrvoje Niksic <hniksic@arsdigita.com> + + * hash.c (find_mapping): New function. + (hash_table_get): Use it. + (hash_table_get_pair): Ditto. + (hash_table_exists): Ditto. + (hash_table_remove): Ditto. + (hash_table_remove): Really delete the entry if the mapping + following LOCATION is empty. + + * utils.c (string_set_add): Check whether the element has existed + before. + + * hash.c (hash_table_get_pair): New function. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_process_type): Ignore trailing whitespace; use + strdupdelim(). + + * recur.c (recursive_retrieve): Use the new `convert' field. + (convert_all_links): Ditto. + (convert_all_links): Don't respect meta_disallow_follow. + + * html-url.c (handle_link): Fill out link_relative_p and + link_complete_p. + + * url.h (struct _urlpos): Make elements more readable. + + * recur.c (recursive_retrieve): Call slist_prepend instead of + slist_append. + (convert_all_links): Call slist_nreverse before iterating through + urls_html. + + * utils.c (slist_prepend): New function. + (slist_nreverse): Ditto. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (check_end): Constify. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (http_loop): If username and password are known, try the + `Basic' authentication scheme by default. + + * connect.h: Declare test_socket_open. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * version.c: Bump version from 1.5.3+dev to 1.7-dev. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Don't use the return value of sprintf(). + (gethttp): Inhibit keep-alive if opt.http_keep_alive is 0. + +2000-11-20 Hrvoje Niksic <hniksic@arsdigita.com> + + * recur.c (recursive_retrieve): Print the "so we don't load" + debugging message only if we really don't load. + + * http.c (gethttp): Inhibit keep-alive if proxy is being used. + (gethttp): Don't request keep-alive if keep-alive is inhibited. + +2000-11-19 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (gethttp): Make the HTTP persistent connections more + robust. + +2000-11-19 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (get_contents): If use_expected, make sure that the + appropriate amount of data is being read. + + * http.c (gethttp): Check for both `Keep-Alive: ...' and + `Connection: Keep-Alive'. + + * wget.h (DEBUGP): Call debug_logprintf only if opt.debug is + turned on. + +2000-11-19 Hrvoje Niksic <hniksic@arsdigita.com> + + * http.c (connection_available_p): Use it. + + * connect.c (test_socket_open): New function. + + * http.c (gethttp): Support persistent connections. Based on the + ideas, and partly on code, by Sam Horrocks <sam@daemoninc.com>. + (register_persistent): New function. + (connection_available_p): Ditto. + (invalidate_connection): Ditto. + +2000-11-19 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (convert_links): Handle UREL2ABS case. + + * recur.c (recursive_retrieve): Instead of the list + urls_downloaded, use hash tables dl_file_url_map and + dl_url_file_map. + (convert_all_links): Use them to retrieve data. + + * host.c (clean_hosts): Free the hash tables. + + * main.c (private_initialize): Call host_init(). + + * host.c (store_hostaddress): Use a saner, hash table-based data + model. + (realhost): Ditto. + (host_init): Initialize the hash tables. + +2000-11-18 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (slist_append): Eviscerate NOSORT. Hash tables are now + used for what the sorted slists used to be used for. + (slist_contains): Don't rely on the list being sorted. + (slist_append): Simplify the code. + + * recur.c (recursive_cleanup): Use free_string_set. + + * utils.c (string_set_add, string_set_exists, string_set_free): + New functions for easier freeing of hash tables whose keys are + strdup'ed strings. + + * recur.c (recursive_retrieve): Use the hash table functions for + storing undesirable URLs. + + * hash.c: New file. + +2000-11-17 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (private_initialize): Call url_init. + (main): Call private_initialize. + + * url.c (unsafe_char_table): New table. + (UNSAFE_CHAR): Use it. + (init_unsafe_char_table): New function. + (url_init): New function; call init_unsafe_char_table. + +2000-11-16 Hrvoje Niksic <hniksic@arsdigita.com> + + * mswindows.h: Define snprintf and vsnprintf to _snprintf and + _vsnprintf respectively. + +2000-11-15 Hrvoje Niksic <hniksic@arsdigita.com> + + * config.h.in: Do the _XOPEN_SOURCE and _SVID_SOURCE things only + on Linux. + +2000-11-15 Hrvoje Niksic <hniksic@arsdigita.com> + + * html-url.c (handle_link): Handle HTML fragment identifiers. + + * recur.c (recursive_retrieve): If norobot info is respected and + the file is specified not to be followed by robots, respect that. + + * html-url.c (collect_tags_mapper): Handle <meta name=robots + content=X>. For us the important cases are where X is NONE or + where X contains NOFOLLOW. + (get_urls_html): Propagate that information to the caller. + +2000-11-13 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (convert_links): Unlink the file we might be reading from + before writing to it. + (convert_links): Use alloca instead of malloc for + filename_plus_orig_suffix. + +2000-11-12 Hrvoje Niksic <hniksic@arsdigita.com> + + * host.c (realhost): Add HOST to the list with quality==0 only if + it wasn't already there. + Based on analysis by Lu Guohan <feng@public.bjnet.edu.cn>. + +2000-11-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (get_urls_file): Ditto. + (convert_links): Ditto. + + * html-url.c (get_urls_html): Use read_file() instead of + load_file(). + + * utils.c (read_file): New function, instead of the old + load_file(). + (read_file_free): Ditto. + + * url.c (findurl): Search only for the supported protocols. + (convert_links): Use fwrite() when writing out a region of + characters. + +2000-11-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp-ls.c: Move html_quote_string and ftp_index here. + + * url.c: Remove get_urls_html, since that's now in html-url.c. + + * html-url.c: New file. + + * html-parse.c: New file. + +2000-11-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c (run_wgetrc): Don't bother killing off '\r' since + pars_line() skips whitespace at end of line anyway. + (parse_line): Oops, it didn't. Now it does. + + * recur.c (parse_robots): Ditto here. + + * ftp-ls.c (ftp_parse_unix_ls): Kill off the newline character + manually because read_whole_line no longer does. + + * utils.c (read_whole_line): Rewrite to: a) use less memory + (reallocates to needed size after work), b) work faster --> + fgets() instead of getc, c) be more correct --> doesn't kill the + newline character at the end of line. + +2000-11-10 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c (comind): Initialize MAX to array size - 1. + +2000-11-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (construct): Changed last_slash[-1] to *(last_slash - 1). + Suggested by Edward J. Sabol. + +2000-11-08 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (construct): Handle the case where host name is not + followed by a slash. + +2000-11-06 Hrvoje Niksic <hniksic@arsdigita.com> + + * init.c: commands[] need to be sorted! ("base" wasn't.) + +2000-11-05 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h (DO_REALLOC_FROM_ALLOCA): Use braces to disambiguate + `if'. + +2000-11-05 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (construct): Insert unneeded initialization for the + compiler to shut up. + + * config.h.in: Define _XOPEN_SOURCE to 500 to get the prototype + for strptime() (*duh*). Define _SVID_SOURCE to get S_IFLNK which + otherwise gets lost when you define _XOPEN_SOURCE. + + * utils.c (touch): Include the file name in the error message. + From Debian. + +2000-11-05 Hrvoje Niksic <hniksic@arsdigita.com> + + * log.c (logvprintf): Use vsnprintf() in all cases. If necessary, + resize the buffer to fit the formated message. That way, messages + of arbitrary size may be printed. + (logvprintf): Use saved_append() to optionally log the last + several lines of output. + (logputs): Ditto. + (log_close): Adapt to new data structures. + (log_dump): Ditto. + (redirect_output): Print messages to stderr, not to stdout. + + * log.c (saved_append_1): New function. Replaces the old logging + system ("log all output until 10M characters") with a new, much + more reasonable one ("log last screenful of text"). + (saved_append): New function; call saved_append_1. + (free_log_line): New function. + +2000-11-05 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (construct): Fix comment. + (find_last_char): Document. + +2000-11-04 Hrvoje Niksic <hniksic@arsdigita.com> + + * snprintf.c: New file. + +2000-11-03 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h: If HAVE_STDARG_H is not defined, don't declare argument + types to logprintf() and debug_logprintf(). + +2000-11-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (ftp_loop_internal): Hide the password from the URL when + printing non-verbose. Problem spotted by Dariusz Mlynarczyk + <darekm@bydg.lomac.com.pl>. + +2000-11-02 Junio Hamano <junio@twinsun.com> + + * ftp-basic.c (ftp_login): Make comparison case-insensitive. + +2000-11-02 Tyler Riddle <triddle@liquidmarket.com> + + * http.c (known_authentication_scheme_p): Recognize NTML + authentication. + (create_authorization_line): Treat NTML the same as `Basic'. + +2000-11-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): Free url before returning. + (retrieve_url): Free mynewloc before returning. + Spotted by Mark A. Mankins <Mankins_Mark@prc.com>. + +2000-11-02 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (parseurl): Remove possible reading past the end of + sup_protos[]. Spotted by Mark A. Mankins <Mankins_Mark@prc.com>. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (main): In case of opt.downloaded overflowing, print + <overflow> instead of a totally bogus random value. + + * retr.c (retrieve_from_file): Ditto. + + * recur.c (recursive_retrieve): Ditto. + + * main.c (main): Ditto. + + * http.c (http_loop): Ditto. + + * ftp.c (ftp_loop_internal): Use downloaded_increase() instead of + `+=', and downloaded_exceeds_quota() instead of the simple-minded + check. + (ftp_retrieve_list): Ditto. + (ftp_retrieve_dirs): Ditto. + (ftp_retrieve_glob): Ditto. + + * retr.c (downloaded_increase): New function. Notice overflows of + opt.downloaded. + (downloaded_exceeds_quota): Make sure that opt.downloaded is not + used if it overflowed. + + * options.h (struct options): New member downloaded_overflow. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * wget.h (enum): Remove extra space after last enumeration. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * main.c (main): Use legible_very_long() for printing + opt.downloaded. + + * utils.c (legible_1): New function that operates on strings and + does the brunt of legible()'s work. + (legible): Use legible_1(). + (legible_very_long): New function; dump the argument with + sprintf(), and call legible_1(). + + * options.h (struct options): Use VERY_LONG_TYPE for + opt.downloaded. + + * sysdep.h (VERY_LONG_TYPE): Define it to have a 64-bit or greater + type. + + * config.h.in: Make sure that SIZEOF_LONG and SIZEOF_LONG_LONG get + defined. Define HAVE_LONG_LONG if long long is available. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * utils.c (long_to_string): Update with a later, better version. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (path_simplify_with_kludge): New function. + (path_simplify_with_kludge): Disable it. Instead... + (parse_dir): ...make sure that at this point the right thing is + done, i.e. that "query" part of the URL (?...) is always assigned + to the file, never to the directory portion of the path. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): Detect redirection cycles. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (get_urls_html): Decode HTML entities using + html_decode_entities. + + * html.c (htmlfindurl): Don't count the `#' in numeric entities + (&#NNN;) as an HTML fragemnt. + (html_decode_entities): New function. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * html.c (htmlfindurl): Fix recognition of # HTML fragments. + +2000-11-01 Hrvoje Niksic <hniksic@arsdigita.com> + + * url.c (construct): Rewritten for clarity. Avoids the + unnecessary copying and stack-allocation the old version + performed. + +2000-10-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Rewind the stream when retrying from scratch. + +2000-10-31 Hrvoje Niksic <hniksic@arsdigita.com> + + * retr.c (retrieve_url): Use url_concat() to handle relative + redirections instead of /ad hoc/ code. + + * url.c (url_concat): New function encapsulating weird + construct(). + (urllen_http_hack): New function. + (construct): When constructing new URLs, recognize that `?' does + not form part of the file name in HTTP. + +2000-10-13 Adrian Aichner <adrian@xemacs.org> + + * retr.c: Add msec timing support for WINDOWS. + * retr.c (reset_timer): GetSystemTime() on WINDOWS. + * retr.c (elapsed_time): Calculate delta time to msec on WINDOWS. + +2000-10-27 Dan Harkless <wget@harkless.org> + + * retr.c (retrieve_url): Manually applied T. Bharath + <TBharath@responsenetworks.com>'s patch to get wget to grok + illegal relative URL redirects. Reformatted and re-commented it. + +2000-10-23 Dan Harkless <wget@harkless.org> + + * connect.c (make_connection and bindport): Manually applied Rob + Mayoff <mayoff@dqd.com>'s 1.5.3 patch to add --bind-address, + changing coding style to GNU's. + + * ftp.c (ftp_loop_internal): --delete-after wasn't implemented for + files downloaded via FTP. Per a comment, .listing files were not + counted towards number of bytes and files downloaded because they're + deleted anyway. Well, they aren't under -nr, so count them then. + + * init.c: Manually applied Rob Mayoff's 1.5.3 patch to add + --bind-address, alphabetizing, changing coding style to GNU's, + commenting, and renaming cmd_ip_address() to cmd_address() to + imply hostnames also okay. + + * main.c (main): --delete-after didn't delete the root of the + tree. Ignore --convert-links if --delete-after was specified. + Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address, + fixing duplicate use of added-since-1.5.3 case value. + (print_help): Clarified that --delete-after deletes local files. + Rob forgot to add a line for his new --bind-address option. + + * options.h (struct options): Manually applied Rob Mayoff's patch + to add --bind-address (bind_address structure member). + + * recur.c (recursive_retrieve): Improved comment; added DEBUGP(). + Ignore --convert-links if --delete-after was specified. + + * retr.c (retrieve_from_file): Just added a DEBUGP(). + +2000-10-19 Dan Harkless <wget@harkless.org> + + * ftp.c (ftp_loop_internal): downloaded_file() enumerators changed. + (getftp): Applied Piotr Sulecki <Piotr.Sulecki@ios.krakow.pl>'s + patch to work around FTP servers that incorrectly respond to the + "REST" command with the remaining size rather than the total file size. + + * http.c (gethttp): Improved a comment and added code to tack on + ".html" to text/html files without that extension when -E specified. + (http_loop): Use new downloaded_file() enumerators and deal with + the case of gethttp() called xrealloc() on u->local. + + * init.c (commands): Added new "htmlextension" command. + Also renamed John Daily's cmd_quad() to the more descriptive + cmd_lockable_boolean(), alpha-sorted the CMD_DECLARE()s and + removed duplicate cmd_boolean() declaration. + + * main.c (print_help): Added my new -E / --html-extension option. + (main): Undocumented --email-address option previously used -E synonym. + Stole it away for the much more deserving --html-extension's use. + + * options.h (struct options): Added html_extension field. + + * url.c (convert_links): URL X that we saved as X.html locally due + to -E needs to be backed up as X.orig, not X.html.orig. Added comments. + (downloaded_file): Now remembers if we added .html extension to a file. + + * url.h (downloaded_file_t): Added extra enumerators to support above. + (downloaded_file): Now takes and returns a downloaded_file_t. + + * wget.h (unnamed "dt" enum): Added ADDED_HTML_EXTENSION enumerator. + +2000-10-09 Dan Harkless <wget@harkless.org> + + * html.c (htmlfindurl): Added unneeded initialization to quiet warning. + + * main.c (print_help): Clarified what --retr-symlinks does. + +2000-09-15 John Daily <jdaily@cyberdude.com> + + * init.c: Add support for "always" and "never" values to allow + .wgetrc to override commandline (useful e.g. with .pm files + calling `wget --passive-ftp' when your firewall doesn't allow that). + + * ftp.c (getftp): passive_ftp is first option to support always/never. + +2000-08-30 Dan Harkless <wget@harkless.org> + + * ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define. + + * html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter. + Wrapped some > 80-column lines. When -p is specified and we're at a + leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than + <LINK REL="stylesheet">. + + * html.h (htmlfindurl): Now takes final `dash_p_leaf_HTML' parameter. + + * init.c: Added new -p / --page-requisites / page_requisites option. + + * main.c (print_help): Clarified that -l inf and -l 0 both allow + infinite recursion. Changed the unhelpful --mirrior description + to simply give the options it's equivalent to. Added new -p option. + (main): Added some comments; handle new -p / --page-requisites. + + * options.h (struct options): Added new page_requisites field. + + * recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs". + Calculate and pass down new `dash_p_leaf_HTML' parameter to + get_urls_html(). Use new INFINITE_RECURSION #define. + + * retr.c: Changed "URL-s" to "URLs". get_urls_html() now takes + final `dash_p_leaf_HTML' parameter. + + * url.c: get_urls_html() and htmlfindurl() now take final + `dash_p_leaf_HTML' parameter. + + * url.h (get_urls_html): Now takes final `dash_p_leaf_HTML' parameter. + + * wget.h: Added some comments and new INFINITE_RECURSION #define. + +2000-08-23 Dan Harkless <wget@harkless.org> + + * main.c (print_help): -B / --base was not mentioned. + +2000-08-22 Dan Harkless <wget@harkless.org> + + * main.c (print_help): Modified -nc description to mention that it + also prevents the creation of multiple versions of the same file + with ".<number>" suffixes. + +2000-07-14 Jan Prikryl <prikryl@cg.tuwien.ac.at> + + * retr.c (retrieve_url): Consistently strdup opt.referer when + setting u->referer. + +2000-06-09 Dan Harkless <wget@harkless.org> + + * main.c (print_help): --help output for --waitretry was over 80 cols. + +2000-06-09 Hrvoje Niksic <hniksic@iskon.hr> + + * url.c (encode_string): Fix comment. + Suggested by Herold Heiko <Heiko.Herold@previnet.it>. + +2000-06-01 Const Kaplinsky <const@ce.cctpu.edu.ru> + + * ftp.c (ftp_retrieve_list): Change permissions only on plain + files. + +2000-06-01 Hrvoje Niksic <hniksic@iskon.hr> + + * url.c (str_url): Print the port number only if it's different + from the default port number for that protocol. + +2000-05-22 Dan Harkless <wget@harkless.org> + + * main.c (print_help): Added --help line for Damir Dzeko + <ddzeko@zesoi.fer.hr>'s until-now-undocumented --referer option. + Removed comments that --referer and --waitretry were undocumented. + Changed "`.wgetrc' command" to "`.wgetrc'-style command" on --help + line for --execute. + +2000-05-18 Hrvoje Niksic <hniksic@iskon.hr> + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Check for return value of fclose/fflush. + +2000-04-12 Hrvoje Niksic <hniksic@iskon.hr> + + * host.c (store_hostaddress): Instead of shifting ADDR, start + copying from the correct address. + +2000-04-12 Hrvoje Niksic <hniksic@iskon.hr> + + * http.c (gethttp): Don't free REQUEST -- it was allocated with + alloca(). + Pointed out by Gisle Vanem <gvanem@eunet.no>. + +2000-04-04 Dan Harkless <wget@harkless.org> + + * host.c (store_hostaddress): R. K. Owen's patch introduces a + "left shift count >= width of type" warning on 32-bit + architectures. Got rid of it by tricking the compiler w/ a variable. + + * url.c (UNSAFE_CHAR): The macro didn't include all the illegal + characters per RFC1738, namely everything above '~'. It also + generated a warning on OSes where char =~ unsigned char. Fixed. + +1998-10-17 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_process_type): Removed needless strdup(), a memory + leak. + +1998-09-25 Hrvoje Niksic <hniksic@srce.hr> + + * html.c (htmlfindurl): Set PH to the first occurrence of `#'. + +1998-09-25 Simon Munton <simonm@m4data.co.uk> + + * init.c (wgetrc_file_name): Don't free HOME under Windows. + +1998-12-01 "R. K. Owen" <rkowen@Nersc.GOV> + + * host.c (store_hostaddress): Fix for big endian 64-bit machines. + +1998-12-01 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (UNSAFE_CHAR): New macro. + (contains_unsafe): Use it. + (encode_string): Ditto. + +1998-12-01 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (i18n_initialize): Use LC_MESSAGES only if available. + +2000-03-31 Hrvoje Niksic <hniksic@srce.hr> + + * Use TOUPPER/TOLOWER. + +1998-12-22 Alexander V. Lukyanov <lav@yars.free.net> + + * ftp-opie.c (btoe): Zero-terminate OSTORE. + +2000-03-21 Hrvoje Niksic <hniksic@iskon.hr> + + * wget.h (DO_REALLOC_FROM_ALLOCA): Ditto. + + * sysdep.h (ISALNUM): New macro. + (TOLOWER): Ditto. + (TOUPPER): Ditto. + +2000-03-10 Dan Harkless <wget@harkless.org> + + * html.c (idmatch): Implemented checking of my new --follow-tags + and --ignore-tags options. + + * init.c (commands): Added comment reminding people adding new + entries doing allocation to add corresponding freeing in cleanup(). + (commands): Added new followtags and ignoretags commands. + (cleanup): Free storage for new followtags and ignoretags. + + * main.c: Use of "comma-separated list" was random -- normalized + it. Did some alphabetization. Added comments pointing out + "Options without arguments" and "Options accepting an argument" + sections of long_options[]. Added new options --follow-tags and + -G / --ignore-tags. Added comment that Damir's --referer is + currently undocumented. Added comment that Heiko's --waitretry is + partially undocumented (mentioned in --help but not in + wget.texi). Moved improperly sorted 24, 129, and 'G' cases. + + * options.h (struct options): Added new fields follow_tags and + ignore_tags. + + * wget.h: Added "#define EQ 0" so we can say "strcmp(a, b) == EQ". + +2000-03-02 Dan Harkless <wget@harkless.org> + + * ftp.c (ftp_loop_internal): Heiko introduced "suggest explicit + braces to avoid ambiguous `else'" warnings. Eliminated them. + + * http.c (gethttp): Dan Berger's query string patch is totally + bogus. If you have two different URLs, gen_page.cgi?page1 and + get_page.cgi?page2, they'll both be saved as get_page.cgi and the + second will overwrite the first. Also, parameters to implicit + CGIs, like "http://www.host.com/db/?2000-03-02" cause the URLs to + be printed with trailing garbage characters, and could seg fault. + Backing out the patch, which Dan B. informed me by email was just + a kludge to download StarOffice from Sun made necessary due to + wget's unconditional escaping of certain characters (room for an + option there?). + (http_loop): Heiko introduced "suggest explicit braces to avoid + ambiguous `else'" warnings. Eliminated them. + + * main.c: Heiko's --wait / --waitretry backwards compatibility + code looks to have been totally untested -- automatic variable + 'wr' was used without being initialized, and a long int was passed + into setval()'s char* val parameter. + + * recur.c (parse_robots): Applied Edward J. Sabol + <sabol@alderaan.gsfc.nasa.gov>'s patch for Guan Yang's reported + problem with "User-agent:<space>*<space>" lines in robots.txt. + + * url.c (parseurl, str_url): Removing Dan Berger's code (see + http.c above for explanation). + +1999-08-25 Heiko Herold <Heiko.Herold@previnet.it> + + * ftp.c: Respect new option waitretry. + +2000-01-30 Damir Dzeko <ddzeko@zesoi.fer.hr> + + * http.c (gethttp): Send custom Referer, if required. + +1999-09-24 Charles G Waldman <cgw@fnal.gov> + + * netrc.c (parse_netrc): Allow passwords to contain spaces. + + * netrc.c (parse_netrc): New function. + +1999-09-17 Dan Berger <dberger@ix.netcom.com> + + * http.c (gethttp): Send it. + + * url.c (parseurl): Detect query string in HTTP URL-s. + (str_url): Print it. + +2000-03-02 HIROSE Masaaki <hirose31@t3.rim.or.jp> + + * html.c (html_allow): Add <link href=...> and <script src=...>. + +1999-05-02 andrew deryabin <djsf@softhome.net> + + * http.c (gethttp): Specify port in `Host' header only if it's + different from 80. + +1998-11-03 Edward J. Sabol <sabol@alderaan.gsfc.nasa.gov> + + * recur.c (recursive_retrieve): If a finite maximum depth is + specified, and we're are already at that depth, don't download the + HTML file for parsing. + +2000-03-01 Dan Harkless <wget@harkless.org> + + * ftp.c (ftp_loop_internal): Call new downloaded_file() function, + even though we don't do conversion on HTML files retrieved via + FTP, so _current_ usage of downloaded_file() makes this call unneeded. + (ftp_retrieve_list): Added a comment saying where we need to + stat() a .orig file if FTP'd HTML file conversion is ever implemented. + (ftp_retrieve_list): "Local file '%s' is more recent," is sometimes + a lie -- reworded as "Server file no newer than local file '%s' --". + + * http.c (http_loop): Fixed a typo and clarified a comment. + (http_loop): When -K and -N are specified together, compare size + and timestamp of server file X against local file X.orig (if + extant) rather than converted local file X. + (http_loop): "Local file '%s' is more recent," is sometimes a lie + -- reworded as "Server file no newer than local file '%s' --". + (http_loop): Call new downloaded_file() function to prevent + wrongful overwriting of .orig file when -N is specified. + + * url.c (convert_links): When -K specified, only rename X to + X.orig if downloaded_file() returns TRUE. Otherwise when we skip + file X due to -N, we clobber an X.orig from a previous invocation. + (convert_links): Call the failsafe xstrdup(), not the real strdup(). + (convert_links): Added a note asking anyone who understands how + multiple URLs can correspond to a single file to comment it. + (downloaded_file): Added this new function. + + * url.h (downloaded_file): Added prototype for this new function + as well as its downloaded_file_t enum type. + + * wget.h (boolean): Added this new typedef and TRUE and FALSE #defines. + +2000-02-29 Dan Harkless <wget@harkless.org> + + * version.c: Upped version to developer-only "1.5.3+dev". + +2000-02-18 Dan Harkless <wget@harkless.org> + + * init.c (backup_converted): Added this new option. + + * main.c (-K / --backup-converted): Added this new option. + + * options.h (backup_converted): Added this new option. + + * url.c (convert_links): When backup_converted is specified, save + file X as X.orig before converting. + + * url.h (urlpos): Fixed typo -- said "Rekative" instead of "Relative". + +1998-09-21 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.3 is released. + +1998-09-21 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (ftp_getaddress): Don't warn when reverse-lookup of local + address doesn't yield FQDN. + +1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * cmpt.c (strerror): Fix declaration of sys_errlist. + +1998-09-11 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): Don't use an array subscript as the first + argument to STRDUP_ALLOCA. + From Kaveh R. Ghazi. + +1998-09-11 Szakacsits Szabolcs <szaka@sienet.hu> + + * html.c (htmlfindurl): Download table background. + +1998-09-11 Hans Grobler <grobh@conde.ee.sun.ac.za> + + * init.c (parse_line): Would free *com before allocating it. + (parse_line): Would free com instead of *com. + +1998-09-10 Howard Gayle <howard@fjst.com> + + * url.c (get_urls_html): Would drop the last character of the + link. + +1998-09-10 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Don't print status code if quiet. + +1998-09-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * log.c: Use <stdarg.h> only when __STDC__. + +1998-09-10 Adam D. Moss <adam@foxbox.org> + + * html.c (htmlfindurl): Download <layer src=...>. + +1998-09-10 Howard Gayle <howard@fjst.com> + + * ftp.c (ftp_retrieve_list): Don't update the time stamp of a file + not retrieved. + +1998-06-27 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c: Include <libc.h> on NeXT. + +1998-06-26 Heinz Salzmann <heinz.salzmann@intermetall.de> + + * url.c (get_urls_html): Fix calculation of URL position. + +1998-06-23 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.2 is released. + +1998-06-23 Dave Love <d.love@dl.ac.uk> + + * ftp.c, init.c, netrc.c: Include errno.h. + + * http.c: Include errno.h and time header. + + * Makefile.in (exext): Define. + (install.bin, uninstall.bin): Use it. + +1998-06-21 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Don't attempt to compare local and remote + sizes if the remote size is unknown. + +1998-06-16 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Use malloc() instead of alloca in the + loop. + +1998-06-13 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.2-b4 is released. + +1998-06-13 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Ignore spaces before and after the URI. + +1998-06-08 Wanderlei Antonio Cavassin <cavassin@conectiva.com.br> + + * ftp.c (getftp): Translate `done'. + +1998-06-06 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.2-b3 is released. + +1998-06-06 Alexander Kourakos <awk@bnt.com> + + * init.c (cleanup): Close dfp, don't free it. + +1998-06-06 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (make_directory): Twiddle. + + * config.h.in: Added template for access(). + +1998-06-05 Mathieu Guillaume <mat@cythere.com> + + * html.c (htmlfindurl): Download <input src=...> + +1998-06-03 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (file_exists_p): Use access() with two arguments. + +1998-05-27 Martin Kraemer <Martin.Kraemer@mch.sni.de> + + * netrc.c (parse_netrc): Correct logic. + +1998-05-27 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Added `break'; suggested by Lin Zhe Min + <ljm@ljm.wownet.net>. + +1998-05-24 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.2-b2 is released. + +1998-05-18 Juan Jose Rodriguez <jcnsoft@jal1.telmex.net.mx> + + * mswindows.h: Don't translate mkdir to _mkdir under Borland. + +1998-05-17 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (elapsed_time): Return correct value when + HAVE_GETTIMEOFDAY is undefined. + +1998-05-13 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.2-b1 is released. + +1998-05-08 Hrvoje Niksic <hniksic@srce.hr> + + * getopt.c (_getopt_internal): Use exec_name instead of argv[0]. + (_getopt_internal): Don't translate `#if 0'-ed strings. + +1998-05-06 Douglas E. Wegscheid <wegscd@whirlpool.com> + + * mswindows.c (ws_handler): Use fork_to_background(). + +1998-05-05 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.1 is released. + +1998-05-05 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (parse_http_status_line): Avoid `minor' and `major' + names. + +1998-05-02 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (mkdirhier): Renamed to make_directory. + +1998-05-01 Hrvoje Niksic <hniksic@srce.hr> + + * mswindows.c (fork_to_background): Define under Windows. + + * utils.c (fork_to_background): New function. + + * html.c (htmlfindurl): Removed rerdundant casts. + +1998-05-01 Douglas E. Wegscheid <wegscd@whirlpool.com> + + * mswindows.c (ws_mypath): Cache the path. + +1998-04-30 Douglas E. Wegscheid <wegscd@whirlpool.com> + + * ftp.h: Prefix enum ftype members with FT_. + + * ftp-ls.c, ftp.c, html.h: Adjust accordingly. + + * mswindows.h: Use stat under Borland, _stat under MSVC. + +1998-04-28 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (known_authentication_scheme_p): New function. + (gethttp): Handle authorization more correctly. + + * ftp-basic.h: Removed. + + * cmpt.h: Removed. + + * utils.c: Include <unistd.h> before <pwd.h>; needed under SunOS + with gcc 2.8. + (numdigit): Use `while' loop. + + * http.c (create_authorization_line): Detect authentication + schemes case-insensitively. + + * http.c (extract_header_attr): Use strdupdelim(). + (digest_authentication_encode): Move declaration of local + variables to smaller scope. + (digest_authentication_encode): Reset REALM, OPAQUE and NONCE. + (create_authorization_line): Detect authentication schemes + case-insensitively. + + * utils.c (touch): Constify. + + * http.c (gethttp): Report a nicer error when no data is received. + + * rbuf.h (RBUF_READCHAR): Ditto. + + * ftp-basic.c (ftp_response): Use sizeof. + +1998-04-27 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (print_percentage): EXPECTED is long, not int. + (print_percentage): Use floating-point arithmetic to avoid + overflow with large files' sizes multiplied with 100. + +1998-04-27 Gregor Hoffleit <flight@mathi.uni-heidelberg.de> + + * config.h.in: Added pid_t stub. + + * sysdep.h (S_ISREG): Moved here from mswindows.h (NeXT doesn't + define it). + +1998-04-20 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5.0 is released. + +1998-04-18 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (str_url): Ditto. + + * ftp-basic.c (ftp_rest): Use new name. + + * utils.c (long_to_string): Renamed from prnum(). + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b17 is released. + +1998-04-08 Hrvoje Niksic <hniksic@srce.hr> + + * headers.c (header_get): New argument FLAGS. + + * http.c (gethttp): If request is malformed, bail out of the + header loop. + (gethttp): Check for empty header *after* the status line checks. + (gethttp): Disallow continuations for status line. + +1998-04-08 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b16 is released. + +1998-04-08 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (commands): Renamed `always_rest' to `continue'. + +1998-04-05 Hrvoje Niksic <hniksic@srce.hr> + + * all: Use it. + + * log.c (logputs): New argument. + (logvprintf): Ditto. + (logprintf): Ditto. + +1998-04-04 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_atotm): Update comment. + + * main.c (i18n_initialize): Set LC_MESSAGES, not LC_ALL. + + * wget.h: Renamed ENABLED_NLS to HAVE_NLS. + + * main.c (i18n_initialize): New function. + (main): Use it. + + * log.c: Include <unistd.h>. + + * retr.c (show_progress): Cast alloca to char *. + +1998-04-04 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b15 is released. + +1998-04-04 Hrvoje Niksic <hniksic@srce.hr> + + * utils.h: Declare file_non_directory_p(). + +1998-04-03 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): It's `tries', not `numtries' now. + +1998-04-01 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (getperms): Removed. + +1998-04-01 Tim Charron <tcharron@interlog.com> + + * log.c (logvprintf): Don't use ARGS twice. + +1998-04-01 John <john@futuresguide.com> + + * mswindows.c: Cleaned up. + +1998-04-01 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b14 is released. + +1998-04-01 Hrvoje Niksic <hniksic@srce.hr> + + * ftp-opie.c (STRLEN4): New macro. + (btoe): Use it. + +1998-04-01 Junio Hamano <junio@twinsun.com> + + * http.c: Document all the Digest functions. + +1998-04-01 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (file_non_directory_p): Renamed from isfile(). + + * mswindows.h (S_ISREG): New macro, suggested by Tim Adam. + +1998-03-31 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (mkdirhier): Use 0777 instead of opt.dirmode. + + * init.c (cmd_spec_dotstyle): Use 48 dots per line for binary + style. + (cmd_permissions): Removed. + + * config.h.in: Add template for WORDS_BIGENDIAN. + +1998-03-31 Junio Hamano <junio@twinsun.com> + + * http.c (HEXD2asc): New macro. + (dump_hash): Use it. + +1998-03-31 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b13 is released. + +1998-03-31 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): Don't try to use `com'. + +1998-03-30 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (cmd_permissions): New function. + +1998-03-30 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b12 is released. + +1998-03-30 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (commands): Renamed `numtries' to `tries'. + (cmd_spec_debug): Removed. + (home_dir): Under Windows, return `C:\' if HOME is undefined. + +1998-03-29 Hrvoje Niksic <hniksic@srce.hr> + + * config.h.in: Define _XOPEN_SOURCE. + + * init.c (check_user_specified_header): New function. + (cmd_spec_header): Use it. + (cmd_spec_useragent): New function. + +1998-03-29 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b11 is released. + +1998-03-28 Hrvoje Niksic <hniksic@srce.hr> + + * wget.h: Include <libintl.h> only if NLS is enabled. + +1998-03-26 Hrvoje Niksic <hniksic@srce.hr> + + * options.h (struct options): Made `wait' a long. + (struct options): Ditto for `timeout'. + +1998-03-19 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (exists): Renamed to file_exists_p. + (file_exists_p): Use access() if available. + +1998-03-17 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (memfatal): Set save_log_p to 0 to avoid potential + infloop. + + * log.c: do_logging -> save_log_p. + + * config.h.in: Added template for HAVE_VSNPRINTF. + +1998-03-16 Hrvoje Niksic <hniksic@srce.hr> + + * init.c: Ditto. + + * http.c: Protect declaration against non-ANSI compiler. + + * log.c (logvprintf): Use vsnprintf() if available. + + * getopt.c (main): Don't translate test stuff. + +1998-03-16 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b10 is released. + +1998-03-11 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Don't translate "CWD %s". + + * wget.h (GCC_FORMAT_ATTR): Renamed from FORMAT_ATTR. + +1998-03-07 Hrvoje Niksic <hniksic@srce.hr> + + * ftp-opie.c (btoe): Use memcpy() instead of strncat(). + + * log.c (logputs): New function. + (logvprintf): Renamed from vlogmsg; use logputs(). + + * retr.c (show_progress): Print `[100%]' when the retrieval is + finished. + + * init.c (run_wgetrc): Use FILE, not PATH. + (wgetrc_file_name): Ditto. + +1998-03-07 Tim Adam <tma@osa.com.au> + + * recur.c (parse_robots): Correctly reset `entries' on empty + disallow. + +1998-03-07 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (cmd_spec_debug): Use cmd_boolean(). + +1998-02-23 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Create proxy-authorization correctly. + +1998-02-22 Hrvoje Niksic <hniksic@srce.hr> + + * md5.c: Ditto. + + * getopt.c: Use ANSI function definitions. + + * ftp-opie.c: New file. + + * options.h: Don't redefine EXTERN. + + * init.c: Sort it correctly. + +1998-02-22 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b9 is released. + +1998-02-22 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (recursive_retrieve): Reset `first_time'. + + * ftp.c (getftp): Added `default' clause to switches of uerr_t. + + * rbuf.c (rbuf_peek): Simplified. + (rbuf_flush): Use MINVAL. + + * wget.h (MINVAL): Moved from url.h. + + * rbuf.h (RBUF_FD): New macro. + + * url.c (add_url): Add to the head of the list. + + * ftp.c (ftp_retrieve_list): Set the permissions to downloaded + file. + (getftp): Set the default permissions to 0600. + +1998-02-21 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Ditto. + (convert_links): Ditto. + + * recur.c (parse_robots): Ditto. + + * html.c (ftp_index): Ditto. + + * ftp-ls.c (ftp_parse_unix_ls): Open file as binary. + + * init.c (defaults): Initialize `opt' to zero via memset. + + * http.c (digest_authentication_encode): goto considered harmful. + +1998-02-19 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (delelement): Simplify and fix leak. + +1998-02-18 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (dump_hash): Use HEXD2ASC instead of home-grown stuff. + + * url.h (HEXD2ASC): Removed warning. + + * init.c (comind): Use binary search. + (commands): Reorganized. + (setval): Ditto. + (cmd_boolean): New function. + (cmd_number): Ditto. + (cmd_number_inf): Ditto. + (cmd_string): Ditto. + (cmd_vector): Ditto. + (cmd_directory_vector): Ditto. + (cmd_bytes): Ditto. + (cmd_time): Ditto. + (cmd_spec_debug): Ditto. + (cmd_spec_dirmode): Ditto. + (cmd_spec_dirstruct): Ditto. + (cmd_spec_dotstyle): Ditto. + (cmd_spec_header): Ditto. + (cmd_spec_htmlify): Ditto. + (cmd_spec_mirror): Ditto. + (cmd_spec_outputdocument): Ditto. + (cmd_spec_recursive): Ditto. + (settime): Merged with cmd_time(). + (setbytes): Merged with cmd_bytes(). + (setonoff): Merged with cmd_boolean(). + (onoff): Ditto. + +1998-02-17 Hrvoje Niksic <hniksic@srce.hr> + + * Makefile.in (distclean): Remove `config.h'. + +1998-02-17 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b8 is released. + +1998-02-17 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (digest_authentication_encode): New function. + (create_authorization_line): Use it. + (dump_hash): New function. + (digest_authentication_encode): Use it. + + * fnmatch.c: Renamed from `mtch.c'. + +1998-02-15 Karl Eichwalder <ke@suse.de> + + * main.c (main): Tag "Written by..." string as translatable. + +1998-02-15 Hrvoje Niksic <hniksic@srce.hr> + + * wget.h (FREE_MAYBE): New macro. + + * http.c (create_authorization_line): Don't use ANSI C string + concatenation feature. + (basic_authentication_encode): Use alloca() for temporary + variables. + + * recur.h: Ditto. + + * http.c: Ditto. + + * headers.h: Ditto. + + * ftp-basic.c: Protect declaration against non-ANSI compiler. + + * http.c (create_authorization_line): Cast `unsigned char *' to + `char *' for sprintf, to shut up the noisy Digital Unix cc. + +1998-02-15 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b7 is released. + +1998-02-15 Hrvoje Niksic <hniksic@srce.hr> + + * cmpt.c (strstr): Synched with glibc-2.0.6. + + * ftp-basic.c (calculate_skey_response): Ditto. + (calculate_skey_response): Use alloca(). + + * http.c (create_authorization_line): Work with FSF's version of + md5.c. + + * md5.c: New file, from GNU libc. + +1998-02-14 Hrvoje Niksic <hniksic@srce.hr> + + * url.h (URL_CLEANSE): Name the temporary variable more carefully. + +1998-02-13 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (basic_authentication_encode): New function, instead of + the macro. + +1998-02-13 Junio Hamano <junio@twinsun.com> + + * http.c: Add HTTP-DA support. + * ftp-basic.c: Add Opie/S-key support. + * config.h.in, Makefile.in: Add HTTP-DA and Opie/S-key support. + * md5.c, md5.h: New files. + +1998-02-13 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_process_range): Renamed from hprocrange(). + (http_process_range): Parse the whole header. + + * headers.c: New file. + (header_process): New function. + (header_get): Renamed from fetch_next_header. + + * all: Include utils.h only where necessary. + + * wget.h: Declare xmalloc(), xrealloc() and xstrdup() here. + + * wget.h: Add provisions for dmalloc. + +1998-02-12 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b6 is released. + +1998-02-12 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop): Determine `filename' more precisely. + + * init.c (setval): Don't set `opt.quiet' if output-document is + `-'. + + * log.c (log_init): Print to STDERR instead of STDOUT. + (vlogmsg): Use STDERR by default. + (logflush): Ditto. + +1998-02-11 Simon Josefsson <jas@pdc.kth.se> + + * host.c: Use addr_in again. + +1998-02-08 Karl Eichwalder <karl@suse.de> + + * http.c (gethttp): Fixed typo. + +1998-02-08 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b5 is released. + +1998-02-08 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (show_progress): Use it. + + * log.c (logflush): New function. + + * wget.h: Utilize __attribute__ if on gcc. + +1998-02-07 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (base64_encode_line): New argument LENGTH. + (BASIC_AUTHENTICATION_ENCODE): Use it. + (BASIC_AUTHENTICATION_ENCODE): Take length of HEADER into account. + + * main.c (main): Fixed fprintf() format mismatch. + +1998-02-06 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b4 is released. + +1998-02-03 Simon Josefsson <jas@pdc.kth.se> + + * host.c: use sockaddr_in instead of addr_in. + +1998-02-04 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (cleanup): Use it. + + * recur.c (recursive_cleanup): New function. + + * retr.c (retrieve_from_file): Ditto. + + * main.c (main): Use it. + + * recur.c (recursive_reset): New function. + + * retr.c (retrieve_from_file): Ditto. + + * main.c (main): Simplify call to recursive_retrieve(). + + * recur.c (recursive_retrieve): Removed FLAGS argument. + + * http.c (gethttp): Changed call to iwrite(). + +1998-02-03 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Ditto. + (free_urlpos): Ditto. + (mkstruct): Ditto. + (construct): Ditto. + + * retr.c (retrieve_url): Move declaration of local variables to + smaller scope. + + * url.c (urlproto): Use it. + (parseurl): Ditto. + (str_url): Ditto. + (get_urls_html): Ditto. + + * utils.h (ARRAY_SIZE): New macro. + + * url.c (proto): Moved from url.h. + + * url.h (URL_CLEANSE): Reformatted. + (USE_PROXY_P): Renamed from USE_PROXY. + + * ftp-basic.c: Adjust to the new interface of iwrite(). + + * ftp-basic.c (ftp_port): Use alloca(). + +1998-02-03 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b3 is released. + + * host.c (ftp_getaddress): Don't print to stderr directly. + + * init.c (setbytes): Support `g' for gigabytes. + (cmdtype): New specification CTIME. + (setval): Use it with settime(). + (commands): Use it for WAIT and TIMEOUT. + +1998-02-02 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (BASIC_AUTHENTICATION_ENCODE): New macro. + (gethttp): Use it. + + * utils.c (unique_name_1): Moved from url.c. + (unique_name): Ditto. + + * url.c (url_filename): Ditto. + + * log.c (redirect_output): Changed call to unique_name(). + + * url.c (unique_name_1): Renamed from unique_name(). + (unique_name): Changed interface. + + * init.c (enum cmdid): Moved from init.h. + (cmdtype): Ditto. + (struct cmd): Ditto. + + * main.c (main): Use it. + (main): Moved `--backups' to not have a short option. + + * options.h (struct options): New member BACKGROUND. + + * main.c (print_help): Rearranged. + (main): New long options for -n* short options: --no-directories, + --no-host-directories, --non-verbose, --no-host-lookup and + --dont-remove-listing. + +1998-02-01 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): Use log_close(). + + * log.c: New variable LOGFP. + (vlogmsg): Use it. + (redirect_output): Don't open /dev/null; set LOGFP to stdin + instead. + (log_close): New function. + + * options.h (struct options): Removed LFILE. + + * log.c (log_enable): Removed. + + * main.c (main): Use it. + + * log.c (log_init): New function. + + * url.c (get_urls_html): Removed needless assignment to BASE. + + * host.c (add_hlist): Don't set CMP needlessly. + + * utils.c (match_backwards): Ditto. + (in_acclist): Ditto. + + * url.c (findurl): Ditto. + + * netrc.c (parse_netrc): Ditto. + + * log.c (log_dump): Ditto. + + * html.c (html_quote_string): Ditto. + + * ftp-basic.c (ftp_request): Made static. + + * connect.c: Made global variables static. + + * url.c (construct): Ditto. + + * init.c (init_path): Avoid assignment inside `if'-condition. + + * ftp.c: Don't include in.h or winsock.h. + + * ftp.c (ftp_loop): Use SZ. + + * connect.c (bindport): Cast &addrlen to int *. + (conaddr): Ditto. + + * init.c (initialize): Don't use SYSTEM_WGETRC unconditionally. + +1998-01-31 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Initialize opt.ftp_pass here. + (ftp_retrieve_dirs): Use alloca(). + + * init.c (defaults): Don't initialize opt.ftp_pass. + + * sysdep.h (S_ISLNK): Declare for OS/2; ditto for lstat. + From Ivan F. Martinez <ivanfm@ecodigit.com.br>. + +1998-01-31 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (parse_robots): Check for comments more correctly. + + * host.c (ftp_getaddress): Use STRDUP_ALLOCA. + (ftp_getaddress): Add diagnostics when reverse-lookup yields only + hostname. + +1998-01-31 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget 1.5-b2 is released. + + * netrc.c (NETRC_FILE_NAME): Moved from netrc.h. + + * utils.c (proclist): Pass FNM_PATHNAME to fnmatch(). + + * ftp-basic.c (ftp_pasv): Avoid unnecessary casting to unsigned + char. + + * log.c: Don't attempt to hide arguments from ansi2knr. + + * cmpt.c: Synched strptime() and mktime() with glibc-2.0.6. + + * ansi2knr.c: Use a later version, from fileutils-3.16l alpha. + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Use it. + + * retr.c (get_contents): New argument EXPECTED; pass it to + show_progress(). + (show_progress): New argument EXPECTED; use it to display + percentages. + + * init.c (setval): Ditto. + + * http.c (gethttp): Ditto. + (http_loop): Ditto. + + * ftp.c (getftp): Ditto. + (ftp_loop_internal): Ditto. + + * ftp-ls.c (ftp_parse_unix_ls): Use abort() instead of assert(0). + + * sysdep.h (CLOSE): Simplify; use DEBUGP. + + * netrc.c (search_netrc): Use alloca(). + + * init.c (defaults): Initialize no_flush. + + * log.c (vlogmsg): Don't flush if no_flush. + + * options.h (struct options): New variable no_flush. + + * main.c (main): Don't play games with buffering. + + * log.c (vlogmsg): Flush the output after every message. + +1998-01-31 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (parse_line): Ditto. + + * url.c (get_urls_html): Ditto. + + * main.c (main): Don't cast to unsigned char. + + * init.c (run_wgetrc): Don't cast to unsigned char. + (parse_line): Accept char instead of unsigned char. + + * html.c (htmlfindurl): Use char instead of unsigned char. + + * all: Use them. + + * sysdep.h: Add wrappers to ctype macros to make them + eight-bit-clean: + +1998-01-30 Hrvoje Niksic <hniksic@srce.hr> + + * html.c (htmlfindurl): Download <img lowsrc=...> + + * main.c (main): Ignore SIGPIPE. + + * connect.c (select_fd): New argument WRITEP. + (iwrite): Call select_fd(). + +1997-02-27 Fila Kolodny <fila@ibi.com> + + * ftp.c (ftp_retrieve_list): If retrieving symlink and the proper + one already exists, just skip it. + +1998-01-30 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Cosmetic changes. + + * http.c (check_end): Allow `+D...' instead of `GMT'. + From Fabrizio Pollastri <pollastri@cstv.to.cnr.it>. + + * url.c (process_ftp_type): New function. + (parseurl): Use it. + + * connect.c (iwrite): Allow writing in a few chunks. + (bindport): Made SRV static, so addr can point to it. + (select_fd): Removed HPUX kludge. + + * host.c (free_hlist): Incorporated into clean_hosts(). + +1998-01-29 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (hlist): Made static. + (search_address): Cosmetic change. + +1998-01-29 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget v1.5-b1 is released. + + * http.c (hgetlen): Use sizeof() to get the header length. + (hgetrange): Ditto. + (hgettype): Ditto. + (hgetlocation): Ditto. + (hgetmodified): Ditto. + (haccepts_none): Ditto. + + * main.c (main): Updated `--version' and `--help' output, as per + Francois Pinard's suggestions. + + * main.c: Include locale.h; call setlocale(), bindtextdomain() and + textdomain(). + + * config.h.in: Define stubs for I18N3. + + * wget.h: Include libintl.h. + +1998-01-28 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (mkstruct): Check for opt.cut_dirs. + (mkstruct): alloca()-te more, xmalloc() less. + + * utils.c (load_file): Check for ferror(). + + * url.c (get_urls_file): Close only the files we opened. + (get_urls_html): Ditto. + (count_slashes): New function. + + * http.h: Removed. + + * http.c (gethttp): Respect username and password provided by + proxy URL. + (base64_encode_line): Write into an existing buffer instead of + malloc-ing a new one. + (struct http_stat): Moved from http.h + + * retr.c (retrieve_url): Free SUF. + + * all: Removed lots of unnecessary .h dependencies. + + * html.c (global_state): Made static. + + * utils.h (ALLOCA_ARRAY): New macro. + + * main.c (main): New option `--cut-dirs'. + + * url.c (construct): Use alloca() for T. + + * utils.c (mkdirhier): Use STRDUP_ALLOCA. + + * host.c (_host_t): Moved from host.h. + (struct host): Renamed from _host_t. + (store_hostaddress): Use STRDUP_ALLOCA for INET_S. + (realhost): Ditto. + + * host.h: Don't include url.h. + + * ftp.c (LIST_FILENAME): Moved from ftp.h. + + * init.c (DEFAULT_FTP_ACCT): Moved from ftp.h. + + * main.c (main): Enable log if the output goes to a TTY. + + * connect.h: Removed unused constant `BACKLOG'. + + * config.h.in: Check for isatty(). + + * Makefile.in (LINK): Use CFLAGS when linking. + +1998-01-27 Hrvoje Niksic <hniksic@srce.hr> + + * mswindows.c (ws_hangup): Use redirect_output(). + + * main.c (redirect_output_signal): New function; use + redirect_output(). + + * log.c (redirect_output): New function, based on hangup(), which + is deleted. + + * log.c (vlogmsg): New function. + + * wget.h (DEBUGP): Use debug_logmsg(). + + * main.c (hangup): Use it. + + * log.c (log_dump): New function. + + * utils.h (DO_REALLOC): Use `long' for various sizes. + + * http.c (hskip_lws): Use `while', for clarity. + (HTTP_DYNAMIC_LINE_BUFFER): New constant. + (fetch_next_header): Use it instead of DYNAMIC_LINE_BUFFER. + + * ftp-basic.c (FTP_DYNAMIC_LINE_BUFFER): New constant. + (ftp_response): Use it instead of DYNAMIC_LINE_BUFFER. + + * utils.c (DYNAMIC_LINE_BUFFER): Moved from utils.c. + (LEGIBLE_SEPARATOR): Ditto. + (FILE_BUFFER_SIZE): Ditto. + + * retr.c (BUFFER_SIZE): Moved from retr.h. + + * log.c: New file. + (logmsg): Moved from utils.c. + (debug_logmsg): New function. + + * mswindows.h: Include it here. + + * init.c: Ditto. + + * utils.c: Don't include <windows.h>. + +1998-01-25 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (ftp_getaddress): Ditto. + + * main.c (main): Use it. + + * utils.h (STRDUP_ALLOCA): New macro. + + * init.c: Prepend `wget: ' to error messages printed on stderr. + + * utils.c (mkdirhier): Renamed from mymkdir. + (touch): Renamed from my_touch. + (pwd_cuserid): Renamed from my_cuserid(). + +1998-01-24 Andy Eskilsson <andy.eskilsson@telelogic.se> + + * utils.c (accdir): Process wildcards. + (proclist): New function. + (accdir): Use it to avoid code repetition. + +1998-01-24 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (parse_robots): Respect opt.useragent; use alloca(). + + * http.c (gethttp): Construct useragent accordingly. + + * version.c: Changed version string to numbers-only. + + * main.c (print_help): List all the options. + + * mswindows.c (windows_main_junk): Initialize argv0 here. + +1998-01-24 Karl Heuer <kwzh@gnu.org> + + * netrc.c (search_netrc): Initialize `l' only after processing + netrc. + + * main.c (main): Don't trap SIGHUP if it's being ignored. + +1998-01-24 Hrvoje Niksic <hniksic@srce.hr> + + * all: Use logmsg(). + + * utils.c (time_str): Moved from retr.c. + (logmsg): New function. + (logmsg_noflush): Ditto. + + * rbuf.c: New file, moved buf_* functions here. + + * ftp.c (ftp_expected_bytes): Moved from ftp-basic.c. + + * ftp-basic.c (ftp_rest): Use prnum(). + + * ftp-basic.c: Ditto. + + * ftp.c: Use the new reading functions and macros. + + * retr.c (buf_initialize): New function. + (buf_initialized_p): Ditto. + (buf_uninitialize): Ditto. + (buf_fd): Ditto. + + * http.c (fetch_next_header): Use the BUF_READCHAR macro for + efficiency. + (gethttp): Use alloca() where appropriate. + + * retr.c (buf_readchar): Use it. + (buf_peek): Use rstreams. + + * retr.h (BUF_READCHAR): New macro. + + * init.c (home_dir): Rewritten for clarity. + (init_path): Ditto. + + * mswindows.c (ws_backgnd): Made static. + (read_registry): Ditto. + (ws_cleanup): Ditto. + (ws_handler): Ditto. + +1998-01-23 Hrvoje Niksic <hniksic@srce.hr> + + * alloca.c: New file. + + * Makefile.in (ALLOCA): Define. + + * mswindows.c (ws_help): Constify. + (ws_help): Use alloca. + + * mswindows.c: Reformat. + + * all: Added _(...) annotations for I18N snarfing and translation. + + * host.c (ftp_getaddress): Nuke SYSINFO. + (ftp_getaddress): Don't use getdomainname(). + (ftp_getaddress): Use uname(), where available. + + * http.c (gethttp): Protect a stray fprintf(). + + * init.c (settime): New function. + (setval): Treat WAIT specially, allowing suffixes like `m' for + minutes, etc. + +1998-01-21 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Use alloca() for TEMP. + +1998-01-21 Jordan Mendelson <jordy@wserv.com> + + * url.c (rotate_backups): New function. + + * http.c (gethttp): Ditto. + + * ftp.c (getftp): Rotate backups. + +1997-12-18 Hrvoje Niksic <hniksic@srce.hr> + + * all: Renamed nmalloc(), nrealloc() and nstrdup() to xmalloc(), + xrealloc() and xstrdup(). Use the new functions. + + * url.c (decode_string): Made static. + (has_proto): Ditto. + (parse_dir): Ditto. + (parse_uname): Ditto. + (mkstruct): Ditto. + (construct): Ditto. + (construct_relative): Ditto. + + * retr.c (show_progress): Made static. + + * recur.c (robots_url): Made static. + (retrieve_robots): Ditto. + (parse_robots): Ditto. + (robots_match): Ditto. + + * main.h: Removed. + + * main.c (printhelp): Made static. + (hangup): Ditto. + + * init.c (comind): Made static. + (defaults): Ditto. + (init_path): Ditto. + (run_wgetrc): Ditto. + (onoff): Ditto. + (setonoff): Ditto. + (setnum): Ditto. + (myatoi): Ditto. + (getperms): Ditto. + (setbytes): Ditto. + + * http.c (fetch_next_header): Made static. + (hparsestatline): Ditto. + (hskip_lws): Ditto. + (hgetlen): Ditto. + (hgetrange): Ditto. + (hgettype): Ditto. + (hgetlocation): Ditto. + (hgetmodified): Ditto. + (haccepts_none): Ditto. + (gethttp): Ditto. + (base64_encode_line): Ditto. + (mktime_from_utc): Ditto. + (http_atotm): Ditto. + + * html.c (idmatch): Made static. + + * host.c (search_host): Made static. + (search_address): Ditto. + (free_hlist): Ditto. + + * ftp.c (getftp): Made static. + (ftp_loop_internal): Ditto. + (ftp_get_listing): Ditto. + (ftp_retrieve_list): Ditto. + (ftp_retrieve_dirs): Ditto. + (ftp_retrieve_glob): Ditto. + (freefileinfo): Ditto. + (delelement): Ditto. + + * ftp-ls.c (symperms): Made static. + (ftp_parse_unix_ls): Ditto. + + * connect.c (select_fd): Made static. + + * utils.c (xmalloc): Renamed from nmalloc. + (xrealloc): Renamed from nrealloc. + (xstrdup): Renamed from nstrdup. + + * getopt.c (exchange): Use alloca. + + * mswindows.c (mycuserid): Use strncpy. + + * New files mswindows.c, mswindows.h, sysdep.h. winjunk.c, + systhings.h, windecl.h and winjunk.h removed. + + * mswindows.c (sleep): New function. + + * utils.c: Include <windows.h> under Windows. + +1997-06-12 Darko Budor <dbudor@zesoi.fer.hr> + + * url.h (URL_UNSAFE): Change default under Windows. + + * retr.c (retrieve_from_file): Respect opt.delete_after. + + * main.c (main): Call ws_help on Windows. + + * winjunk.c (windows_main_junk): New function. + + * main.c (main): Junk-process argv[0]. + + * http.c (mktime_from_utc): Return -1 if mktime failed. + + * http.c (http_loop): Ditto. + + * ftp.c (ftp_loop_internal): Change title on Windows when using a + new URL. + + * winjunk.c (getdomainname): Lots of functions. + +1997-06-12 Hrvoje Niksic <hniksic@srce.hr> + + * cmpt.c (strptime_internal): Handle years more correctly for + `%y'. + +1997-06-09 Mike Thomas <mthomas@reality.ctron.com> + + * http.c (gethttp): Allocate enough space for + `Proxy-Authorization' header. + +1997-05-10 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Wget/1.4.5 is released. + +1997-05-10 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (get_contents): Check return value of fwrite more + carefully. + +1997-03-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * cmpt.c (strptime_internal) [case 'Y']: Always subtract 1900 from + year, regardless of century. + +1997-03-30 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (isfile): Use `lstat' instead of `stat'. + +1997-03-29 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (numdigit): Use explicit test. + +1997-03-21 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Always use `url_filename' to get u->local. + +1997-03-20 Hrvoje Niksic <hniksic@srce.hr> + + * url.c: Recognize https. + +1997-03-13 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (recursive_retrieve): Lowercase just the host name. + +1997-03-09 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_file): Use the correct test. + (get_urls_html): Ditto. + +1997-03-07 Hrvoje Niksic <hniksic@srce.hr> + + * connect.c: Reverted addrlen to int. + + * init.c (parse_line): Check for -1 instead of NONE. + + * version.c: Changed version to 1.4.5. + +1997-02-17 Hrvoje Niksic <hniksic@srce.hr> + + * init.c: New option netrc. + (initialize): Don't parse .netrc. + + * cmpt.c (recursive): Return rp. + (strptime_internal): Match the long strings first, the abbreviated + second. + +1997-02-16 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (check_end): New function. + (http_atotm): Use it. + +1997-02-13 gilles Cedoc <gilles@cedocar.fr> + + * http.c (gethttp): Use them. + + * init.c: New options proxy_user and proxy_passwd. + +1997-02-14 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_retrieve_list): Create links even if not relative. + +1997-02-10 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (recursive_retrieve): Lowercase the host name, if the + URL is not "optimized". + + * host.c (realhost): Return l->hostname, even if it matches with + host. + +1997-02-10 Marin Purgar <pmc@asgard.hr> + + * connect.c: Make addrlen size_t instead of int. + (conaddr): Ditto. + +1997-02-09 Gregor Hoffleit <flight@mathi.uni-heidelberg.DE> + + * systhings.h: Define S_ISLNK on NeXT too. + +1997-02-09 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.3. + + * url.c: Futher update to list of protostrings. + (skip_proto): Skip `//' correctly for FTP and HTTP. + + * url.c (get_urls_html): Handle bogus `http:' things a little + different. + + * main.c (main): Removed `follow-ftp' from `f'. + (main): Dumped the `prefix-files' and `file-prefix' options and + features; old and bogus. + (main): Exit on failed setval() in `-e'. + + * http.c (fetch_next_header): Use it to detect header continuation + correctly. + + * retr.c (buf_peek): New function. + +1997-02-08 Hrvoje Niksic <hniksic@srce.hr> + + * wget.h: Include time.h and stuff. + +1997-02-08 Roger Beeman <beeman@cisco.com> + + * ftp.c: Include <time.h> + +1997-02-07 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (findurl): Would read over buffer limits. + +1997-02-06 Hrvoje Niksic <hniksic@srce.hr> + + * ftp-ls.c (ftp_parse_unix_ls): Allow spaces in file names. + +1997-02-05 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_atotm): Initialize tm.is_dst. + +1997-02-02 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Don't print the number of retrieved headers. + + * main.c (main): New option `--no-clobber', alias for `-nc'. + + * url.c: Recognize `https://'. + +1997-02-01 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (herrmsg): Don't use h_errno. + +1997-01-30 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (accept_domain): Use it. + + * main.c (main): New option `--exclude-domains'. + + * retr.c (retrieve_url): Use it. + (retrieve_url): Bail out when an URL is redirecting to itself. + + * url.c (url_equal): New function. + +1997-01-29 Hrvoje Niksic <hniksic@srce.hr> + + * connect.c: Include arpa/inet.h instead of arpa/nameser.h. + + * http.c (mk_utc_time): New function. + (http_atotm): Use it; handle time zones correctly. + +1997-01-28 Hrvoje Niksic <hniksic@srce.hr> + + * http.c: Ditto. + + * ftp-basic.c: Use it instead of WRITE. + + * connect.c (iwrite): New function. + +1997-01-27 Hrvoje Niksic <hniksic@srce.hr> + + * cmpt.c (mktime): New function. + + * netrc.c: Include <sys/types.h>. + + * main.c (main): Wouldn't recognize --spider. + + * retr.c (rate): Use `B', `KB' and `MB'. + (reset_timer,elapsed_time): Moved from utils.c. + + * ftp.c (ftp_retrieve_list): Ditto. + + * http.c (http_loop): Don't touch the file if opt.dfp. + +1997-01-24 Hrvoje Niksic <hniksic@srce.hr> + + * cmpt.c: New file. + + * ftp.c (ftp_retrieve_glob): New argument semantics. + (ftp_retrieve_dirs): Use it. + (ftp_loop): Ditto. + + * html.c (htmlfindurl): Recognize `'' as the quote char. + +1997-01-23 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop_internal): Use it. + + * utils.c (remove_link): New function. + +1997-01-22 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (retrieve_url): Require STRICT redirection URL. + + * url.c (parseurl): New argument STRICT. + + * http.c (hparsestatline): Be a little-bit less strict about + status line format. + +1997-01-21 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Use it. + + * main.c (main): Don't use '<digit>' as options. + + * init.c: New option ignore_length. + + * http.c (gethttp): Ditto. + (http_loop): Check for redirection without Location:. + (gethttp): Don't print Length unless RETROKF. + + * ftp.c (getftp): Use it. + + * url.c (mkalldirs): New function. + + * utils.c (mymkdir): Don't check for existing non-directory. + + * url.c (mkstruct): Don't create the directory. + +1997-01-20 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (setval): Removed NO_RECURSION checks. + +1997-01-19 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4.3-pre2. + + * recur.c (recursive_retrieve): Bypass host checking only if URL + is ftp AND parent URL is not ftp. + + * ftp-basic.c (ftp_request): Print out Turtle Power. + + * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no + wildcard. + (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if + not glob. + + * http.c (gethttp): Be a little bit smarter about status codes. + + * recur.c (recursive_retrieve): Always reset opt.recursive when + dealing with FTP. + +1997-01-18 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (retrieve_url): New variable location_changed; use it for + tests instead of mynewloc. + (retrieve_url): Allow heuristic adding of html. + + * url.c (url_filename): Don't use the `%' in Windows file names. + + * http.c (http_loop): Always time-stamp the local file. + + * http.c (http_loop): Ditto. + + * ftp.c (ftp_retrieve_list): Use it. + + * utils.c (my_touch): New function. + + * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF + instead of #ifndef NeXT. + + * utils.c (strptime): New version, by Ulrich Drepper. + +1997-01-17 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (haccepts_none): Renamed from `haccepts_bytes'. + (gethttp): If haccepts_none(), disable ACCEPTRANGES. + (http_loop): Would remove ACCEPTRANGES. + + * ftp.c (getftp): Call ftp_list with NULL. + +1997-01-15 Hrvoje Niksic <hniksic@srce.hr> + + * html.c (ftp_index): Don't print minutes and seconds if we don't + know them; beautify the output. + + * ftp.c (getftp): Don't close the socket on FTPNSFOD. + +1997-01-14 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (strptime): New function. + (strptime): Don't use get_alt_number. + (strptime): Don't use locale. + (match_string): Made it a function. + +1997-01-12 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_atotm): New function. + (http_loop): Use it. + + * atotm.c: Removed from the distribution. + + * http.c (base64_encode_line): Rewrite. + +1997-01-09 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Use ftp_expected_bytes; print size. + + * ftp-basic.c (ftp_response): Use ftp_last_respline. + (ftp_expected_bytes): New function. + + * ftp.c (getftp): Print the unauthoritative file length. + + * ftp-ls.c: Renamed from ftp-unix.c. + (ftp_parse_ls): Moved from ftp.c. + (ftp_parse_unix_ls): Recognize seconds in time spec. + (ftp_parse_unix_ls): Recognize year-less dates of the previous + year. + +1997-01-08 Hrvoje Niksic <hniksic@srce.hr> + + * ftp-basic.c: Don't declare errno if #defined. + + * host.c (ftp_getaddress): Check for sysinfo legally. + +1997-01-08 Darko Budor <dbudor@diana.zems.fer.hr> + + * connect.c (iread): Use READ. + +1996-12-23 Hrvoje Niksic <hniksic@srce.hr> + + * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid + schemes. + +1996-12-22 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (ftp_getaddress): Allow `.' in hostname. + +1996-12-26 Darko Budor <dbudor@zems.fer.hr> + + * wget.h: READ and WRITE macros for use instead of read and write + on sockets, grep READ *.c, grep WRITE *.c + + * wsstartup.c: new file - startup for winsock + + * wsstartup.h: new file + + * win32decl.h: new file - fixup for <errno.h> and winsock trouble + + * configure.bat: Configure utility for MSVC + + * src/Makefile.ms,config.h.ms: new files for use with MSVC 4.x + +1996-12-22 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.3-pre. + + * utils.c (prnum): Accept long. + (legible): Use prnum(). + + * connect.c (make_connection): Accept port as short. + (bindport): Ditto. + + * http.c (gethttp): Use search_netrc. + +1996-12-21 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Use search_netrc. + + * netrc.c (free_netrc): New function. + + * init.c (home_dir): New function. + + * url.c (convert_links): Allow REL2ABS changes. + +1996-12-21 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * netrc.c: New file. + (parse_netrc, maybe_add_to_list): New functions. + +1996-12-17 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (retrieve_url): Reset opt.recursion before calling + ftp_loop if it is reached through newloc. + + * init.c (run_wgetrc): Print the wgetrc path too, when reporting + error; don't use "Syntax error", since we don't know if it is + really a syntax error. + +1996-12-16 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (acceptable): Extract the filename part of the path. + + * recur.c (recursive_retrieve): Call acceptable() with the right + argument; would bug out on wildcards. + + * init.c (parse_line): Likewise. + + * html.c (htmlfindurl): Cast to char * when calling stuff. + +1996-12-15 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Use ftp_pasv. + + * ftp-basic.c (ftp_request): Accept NULL value. + (ftp_pasv): New function. + + * options.h (struct options): Add passive FTP option. + +1996-12-15 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (parseurl): Debug output. + + * utils.c (path_simplify): New one, adapted from bash's + canonicalize_pathname(). + +1996-12-14 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Don't discard the buffer. + + * retr.c (get_contents): New parameter nobuf. + +1996-12-13 Shawn McHorse <riffraff@txdirect.net> + + * html.c (htmlfindurl): Recognize <meta contents="d; URL=...". + + * init.c (setval): Strip the trailing slashes on CVECDIR. + +1996-12-13 Hrvoje Niksic <hniksic@srce.hr> + + * init.c: Make excludes and includes under CVECDIR instead of + CVEC. + +1996-12-13 Shawn McHorse <riffraff@txdirect.net> + + * url.c (get_urls_html): Skip "http:". + +1996-12-13 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (strcasecmp): From glibc. + (strncasecmp): Also. + (strstr): Also. + + * url.c: Added javascript: to the list of URLs prefixes. + +1996-12-12 Shawn McHorse <riffraff@txdirect.net> + + * recur.c (retrieve_robots): Print the warning message only if + verbose. + +1996-12-12 Gregor Hoffleit <flight@mathi.uni-heidelberg.DE> + + * ftp.c (ftp_retrieve_list): Use NeXT old utime interface. + +1996-12-12 Hrvoje Niksic <hniksic@srce.hr> + + * systhings.h: New file. + + * ../configure.in: Check for utime.h + + * ftp.c: Check whether we have unistd.h. + +1996-11-27 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (recursive_retrieve): Send the canonical URL as referer. + (recursive_retrieve): Call get_urls_html with the canonical URL. + +1996-12-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add + ansi2knr support for compilers which don't support ANSI style + function prototypes and signatures. + + * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files. + +1996-11-26 Hrvoje Niksic <hniksic@srce.hr> + + * url.c: Use it; Recognize paths ending with "." and ".." as + directories. + (url_filename): Append .n whenever file exists and could be a + directory. + + * url.h (ISDDOT): New macro. + + * init.c (parse_line): Use unsigned char. + + * url.c (get_urls_html): Cast to unsigned char * when calling + htmlfindurl. + + * html.c (htmlfindurl): Use unsigned char. + + * version.c: Changed version to 1.4.3. + +1996-11-25 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.2. + + * ftp.c (getftp): Simplified assertion. + (ftp_loop_internal): Remove symlink before downloading. + (ftp_retrieve_list): Unlink the symlink name before attempting to + create a symlink! + + * options.h (struct options): Renamed print_server_response to + server_response. + + * ftp.c (rel_constr): Removed. + (ftp_retrieve_list): Don't use it. + (ftp_retrieve_list): Use opt.retr_symlinks. + +1996-11-24 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): New option retr_symlinks. + + * url.c (convert_links): Print verbose message. + +1996-11-24 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Reset newloc in the beginning of function; + would cause FMR in retrieve_url. + +1996-11-23 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (convert_all_links): Find the URL of each HTML document, + and feed it to get_urls_html; would bug out. + (convert_all_links): Check for l2 instead of dl; removed dl. + + * url.c (convert_links): Don't refer to freed newname. + + * recur.c (recursive_retrieve): Add this_url to urls_downloaded. + + * main.c (main): Print the OS_TYPE in the debug output, too. + + * recur.c (recursive_retrieve): Check for opt.delete_after. + + * main.c (main): New option delete-after. + + * init.c (setval): Cleaned up. + +1996-11-21 Hrvoje Niksic <hniksic@srce.hr> + + * Makefile.in (wget): Make `wget' the default target. + + * ftp.c (ftp_loop_internal): Move noclobber checking out of the + loop. + (ftp_retrieve_list): Warn about non-matching sizes. + + * http.c (http_loop): Made -nc non-dependent on opt.recursive. + + * init.c (setnum): Renamed from setnuminf; New argument flags. + (setval): Use it. + + * main.c (main): Sorted the options. + (main): New option --wait. + +1996-11-21 Shawn McHorse <riffraff@txdirect.net> + + * html.c (htmlfindurl): Reset s->in_quote after getting out of + quotes. + +1996-11-20 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Changed version to 1.4.2. + +1996-11-20 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.1. + + * html.c (html_quote_string): New function. + (ftp_index): Use it. + (htmlfindurl): A more gentle ending debug message. + + * ftp.c (ftp_loop): Check for opt.htmlify. + + * init.c: New command htmlify. + + * ftp.c (getftp): Nicer error messages, with `'-encapsulated + strings. + (ftp_loop): Print size of index.html. + + * init.c (setval): Implement "styles". + + * main.c (main): New option dotstyle. + +1996-11-19 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Close the master socket in case of errors, after + bindport(). + + * connect.c (bindport): Initialize msock to -1. + + * ftp.c (getftp): Initialize dtsock to -1. + + * connect.c (closeport): Don't close sock if sock == -1. + +1996-11-18 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (setnuminf): Nuked default value -- just leave unchanged. + (setval): Don't send default values. + (defaults): Use DEFAULT_TIMEOUT -- aaargh. + + * options.h (struct options): Use long for dot_bytes. + + * init.c (setquota): Renamed to setbytes. + (setval): Use setbytes on DOTBYTES. + +1996-11-17 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Initialize con->dltime. + + * recur.c (recursive_retrieve): Use same_host instead of + try_robots; simply load robots_txt whenever the host is changed. + (recursive_retrieve): Free forbidden before calling parse_robots. + +1996-11-16 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (show_progress): Use them. + + * options.h (struct options): New options dot_bytes, dots_on_line + and dot_spacing. + +1996-11-16 Mark Boyns <boyns@sdsu.edu> + + * recur.c (recursive_retrieve): Retrieve directories regardless of + acc/rej rules; check for empty u->file. + +1996-11-14 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (setval): Use it. + + * utils.c (merge_vecs): New function. + + * init.c (setval): Reset the list-type functions when encountering + "". + +1996-11-14 Shawn McHorse <riffraff@txdirect.net> + + * recur.c (recursive_retrieve): Use base_url instead of this_url + for no_parent. + +1996-11-14 Shawn McHorse <riffraff@txdirect.net> + + * html.c (htmlfindurl): Reset s->in_quote after exiting the quote. + +1996-11-13 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c (sepstring): Rewrote; don't use strtok. + + * recur.c (recursive_retrieve): Enter assorted this_url to slist + when running the first time. + (retrieve_robots): Warn to ignore errors when robots are loaded. + + * utils.c (load_file): Moved from url.c. + + * http.c: Made static variables const too in h* functions. + + * main.c (main): Renamed --continue-ftp to --continue. + + * recur.c (recursive_retrieve): Use it. + + * utils.c (frontcmp): New function. + + * url.c (accdir): New function. + + * html.c (htmlfindurl): Recognize <area href=...>. + + * ftp.c (ftp_retrieve_dirs): Implemented opt.includes. + + * init.c (setval): Free the existing opt.excludes and + opt.includes, if available. + + * main.c (main): New option -I. + +1996-11-12 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_retrieve_glob): Do not weed out directories. + + * version.c: Changed version to 1.4.1. + +1996-11-11 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.0. + +1996-11-10 Hrvoje Niksic <hniksic@srce.hr> + + * main.c (main): Free com and val after parse_line. + (printhelp): Reorder the listing. + + * http.c: More robust header parsing. + + * http.c: Allow any number of spaces, or no spaces, precede ':'. + (hskip_lws): New function. + (haccepts_bytes): New function. + (gethttp): Use it. + + * init.c (setval): Check header sanity. + (setval): Allow resetting of headers. + +1996-11-10 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Don't use has_wildcards. + + * http.c (gethttp): Free all_headers -- would leak. + + * recur.c (recursive_retrieve): Initialize depth to 1 instead of + 0 -- this fixes a long-standing bug in -rl. + +1996-11-09 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c: Use -1 as "impossible" value for con->fd. + + * url.h (URL_SEPARATOR): Don't treat `*' and `+' as separators. + + * init.c (parse_line): Use isalpha. + + * ftp-unix.c: Use HAVE_UNISTD_H. + + * mtch.c (has_wildcards): Don't match \. + + * http.c (http_loop): Warn on HTTP wildcard usage. + +1996-11-08 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (url_filename): Do not create numbered suffixes if + opt.noclobber -- would bug out on -nc. + +1996-11-07 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (parse_robots): Don't chuck out the commands without + arguments (`Disallow:<empty>' didn't work). + (parse_robots): Compare versions lowercase. + (parse_robots): Match on base_version, not version_string! + (parse_robots): Handle comments properly. + (parse_robots): Match versions in a sane way. + + * init.c: Print nicer error messages. + + * version.c: Changed version to 1.4.0. + +1996-11-06 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.0-test2. + + * init.c (run_wgetrc): Close fp. + + * ftp.c (ftp_retrieve_dirs): Allocate the correct length for + u->dir. + +1996-11-06 Hrvoje Niksic <hniksic@srce.hr> + + * init.c (setquota): Allow inf as quota specification. + +1996-11-05 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_retrieve_dirs): Return QUOTEXC if quota exceeded. + (ftp_retrieve_glob): Return QUOTEXC on quota exceeded. + + * main.c (main): Check for quota by comparison with downloaded + stuff, not from status. + + * connect.c (select_fd): Should compile on HPUX without warnings now. + + * ftp.c (ftp_get_listing): Check whether ftp_loop_internal + returned RETROK. + +1996-11-04 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_retrieve_glob): Print the pattern nicely. + (getftp): Return FTPRETRINT on control connection error. + + * html.c (htmlfindurl): Recognize <embed src=...> and + <bgsound src=...>. + (ftp_index): Handle username and password correctly. + + * main.c (main): Made `-np' a synonim for --no-parent. + +1996-11-02 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling + ftp_retrieve_glob. + + * version.c: Changed version to 1.4.0-test2. + +1996-11-02 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4.0-test1. + + * url.c (str_url): Don't use sprintf when creating %2F-prefixed + directory. + (convert_links): Removed definition of make_backup. + + * http.h: Removed definition of MAX_ERROR_LENGTH. + + * host.c (ftp_getaddress): Check for "(none)" domains. + + * ftp.c (ftp_retrieve_dirs): Docfix. + + * http.c (gethttp): Use ou->referer instead of u->referer. + + * retr.c (retrieve_url): Reset u to avoid freeing pointers twice; + this was known to cause coredumps on Linux. + + * html.c (ftp_index): Cast the argument to local_time to time_t *. + +1996-11-01 Hrvoje Niksic <hniksic@srce.hr> + + * connect.c (select_fd): Use exceptfds -- once and for all. + + * retr.c (retrieve_from_file): Free filename after + recursive_retrieve. + (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on + first-time retrieval. + (retrieve_from_file): Return uerr_t; new argument, count. + (retrieve_from_file): Break on QUOTEXC. + + * init.c (setquota): Fixed a bug that caused rejection of + non-postfixed values.. + +1996-10-30 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Changed name to wget. + + * connect.c (iread): Smarter use of select. + (select_fd): Set errno on timeout. If not timeout, return 1 + instead of 0. + +1996-10-29 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop_internal): Don't use con->cmd before + establishing it. + +1996-10-26 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Send correct referer when using proxy. + (gethttp): Use struct urlinfo ou to access the relevant data; send + correct authorization in all cases. + + * host.c (same_host): Use skip_uname to skip username and + password. + + * url.c (skip_uname): New function. + (parseurl): Use it. + + * host.c (same_host): Do not assume HTTP -- same_host should now + be totally foolproof. + + * url.c (skip_proto): New function. + (parse_uname): Use it. + + * http.c (gethttp): Create local user and passwd from what is + given. + + * url.c (parseurl): Check for HTTP username and password too. + +1996-10-25 Hrvoje Niksic <hniksic@srce.hr> + + * config.h.in: Removed #define gethostbyname R... + +1996-10-22 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Changed version to 1.4.0-test1. + +1996-10-21 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b29. + + * recur.c (recursive_retrieve): Check for no_parent. + + * init.c (setval): Option update. + + * main.c (main): New option no-parent. + + * options.h (struct options): New variable no_parent. + + * recur.c (recursive_retrieve): Only files are checked for + opt.accepts and opt.rejects. + (recursive_retrieve): Check directories for opt.excludes. + (recursive_retrieve): Make the dir absolute when checking + opt.excludes. + + * html.c (htmlfindurl): Recognize <applet code=...> and <script + src=...> + +1996-10-18 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (getftp): Do not line-break assert entries at all. + (ftp_retrieve_dirs): docfix. + + * connect.c (select_fd): Use fd + 1 as nfds. + + * version.c: Changed version to 1.4b29. + +1996-10-18 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b28. + + * ftp.c (ftp_loop_internal): Check whether f->size == len and + don't continue the loop if it is. + (ftp_get_listing): Remove list_filename on unsuccesful loop. + +1996-10-17 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop_internal): Use strcpy to initialize tmp. + (getftp): Do not use multiline assert. + + * http.c (hparsestatline): Use mjr and mnr instead of major and + minor, which don't compile on Ultrix. + (http_loop): Use strcpy() to initialize tmp. + + * all: Geturl -> Fetch + +1996-10-17 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (parse_robots): Fixed an off-by-one bug when looking for + ':'. + + * html.c (htmlfindurl): Fixed several possible off-by-one bugs by + moving `bufsize &&' to the beginning of each check in for-loops. + + * recur.c (parse_robots): Close fp on exit. + + * url.c (mymkdir): Check for each directory before creating. + +1996-10-16 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Changed version to 1.4b28. + +1996-10-16 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b27. + + * init.c (parse_line): Use isspace. + (parse_line): Free *com on all errors. + + * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting. + (delelement): Use next instead of f->next and prev instead of + f->prev. + (delelement): Free the members of the deleted element. + + * http.c (http_loop): Do not return RETROK on code != 20x. + + * init.c (cleanup): Free opt.user_header. + (cleanup): Free opt.domains. + + * url.c (freelists): Moved to cleanup(). + + * http.c (hparsestatline): Docfix. + + * main.c (main): Return with error status on unsuccesful + retrieval. + + * init.c (setval): Do not remove listing when mirroring. + + * url.c (url_filename): Use opt.fileprefix. + + * ftp.c (ftp_get_listing): Use url_filename to get filename for + .listing. + + * main.c (main): New option: -rn. + +1996-10-15 Hrvoje Niksic <hniksic@srce.hr> + + * Makefile.in (RM): Added RM = rm -f. + + * host.c (clean_hosts): New function. + (free_hlist): Just free the list, no reset. + + * version.c: Changed version to 1.4b27. + +1996-10-13 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b26. + + * retr.c (retrieve_from_file): If call get_urls_html with + opt.spider to make it silent in spider mode. + + * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE. + + * url.h (CLEANDUP): New macro. + + * http.c (gethttp): Fixed a bug that freed location only when it + was NULL. + + * retr.c (retrieve_url): Free url if it will not be stored, + i.e. newloc is NULL. + + * html.c (htmlfindurl): Handle exiting from quotes correctly; the + old version would bug out on <a href="x#a"href="y">. + + * html.h (state_t): New member in_quote. + + * html.c (htmlfindurl): Free s->attr at the beginning of + attr-loop. + + * recur.c (recursive_retrieve): Recognize RCLEANUP. + (tried_robots): Make hosts a global variable. + (recursive_retrieve): Free constr after URL host optimization. + (tried_robots): Free urlinfo before exiting. + + * utils.c (free_slist): New function. + + * recur.c (recursive_retrieve): Use flags to add cleanup + possibility. + + * main.c (main): Free filename after recursive_retrieve. + + * http.c (gethttp): Store successful responses too. + +1996-10-12 Hrvoje Niksic <hniksic@srce.hr> + + * all: Constified the whole source. This required some minor + changes in many functions in url.c, possibly introducing bugs -- I + hope not. + + * ftp-basic.c: Removed last_respline. + + * http.c (gethttp): Free type. + + * host.c (same_host): Free real1 and real2. + + * main.c (main): New option --spider. + + * retr.c (get_contents): Don't reset errno. + + * main.c (main): Sorted the options. + + * connect.c (iread): Set errno to ETIMEDOUT only if it was left + uninitialized by select(). + + * http.c (http_loop): Print the time when the connection is + closed. + (gethttp): Debug-print the HTTP request. + +1996-10-11 Hrvoje Niksic <hniksic@srce.hr> + + * connect.c (iread): Do not try reading after timeout. + + * main.c (main): Would bug out on -T. + + * connect.c (select_fd): Do not use exceptfds. + (iread): Set ETIMEDOUT on select_fd <= 0. + + * version.c: Changed version to 1.4b26. + +1996-10-10 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b25. + + * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name + or link name. + + * http.c (gethttp): Add errcode to struct hstat. + (http_loop): Use it. + + * url.c (no_proxy_match): Simplify using char** for no_proxy. + + * options.h (struct options): Make opt.no_proxy a vector. + + * utils.c (sepstring): Use !*s instead of !strlen(s). + + * init.c (setval): Set opt.maxreclevel to 0 on --mirror. + (getperms): Use ISODIGIT instead of isdigit. + + * ftp.c (getftp): Print time. + + * main.c (main): Use legible output of downloaded quantity. + + * ftp.c (getftp): Use elapsed_time(). + (ftp_loop_internal): Use rate(). + + * http.c (http_loop): Add download ratio output; Use rate(). + + * utils.c (rate): New function. + +1996-10-09 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Use timer. + + * ftp.c: Split to ftp-basic.c and ftp.c + + * utils.c (reset_timer): New function. + (elapsed_time): New function. + + * retr.c (show_progress): Make bytes_in_line and offs long; should + work on 16-bit machines. + +1996-10-08 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (in_acclist): New argument backward. + + * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether + a file should be retrieved according to suffix. + (ftp_get_listing): Check the return value of unlink; Do not call + ftp_retrieve_dirs if depth reached maxreclevel. + (ftp_retrieve_dirs): Check whether the directory is in + exclude-list. + + * main.c (main): Print the version number at the beginning of + DEBUG output. + (main): Use strrchr when creating exec_name. + + * ftp.c (ftp_retrieve_glob): Do not close control connection. + + * version.c: Changed version to 1.4b25. + +1996-10-07 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b24. + + * Makefile.in: Rewrite. + + * ftp.c (ftp_loop_internal): Likewise. + + * retr.c (time_str): Check for failed time(). + + * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from + HTML3.0. + + * retr.c (time_str): Return time_t *. + + * connect.c (bindport): Close msock on unsuccesful bind. + (bindport): The same for getsockname and listen. + + * retr.c (retrieve_url): Allow any number of retries on + proxy. + + * http.c (gethttp): Do not treat errno == 0 as timeout. + (http_loop): Likewise. + (http_loop): Cosmetic changes. + + * connect.c (iread): Set errno to ETIMEDOUT in case of timeout. + + * retr.c (get_contents): Reset errno. + + * ftp.c (getftp): Minor fixes. + +1996-10-06 Hrvoje Niksic <hniksic@srce.hr> + + * http.c: Do not use backups. + + * geturl.1 (WARNING): Warn that man-page could be obsolete. + + * getopt.c (getopt_long): Moved to getopt.c + + * geturl.texi: Enhanced. + + * main.c (main): Use it. + + * recur.c (convert_all_links): New function. + + * utils.c (add_slist): New argument flags. + + * recur.c (recursive_retrieve): Update a list of downloaded URLs. + (parse_robots): Do not chuck out empty value fields. + (parse_robots): Make yourself welcome on empty Disallow. + + * version.c: Changed version to 1.4b24. + +1996-10-06 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b23. + + * ftp.c (ftp_loop_internal): Get the time after getftp. + + * Makefile.in (install.info): New target. + (install): Use it. + + * http.c (http_loop): Fix output when doing -O. + +1996-10-05 Hrvoje Niksic <hniksic@srce.hr> + + * geturl.texi: New file. + + * main.c (main): Do not print the warnings and download summary if + opt.quiet is set. + + * version.c: Changed version to 1.4b23. + +1996-10-05 Hrvoje Niksic <hniksic@srce.hr> + + * "Released" 1.4b22. + + * atotm.c (atotm): Use True and False instead of TRUE and FALSE, + to avoid redefinition warnings. + + * host.c (store_hostaddress): Use memcpy() to copy the address + returned by inet_addr. + + * version.c: Changed version to 1.4b22. + +1996-10-04 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b21. + + * ftp-unix.c (ftp_parse_ls): Renamed to ftp_parse_unix_ls. + + * ftp.c (ftp_port): Use conaddr. + (getftp): Print the file length. + (ftp_retrieve_list): Check the stamps of plain files only. + + * connect.c (closeport): Do not call shutdown(). + (conaddr): New function. + + * html.c (ftp_index): Made it dfp-aware. + + * init.c (cleanup): New name of freemem. Close opt.dfp. + + * ftp.c (getftp): Use opt.dfp if it is set. + + * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format. + + * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect + CWDs to be sent with recursive FTP retrievals. + +1996-10-03 Hrvoje Niksic <hniksic@srce.hr> + + * recur.c (parse_robots): Made it more compliant with "official" + specifications. + + * http.c: New function. + + * ftp-unix.c (ftp_parse_ls): Added better debug output. + + * ftp.c (getftp): Print out the LIST in case of + opt.print_server_response. + + * version.c: Changed version to 1.4b21. + +1996-10-01 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b20. + + * README: Update. + + * http.c (gethttp): Preset lengths of various headers instead of + calculating them dynamically. + (gethttp): Check for 206 partial contents. + +1996-09-30 Hrvoje Niksic <hniksic@srce.hr> + + * configure.in: Set SYSTEM_GETURLRC to $libdir/geturlrc + + * http.c (gethttp): Send the port number in the Host: header. + +1996-09-29 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Send host: header. + (gethttp): Add the possibility of user-defined headers. + (gethttp): Move decision about pragma: no-cache to http_loop, + where it belongs. + (gethttp): Pass a struct instead of enormous argument list. + (http_loop): Use a new, fancier display format. + (ftp_loop): Likewise. + + * main.c: (hangup): Turn off buffering of the new log file. + + * install-sh: Likewise. + + * config.sub: Replace with the one in autoconf-2.10 + + * geturl.1: Update. + + * init.c: New options httpuser and httppasswd. + + * http.c: (base64_encode_line): New function. + (gethttp): Send authentication. + + * connect.c (make_connection): Use store_hostaddress. + +1996-09-28 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (store_hostaddress): New function. + + * NEWS: Update. + + * http.c (hgetrange): New function. + (gethttp): Use ranges. + + * utils.c (numdigit): Accept long instead of int. + + * http.c (http_loop): Add restart capabilities. + + * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres + being used uninitialized. + (ftp_retrieve_list): Similar fix. + + * host.c (add_hlist): Fixed a bug that could cause cmp being used + uninitialized. + + * url.c (construct_relative): New function. + + * recur.c (recursive_retrieve): Use it. + + * retr.c (convert_links): New function. + +1996-09-27 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (free_urlpos): New function. + + * recur.c (recursive_retrieve): Adapt. + + * url.c (get_urls_html): Return a linked list instead of a vector. + + * url.c (get_urls_file): Return a linked list instead of a vector. + + * geturl.1: Update. + + * http.c (gethttp): Implement it. + + * init.c (setval): New option: SAVEHEADERS + + * ftp.c (ftp_loop_internal): Do not set restval if listing is to + be retrieved. Lack of this test caused bugs when the connection + was lost during listing. + + * retr.c (retrieve_url): Fixed a bug that caused + coredumps. *newloc is now reset by default. + (retrieve_url): Lift the twenty-tries limit on proxies. + + * version.c: Changed version to 1.4b20. + +1996-09-20 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b19. + +1996-09-19 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop_internal): Renamed from ftp_1fl_loop. + (getftp): Changed prototype to accept ccon *. + +1996-09-17 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting + incorrect values to files pointed to by symbolic links. + (ftp_1fl_loop): Do not count listings among the downloaded URL-s. + +1996-09-16 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (mkstruct): Do not prepend "./" in front of a pathname. + + * main.c (main): New option: --user-agent. + + * geturl.1: Ditto. + + * init.h: Ditto. + + * init.c (setval): Ditto. + + * main.c (main): Rename "server-headers" to "server-response". + + * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of + executables in 'ls -F' listings. + +1996-09-15 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (parseurl): Remove realloc() and sprintf(). + (str_url): Get rid of sprintf(). + + * recur.c (recursive_retrieve): Enable FTP recursion through proxy + servers. + + * url.h (URL_CLEANSE): Made it else-resistant. + (USE_PROXY): New macro. + +1996-09-14 Hrvoje Niksic <hniksic@srce.hr> + + * NEWS: Update. + + * version.c: Changed version to 1.4b19. + +1996-09-14 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b18. + + * url.c: Made it reallocate space exponentially. + +1996-09-14 Drazen Kacar <dave@fly.cc.fer.hr> + + * html.c (htmlfindurl): Added <frame src> and <iframe src> among + the list of stuff to fetch. + +1996-09-13 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with + -Fi. + + * html.c (htmlfindurl): Rewrite. + + * http.c (gethttp): Use opt.proxy_cache. + + * main.c (main): Added --cache option. + + * ftp.c (ftp_response): Print server response if opt.print_server + response is set. + (getftp): Print newlines after each request if the server response + is to be printed. + (ftp_response): Copy the last response line to last_respline. + + * http.c (gethttp): Add Pragma: nocache for retried + proxy-retrievals. + + * ftp.c (getftp): Use it. + + * retr.c (buf_discard): New function. + + * ftp.c (ftp_response): Use buf_readchar(). + (getftp): Flush the control connection buffer before calling + get_contents(). + + * retr.c (buf_readchar): New function. + (buf_flush): New function. + (get_contents): Use buf_readchar() instead of read(x, x, 1). + (get_contents): Use buf_flush. + +1996-09-12 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c: Incorporate changes to ftp_response. + + * ftp.c (ftp_response): Allocate the server response dynamically, + as in read_whole_line and fetch_next_header. + + * utils.c (read_whole_line): Fixed a bug that prevented reading + the last line if it is not \n-terminated. Also fixed a possible + memory overflow. + + * http.c (fetch_next_header): Return malloc-ed string as large as + needed. + (gethttp): Use new fetch_next_header. + +1996-09-12 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (hgetlen): Compute the header length the first time only. + (hgettype): Ditto. + (hgetlocation): Ditto. + (hgetmodified): Ditto. + +1996-09-11 Hrvoje Niksic <hniksic@srce.hr> + + * sample.geturlrc: Update. + +1996-09-10 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): Ditto. + + * ftp.c (getftp): Open the output file as binary. + + * version.c: Changed version to 1.4b18. + +1996-09-10 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b17. + + * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL + instead of failed assertion. + +1996-09-09 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME + if a file of that name already exists. + +1996-09-05 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly. + + * config.h.in: Define gethostbyname as Rgethostbyname when using + Socks. + + * configure.in: Check for -lresolv if using Socks. + + * version.c: Changed version to 1.4b17. + +1996-07-15 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b16. + + * http.c (gethttp): More intelligent check for first line of HTTP + response. + (gethttp): Would bug out on time-stamping. + + * version.c: Changed version to 1.4b16. + +1996-07-11 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Released 1.4b15. + + * http.c (http_loop): Print \n after the loop entry, not before. + + * url.c (url_filename): Use ISDOT. + + * url.h (ISDOT): New macro. + + * recur.c (recursive_retrieve): Change only opt.recursive for + following FTP. + +1996-07-11 Antonio Rosella <antonio.rosella@agip.it> + + * socks/geturl.cgi: Fixed version No. + + * socks/download-netscape.html: Ditto. + + * socks/download.html: Changed socks.html to download.html. + +1996-07-11 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (url_filename): Check for opt.dirstruct instead for + opt.recursive && opt.dirstruct. + + * init.c (defaults): Ditto. + (defaults): Reset dirstruct by default. + (setval): Set opt.dirstruct whenever setting recursive. + + * init.h: Removed FORCEDIRHIER. + + * INSTALL: Added -L to socks-description. + + * version.c: Changed version to 1.4b15. + +1996-07-10 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b14. + + * geturl.1: Update AUTHOR to include Rosella as contributor. + + * NEWS: Update. + + * socks/geturl.cgi: Simplified command creation, nuked <blink>. + + * socks/geturl.cgi: Wrap nutscape extensions within if $netscape. + (cal_time): Fix == to eq. + + * socks/geturl.cgi: GPL-ized with permission of A. Rosella. + + * geturl.1 (hostname): Moved URL CONVENTIONS to the beginning. + + * Makefile.in: Use @VERSION@. + + * configure.in: Check version from version.c. + + * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl. + + * socks/download.html: Created from download-netscape.html, made + HTML-2.0 compliant. + + * recur.c (recursive_retrieve): Set opt.force_dir_hier when + following FTP links from recursions. + +1996-07-09 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create + absolute directories correctly. + + * version.c: Changed version to 1.4b14. + +1996-07-09 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b13. + + * url.c (make_backup): New function. + + * http.c (http_loop): Make a backup copy of the local file (using + rename(2)) before opening it. + + * main.c (main): Added --backups. + + * host.c (ftp_getaddress): Bail out on failed mycuserid(). + (ftp_getaddress): Check for leading dot on MY_DOMAIN. + (ftp_getaddress): Check for empty, null or (null) domain. + + * url.c (get_urls_html): If this_url is NULL, the base must have a + protocol. + (parseurl): Use has_proto. + + * retr.c (retrieve_url): Warn when proxy is used with more than 20 + retries. + + * url.c (mkstruct): Create the directory (calling mymkdir()) only + if it is not already there. + (has_proto): New function. + (get_urls_html): Eliminate the remaining call to findurl -- use + has_proto. + + * geturl.1: Ditto. + + * main.c: Change -X to -x. + + * url.c (url_filename): Simplify creation of filename if + prefix_files is set. + (url_filename): Simplify everything. And I do mean *everything*. + (mkstruct): Add dir_prefix before hostname. + (path_simplify): Fixed a bug that caused writing outside the path + string in case of "." and ".." path strings. + +1996-07-06 Hrvoje Niksic <hniksic@srce.hr> + + * init.c: Added --mirror. + + * main.c (main): Added -X to force saving of directory hierarchy. + + * ftp.c (ftp_retrieve_list): Added recursion depth counter. + (ftp_retrieve_list): Check whether quota is exceeded. + + * url.c (get_urls_html): Skip leading blanks for absolute URIs. + + * http.c (gethttp): Use referer if present. + + * recur.c (recursive_retrieve): Set u->referer before calling + retrieve_url. + + * url.c (newurl): Use memset to nullify the struct members. + (freeurl): Free the referer field too. + + * url.h: Added referer to urlinfo. + + * geturl.1: Updated the manual to document some of the new features. + + * utils.c (numdigit): Moved from url.c. + + * README: Rewritten. + + * config.h.in: Add the support for socks. + + * configure.in: Add the support for socks. + + * url.c (url_filename): If the dir_prefix is ".", work with just + the file name. + (url_filename): Do not look for .n extensions if timestamping if + turned on. + + * retr.c (show_progress): Skip the over-abundant restval data, and + print the rest of it with ',' instead of '.'. + +1996-07-05 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (show_progress): Changed second arg. to long (as it + should be). + (show_progress): Moved to retr.c. + (get_contents): Moved to retr.c. + + * version.c: Change version to 1.4b13. + +1996-07-05 Hrvoje Lacko <hlacko@fly.cc.fer.hr> + + * url.c (in_acclist): Would return after the first suffix. + +1996-07-04 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: "Released" 1.4b12. + + * url.c (path_simplify): More kludgifications. + (get_urls_html): Use new parameters for htmlfindurl. + + * html.c: Removed memorizing "parser states", since the new + organization does not require them. + + * init.c (run_geturlrc): Use read_whole_line. + + * ftp-unix.c (ftp_parse_ls): Use read_whole_line. + + * recur.c (parse_robots): Use read_whole_line. + + * utils.c (read_whole_line): New function. + + * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner. + + * host.c (ngethostbyname): Call inet_addr just once. Yet to be + tested on OSF and Ultrix. + (add_hlist): New function. + (free_hlist): New function. + (search_host): New function. + (search_address): New function. + (realhost): Use search_host, search_address and add_hlist. + (same_host): Replaced realloc() with strdupdelim(), made + case-insensitive, fixed a memory leak. + + * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and + tm_min, like intended. + + * version.c: Change user agent information to + Geturl/version. + +1996-07-03 Hrvoje Niksic <hniksic@srce.hr> + + * utils.c: Renamed nmalloc.c to utils.c, .h likewise. + + * url.c (acceptable): Always accept directories. + + * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving + servers by stripping trailing @ from symlinks and trailing / from + directories. + + * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-) + + * url.c (skip_url): Use toupper instead of UCASE. + + * host.c (sufmatch): Made it case-insensitive. + + * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1. + (match_backwards): New function, instead of + match_backwards_or_pattern. + + * recur.c (recursive_retrieve): Increased performance by + introducing inl, which reduces number of calls to in_slist to only + one. + + * ftp.c (ftp_loop): Enhanced the heuristics that decides which + routine to use. + + * main.c (printhelp): Removed the warranty stuff. + +1996-07-02 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (add_slist): Simplify. + (match_backwards_or_pattern): New function. + (in_acclist): Use match_backwards_or_pattern. + (matches): Remove. + +1996-06-30 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (ftp_loop): Call ftp_index on empty file names, if not + recursive. + + * html.c (ftp_index): Fixed to work. Beautified the output. + + * ftp.c (ftp_retrieve_glob): Another argument to control whether + globbing is to be used. + (ftp_retrieve_list): Compare the time-stamps of local and remote + files to determine whether to download. + +1996-06-29 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (rel_constr): New function. + + * retr.c (retrieve_from_file): Check for text/html before + retrieving recursively. + + * main.c (main): Check whether the file is HTML before going into + recursive HTML retrieving. + + * ftp.c (ftp_retrieve_list): Manage directories. + (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list. + (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly + initialized, causing bugchecks in getftp to fail. + + * configure.in: Check for symlink. + + * ftp.c (ftp_retrieve_list): Added support for symlinks. + + * version.c: "Released" 1.4b10. + + * atotm.c (atotm): Redeclared as time_t. + + * init.c: New variable "timestamping". + + * main.c (main): New option 'N'. + + * http.c (hgetlocation): Case-insensitive match. + (hgetmodified): New function. + (http_loop): Implement time-stamping. + +1996-06-28 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: Changed version to 1.4b10 + + * atotm.c: New file, from phttpd. + + * options.h (struct options): New parameter timestamping. + + * version.c: 1.4b9 "released". + + * recur.c (recursive_retrieve): Used linked list (ulist) for + faster storing of URLs. + + * url.c (get_urls_html): Removed the old kludge with comparing the + outputs of htmlfindurl and findurl. + (get_urls_html): Added better protocol support here. + (create_hash): Removed, as well as add_hash and in_hash. + (addslist): New function. + (in_slist): ditto + + * version.c: Released 1.4b8, changed version to b9. + +1996-06-27 Hrvoje Niksic <hniksic@srce.hr> + + * ftp.c (freefileinfo): New function. + (delelement): New function. + + * everywhere: GPL! + + * ftp.c (ftp_loop): Use ccon. + (ftp_retrieve_glob): Likewise. + + * ftp.h: Define ccon, to define status of control connection. + + * ftp.c (ftp_get_listing): New function. + (ftp_retrieve_more): New function. + (ftp_retrieve_glob): New function. + +1996-06-25 Hrvoje Niksic <hniksic@srce.hr> + + * configure.in: Removed the search for cuserid(). + + * init.c (getmode): Renamed to getperms. + +1996-06-24 Hrvoje Niksic <hniksic@srce.hr> + + * version.c: New version. + + * main.c (hangup): New function, that handles hangup. Hangup + signal now causes geturl to stop writing on stdout, and to write + to a log file. + + * ftp.c (getftp): "Released" 1.4b7. + + * html.c (htmlfindurl): Ignore everything inside <head>...</head>. + (ftp_index): Use fileinfo/urlinfo. + + * ftp-unix.c (ftp_parse_ls): New function. + (symperms): New function. + + * ftp.c (ftp_1fl_loop): New function, to handle 1-file loops. + + * retr.c (retrieve_url): Added FTP support. + +1996-06-23 Hrvoje Niksic <hniksic@srce.hr> + + * geturl.h: Removed NOTFTP2HTML enum. + Added DO_LOGIN, DO_CWD and DO_LIST. LIST_ONLY is obsolete. + + * ftp.c (getftp): Resynched with urlinfo. + (getftp): Removed HMTL-ization of index.html from getftp. + + * version.c: 1.4b6 "released". + + * options.h (options): New struct, to keep options in. + + * http.c (http_loop,gethttp): Synched with proxy. + + * retr.c (retrieve_url): Implemented proxy retrieval. + + * main.c (main): Use retrieve_from_file. + +1996-06-22 Hrvoje Niksic <hniksic@srce.hr> + + * retr.c (retrieve_from_file): New function. + + * url.c (parseurl): Modified to return URLOK if all OK. Protocol + can be found in u->proto. + + * ftp.c (ftp_response): Fixed to accept multi-line responses as + per RFC 959. + + * recr.c (recursive_retrieve): Take newloc from retrieve_url. + + * url.c (mymkdir): Removed the file of the same name, if one + exists. + (isfile): New function. + (mkstruct): Fixed the '/' glitches. + (path_simplify): Hacked to treat something/.. correctly. + +1996-06-21 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (gethttp): Close the socket after error in headers. + (http_loop): HEOF no longer a fatal header. + + * loop.c (retrieve_url): When dt is NULL, do not modify it. This + simplifies the syntax of calling retrieve_url. + + * recr.c (recursive_retrieve): Modified to use get_urls_html. + + * url.c (get_urls_file): New function. + (get_urls_html): New function. + + * recr.c (recursive_retrieve): Patched up to conform to the + standards. + + * http.c (gethttp): Synched with the rest... + (gethttp): Treat only CONREFUSED specially, with connection + errors. + + * init.c,geturl.1,http.c (http_loop): Removed kill_error. + +1996-06-20 Hrvoje Niksic <hniksic@srce.hr> + + * http.c (http_loop): New function. + + * loop.c: Removed *lots* of stuff from retrieve_url. + + * url.c (parseurl): Changed to work with urlinfo. Integrated + username finding and path parsing. + (newurl): New function. + (freeurl): New function. + (mkstruct): Removed the old bogosities, made it urlinfo-compliant. + (url_filename): Likewise. + (path_simplify): Accept relative paths too. + (opt_url): Made urlinfo-compliant, removed bogosities. + (path_simplify): Expanded to accept relative paths. + (str_url): A replacement for hide_url + (decode_string): Fixed a bug that caused malfunctioning when + encountering an illegal %.. combination. + (opt_url): Removed the argument. Dot-optimizations are now default. + + * nmalloc.c (strdupdelim): New function. + + * url.h: Added the urlinfo structure + +1996-06-19 Hrvoje Niksic <hniksic@srce.hr> + + * url.c (hide_url): Thrown out the protocol assertion. Do not + change the URL if the protocol if not recognized. + (findurl): Put continue instead of break. + +1996-06-18 Hrvoje Niksic <hniksic@srce.hr> + + * sample.geturlrc: Changed the defaults to be commented out and + harmless (previous defaults caused pains if copied to + ~/.geturlrc). + + * http.c (gethttp): Print the HTTP request in debug mode. + + * connect.c (iread): Added EINTR check loop to select-ing + too. EINTR is now correctly handled with select(). + + * TODO: new file + +1996-05-07 Hrvoje Niksic <hniksic@srce.hr> + + * host.c (same_host): Made the function a little bit more + intelligent regarding diversified URL syntaxes. + + * url.c (skip_url): Spaces are now skipped after URL: + + * Released 1.3.1 with the patch to prevent crashing when sending + NULL to robot* functions and the patch to compile "out of the box" + on AIX. + + * recr.c (recursive_retrieve): Added checking whether this_url is + NULL when calling the robot functions. + + * ChangeLog: New file.