X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2FChangeLog;h=b871ca2322f44f8303a21058f86567f25c7b1f3a;hb=5f0a2b3f0846dd4c2f72fc62e7171200d1fd6e06;hp=80e9a0c0521286102e5cd46d38eb6f454a1f99ea;hpb=101f896e4791cf23ed875353c2965435117609cc;p=wget diff --git a/src/ChangeLog b/src/ChangeLog index 80e9a0c0..b871ca23 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,563 @@ +2003-10-31 Hrvoje Niksic + + * various: Use new macros xnew, xnew0, xnew_array, and xnew0_array + in various places. + +2003-10-31 Hrvoje Niksic + + * 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 + + * connect.c (sockaddr_set_data): Remove the broken code that + checked for NULL address. + +2003-10-31 Hrvoje Niksic + + * host.c (address_list_from_single): Removed. + (address_list_from_ipv4_addresses): Renamed from + address_list_from_vector. + +2003-10-31 Hrvoje Niksic + + * 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 + + * sysdep.h: Use `S >= 8' rather than `S == 8' when looking for + large integers. + +2003-10-30 Hrvoje Niksic + + * 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 + + * 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 + + * 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 + + * 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 + + * sysdep.h: Include inttypes.h where available. + + * host.c: Switch from u_int32_t to uint32_t. + +2003-10-26 Hrvoje Niksic + + * netrc.c (parse_netrc): Reset the QUOTE flag after the closing + quote. + +2003-10-25 Hrvoje Niksic + + * 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 + + * config.h.in: Deploy preprocessor magic to avoid Ultrix's + include which defines its own u_int32_t. + Reported by Bernhard Simon. + +2003-10-23 Hrvoje Niksic + + * version.c: Bump version. + +2003-10-23 Hrvoje Niksic + + * 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 + + * 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 + + * http.c: Consider status 307 a valid redirect. + +2003-10-15 Philip Stadermann + + * ftp.c (ftp_retrieve_glob): Correctly loop through the list whose + elements might have been deleted. + +2003-10-13 Hrvoje Niksic + + * 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 + + * sysdep.h: Only define u_int32_t. + +2003-10-11 Hrvoje Niksic + + * 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 + + * sysdep.h: Also check size of short for int32_t. + +2003-10-11 Hrvoje Niksic + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * html-url.c (find_tag): Switch to binary search. + +2003-10-08 Hrvoje Niksic + + * main.c (print_help): Fix typo; stured -> stored. + +2003-10-08 Hrvoje Niksic + + * getopt.c: Add definitions of getopt_long and getopt_long_only. + +2003-10-08 Hrvoje Niksic + + * 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 + + * 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 + + * getopt.c: Newer version, imported from Free libit. + +2003-10-07 Hrvoje Niksic + + * cookies.c (struct cookie): Remove unused backpointer to cookie + jar. + +2003-10-07 Hrvoje Niksic + + * 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 + + * mswindows.c (set_sleep_mode): Fix type of + _SetThreadExecutionState. + +2003-10-05 Hrvoje Niksic + + * 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 + + * mswindows.c (run_with_timeout): Use WaitForSingleObject to wait + for thread termination. + +2003-10-04 Hrvoje Niksic + + * 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 + + * connect.c: And don't include them here. + + * mswindows.h: Include winsock headers here. + +2003-10-03 Hrvoje Niksic + + * html-parse.c (convert_and_copy): Move variable declarations + before statements. + +2003-10-02 Gisle Vanem + + * 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 + + * 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 + + * retr.c (retrieve_url): Initialize DUMMY storage for DT. Caught + by valgrind. + +2003-10-02 Hrvoje Niksic + + * 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 + + * 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 + + * 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 + + * ftp.c (ftp_loop_internal): Initialize TMRATE to NULL to shut up + the compiler. + +2003-09-26 Gisle Vanem + + * 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 + + * 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 + + * mswindows.c (read_registry): Removed. + (set_sleep_mode): New function. + (windows_main_junk): Call it. + +2003-09-26 Gisle Vanem + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * url.c (path_simplify): Instead of calls to memmove, handle "./" + and "../" by advancing pointers. + +2003-09-22 Hrvoje Niksic + + * 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 + + * 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 + + * url.c (path_simplify): Would read two bytes past the end of the + string in the "./" case. + +2003-09-21 Matthew J. Mellon + + * http.c (gethttp): Recognize content-type "application/xhtml+xml" + as what Wget considers "text/html". + +2003-09-21 Hrvoje Niksic + + * 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 + + * 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 + + * 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 + + * connect.c (select_fd): Change MAXTIME's type to double. Handle + its decimal part. + + * retr.c (sleep_between_retrievals): In the random-wait case, use + random_float() to wait between 0 and 2*opt.wait seconds. + + * utils.c (run_with_timeout): Accept `double' timeouts. Correctly + handle timeout values in (0, 1) range. + (random_float): New function. + + * options.h (struct options): Change the types of wait, waitretry, + and timeout to double. + + * init.c (cmd_time): Accept floating point time. + +2003-09-20 Hrvoje Niksic + + * retr.c (get_contents): Cosmetic fixes. + 2003-09-20 Hrvoje Niksic * url.c (uri_merge): Get rid of uri_merge_1.