+2005-05-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (cmd_spec_useragent): Allow empty User-Agent.
+
+ * http.c (gethttp): Don't print "unknown authentication scheme"
+ for failed Basic authentication.
+ (SET_USER_AGENT): Don't set user-agent if opt.useragent is empty.
+ (gethttp): Use alloca for allocation of www_authenticate.
+
+2005-05-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (print_help): Fix wording of --secure-protocol help text.
+
+2005-05-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * cmpt.c (strstr): Updated from glibc 2.3.5.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (http_atotm): Zero out the whole struct tm being passed
+ to strptime.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (main): Propagate option name to setoptval.
+
+ * init.c (setoptval): Accept another argument, OPTNAME. Propagate
+ that argument as the option name independently of the actual
+ command, determined by command_by_name(com).
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (parse_line): Make the return value indicate whether
+ there was a syntax error or a setter failed.
+ (run_wgetrc): Return an indication on whether an error has been
+ encountered.
+ (initialize): Abort if there have been errors running either
+ .wgetrc file.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * log.c (copy_and_escape): Slightly reduce code repetition between
+ the two loops.
+
+2005-05-05 Charles C.Fu <ccwf@bacchus.com>
+
+ * utils.c (proclist): Strip leading slash when calling fnmatch
+ too, otherwise wildcard comparisons always fail.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (touch): Set access time to current time.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c (url_unescape): Don't unescape %00, it effectively
+ truncates the string.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * log.c (copy_and_escape): Replace the FOR_URI argument with a
+ slightly more general mechanism for specifying different kinds of
+ escape.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ftp-basic.c (ftp_response): Fix printing FTP server response.
+
+2005-05-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * retr.c (limit_bandwidth_reset): Reset sleep_adjust.
+ (limit_bandwidth): Don't allow huge "adjustment" values that
+ result from being suspended for a while.
+
+2005-05-04 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * wget.h: If gettext was found but libtintl.h wasn't, declare
+ gettext's return type to avoid type mismatches.
+
+2005-05-03 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c (url_parse): Rename label `error' to avoid conflict with
+ identifier.
+
+ * retr.c (fd_read_body): Rename label `out' to avoid conflict with
+ identifier.
+ (fd_read_hunk): Use explicit double constant.
+ (retrieve_from_file): Don't use string concatenation.
+ (sleep_between_retrievals): Make sure xsleep is called with a
+ `double' argument.
+ (no_proxy_match): Define as static, like it is declared.
+
+ * progress.c (bar_create): Use 0.0 instead of 0 because K&R
+ compilers can't automatically promote it.
+
+ * http-ntlm.c (ntlm_output): Replace \xHH sequences with \OOO for
+ the sake of old compilers.
+
+ * ftp.c (ftp_loop_internal): Don't use string concatenation.
+
+ * http.c (request_send): Use explicit double constants when
+ calling fd_read and fd_write.
+ (post_file): Ditto.
+ (gethttp): Ditto.
+ (skip_short_body): Ditto.
+
+ * ftp-basic.c: When calling fd_write, specify the last argument as
+ a `double' constant for the sake of K&R compilers which don't see
+ the prototype and therefore can't promote it to double
+ automatically.
+
+ * cookies.c (cookie_jar_load): Rename abort label to abort_cookie
+ to avoid name conflict in K&R compilers.
+
+2005-04-29 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (posix_init): Since we allow _POSIX_MONOTONIC_CLOCK==0,
+ it is not enough to check for _POSIX_MONOTONIC_CLOCK-0, we must
+ also check for defined(_POSIX_MONOTONIC_CLOCK).
+
+2005-04-28 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ftp.c, hash.c, connect.c, host.c, http.c: Remove unreached code,
+ such as "break" following return or abort.
+
+2005-04-28 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (commands): Wrap the use of opt.random_file in #ifdef
+ HAVE_SSL.
+
+2005-04-28 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Correctly set the user agent.
+
+2005-04-27 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (cmd_spec_useragent): Free the old value of
+ opt.useragent before setting the new one.
+
+2005-04-27 Mauro Tortonesi <mauro@ferrara.linux.it>
+
+ * main.c: Map --ftp-password, --http-password and --proxy-password to
+ the new ftppassword, httppassword and proxypassword commands
+ respectively. Document the --user and --password options in the help
+ string.
+
+2005-04-27 Mauro Tortonesi <mauro@ferrara.linux.it>
+
+ * ftp.c: Add support for --user and --password.
+
+ * http.c: Add support for --user and --password.
+
+ * init.c: Deprecated ftppasswd, httppasswd, login, passwd and
+ proxypasswd commands. Added ftppassword, ftpuser, httppassword,
+ password, proxypassword and user commands.
+
+ * main.c: Renamed --ftp-passwd to --ftp-password. Added --ftp-user,
+ --http-password, --password, --proxy-password and --user. Deprecated
+ --http-passwd and --proxy-passwd. Added documentation for new options
+ and removed documentation for deprecated options in the help string.
+
+ * options.h (struct options): Added user and passwd members to handle
+ --user and --password respectively. Renamed ftp_acc and ftp_pass
+ members to ftp_user and ftp_passwd for consistency.
+
+2005-04-27 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (print_help): Advertise "DER", not "ASN1".
+
+2005-04-27 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * openssl.c (init_prng): Disable the weak random seed by default.
+
+ * http.c (gethttp): Simplify SSL initialization; disable SSL when
+ anything goes wrong with the initialization.
+
+ * options.h (struct options): New option opt.random_file.
+
+2005-04-27 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c: Wrap private key commands in IF_SSL.
+
+2005-04-27 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * openssl.c (ssl_init): Ditto.
+
+ * options.h (struct options): Allow separate specification of key
+ type and certificate type.
+
+ * init.c (cmd_spec_cert_type): Provide a "der" synonym for "asn1"
+ certificate encoding.
+
+2005-04-26 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * openssl.c: Renamed "gen_sslfunc.c" to "openssl.c" and
+ "gen_sslfunc.h" to "openssl.h". This reflects the intent of
+ openssl.c encapsulating the OpenSSL-specific code.
+
+2005-04-26 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c: Renamed "closure" (a synonym for context in some
+ cultures) to "place", which more accurately reflects the usage.
+
+2005-04-26 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * gen_sslfunc.c (ssl_init): Use default locations for loading the
+ certificate bundles.
+ (ssl_init_prng): Disable the cryptographically weak PRNG
+ initialization fallback.
+
+ * init.c: Renamed SSL command-line arguments and wgetrc commands.
+ (defaults): Check the server certificate by default.
+
+2005-04-26 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * cookies.c (cookie_handle_set_cookie): Delete the part of the
+ path after the trailing slash.
+
+ * http.c (gethttp): Call cookie_handle_set_cookie with path that
+ begins with '/'.
+
+2005-04-26 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Call skip_short_body only if keep_alive is in
+ use.
+ (gethttp): Send the User-Agent header with the CONNECT request as
+ well.
+
+2005-04-25 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (option_data): Removed support for the undocumented flag
+ --use-proxy.
+
+2005-04-25 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (option_data): Don't treat -Y as a boolean switch; treat
+ it as a value switch instead, so "-Y off" continues to work.
+
+2005-04-24 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (aprintf): Delete unreachable statement.
+
+2005-04-24 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * host.c (cmp_prefer_ipv4): New function.
+ (cmp_prefer_ipv6): New function.
+ (lookup_host): Use the appropriate comparator according to
+ opt.prefer_family.
+
+ * init.c: New option prefer_family.
+
+ * host.c (is_valid_ipv6_address): Spell NS_* constants in lower
+ case to avoid clash with system headers.
+ (lookup_host): Reorder the addresses so that IPv4 ones come first.
+
+ * utils.c (stable_sort): New function.
+
+2005-04-24 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (retryable_socket_connect_error): Return 0 for
+ ENETUNREACH and EHOSTUNREACH.
+
+2005-04-23 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * cmpt.c: Reenable the memmove implementation for systems that
+ lack it.
+
+ * http.c (gethttp): Store the "authorized" state of the persistent
+ connection.
+ (request_remove_header): New function.
+ (gethttp): Don't send the "Basic" authentication if the connection
+ is already authorized.
+
+2005-04-23 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (base64_encode): Treat input as unsigned chars.
+ Required for correct encoding of binary stuff.
+
+2005-04-23 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http-ntlm.c: Format the function definitions in an
+ ansi2knr-friendly fashion.
+
+2005-04-22 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Handle multiple WWW-Authentication headers,
+ only one of which is recognized. Those are sent by IIS with NTLM
+ authorization.
+ (create_authorization_line): Propagate information whether
+ authorization is finished.
+ (gethttp): Only stop authorization when it's really finished, not
+ after fixed two steps.
+
+2005-04-21 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * gen_sslfunc.c (ssl_init): Fix warning message text; mark the
+ message as translatable.
+
+2005-04-21 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (print_help): Print the EGD option outside the cluster of
+ SSL options.
+
+2005-04-21 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http-ntlm.c (ntlm_output): Fix setting the domain.
+ Suggested by Sami Krank.
+
+2005-04-20 Mauro Tortonesi <mauro@ferrara.linux.it>
+
+ * connect.c: Set IPV6_V6ONLY socket option when -6 switch is used.
+
+2005-04-20 FUJISHIMA Satsuki <sf@FreeBSD.org>
+
+ * http.c (request_set_header): Fix the check whether a new header
+ needs to be allocated.
+
+2005-04-18 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (base64_encode): Use the parameter order that makes more
+ sense. Return the length of the base64 written. Updated all
+ callers.
+
+2005-04-17 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (request_set_header): Free NAME when VALUE is NULL and
+ freeing the header name is requested.
+
+2005-04-17 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * snprintf.c (fmtstr): Declare VALUE as const char *.
+ Based on patch by Russ Allbery.
+
+2005-04-17 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * snprintf.c (fmtfp): More correct handling of significant digit
+ count with %g -- 0.002 has one significant digit, not three.
+
+2005-04-16 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * retr.c (fd_read_body): Respect read timeout with non-interactive
+ or no progress gauge -- treat ETIMEDOUT specially only when
+ progress_interactive.
+ Reported by FUJISHIMA Satsuki.
+
+2005-04-16 FUJISHIMA Satsuki <sf@FreeBSD.org>
+
+ * http.c (gethttp): Don't use HTTP/1.0 persistent connections over
+ proxy.
+
+2005-04-16 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * snprintf.c: Use the PARAMS macro to handle prototypes. Write
+ function definitions in the ansi2knr-friendly way.
+ (fmtstr): If string precision is specified, don't read VALUE past
+ it.
+ (dopr): Actually print %g and %e formats.
+ (fmtfp): Fix a bug that caused 0.01 to be printed as 0.1.
+ (fmtfp): Use LLONG in floating point conversions to be able to
+ convert more digits.
+ (fmtfp): Interpret precision as number of significant digits with
+ %g.
+ (fmtfp): Omit trailing decimal zeros with %g.
+
+ * snprintf.c: Don't include <ctype.h> because none of it is used.
+ Include strings.h/string.h, as per Autoconf.
+
+2005-04-15 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c: Use _POSIX_TIMERS - 0 > 0, which handles the case when
+ _POSIX_TIMERS is defined but empty, as well as the case when it is
+ undefined. Do the same with the check for _POSIX_MONOTONIC_CLOCK.
+ Suggested by Larry Jones.
+
+2005-04-15 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c: Check that _POSIX_TIMERS is defined as well as > 0.
+ Problem reported by Steven M. Schweda.
+
+2005-04-14 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (skip_short_body): Print the skipped body data in debug
+ mode.
+ (skip_short_body): Don't skip more than 4k of body data.
+ (skip_short_body): Return whether the skipping was successful.
+ (gethttp): If skip_short_body failed, invalidate the connection.
+
+2005-04-12 Gisle Vanem <giva@bgnett.no>
+
+ * ftp.c (getftp): Ditto.
+
+ * http.c (gethttp): Open the output file in binary mode.
+
+2005-04-11 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * hash.c: Conditionalize including config.h on HAVE_CONFIG_H
+ instead of on STANDALONE.
+
+2005-04-11 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * gen_sslfunc.c (ssl_print_errors): Made static.
+ (ssl_print_errors): Eliminate potentially dangerous fixed-size
+ error buffer. Passing NULL to ERR_error_string causes it to use
+ its own static buffer, which is fine for our purposes.
+
+ * gen_sslfunc.c: Include gen_sslfunc.h. Make the declarations of
+ ssl_init and ssl_conect match the actual definitions.
+ (ssl_connect): Simply return a boolean, the SSL context is no
+ longer useful as a return value.
+
+ * retr.c: Don't include SSL headers; we don't need them.
+
+2005-04-11 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * config-post.h: Don't define _VA_LIST under Solaris; it breaks
+ compilation with GCC 3.4 under Solaris 10. (It was defined to
+ avoid a warning with previous versions of GCC.)
+
+2005-04-11 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * xmalloc.c (register_ptr): Warn the user to increase SZ prior to
+ aborting.
+
+2005-04-11 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * convert.c (convert_cleanup): Free converted_files.
+
+2005-04-10 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * wget.h (DEBUGP): Use __builtin_expect to give a hint to GCC that
+ opt.debug is false in the vast majority of cases.
+
+2005-04-10 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * config-post.h: Declare alloca as void *, not char *.
+
+2005-04-09 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * recur.c (download_child_p): When -p is used, (temporarily)
+ ignore accept/reject rules for HTMLs, even when they are at the
+ maximum recursion depth. That is because with -p we are, if
+ necessary, overstepping the max. depth to get the requisites.
+
+2004-06-12 Larry Jones <lawrence.jones@ugsplm.com>
+
+ * recur.c (download_child_p): Correct the logic in check number 6:
+ test opt.reclevel (not DEPTH) against INFINITE_RECURSION.
+
+2005-04-09 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c: Use "static const" in preference to "const static".
+ Sun's cc warns that "storage class after type is obsolescent".
+
+ * url.c (urlchr_table): Don't mark ~ as unsafe, too many broken
+ web sites are confused when ~ is changed to %7E. Their servers
+ redirect /%7Efoo/ to /~foo/, which Wget again accesses using %7E,
+ causing further redirections, therefore looping infinitely. See
+ Debian bug #301624 for an example.
+
+2005-04-09 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * alloca.c: Include wget.h to be able to use xmalloc. In addition
+ to defining malloc to xmalloc, also define free to xfree.
+
+2005-04-09 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http-ntlm.c (ntlm_output): Use "char", not "unsigned char" for
+ ntlmbuf. Our base64 functions accept char anyway.
+ (ntlm_output): Join up the format string, since we nominally
+ support K&R compilers.
+ (ntlm_output): Ditto.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c: Use Windows timers under Cygwin, whose POSIX timer
+ implementation is incomplete.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (struct ptimer): Remove the unused initialized field.
+
+ * ptimer.c: Renamed function parameters from WT (which used to
+ stand for wget_timer or wtimer) to PT.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (posix_init): Be smarter about choosing clocks. In
+ decreasing order of preference, use CLOCK_MONOTONIC,
+ CLOCK_HIGHRES, and CLOCK_REALTIME.
+ (ptimer_allocate): Removed.
+
+ * ptimer.c: Refactor the code by cleanly separating the
+ architecture-dependent code from the architecture-independent
+ code.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (ptimer_init): Explicitly check that
+ _POSIX_MONOTONIC_CLOCK is *both* defined and >=0. (Undefined
+ symbols are >=0.)
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (ptimer_diff): Fix typo affecting Windows build.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c (ptimer_init): In fact, _POSIX_MONOTONIC_CLOCK needs to
+ be >= 0.
+
+ * ptimer.c (ptimer_init): Check whether _POSIX_MONOTONIC_CLOCK is
+ defined instead of whether it's greater than 0. glibc defines it
+ to 0, but still makes it available via sysconf.
+
+2005-04-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * mswindows.c (str_to_int64): Rename OVERFLOW and UNDERFLOW to
+ INT64_OVERFLOW and INT64_UNDERFLOW, since those names are used.
+
+2005-04-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ptimer.c: New file. Move the "wtimer" functions from utils.c to
+ this file and rename them to ptimer_.
+
+2005-04-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * host.c (NO_ADDRESS): Define NO_ADDRESS only after the system
+ headers have been included.
+
+2005-04-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (pconn): Include NTLM data, which is per-connection.
+ (known_authentication_scheme_p): Recognize NTLM authorization.
+ (create_authorization_line): Call ntlm_input and ntlm_output.
+
+ * http-ntlm.c: New file, donated by Daniel Stenberg and originally
+ written for curl, heavily modified for Wget.
+
+ * utils.c (base64_encode): Relocated from http.c, since it is now
+ used by http-ntlm.c, and will possibly be used elsewhere.
+ (base64_decode): New function, originally based on code from GNU
+ recode.
+
+2005-04-02 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ftp.c (ftp_loop): Ditto.
+
+ * ftp-basic.c (ftp_pasv): Use the xzero shorthand for memset(0).
+ (ftp_lpsv): Ditto.
+
+2005-04-05 Mauro Tortonesi <mauro@ferrara.linux.it>
+
+ * Makefile.in: removed string_t.c from list of source files.
+
+2005-04-04 Mauro Tortonesi <mauro@ferrara.linux.it>
+
+ * string_t.c: Removed.
+
+ * string_t.h: Removed.
+
+2005-04-02 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c (rewrite_shorthand_url): Only accept recognized schemes.
+ That way "foo:80" will correctly be rewritten to "http://foo:80"
+ instead of left unchanged and ultimately rejected because of
+ "unsupported scheme foo".
+
+2005-03-31 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (number_to_string): Avoid explicit 64-bit constants;
+ construct them by multiplication at compile-time.
+
+ * utils.c, elsewhere: Don't append "L" to 32-bit integer
+ constants; we aren't really compilable on 16-bit systems anyway.
+
+ * hash.c (prime_size): Remove primes larger than 2^31, but include
+ 2^31-1, which is prime.
+
+2005-03-30 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (string_set_to_array): New function.
+
+ * convert.c: Replace the use of "slists" with sets/hash-tables,
+ which in fact suit the intended purpose much better.
+ downloaded_html_list is removed altogether.
+
+2005-03-29 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ftp.h (enum): Rename GLOBALL, GETALL, and GETONE to
+ GLOB_GLOBALL, GLOB_GETALL, and GLOB_GETONE to avoid conflict with
+ Linux headers.
+
+2005-03-29 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (numdigit): More correct handling of negative numbers.
+
+2005-03-21 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Print the human-readable size.
+
+ * ftp.c (getftp): Print the human-readable size of the file to be
+ downloaded.
+
+ * utils.c (human_readable): New function.
+
+ * utils.c: Renamed "legible" to "with_thousand_seps",
+ "legible_large_int" to "with_thousand_seps_large", and "legible_1"
+ to "add_thousand_seps".
+
+2005-03-21 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Inhibit persistent connections when talking to
+ proxies, as mandated by RFC 2068.
+
+2005-03-20 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c (unescape_single_char): New function.
+ (url_escape_dir): Use it to unescape slashes in directory
+ components.
+ (url_string): Escape unsafe chars in host name, except for the ':'
+ charaters, which can appear in IPv6 addresses.
+
+ * main.c (main): Don't access the cookie jar directly.
+
+ * log.c (escnonprint_internal): Correctly calculate the needed
+ string size. Don't forget the buffer's new size after having
+ reallocated it.
+ (log_cleanup): New function. Free the escnonprint ring data.
+
+ * init.c (cleanup): Don't free the cookie jar explicitly, it is
+ now done by http_cleanup.
+ (cleanup): opt.user_headers is now a vector, free it with
+ free_vec.
+
+ * http.c (gethttp): Make sure to free the request data, the status
+ message, and the response data before returning from the function.
+ (save_cookies): New function.
+ (http_cleanup): Free the cookie jar here.
+
+ * hash.c: Renamed string_hash to hash_string and ptrhash to
+ hash_pointer. Exported hash_pointer.
+
+ * xmalloc.c: Organized malloc_table (previously malloc_debug) as a
+ simple EQ hash table. register_ptr and unregister_ptr are now of
+ O(1) complexity.
+
+ * xmalloc.c: Renamed "*_debug" to debugging_* and "*_real" to
+ checking_*.
+
+2005-03-12 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * utils.c (debug_test_md5): Moved to gen-md5.c.
+
+ * mswindows.h: Don't declare inet_ntop, since we don't use it.
+
+ * mswindows.h: For consistency, also wrap closesocket, it being
+ a Winsock call.
+
+ * mswindows.h: Don't declare sleep and usleep; we're defining
+ xsleep now.
+
+ * mswindows.h (mkdir): Don't special-case Borland C, _mkdir
+ works there as well.
+
+ * host.c: Don't include winsock header files; the correct ones
+ are already included by mswindows.h.
+
+ * mswindows.c (xsleep): Round toward the nearest millisecond
+ in an attempt to avoid average short sleeps.
+
+ * utils.c (wtimer_granularity): Report correct values for
+ Windows timers and for high-resolution timers.
+
+ * utils.c (wtimer_initialize_once): New function, called to
+ initialize the timer frequency.
+
+ * utils.c: Replace the use of GetSystemTime with high-resolution
+ counters under Windows. When high-resolution counters are
+ unavailable, use GetTickCount().
+
+2005-03-15 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * retr.c (fd_read_body): Undo the 2004-11-18 change. Instead,
+ always be "exact".
+
+2005-03-17 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * ftp-basic.c (ftp_login): Don't free the string if ftp_response
+ returned an error status because the line didn't get allocated in
+ the first place.
+
+2005-03-15 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (read_http_response_head): Limit the response size to 64k
+ bytes.
+
+ * retr.c (fd_read_hunk): Accept a MAXSIZE argument that limits the
+ number of bytes the function is allowed to allocate.
+ (fd_read_line): Limit the line to 4096 bytes.
+
+2005-03-12 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * wget.h: Include options.h after wgint has been defined.
+
+ * options.h (struct options): Declare options processed with
+ cmd_bytes as wgint, not long.
+
+2005-03-18 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (cmd_file): Use concat_strings.
+
+ * http.c (basic_authentication_encode): Use concat_strings.
+
+ * ftp-ls.c (ftp_index): Use concat_strings.
+
+ * ftp-basic.c (ftp_request): Use concat_strings.
+
+ * utils.c (concat_strings): New function.
+
+2005-03-12 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (simple_atof): Handle negative numbers; skip whitespace
+ before the number.
+ (simple_atoi): Ditto. Also, check for overflow and underflow.
+ (cmd_number): Bail out on negative numbers.
+ (parse_bytes_helper): Ditto.
+
+2005-03-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (gethttp): Handle multiple Set-Cookie headers sent by
+ remote server.
+
+2005-03-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * init.c (defaults): Use passive FTP by default.
+
+2005-03-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * mswindows.c: Provide wrappers to Winsock functions that set
+ errno to WSAGetLastError() in case of failure. Also provide a
+ Windows-specific version of strerror.
+
+ * mswindows.h: Wrap calls to socket, bind, connect, recv, send,
+ select, getsockname, getpeername, and setsockopt.
+
2005-03-06 Hrvoje Niksic <hniksic@xemacs.org>
* url.c (url_parse): Reject port numbers larger than 65535. We