]> sjero.net Git - wget/blobdiff - src/ChangeLog
[svn] Fix K&R incompatibilities reported by `gcc -Wtraditional'.
[wget] / src / ChangeLog
index 2fc91b81c02c86bbebfd9c191d629b3086fc2834..bcd37978c048ea294aa7fcd5b29db87349b64ce6 100644 (file)
@@ -1,3 +1,887 @@
+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
+       also check for overflow while parsing port numbers.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (read_file): Don't use wgint for file size; LFS won't
+       work since the file is mmap'ed as a whole.
+
+       * options.h: Don't include stdio.h.
+
+       * log.c: Ditto.
+
+       * init.c: Disambiguate assignment from non-zero test to avoid
+       Borland C warning.
+
+       * http.c (response_new): Don't needlessly post-increment count.
+
+       * hash.c: Include stdio.h.
+
+       * gnu-md5.h: Don't include stdio.h.
+
+       * getopt.h (struct option): Always use const.
+
+       * ftp.c (getftp): Avoid unnecessary assignment to RES to avoid
+       Borland C warning.
+
+       * ftp-ls.c: Disambiguate assignment from non-zero test to avoid
+       Borland C warning.
+
+       * cmpt.c (strptime_internal): Don't initialize rp_backup when
+       !_NL_CURRENT to avoid Borland C warning.
+
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (fopen_excl): Fix parse error when O_BINARY is
+       available.
+
+2005-03-05  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_file_name): Don't allow hosts named ".." to be
+       appended as path elements.
+
+2005-03-03  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (retrieve_url): Escape location header.
+
+       * http.c (print_server_response_1): Escape server response when
+       printing it.
+       (gethttp): Escape host name, status message, location header, and
+       content type.
+       (http_loop): Escape error message from server.
+
+       * host.c (lookup_host): Escape host name when printing it.
+
+       * ftp.c (getftp): Escape user name when printing it.
+       (getftp): Escape remote file and directory for printing.
+       (getftp): Escape server listing when printing it.
+       (ftp_retrieve_list): Escape link name and file name.
+       (ftp_retrieve_glob): Escape file name.
+
+       * ftp-basic.c (ftp_response): Escape server response when printing
+       it.
+
+       * cookies.c (parse_set_cookies): Escape the cookie field when
+       printing it.
+       (parse_set_cookies): Escape contents of remote header.
+       (cookie_handle_set_cookie): Escape host name and cookie domain.
+
+       * connect.c (connect_to_ip): Escape the host name.
+
+       * log.c (escnonprint): New function, used for printing strings
+       coming from the server that possibly contain non-ASCII characters.
+       (escnonprint_uri): Ditto.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (getftp): Ditto.
+
+       * http.c (gethttp): When we're not supposed to overwrite files,
+       use fopen_excl to open the file and recompute the file name.
+
+       * log.c (redirect_output): Use unique_create to avoid a race
+       condition.
+
+       * mswindows.c (fake_fork_child): Use unique_create.
+
+       * utils.c (fopen_excl): New function that opens a stdio stream
+       with the O_EXCL flag (where available).
+       (unique_create): New function, like unique_name, but also creating
+       the file and returning a file pointer.
+       (fork_to_background): Use unique_create to create the file
+       immediately to avoid race condition with multiple instances of
+       wget -b.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (lookup_host): Test for AI_ADDRCONFIG directly, instead
+       of checking for HAVE_GETADDRINFO_AI_ADDRCONFIG.
+
+2005-02-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (is_valid_ipv6_address): Move here from url.c.
+       (lookup_host): If the address is numeric, don't print the
+       "resolving..." line, don't set up DNS timeouts, and set the
+       AI_NUMERICHOST hint, where available.
+
+2005-02-26  Gisle Vanem  <giva@bgnett.no>
+
+       * utils.c: Use the nnnLL syntax under GCC.  Define struct_stat to
+       struct _stati64 under __MINGW32__ as well as under MS VC.
+
+2005-02-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c: Use the nnnI64 syntax for __int64 constants under all
+       Windows compilers.
+       (SPRINTF_WGINT): Use "%I64" under all Windows compilers.
+
+       * mswindows.h (WGINT_MAX): Use the nnnI64 syntax for
+       __int64 constants under all Windows compilers.
+       (struct_stat): Use `struct stati64' under Borland C.
+       (fstat): Don't redefine to _fstati64 under Borland.
+
+       * mswindows.c: Define str_to_int64 under Borland C as well as
+       under (older) Visual C.
+
+2005-02-25  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (getftp): Initialize err to suppress compiler warning.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (ftp_expected_bytes): Fix bug that caused infloop because
+       of not correctly skipping the '(' character.
+
+2005-02-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * mswindows.c (wget_ftello): Removed.
+
+       * mswindows.h: Remove bogus definition of stat.
+       (wget_ftello): Remove the leftover ftello replacement.
+
+2005-02-20  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * mswindows.c (wget_ftello): Wget's replacement for ftello.
+
+       * utils.c (file_size): Use ftello where available.
+
+       * ftp-ls.c (ftp_parse_unix_ls): Use str_to_wgint to parse the file
+       size.
+       (ftp_parse_winnt_ls): Ditto.
+
+       * ftp-basic.c (ftp_size): Use str_to_wgint to convert number to
+       wgint; pass 10 instead of 0 as the BASE argument.
+
+       * ftp.c (ftp_expected_bytes): Use str_to_wgint to parse the file
+       size.
+
+       * sysdep.h (LARGE_INT_FMT): Use __int64 as LARGE_INT on
+       MSVC/Windows; print it with "%I64".
+
+       * wget.h: Define a `wgint' type, normally aliased to (the possibly
+       64-bit variant of) off_t.
+
+       * all: Use `wgint' instead of `long' for numeric variables that
+       can hold file sizes.
+
+       * utils.c (number_to_string): Support printing of `wgint'
+       argument.
+       (number_to_static_string): New function.
+
+       * all: Replace printf("%ld", long_value) with printf("%s",
+       number_to_static_string(wgint_value)).
+
+2005-02-18  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * main.c: Added the --ftp-passwd command line option.
+
+       * init.c: Renamed command passwd to ftppasswd.
+
+2005-02-11  Mauro Tortonesi <mauro@ferrara.linux.it>
+       
+       * string_t.c: Fixed a bug in do_escape and triggered escape of
+       backslashes in string_escape to avoid ambiguities in the result
+       string.
+       
+2005-02-10  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * string.h: Renamed to string_t.h to fix a compilation conflict 
+       with the string.h header in the standard C library.
+       
+       * string.c: Renamed to string_t.c for consistency with string.h.
+       
+       * string_t.c: Ditto.
+
+       * string_t.h: Ditto.
+       
+2004-12-31  Mauro Tortonesi <mauro@ferrara.linux.it>
+
+       * string.c: New file.
+
+       * string.h: New file.
+
+       * Makefile.in: Added string.c to the list of modules to compile.
+
+       * main.c: Updated copyright.
+
+2004-11-18  Ulf Harnhammar <ulf.harnhammar.9485@student.uu.se>
+
+       * ftp-ls.c: Fixed a problem in ftp_parse_winnt_ls that could allow a
+       malicious remote FTP server to crash wget.
+
+2004-11-18  Hans-Andreas Engel <engel@node.ch>
+
+       * http.c: Enable --convert-links (-k) when a single page is downloaded
+       via --output-document (-O).
+
 2004-11-18  Mauro Tortonesi <mauro@deepspace6.net>
 
        * connect.c: Minor correction to the comment in front of fd_peek.