X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2FChangeLog;h=ed573983dd1ca88a5271407d4a448677d38814ef;hp=4605cad2b15f5c99e06afb817631674e12e77cd0;hb=700df4394ec8739943966d8860913cc9363741cf;hpb=8c3287dabfcd03c2bbd4c342dd4b8c036a845d53 diff --git a/src/ChangeLog b/src/ChangeLog index 4605cad2..ed573983 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,732 @@ +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. + (uri_merge): Merge "foo//", "bar" as "foo//bar", not "foo///bar", + i.e. don't add an extra slash merely because BASE ends with two + slashes. + (parse_credentials): Renamed from parse_uname. Rewrittern in + standard [beg, end) calling style. + (url_skip_credentials): Renamed from url_skip_uname. Made static. + (url_skip_credentials): Include # and ; as terminators. Old code + would mistakenly consider "http://foo.com#hniksic@iskon.hr" to + contain a username. + (url_skip_scheme): Removed because it was unused. + (url_has_scheme): Require "scheme" to be at least one char long. + +2003-09-19 Hrvoje Niksic + + * url.c (url_file_name): Expect NULL dir_prefix. + + * init.c (cmd_file): Use a macro to prevent multiple #ifdef + WINDOWS. + (defaults): Set dir_prefix to NULL by default. + +2003-09-19 Hrvoje Niksic + + * safe-ctype.h (_sch_test): Cast BIT to unsigned char, like latest + gcc does. + +2003-09-19 Hrvoje Niksic + + * wget.h (BOUNDED_TO_ALLOCA): Evaluate PLACE only once. + (ARRAY_SIZE): Renamed to countof. All callers updated. + +2003-09-19 Hrvoje Niksic + + * main.c (main): New option --strict-comments. + + * html-parse.c (find_comment_end): New function: simple BM search + for "-->". + (map_html_tags): Use it if looking at a comment and not in strict + comments mode. + +2003-09-17 Aurelien Marchand + + * ftp.h: Added OS400 system in enum + * ftp-basic.c: recognize OS400 systems + * ftp.c: don't prepend the CWD if talking to OS400, since it + breaks the change in library + +2003-09-18 Hrvoje Niksic + + * retr.c (get_contents): Pass the correct argument to ssl_iread. + +2003-09-18 Hrvoje Niksic + + * safe-ctype.h: Don't #define ctype.h macros to errors because + that loses when someone #include's ctype.h after safe-ctype.h. + +2003-09-17 Hrvoje Niksic + + * url.c: Undef U, W, C after use. + +2003-09-17 Hrvoje Niksic + + * init.c (cmd_spec_restrict_file_names): Allow the OS setting to + be augmented by ",nocontrol" which means don't escape the control + characters, but otherwise keep OS settings. + + * url.c (file_unsafe_char): Deleted. + (append_uri_pathel): Query filechr_table directly. + (filechr_table): Separated Unix, Windows, and control-unsafe + characters. + +2003-09-17 Hrvoje Niksic + + * url.c (url_escape_1): New function. + (url_escape): Use it. + (sync_path): Handle pathological cases where u->file and u->dir + contain really strange characters. + (ENCODE): Deleted. + (REENCODE): Deleted. + +2003-09-16 Hrvoje Niksic + + * url.c (url_file_name): Don't reallocate FNAME if the file + doesn't exist, as is usually the case. + + * utils.c (unique_name): New flag allow_passthrough. + +2003-09-16 Hrvoje Niksic + + * utils.c (wtimer_sys_diff): Convert the time difference to signed + __int64, then to double. This works around MS VC++ 6 which can't + convert unsigned __int64 to double directly. + +2003-09-16 Hrvoje Niksic + + * Makefile.in (clean): Also remove the core. files + produced by recent Linux systems. + +2003-09-16 Hrvoje Niksic + + * http.c (post_file): Don't pad the file if it's not large + enough. Bail out instead. + +2003-09-15 Hrvoje Niksic + + * retr.c (get_contents): Reduce the buffer size to the amount of + data that may pass through for one second. This prevents long + sleeps when limiting bandwidth. + + * connect.c (connect_to_one): Reduce the socket's RCVBUF when + bandwidth limitation to small values is requested. + +2003-09-15 Hrvoje Niksic + + * progress.c (update_speed_ring): Moved the speed ring update to a + separate function and documented it better. + + * progress.c: Use `double' for most timers to support granularity + smaller than 1ms. + +2003-09-15 Hrvoje Niksic + + * wget.h (XDIGIT_TO_XCHAR): Implement as index into a literal + string. + (XDIGIT_TO_xchar): Ditto. + +2003-09-15 Hrvoje Niksic + + * utils.c: Change the type of timer-related functions from long to + double, for better precision. On machines supporting gettimeofday + the timers now work with granularity of less than one millisecond. + +2003-09-15 Hrvoje Niksic + + * cookies.c (parse_set_cookies): Fixed the parser to handle more + edge conditions. + (test_cookies): New function, contains a test suite for + parse_set_cookies. + +2003-09-15 Hrvoje Niksic + + * url.c (strpbrk_or_eos): Implement as a macro under Gcc. + +2003-09-15 Hrvoje Niksic + + * cookies.c (parse_set_cookies): Allow trailing space in + set-cookies header. Also, allow any amount of whitespace, not + only one character. Allow empty set-cookies header without + spewing an error. + +2003-09-14 Hrvoje Niksic + + * url.c (append_uri_pathel): Use opt.restrict_file_names when + calling file_unsafe_char. + + * init.c: New command restrict_file_names. + + * main.c (main): New option --restrict-file-names[=windows,unix]. + + * url.c (url_file_name): Renamed from url_filename. + (url_file_name): Add directory and hostdir prefix here, not in + mkstruct. + (append_dir_structure): New function, does part of the work that + used to be in mkstruct. Iterates over path elements in u->path, + calling append_uri_pathel on each one to append it to the file + name. + (append_uri_pathel): URL-unescape a path element and reencode it + with a different set of rules, more appropriate for handling of + files. + (file_unsafe_char): New function, uses a lookup table to decide + whether a character should be escaped for use in file name. + (append_string): New utility function. + (append_char): Ditto. + (file_unsafe_char): New argument restrict_for_windows, decide + whether Windows file names should be escaped in run-time. + + * connect.c: Include to get prototype for abort(). + +2003-09-14 Hrvoje Niksic + + * utils.c (wtimer_sys_set): Extracted the code that sets the + current time here. + (wtimer_reset): Call it. + (wtimer_sys_diff): Extracted the code that calculates the + difference between two system times here. + (wtimer_elapsed): Call it. + (wtimer_elapsed): Don't return a value smaller than the previous + one, which could previously happen when system time is set back. + Instead, reset start time to current time and note the elapsed + offset for future calculations. The returned times are now + guaranteed to be monotonically nondecreasing. + +2003-09-10 Hrvoje Niksic + + * host.c (lookup_host): Print the result of the DNS lookup. + +2003-09-10 Hrvoje Niksic + + * init.c (cmd_boolean): Accept yes/no along with on/off. + (cmd_lockable_boolean): Ditto. + +2003-09-10 Hrvoje Niksic + + * init.c: New command dns_cache. + + * main.c (main): New option --dns-cache[=off]. + +2003-09-09 Hrvoje Niksic + + * config.h.in: Initialize HAVE_GETADDRINFO and ENABLE_IPV6. + + * all: Use #ifdef ENABLE_IPV6 instead of the older INET6. Use + HAVE_GETADDRINFO for getaddrinfo-related stuff. + +2003-09-09 Hrvoje Niksic + + * url.c (url_parse): Return an error if the URL contains a [...] + IPv6 numeric address and we don't support IPv6. + +2003-09-05 Hrvoje Niksic + + * url.c (is_valid_ipv6_address): Modified to not require + zero-terminated strings. + (is_valid_ipv4_address): Ditto. + +2003-09-05 Mauro Tortonesi + + src/url.c: added RFC 2732 compliance for URL parsing. The + functions is_*_address valid are a modified version of + glibc 2.3.2 inet_pton's code. + +2003-09-03 Ahmon Dancy + + * 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 + + * 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 + + * init.c (cmd_file): Allocate RESULT correctly. + +2002-07-24 Hrvoje Niksic + + * recur.c (retrieve_tree): Check whether downloaded_html_set is + non-NULL before using it. + +2002-05-27 Hrvoje Niksic + + * html-parse.c (NAME_CHAR_P): Allow almost any character here. + +2002-05-24 Hrvoje Niksic + + * progress.c (bar_set_params): Fall back to dot progress if the + terminal type is "emacs". + +2002-05-20 Hrvoje Niksic + + * log.c: Don't #undef WGET_USE_STDARG. + +2002-05-16 Hrvoje Niksic + + * 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 + + * recur.c (download_child_p): Minor optimization to avoid an + unnecessary additional call to schemes_are_similar_p function. + +2002-05-16 Ian Abbott + + * 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 + + * ftp.c (getftp): Don't ftruncate stdout. + + * http.c (gethttp): Don't ftruncate stdout. + +2002-05-09 Ian Abbott + + * 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 + + * 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 + + * cookies.c (cookie_jar_process_set_cookie): Do not store + discarded cookie. + +2002-04-21 Hrvoje Niksic + + * 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 + + * 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 + + * recur.c (download_child_p): Revert order of items in check + number 6 for clarity. + +2002-04-20 Hrvoje Niksic + + * 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 + + * 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 + + * init.c: The option `egdfile' was not in sort order. + +2002-04-16 Hrvoje Niksic + + * ftp.c (getftp): Treat directories that begin with : as + absolute. + (getftp): Strip trailing slashes from con->id before merging it + with TARGET. + +2002-04-16 Hrvoje Niksic + + * http.c (gethttp): If Content-Type is not given, assume + text/html. + +2002-04-15 Hrvoje Niksic + + * recur.c (download_child_p): Don't ignore rejection of HTML + documents that are themselves leaves of recursion. + +2002-04-15 Ian Abbott + + Makefile.in: Updated several dependencies for object files to take + account of nested include files. + +2002-04-15 Ian Abbott + + Makefile.in: The target `connect$o' (connect.o) now depends on + `utils.h' + +2002-04-15 Ian Abbott + + * 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 + + * host.c (getaddrinfo_with_timeout): New function. + (gethostbyname_with_timeout): Ditto. + (lookup_host): Use them. + +2002-04-14 Hrvoje Niksic + + * utils.c (number_to_string): Handle the case when n < -INT_MAX. + +2002-04-14 Hrvoje Niksic + + * 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 + + * main.c (print_help): Document `--post-data' and `--post-file'. + +2002-04-14 Hrvoje Niksic + + * 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 + + * 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 + + * 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 + + * connect.c (connect_with_timeout): Use it. + + * utils.c (run_with_timeout): New function. + +2002-04-13 Hrvoje Niksic + + * 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 + + * config.h.in: Only define _VA_LIST when compiled with gcc. + +2002-04012 Ian Abbott + + * 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 + + * 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 + + * config.h.in: Define _VA_LIST on Solaris to prevent stdio.h from + declaring va_list. + From Kevin Rodgers . + +2002-04-12 Ian Abbott + + * Makefile.in: Specify libtool mode explicitly when linking. + +2002-04-12 Hrvoje Niksic + + * 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 + + * log.c: Set WGET_USE_STDARG if __STDC__ is defined and stdarg.h + is present. + +2002-04-11 Hrvoje Niksic + + * progress.c (bar_create): If INITIAL is larger than TOTAL, fix + TOTAL. + (bar_finish): Likewise. + +2002-04-11 Hrvoje Niksic + + * html-url.c (tag_handle_form): New function. Pick up form + actions and mark them for conversion only. + +2002-04-11 Hrvoje Niksic + + * 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 , for the most part. + +2002-04-11 Hrvoje Niksic + + * 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 * wget.h: Ditto for extern char *exec_name.