]> sjero.net Git - wget/blobdiff - src/ChangeLog
[svn] Use new macros xnew, xnew0, xnew_array, and xnew0_array in various places.
[wget] / src / ChangeLog
index a2d4d7b52330fc34b74b9d8c5751cc989e4fcb31..b871ca2322f44f8303a21058f86567f25c7b1f3a 100644 (file)
@@ -1,3 +1,542 @@
+2003-10-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * various: Use new macros xnew, xnew0, xnew_array, and xnew0_array
+       in various places.
+
+2003-10-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * wget.h: Move declarations of malloc and logging code to
+       xmalloc.h and log.h respectively to unclutter this file.
+       (STRDUP_ALLOCA): Made it side-effect free.
+
+       * xmalloc.h: New files.  Define macros xnew, xnew0, xnew_array,
+       and xnew0_array.
+
+       * xmalloc.c: New file.  Move the xmalloc routines here.
+
+2003-10-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (sockaddr_set_data): Remove the broken code that
+       checked for NULL address.
+
+2003-10-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (address_list_from_single): Removed.
+       (address_list_from_ipv4_addresses): Renamed from
+       address_list_from_vector.
+
+2003-10-31  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * sysdep.h (CLOSE): Don't call close on file descriptors less than
+       0, i.e. on uncreated sockets.
+
+       * connect.c (resolve_bind_address): Work on struct sockaddr
+       directly.
+       (connect_to_host): Replacement for connect_to_many.  Resolve HOST
+       and connect to any of its addresses.  If we can't connect and the
+       host name lookup was cached, try to resolve it again.  This should
+       fix problems with hosts behind dynamic DNS.  Updated all callers.
+       (connect_to_ip): Replacement for connect_to_one.  Removed SILENT;
+       added the argument PRINT instead.  Updated all callers.
+       (set_connection_host_name): Removed.
+
+       * host.c (address_list_address_at): New function instead of
+       address_list_copy_one. It returns a pointer to ip_address *, so
+       it's not necessary to copy the data.
+       (address_list_cached_p): New function.
+       (forget_host_lookup): Ditto.
+
+       * connect.c: Got rid of the MSOCK global variable.  Made bindport
+       return the local socket it creates.  Added a new argument to
+       acceptport, the socket to call accept on.  Updated callers.
+       (closeport): Removed.
+
+       * connect.c: Moved the sockaddr code from host.c to this file,
+       because most of that stuff is used for connecting, and has nothing
+       to do with host names anyway.
+       (sockaddr_set_data, sockaddr_get_data): New functions, replace the
+       old sockaddr_set_address, sockaddr_set_port, sockaddr_get_address,
+       and sockaddr_get_port.
+
+2003-10-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * sysdep.h: Use `S >= 8' rather than `S == 8' when looking for
+       large integers.
+
+2003-10-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (append_uri_pathel): New argument ESCAPED_P that says
+       whether [B, E) is to be treated as URL-escaped or not.  If
+       ESCAPED_P is false, don't unescape the region.
+       (url_file_name): u->file is not URL-escaped.
+
+2003-10-30  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (retrieve_from_file): Use retrieve_tree for
+       page-requisites.
+
+       * main.c (main): Don't define opt.recursive when -p is used.
+       Instead, make sure that recursion is used for HTTP in that case.
+
+2003-10-29  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.h: Defined accessors for elements of ip_address.  Updated
+       all callers.
+       (address_list_match_all): Use memcmp in the non-IPv6 case.
+
+       * wget.h (CONNECT_ERROR): Don't retry connecting if connect()
+       returned EAFNOSUPPORT.
+
+2003-10-27  Mauro Tortonesi <mauro@deepspace6.net>
+
+       * host.c, connect.c, ftp.c, ...: Added support for dual-family
+       IPv6.  Reworked FTP code.  [More complete description to come.]
+
+2003-10-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * sysdep.h: Include inttypes.h where available.
+
+       * host.c: Switch from u_int32_t to uint32_t.
+
+2003-10-26  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * netrc.c (parse_netrc): Reset the QUOTE flag after the closing
+       quote.
+
+2003-10-25  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (is_valid_ipv6_address): Reformat to GNU coding style.
+       Use enums for NS_IN* constants.  Use ISXDIGIT.
+
+       * convert.c (construct_relative): Document better how the function
+       works.
+
+2003-10-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * config.h.in: Deploy preprocessor magic to avoid Ultrix's
+       <netdb.h> include <bitypes.h> which defines its own u_int32_t.
+       Reported by Bernhard Simon.
+
+2003-10-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * version.c: Bump version.
+
+2003-10-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c: Ditto.
+
+       * html-parse.c (advance_declaration): Don't use trailing comma in
+       enum because older compilers don't support it.
+
+       * utils.c: Don't redefine HAVE_SIGSETJMP.
+
+2003-10-16  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * convert.c (construct_relative): Don't handle absolute files
+       specially -- for example, -P/tmp/foo shouldn't imply that
+       converted files must refer to "/tmp/foo/..."!
+
+2003-10-15  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c: Consider status 307 a valid redirect.
+
+2003-10-15  Philip Stadermann  <philip.stadermann@credativ.de>
+
+       * ftp.c (ftp_retrieve_glob): Correctly loop through the list whose
+       elements might have been deleted.
+
+2003-10-13  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-url.c (tag_handle_meta): Set the Refresh link to expect
+       HTML.
+       (append_one_url): Renamed to append_url.
+
+2003-10-13  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * sysdep.h: Only define u_int32_t.
+
+2003-10-11  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (large_int_to_string): Use snprintf() to print the
+       number.  This will work even on systems where libc doesn't
+       understand %lld, but the compiler does, because it will use our
+       snprintf replacement.
+
+       * init.c (parse_bytes_helper): New function.
+       (cmd_bytes): Use it to parse bytes, but cast the result to long.
+       (cmd_bytes_large): Ditto, but store the result to LARGE_INT.  Used
+       for --quota so that --quota=10G works even on machines without
+       long long.
+
+       * options.h (struct options): Declare quota as LARGE_INT.
+
+       * retr.c (downloaded_exceeds_quota): Removed.
+       (downloaded_increase): Ditto.
+       (total_downloaded_bytes): New variable, replaces opt.downloaded,
+       which was the wrong place for it anyway.  Updated callers of
+       downloaded_exceeds_quota and downloaded_increase to check this
+       variable directly.
+
+       * sysdep.h: Get rid of VERY_LONG_TYPE.  Use LARGE_INT for the same
+       purpose, defined as `long', `long long' or `double', depending on
+       size of long and whether long long is available.
+
+2003-10-11  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * sysdep.h: Also check size of short for int32_t.
+
+2003-10-11  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * host.c (lookup_host): Use u_int32_t to store the result of
+       inet_addr().  That removes the need for offset fiddling, caring
+       about endian-ness, etc.
+
+       * sysdep.h: Define int32_t and u_int32_t if not available.
+
+2003-10-11  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp-basic.c (ftp_epsv): Use socklen_t * as the third argument to
+       getpeername.
+
+       * config.h.in: Define socklen_t stub.
+
+       * host.c (sockaddr_len): Return socklen_t.
+
+       * connect.c (conaddr): Use socklen_t as the third argument to
+       accept, getsockname, and connect.
+
+2003-10-10  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * recur.c (retrieve_tree): Don't descend into documents that are
+       not expected to contain HTML, regardless of their content-type.
+
+       * html-url.c (tag_url_attributes): Record which attributes are
+       supposed to yield HTML links that can be followed.
+       (tag_find_urls): Propagate that information to the caller through
+       struct urlpos.
+
+2003-10-10  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * hash.c (find_mapping): Return the next available mapping when
+       the key is not found, not NULL.
+       (hash_table_put): Use find_mapping to find the storage for the new
+       data.
+       (hash_table_put): Grow the table before exceeding maximum
+       fullness, not afterwards.
+
+2003-10-10  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * hash.c (hash_table_new): Slightly change the meaning of the
+       first parameter.  Instead of being the minimum initial size, it is
+       now the minimum number of items that the hash table can take
+       without needing to resize.
+
+2003-10-09  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-url.c (init_interesting): Initialize interesting_tags and
+       interesting_attributes as hash tables.  This simplifies the code
+       immensely because hash tables handle allocation and remove
+       duplicates automatically.
+       (find_tag): Removed.
+       (collect_tags_mapper): Instead of calling find_tag, simply get the
+       entry from interesting_tags hash table, which is both simpler and
+       faster.
+
+2003-10-09  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * hash.c (hash_table_get): Declare hash-table argument as const.
+       (find_mapping): Ditto.
+       (hash_table_get_pair): Ditto.
+       (hash_table_contains): Ditto.
+       (hash_table_count): Ditto.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-url.c (get_urls_html): Parse the appropriate flags to
+       html-parse.c.
+
+       * html-parse.c (map_html_tags): Accept FLAGS from the caller
+       instead of examining OPT.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-url.c (find_tag): Switch to binary search.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * main.c (print_help): Fix typo; stured -> stored.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * getopt.c: Add definitions of getopt_long and getopt_long_only.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * config.h.in: Renamed DEBUG to ENABLE_DEBUG.  ENABLE_DEBUG is, I
+       think, a better name, because it implies that debugging output is
+       merely possible, not "on by default", as might be construed from
+       just DEBUG.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (has_insecure_name_p): Define it here.
+
+       * utils.c (has_wildcards_p): Define it here.
+
+       * sysdep.h: Declare fnmatch-related macros here, if not using
+       system fnmatch().  Update .c files to not declare fnmatch.h
+       directly.
+
+       * cmpt.c (fnmatch): Moved here.  Use it only under non-GNU libc.
+
+2003-10-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * getopt.c: Newer version, imported from Free libit.
+
+2003-10-07  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * cookies.c (struct cookie): Remove unused backpointer to cookie
+       jar.
+
+2003-10-07  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * cmpt.c (memmove): Comment out, since it's no longer used.
+
+       * cookies.c (cookie_jar_generate_cookie_header): Allocate room for
+       chains in one pass.
+       (find_chains_of_host): Assume that the caller has allocated DEST
+       to be sufficiently large to take all the data.
+       (eliminate_dups): Run through the array and eliminate dups on the
+       fly instead of using memmove.
+       (cookie_jar_process_set_cookie): Free cookie->domain before
+       re-setting it.
+
+2003-10-05  Gisle Vanem  <giva@bgnett.no>
+
+       * mswindows.c (set_sleep_mode): Fix type of
+       _SetThreadExecutionState.
+
+2003-10-05  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (file_size): Return -1 if fopen() returns NULL.  Prior
+       to this patch, wget --post-file=nosuchfile dumped core.
+
+2003-10-04  Gisle Vanem  <giva@bgnett.no>
+
+       * mswindows.c (run_with_timeout): Use WaitForSingleObject to wait
+       for thread termination.
+
+2003-10-04  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * log.c: Use `...' in function definitions; ansi2knr will convert
+       them to va_dcl.  This allowed removal of the ugly VA_START_1 and
+       VA_START_2 macros.
+
+2003-10-03  Gisle Vanem  <giva@bgnett.no>
+
+       * connect.c: And don't include them here.
+
+       * mswindows.h: Include winsock headers here.
+
+2003-10-03  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-parse.c (convert_and_copy): Move variable declarations
+       before statements.
+
+2003-10-02  Gisle Vanem  <giva@bgnett.no>
+        
+        * mswindows.c (run_with_timeout): For Windows: Run the 'fun' in a
+       thread via a helper function. Continually query the thread's
+       exit-code until finished or timed out.
+
+2003-10-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * wget.h (XMALLOC_ARRAY): Removed.
+       (ALLOCA_ARRAY): Ditto.
+
+       * html-parse.c: Renamed alloca_p to resized.
+       (GROW_ARRAY): Renamed DO_REALLOC_FROM_ALLOCA to GROW_ARRAY and
+       returned it to html-parse.c, since nothing else was using it.
+
+2003-10-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (retrieve_url): Initialize DUMMY storage for DT.  Caught
+       by valgrind.
+
+2003-10-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * html-parse.c (convert_and_copy): Handle numeric entities in
+       hexadecimal, &#xHH.
+       (convert_and_copy): Copy the contents directly to the pool without
+       a stack-allocated intermediary.
+
+2003-10-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * utils.c (alarm_set): New function; use either setitimer or alarm
+       to set up the alarm.
+       (alarm_cancel): New function; cancel the alarm set up by
+       alarm_set.
+       (run_with_timeout): Use them.
+
+2003-10-01  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_parse): Don't leak memory when a reencoded URL turns
+       out to be invalid.
+
+       * url.c (parse_errors): Mark error messages for translation.
+       (url_error): Translate error messages returned to the caller.
+
+2003-10-01  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (ftp_loop_internal): Initialize TMRATE to NULL to shut up
+       the compiler.
+
+2003-09-26  Gisle Vanem  <giva@bgnett.no>
+
+       * src/mswindows.c: Added ws_percenttitle() showing progress in the
+       window titlebar. Called from retr.c. Secured ws_mypath().
+
+       * windows/config.h.ms: alloca() prototype not needed.  Removed
+       "#undef ENABLE_NLS"; should be in Makefile IMHO. Moved
+       WGET_USE_STDARG from mswindows.h to config.ms.h because of #ifdef
+       in log.c. (MSVC's vararg.h and stdarg.h are incompatible).
+
+2003-09-29  Aaron Hawley <Aaron.Hawley@uvm.edu>
+
+       * ftp.c (getftp): --spider option should now work with FTP
+       downloads.
+       (ftp_loop_internal): quiet reports and calculations of downloads
+       when --spider option set, nor try deleting when --delete-after
+       also set.
+       (ftp_loop): --spider will skip HTML-ification of .listing file.
+
+2003-09-26  Gisle Vanem  <giva@bgnett.no>
+
+       * mswindows.c (read_registry): Removed.
+       (set_sleep_mode): New function.
+       (windows_main_junk): Call it.
+
+2003-09-26  Gisle Vanem  <giva@bgnett.no>
+
+       * mswindows.c (read_registry): Fix invocation of registry
+       functions.
+
+       * mswindows.c (read_registry): Condition definitions of sleep and
+       usleep with not HAVE_SLEEP and HAVE_USLEEP respectively.  Define
+       HAVE_SLEEP and HAVE_USLEEP under __DMC__.
+
+2003-09-24  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (url_escape_1): Revert unintentional change to lowercase
+       xdigit escapes.
+       (url_escape_dir): Document that this function depends on the
+       output of url_escape_1.
+
+2003-09-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * progress.c (create_image): Print the current ETA if we're done
+       with the download.
+       (create_image): Change '-' display char to '+' in the progress bar.
+
+       * Makefile.in (clean): Remove .libs.
+
+2003-09-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * cookies.c (struct cookie): New flag domain_exact.
+       (update_cookie_field): Skip leading dot in domain.
+       (find_matching_chains): Match numeric addresses exactly; don't
+       needlessly copy HOST to the stack.
+       (matching_cookie): Added argument HOST.  If cookie->domain_exact
+       is set, check that HOST is equal to cookie->domain.
+       (cookie_jar_load): Only use TAB as delimiter.  Document the
+       meaning of DOMAIN-FLAG.  Skip leading dot in domain.
+       (cookie_jar_load): Don't ignore DOMAIN-FLAG -- instead, set
+       domain_exact to true if DOMAIN-FLAG is false.
+       (save_cookies_mapper): If domain_exact is false, prepend the
+       domain with dot, like Mozilla does.
+
+2003-09-22  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * progress.c (create_image): Print the initial part of the
+       download with '-' characters, analogous to how dot progress prints
+       the initial part with ','.
+
+       * hash.c (ptrhash): New function.
+       (ptrcmp): Ditto.
+       (hash_table_new): Default to identity hash table.
+
+2003-09-22  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * safe-ctype.h (_sch_test): The cast of BIT to unsigned char was
+       broken -- _sch_istable bitmasks are 16-bit, not 8-bit!  Cast BIT
+       to unsigned short instead.
+
+2003-09-22  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * url.c (path_simplify): Instead of calls to memmove, handle "./"
+       and "../" by advancing pointers.
+
+2003-09-22  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * retr.c (getproxy): Moved from url.c.
+
+       * convert.c: Split off link conversion from url.c into separate
+       file.  Also included the book-keeping stuff from recur.c.
+
+2003-09-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c: Improved documentation of functions.
+       (cmd_boolean): Attempt to make code that tries to avoid calling
+       strcmp for "speed" a bit more readable.
+
+       * init.c (simple_atof): Report error on encountering non-digit,
+       non-"." character.
+       (simple_atoi): Replacement for myatoi(), calling interface
+       compatible with simple_atof.  Updated myatoi's callers.
+
+2003-09-21  Bertrand Demiddelaer  <bert@b3rt.org>
+
+       * url.c (path_simplify): Would read two bytes past the end of the
+       string in the "./" case.
+
+2003-09-21  Matthew J. Mellon  <mellon@tymenet.com>
+
+       * http.c (gethttp): Recognize content-type "application/xhtml+xml"
+       as what Wget considers "text/html".
+
+2003-09-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * connect.c (connect_with_timeout): Made timeout type double.
+
+       * options.h (struct options): New members read_timeout,
+       dns_timeout, and connect_timeout.
+       Use them.
+
+2003-09-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * init.c (simple_atof): New function.
+       (cmd_time): Use it.
+       (cmd_bytes): Accept things like "1.5k" and such.  Use simple_atof
+       to parse decimals.
+
+       * retr.c (limit_bandwidth): Adjust each sleep by the error of the
+       previous one.
+
+2003-09-21  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * main.c (main): Use setoptval() for setting the options.  Use
+       run_command for `-e'.
+
+       * init.c (parse_line): Rewritten to return COMIND right away.
+       Changed linkage to static.
+       (run_wgetrc): Use the available comind when calling setval, so it
+       doesn't have to be computed twice.
+       (setval_internal): New function, runs the command's action without
+       any error checking.
+       (setoptval): New function, does what setval used to do, but exits
+       in case of error.
+       (run_command): New function.
+
 2003-09-21  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * connect.c (select_fd): Change MAXTIME's type to double.  Handle