-2000-03-02 Dan Harkless <dan-wget@dilvish.speed.net>
+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.
- I'm not sure what Dan had in mind with this patch (no explanatory
- comments), but I'm removing it for now. If he can rewrite it so
- it doesn't break stuff, okay.
- (http_loop): Heiko introduced "suggest explicit
- braces to avoid ambiguous `else'" warnings. Eliminated them.
+ 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
specified, and we're are already at that depth, don't download the
HTML file for parsing.
-2000-03-01 Dan Harkless <dan-wget@dilvish.speed.net>
+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
* wget.h (boolean): Added this new typedef and TRUE and FALSE #defines.
-2000-02-29 Dan Harkless <dan-wget@dilvish.speed.net>
+2000-02-29 Dan Harkless <wget@harkless.org>
* version.c: Upped version to developer-only "1.5.3+dev".
-2000-02-18 Dan Harkless <dan-wget@dilvish.speed.net>
+2000-02-18 Dan Harkless <wget@harkless.org>
* init.c (backup_converted): Added this new option.