]> sjero.net Git - wget/blobdiff - src/ChangeLog
[svn] New option --retry-connrefused from Ahmod Dancy.
[wget] / src / ChangeLog
index 1d882c50f5a8263500fda7878e5b7b71898c3ba9..c5faaf22fc133b454d38727d8a5e5fc9457fa053 100644 (file)
@@ -1,3 +1,473 @@
+2003-09-03  Ahmon Dancy  <dancy@dancysoft.com>
+
+       * main.c init.c options.h: Added --retry-connrefused option so
+       that Connection Refused failures are treated as non-fatal (when
+       trying to retrieve from busy servers).
+
+       * wget.h: New CONNECT_ERROR macro for encapsulating this
+       modification.
+
+       * ftp.c http.c : Use CONNECT_ERROR macro in places where
+       ECONNREFUSED was checked.
+
+2003-01-11  Ian Abbott <abbotti@mev.co.uk>
+
+       * ftp.c (ftp_retrieve_glob): Reject insecure filenames as determined
+       by calling new function has_insecure_name_p.  This is based on a
+       patch by Red Hat.
+
+       * fnmatch.c (has_insecure_name_p): New function: returns non-zero
+       if filename starts with `/' or contains `../' and is therefore
+       considered insecure.
+
+       * fnmatch.h: Declare has_insecure_name_p().
+
+2002-08-03  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c (cmd_file): Allocate RESULT correctly.
+
+2002-07-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * recur.c (retrieve_tree): Check whether downloaded_html_set is
+       non-NULL before using it.
+
+2002-05-27  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * html-parse.c (NAME_CHAR_P): Allow almost any character here.
+
+2002-05-24  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (bar_set_params): Fall back to dot progress if the
+       terminal type is "emacs".
+
+2002-05-20  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * log.c: Don't #undef WGET_USE_STDARG.
+
+2002-05-16  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * hash.c (prime_size): Store the offset of the prime number in the
+       prime table.  When searching, start with the given offset.
+       (hash_table_new): Pass the pointer to ht->prime_offset to
+       prime_size.
+       (grow_hash_table): Ditto.
+       (prime_size): Make 13 the first prime to make empty hash tables
+       slightly smaller.
+
+2002-05-16  Ian Abbott  <abbotti@mev.co.uk>
+
+       * recur.c (download_child_p): Minor optimization to avoid an
+       unnecessary additional call to schemes_are_similar_p function.
+
+2002-05-16  Ian Abbott  <abbotti@mev.co.uk>
+
+       * url.c (schemes_are_similar_p): New function to test enumerated
+       scheme codes for similarity.
+
+       * url.h: Declare it.
+
+       * recur.c (download_child_p): Use it to compare schemes.  This
+       also fixes a bug that allows hosts to be spanned (without the
+       -H option) when the parent scheme is https and the child's is
+       http or vice versa.
+
+2002-05-14  Bill Richardson  <bill@riverstonenet.com>
+
+       * ftp.c (getftp): Don't ftruncate stdout.
+
+       * http.c (gethttp): Don't ftruncate stdout.
+
+2002-05-09  Ian Abbott  <abbotti@mev.co.uk>
+
+       * cmpt.c (strptime_internal): Synched with glibc-2.1.3.
+       (get_number): Ditto.
+       (get_alt_number): Ditto.
+       (__isleap): New function-like macro used by strptime.
+       (day_of_the_week): New function used by strptime.
+       (day_of_the_year): Ditto.
+       (__mon_yday): Now shared by mktime and strptime implementations.
+
+2002-05-08  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * cookies.c (check_domain_match): Use match_tail in case
+       insensitive mode.
+
+       * utils.c (match_tail): Allow the caller to specify case
+       insensitive mode.
+
+       * cookies.c (store_cookie): When expiry_time is 0, print it as
+       undefined, not indefinite.
+
+2002-05-07  Ian Abbott  <abbotti@mev.co.uk>
+
+       * cookies.c (cookie_jar_process_set_cookie): Do not store
+       discarded cookie.
+
+2002-04-21  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * cookies.c (check_domain_match): Allow cookies to be set for
+       subdomains of unknown top-level domains under some circumstances.
+
+2002-04-21  Thomas Lussnig  <thomas.lussnig@bewegungsmelder.de>
+
+       * gen_ssl.c:
+       - allow checking of server cert
+       - allow defining client cert type
+       - allow limit of ssl protocol
+       - check more return values
+       - added debug message on break
+
+2002-04-21  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * recur.c (download_child_p): Revert order of items in check
+       number 6 for clarity.
+
+2002-04-20  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * init.c: Ditto.
+
+       * main.c: Ditto.
+
+       * http.c: Use the new interface.
+
+       * cookies.c: Provide an OO-style "cookie jar" interface to enable
+       separate cookie jars.
+
+       * http.c (http_atotm): Declare argument as const.
+
+2002-04-20  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * cookies.c (cookie_new): Default to PORT_ANY.
+       (find_cookie_chain_exact): Only search by DOMAIN.
+       (find_matching_cookie): Also check that PORT matches.
+       (store_cookie): Only match the domain.
+       (set_cookie_header_cb): When a cookie "fakes" a domain, assume it
+       is valid for that host rather than discarding it completely.
+       (find_matching_chains): Don't search by PORT.
+       (matching_cookie): Also match PORT.
+       (load_cookies): Set the port if specified, otherwise leave it as
+       ANY.
+       (save_cookies_mapper): Save the port if specified, otherwise leave
+       it empty.
+
+2002-04-19  Thomas Lussnig  <thomas.lussnig@bewegungsmelder.de>
+
+       * init.c: The option `egdfile' was not in sort order.
+
+2002-04-16  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * ftp.c (getftp): Treat directories that begin with <letter>: as
+       absolute.
+       (getftp): Strip trailing slashes from con->id before merging it
+       with TARGET.
+
+2002-04-16  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * http.c (gethttp): If Content-Type is not given, assume
+       text/html.
+
+2002-04-15  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * recur.c (download_child_p): Don't ignore rejection of HTML
+       documents that are themselves leaves of recursion.
+
+2002-04-15  Ian Abbott  <abbotti@mev.co.uk>
+
+       Makefile.in: Updated several dependencies for object files to take
+       account of nested include files.
+
+2002-04-15  Ian Abbott  <abbotti@mev.co.uk>
+
+       Makefile.in: The target `connect$o' (connect.o) now depends on
+       `utils.h'
+
+2002-04-15  Ian Abbott  <abbotti@mev.co.uk>
+
+       * host.c (SET_H_ERRNO): New function-like macro to set `h_errno'.
+       (gethostbyname_with_timeout): Use it.
+
+       * utils.c: Don't define `SETJMP()', `run_with_timeout_env' or
+       `abort_run_with_timeout()' when `USE_SIGNAL_TIMEOUT' is undefined.
+
+2002-04-15  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * host.c (getaddrinfo_with_timeout): New function.
+       (gethostbyname_with_timeout): Ditto.
+       (lookup_host): Use them.
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * utils.c (number_to_string): Handle the case when n < -INT_MAX.
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * init.c (comind): Use a marginally faster implementation of
+       binary search.  To quote Martin Buchholz, "a nanosecond saved is a
+       nanosecond earned."
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * main.c (print_help): Document `--post-data' and `--post-file'.
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * http.c (gethttp): Ditto.
+
+       * retr.c (retrieve_url): Initialize variables to appease the
+       compiler.
+
+       * gen_sslfunc.c (ssl_iread): Don't handle EINTR when calling
+       select_fd.
+       (ssl_iwrite): Ditto.
+
+       * connect.c (select_fd): Rewrite to handle EINTR.  Set errno to
+       ETIMEDOUT in case of timeout.
+       (iread): No need to handle EINTR when calling select_fd.
+       (iwrite): Ditto.
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * retr.c (retrieve_url): Make sure that POST is not honored for
+       redirections.
+
+       * http.c (gethttp): Send the POST data when requested.
+       (post_file): New function.
+       (gethttp): Use it.
+
+       * main.c (main): Ditto.
+
+       * init.c: Add new options.
+
+       * options.h (struct options): New options post_data and
+       post_file_name.
+
+2002-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * connect.c (connect_with_timeout): Firing SIGALRM can result in
+       connect() exiting with EINTR.  Treat EINTR the same as ETIMEDOUT.
+
+2002-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * connect.c (connect_with_timeout): Use it.
+
+       * utils.c (run_with_timeout): New function.
+
+2002-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (getproxy): Accept a struct url argument.  This obviates
+       the need for USE_PROXY_P.
+
+       * retr.c (retrieve_url): Allow proxy to be a non-FTP URL.
+
+       * ftp.c (getftp): Recognize FWTK-style proxy.
+
+2002-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * config.h.in: Only define _VA_LIST when compiled with gcc.
+
+2002-04012  Ian Abbott  <abbotti@mev.co.uk>
+
+       * http.c (http_loop): Compensate for MS Windows two-second
+       granularity of file modification time when comparing timestamps.
+
+       * ftp.c (ftp_retrieve_list): Ditto.
+
+2002-04-12  Ian Abbott  <abbotti@mev.co.uk>
+
+       * utils.c (has_html_suffix_p): New function to test filename for
+       common html extensions.
+
+       * utils.h: Declare it.
+
+       * http.c (http_loop): Use it instead of previous test.
+
+       * retr.c (retrieve_url): Ditto.
+
+       * recur.c (download_child_p): Ditto.
+
+2002-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * config.h.in: Define _VA_LIST on Solaris to prevent stdio.h from
+       declaring va_list.
+       From Kevin Rodgers <kevinr@ihs.com>.
+
+2002-04-12  Ian Abbott  <abbotti@mev.co.uk>
+
+       * Makefile.in: Specify libtool mode explicitly when linking.
+
+2002-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * connect.c (connect_with_timeout): New function.
+       (connect_to_one): Use it.
+
+       * config.h.in: Add stubs for HAVE_SIGSETJMP, HAVE_SIGBLOCK, and
+       HAVE_SETJMP_H.
+
+2002-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * log.c: Set WGET_USE_STDARG if __STDC__ is defined and stdarg.h
+       is present.
+
+2002-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (bar_create): If INITIAL is larger than TOTAL, fix
+       TOTAL.
+       (bar_finish): Likewise.
+
+2002-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * html-url.c (tag_handle_form): New function.  Pick up form
+       actions and mark them for conversion only.
+
+2002-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (struct progress_implementation): Use PARAMS when
+       declaring the parameters of *create, *update, *finish, and
+       *set_params.
+
+       * netrc.c: Ditto.
+
+       * http.c: Reformat some function definitions so that ansi2knr can
+       read them.
+
+       * hash.c (struct hash_table): Use the PARAMS macro around
+       parameters in the declaration of hash_function and test_function.
+       (prime_size): Spell 2580823717UL and 3355070839UL as (unsigned
+       long)0x99d43ea5 and (unsigned long)0xc7fa5177 respectively, so
+       that pre-ANSI compilers can read them.
+       (find_mapping): Use PARAMS when declaring EQUALS.
+       (hash_table_put): Ditto.
+
+       * ftp.h: Wrap the parameters of ftp_index declaration in PARAMS.
+
+       * cookies.c (cookie_new): Use (unsigned long)0 instead of 0UL,
+       which was unsupported by pre-ANSI compilers.
+
+       From Nelson H. F. Beebe <beebe@math.utah.edu>, for the most part.
+
+2002-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (url_filename): Use compose_file_name regardless of
+       whether opt.dirstruct is set.
+       (mkstruct): Don't handle the query and the reencoding of DIR; that
+       is done in compose_file_name.
+
+2002-04-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * wget.h: Ditto for extern char *exec_name.
+
+       * options.h: Don't guard against OPTIONS_DEFINED_HERE -- it is
+       perfectly legal to follow an `extern' with a non-`extern' ones,
+       provided the types match.
+
+       * main.c: Don't define OPTIONS_DEFINED_HERE.
+
+2002-04-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (create_image): Revert to calculating ETA based on
+       average download speed.
+       (create_image): Don't print ETA until the download has been active
+       for at least 3 seconds.
+       (create_image): When ETA is not available, don't print anything.
+       The previous version would print --:--.
+
+2002-04-10  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (bar_update): Keep updating a subinterval until it
+       reaches or exceeds a watermark.  That way the measurement will be
+       guaranteed to span a configurable minimum of time.  The current
+       default is 3s in 30 100ms intervals.
+
+2002-04-09  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * progress.c (bar_update): Maintain an array of the time it took
+       to perform previous 30 network reads.
+       (create_image): Calculate the download speed and ETA based on the
+       last 30 reads, not the entire download.
+       (create_image): Make sure that the ETA is not changed more than
+       once per second.
+
+2002-04-09  Ian Abbott  <abbotti@mev.co.uk>
+
+       * mswindows.c (borland_utime): New function conditionally defined
+       when `HACK_BCC_UTIME_BUG' is defined.  A reimplementation of
+       `utime()' as Borland's `utime()' function is broken on Windows 9x
+       systems.  (Original patch by Chin-yuan Kuo <sr1111111@yahoo.com.tw>.)
+
+2002-04-08  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * ftp.c (ftp_loop): Propagate the result of ftp_retrieve_glob.
+
+2002-03-26  Ian Abbott  <abbotti@mev.co.uk>
+
+       * Makefile.in: Updated several dependencies for object files.
+
+2002-03-20  Ian Abbott  <abbotti@mev.co.uk>
+
+       * mswindows.c: Include "utils.h".
+
+2002-03-18  Ian Abbott  <abbotti@mev.co.uk>
+
+       * host.h: Don't include netdb.h on windows.
+
+2002-02-19  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * recur.c (retrieve_tree): Handle the case when start_url doesn't
+       parse.
+
+2002-02-19  Andreas Damm  <andreas-sourceforge@radab.org>
+
+       * wget.h (DO_REALLOC_FROM_ALLOCA): Multiply with sizeof(type) when
+       calling xmalloc and memcpy.
+
+2002-02-19  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * host.h: Include Unix-specific includes #ifndef WINDOWS.
+       Patch originally provided by Christian Lackas.
+
+2002-02-11  Christian Lackas  <delta@lackas.net>
+
+       * recur.c: recurive downloading for https fixed.
+
+2002-02-19  Alan Eldridge  <alane@geeksrus.net>
+
+       * host.h: Also include <netinet/in.h> and <sys/socket.h>.
+
+       * ftp-basic.c: Also include <netinet/in.h>.
+
+2002-02-05  Ian Abbott  <abbotti@mev.co.uk>
+
+       * http.c (gethttp): when -c used, mark already fully retrieved
+       file as successfully retrieved.
+
+2002-02-19  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * url.c (url_parse): Don't treat '?' as query string separator
+       when parsing FTP URLs.
+
+2002-02-01  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * html-url.c (tag_handle_meta): Don't crash on <meta
+       http-equiv=refresh> where content is missing.
+
+2002-01-31  Herold Heiko  <Heiko.Herold@previnet.it>
+
+       * ftp-basic.c, host.c: don't include sys/socket.h, arpa/inet.h,
+       netdb.h on windows.
+
+2002-01-30  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * retr.c (retrieve_url): Remove redirection cycle detection.  This
+       is because some sites legitimately redirect the user back to the
+       same location, e.g. after an authorization check performed by
+       another page.  MAX_REDIRECTIONS is still used to prevent infinite
+       redirection loops.
+
+2002-01-26  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * http.c (gethttp): Wrap host name in square brackets if it
+       contains a colon.
+
 2002-01-26  Hrvoje Niksic  <hniksic@arsdigita.com>
 
        * url.c (url_parse): Allow all hex digits, not only decimal ones,