Fix compiler warnings
[wget] / src / ChangeLog
1 2014-05-03  Tim Ruehsen  <tim.ruehsen@gmx.de>
2
3         * ftp-ls.c (ftp_parse_vms_ls): Explicitly typecast strlen's output
4         * ftp.c (getftp): Prevent declaration of shadow variable
5         * html-url.c (tag_handle_base, tag_handle_form, tag_handle_link,
6         tag_handle_meta): Compiler directive to ignore unused variable
7         * html-url.h (cleanup_html_url): Add function declaration
8         * http-ntlm.c (ntlm_input, mkhash): Use ssize_t to declare variables that store
9         sizes.
10         (mkhash): Explicitly typecast output of c_toupper
11         (short_pair): Add typecasts to prevent compiler warnings
12         (ntlm-output): Fix datatypes of various variables
13         * http.c (gethttp): Prevent declaration of shadow variable err
14         (gethttp): remove unreachable code
15         (test_parse_content_disposition): Fix variable declarations and use
16         countof() macro
17         * init.c (run_command): Prevent declaration of ghost variable
18         (cmd_string, cmd_string_uppercase, cmd_file, cnd_vector,
19         cmd_directory_vector, cmd_spec_dirstruct, cmd_spec_header,
20         cmd_spec_warc_header, cmd_spec_htmlify, cmd_spec_mirror,
21         cmd_spec_prefer_family, cmd_spec_progress, cmd_spec_recursive,
22         cmd_spec_regex_type, cmd_spec_restrict_file_names, cmd_spec_report_speed,
23         cmd_spec_timeout, cmd_spec_useragent, cmd_spec_verbose): Add compiler
24         directive to ignore unused variable
25         (cleanup_html_url, spider_cleanup): Remove declarations
26         (test_commands_sorted): Cleanup code
27         (test_cmd_spec_restrict_file_names): Use correct data types
28         * iri.c (remote_to_utf8): Use more verbose variable name
29         * main.c (init_switches): Prevent declaration of ghost variable
30         * netrc.c (netrc_cleanup): Create cleanup function on common naming scheme
31         * netrc.h (netrc_cleanup): Declare function
32         * openssl.c (openssl_write, openssl_errstr): Compiler directive to ignore
33         unused parameter
34         (openssl_errstr): Explcicitly typecasr output of ASN1_STRING_length
35         * options.h (struct options): Declare includes and excludes as const char **
36         * progress.c (progress_interactive_p, progress_handle_sigwinch): Compiler
37         directive to ignore unused parameter
38         * res.c (test_is_robots_txt_url): Fix datatypes
39         * retr.c (line_terminator): Add compiler directive for ignoring unused
40         paramter. Remove unused variable.
41         * spider.h (spider_cleanup): Declare function
42         * test,c (main): declare unused paramter
43         * test.h (test_*): Declare functions
44         * url.c (url_string): Explicit typecast of password strings
45         (run_test): Declare *test, struct tests and *expected_result as const
46         (test_path_simplify, test_append_uri_pathl, test_are_urls_equal): Fix datatypes
47         * utls.c (fork_to_background): Be more verbose when errors occur
48         (dir_matches_p, test_dir_matches_p): Declare char * as const as required
49         (base64_encode, base64_decode, get_max_length): Set correct return type
50         (match_pcre_regex, match_posix_regex): Use correct datatypes and typecasts
51         (test_subdir_p): static const struct
52         * utils.h (base64_encode, base64_decode, get_max_length): Fix return type
53         * warc.c (ward_write_cdx_record): unused parameter
54         (struct hash_table *warc_cdx_dedup_table): Declare as static
55
56 2014-05-01  Benjamin Goose  <gans+wget@tngtech.com>
57
58         * http.c: Fix small memory leak
59
60 2014-05-01  Darshit Shah  <darnir@gmail.com> (tiny change)
61
62         * progress.c (dot_finish): Do not print extra newlines when not in verbose
63         mode. (Purely aesthetic change)
64         (get_eta): Add extra space when eta is printed.
65         (create_image): Remove erroneous space from being added to progress bar when
66         filename > MAX_FILENAME_LEN
67         (create_image): Remove extra space before printed download speeds
68         Make the filename a fixed width column.
69
70 2014-04-19  Darshit Shah  <darnir@gmail.com>
71
72         * log.h (log_options): Add new logging options, LOG_PROGRESS. All progress
73         bar related output should use LOG_PROGRESS.
74         * log.c (CHECK_VERBOSE): Implement LOG_PROGRESS output
75         * progress.c (dot_create, print_row_stats, dot_update, dot_finish,
76         bar_finish, display_image): Output progress information through LOG_PROGRESS
77         (progress_implementation, dot_create, bar_create, progress_create): The
78         progress bar create functions accept an extra paramter for the filename of the
79         local file
80         (bar_progress): Add new variable to store filename of currently downloading
81         file
82         (bar_finish): Aesthetic change. Print two newlines if in verbose mode, else
83         only one.
84         (MACRO): Define new macro, MIN
85         (create_image): Implement displaying filename in progress bar output
86         Filename tick implementation copied from Giuseppe's patch on parallel-wget
87         * progress.h (progress_create): Accept another parameter for filename
88         * http.c (gethttp): Remove unnecessary conditional
89         (read_response_body): Send local filename to fd_read_body so that it can be
90         printed on the progress bar
91         * main.c (option_data): Add new switch, --show-progress
92         (main): If in verbose output, show progress bar by default
93         (main): Set progress implemetation when displaying progress bar
94         (no_prefix): Increase buffer size to 2048 to prevent overflows
95         * init.c (commands): Add new command, showprogress
96         (defaults): By default initialize show_progress to false
97         * options.h (options): Add new option, show_progress
98         * retr.c (fd_read_body): Accept new parameter for filename of currently
99         downlaoding file
100         (fd_read_body): Create and update progress bar when opt.show_progress is set
101         (fd_read_body): Display progress information in Windows console titlebars
102         * retr.h (fd_read_body): Update declaration
103         * ftp.c (getftp): Send filename of the local file so that it can be printed
104         with the progress bar.
105
106 2013-11-02  Giuseppe Scrivano  <gscrivan@redhat.com>
107
108         * progress.c (struct progress_implementation): New method draw.
109         (bar_update): Split into...
110         (bar_draw): ...this new function.
111         (dot_update): Split into...
112         (dot_draw): New function.
113         (progress_update): Also invoke draw on `current_impl'.
114
115 2014-04-22  Tim Ruehsen  <tim.ruehsen@gmx.de>
116
117         * http.c (gethttp): Fix 204 response handling
118
119 2014-03-26  Darshit Shah  <darnir@gmail.com>
120
121         * ftp.c (getftp): Rearrange parameters to fix compiler warning
122         * utils.c (get_dir_matches_p): Do not pass a const char** to a function that
123         expects char**
124
125 2014-03-25  Daniel Stenberg  <daniel@haxx.se>
126
127         * url.c (shorten_length): Remove unused function.
128
129 2014-03-19  Yousong Zhou  <yszhou4tech@gmail.com>
130
131         * init.c, main.c, options.h: Add option --start-pos for specifying
132         start position of a download.
133         * http.c: Utilize opt.start_pos for HTTP download.
134         * ftp.c: Utilize opt.start_pos for FTP retrieval.
135
136 2014-03-04  Giuseppe Scrivano  <gscrivan@redhat.com>
137
138         * http.c (modify_param_value, extract_param): Aesthetic change.
139
140 2014-02-14  Vladimír Pýcha  <vpycha@gmail.com> (tiny change)
141
142         * http.c (parse_content_disposition, extract_param)
143         (append_value_to_filename, digest_authentication_encode): URL-decode the
144         filename parameter of Content-Disposition HTTP header if it is encoded. This
145         is related to --content-disposition.
146         New parameter of extract_param(), "is_url_encoded".
147         Add argument NULL to the call of extract_param() in
148         digest_authentication_encode().
149         * http.h: Add the new parameter to the declaration of extract_param().
150         * cookies.c (parse_set_cookie, test_cookies): Add argument NULL to the calls
151         of extract_param().
152         * url.c (url_unescape): Remove "static" modifier.
153         * url.h: Add declaration of url_unescape().
154
155 2014-02-06  Giuseppe Scrivano  <gscrivan@redhat.com>
156
157         * main.c (print_version): Move copyright year out of the localized
158         string and update it.
159
160 2014-01-29  Darshit Shah  <darnir@gmail.com>
161
162         * main.c: Remove pre-processor variable WHEN_DEBUG
163         (option_data[]): Do not fail on --debug even if debug support is not
164         compiled in.
165         (main): Explicitly set opt.debug to false in case debugging support was not
166         compiled.
167         * init.c (commands[]): Support --debug wven when support is not compiled in.
168         * options.h: Same
169
170 2014-01-17  Darshit Shah  <darnir@gmail.com>
171
172         * init.c (commands[]): Add --no-config.
173         * options.h: Same.
174         * main.c (option_data[]): Same.
175         (print_help): Same.
176         (main): If --no-config is set, then do not read the wgetrc files.
177
178 2014-01-05  Håkon Vågsether <hauk142@gmail.com> (tiny change)
179
180         * http.c (http_loop): Fix checking the URL length when filename is
181         specified.
182
183 2013-12-29  Giuseppe Scrivano  <gscrivan@redhat.com>
184
185         * init.c (home_dir): Remove useless 'if'.
186         * warc.c (warc_start_new_file): Likewise.
187         (warc_process_cdx_line): Likewise.
188         (warc_write_response_record): Likewise.
189
190 2013-12-26  Tim Ruehsen  <tim.ruehsen@gmx.de>
191
192         * gnutls.c (ssl_connect_wget): Fix connect timeout failure
193
194 2013-11-02  Giuseppe Scrivano  <gscrivan@redhat.com>
195
196         * http.c (gethttp): Increase max header value length to 512.
197
198 2013-01-30  Pavel Mateja  <pavel@netsafe.cz> (tiny change)
199
200         * http.c (gethttp): Specify "Host" for CONNECT method.
201
202 2013-10-30  Giuseppe Scrivano  <gscrivan@redhat.com>
203
204         * http.c (skip_short_body): Remove assert which is always true.
205         Reported by: David Binderman <dcb314@hotmail.com>
206
207 2013-10-17  Andrea Urbani  <matfanjol@mail.com>
208
209         * ftp.c (getftp): force "LIST" or "LIST -a"
210           according to the remote system type. If the remote
211           system is not known, it tries, only the first time,
212           "LIST -a", after "LIST" and decides which one to use.
213           For more information look for "__LIST_A_EXPLANATION__"
214         * ftp.h (enum ustype): New ustype enum.
215         * ftp.h (ftp_syst): New enum ustype *unix_type parameter.
216         * ftp.h (ftp_list): Removed enum stype rs parameter, added.
217           bool avoid_list_a, bool avoid_list, bool *list_a_used
218           parameters.
219         * ftp.h (wget_ftp_fstatus): New AVOID_LIST_A, AVOID_LIST,
220           LIST_AFTER_LIST_A_CHECK_DONE values.
221         * ftp-basic.c (ftp_list): it handles the new avoid_list_a,
222           avoid_list and list_a_used parameters.
223         * ftp.h (ftp_syst): it stores information about the "215 UNIX"
224           systems into the new unix_type parameter.
225
226 2013-10-26  Bykov Aleksey <gnfalex@rambler.ru>
227
228         * utils.c (match_tail): Fix cookies reject
229
230         * ftp-ls.c (ftp_parse_unix_ls): Fix parsing month name in uppercase
231
232 2013-09-09  Tim Ruehsen  <tim.ruehsen@gmx.de>
233
234         * gnutls.c (ssl_connect_wget): changed checking of option "PFS"
235           to be better prepared for some kinds of backports.
236           Reported by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
237
238 2013-10-10  Giuseppe Scrivano  <gscrivan@redhat.com>
239
240         * url.c (url_parse): Try to convert UTF-8 URLs to IDN.
241         * html-url.c (append_url): Parse URLs specifying an IRI structure.
242
243 2013-09-13  Tim Ruehsen  <tim.ruehsen@gmx.de>
244
245         * recur.c (download_child_p): fix compile error when
246           configured using --without-ssl.
247
248 2013-09-07  Tim Ruehsen  <tim.ruehsen@gmx.de>
249
250         * gnutls.c (ssl_connect_wget): use gnutls_check_version()
251           to check if option "PFS" is available
252           Reported by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
253
254 2013-09-03  Tim Ruehsen  <tim.ruehsen@gmx.de>
255
256         * main.c: Add new value 'PFS' to --secure-protocol to
257           enforce the so-called Perfect Forward Security.
258         * init.c (cmd_spec_secure_protocol): added secure_protocol_pfs
259         * openssl.c, gnutls.c, options.h: likewise
260
261 2013-08-22  Tim Ruehsen  <tim.ruehsen@gmx.de>
262
263         * main.c: Add new option --https-only.
264         * options.h: Likewise.
265         * recur.c (download_child_p): add check for HTTPS.
266
267 2013-08-09  Tim Ruehsen  <tim.ruehsen@gmx.de>
268
269         * gnutls.c (ssl_init): Prevent CA files from being loaded twice
270           if possible.
271         * gnutls.c (ssl_check_certificate): Added some error messages
272         * gnutls.c: Fixed some compiler warnings
273
274 2013-08-08  Will Dietz  <w@wdtz.org> (tiny change):
275
276         * main.c (format_and_print_line): Wrap correctly long tokens.
277
278 2013-07-16  Darshit Shah  <darnir@gmail.com>
279
280         * wget.h (err_t): Added new errors, ATTRMISSING and UNKNOWNATTR to
281         handle missing attributes and Unknown attribute values respectively in
282         HTTP Headers.
283         * exits.c (get_status_for_err): ATTRMISSING is a Protocol Error while
284         UNKNOWNATTR is a general error, presumably because of a feature that
285         is not yet implemented.
286         * http.c (gethttp): Call create_authorization_line () separately. In
287         case the auth_err flag has been set with an error, handle it and exit.
288         * http.c (create_authorization_line): Pass a pointer, auth_err to set
289         the flag for different kinds of errors encountered.
290         * http.c (http_loop): Handle the errors raised by the authentication
291         handlers.
292         * http.c (digest_authentication_encode): Pass pointer auth_err to set
293         the error flags.
294         Set qop to NULL in case the value of the qop / algorithm attribute is
295         unknown to Wget. Set an appropriate error too.
296
297 2013-07-13  Tim Ruehsen  <tim.ruehsen@gmx.de>
298
299         * http.c (digest_authentication_encode): Fix a crash when the algorithm
300         is not specified in the server response.  Free dynamic memory used by
301         the function when the function exits.
302         * http-ntlm.c [HAVE_NETTLE]: Include <nettle/md4.h> and <nettle/des.h>.
303         (setup_des_key) [HAVE_NETTLE]: New function to deal with
304         libnettle.
305         (calc_resp) [HAVE_NETTLE]: Add support for libnettle.
306         (mkhash) [HAVE_NETTLE]: Likewise.
307         Reported by: Tim Ruehsen  <tim.ruehsen@gmx.de>.
308
309 2013-07-13  Steven M. Schweda <sms@antinode.info>
310
311         * warc.c (warc_tempfile): Fix a portability issue on VMS.
312
313 2013-07-10  Giuseppe Scrivano  <gscrivano@gnu.org>
314
315         * http.c (read_response_body) [ALLOW_CLOBBER]: Move definition to..
316         * options.h (struct options): Make `backups' an int.
317         * url.h [ALLOW_CLOBBER]: .. Here.  Do not clobber when backups are used.
318         * url.c (url_file_name): Use the ALLOW_CLOBBER macro instead of
319         repeating the code.
320
321 2013-07-08  Steven M. Schweda <sms@antinode.info>
322
323         * retr.c (rotate_backups): Support for VMS files.
324
325 2013-07-12  Giuseppe Scrivano  <gscrivano@gnu.org>
326
327         * http.c (digest_authentication_encode): Set default value of
328         `algorithm' to "MD5".  Check if `qop' is not-NULL before access it.
329
330 2013-07-11  Karsten Hopp  <karsten@redhat.com>
331
332         * openssl.c (struct openssl_read_args, struct scwt_context): New struct.
333         (openssl_read, ssl_connect_with_timeout_callback): New function.
334         (ssl_connect_wget): respect connect timeout.
335
336 2013-07-11  Tim Ruehsen  <tim.ruehsen@gmx.de>
337
338         * gnutls.c (ssl_connect_wget): respect connect timeout.
339
340 2013-07-11  Tomas Hozza  <thozza@redhat.com>
341
342         * ftp.c (ftp_loop): Use ftp_retrieve_glob() also in case
343         --preserve-permissions was specified.
344
345 2013-03-20  Tomas Hozza  <thozza@redhat.com>
346
347         * http.c (gethttp): Set "sock" to -1 if it's not and we have no
348         persistent connection
349
350 2013-04-26  Tomas Hozza  <thozza@redhat.com> (tiny change)
351
352         * log.c (redirect_output): Use DEFAULT_LOGFILE in diagnostic message
353         when `logfile' is NULL.
354         * utils.c (unique_create): Ensure `logfile' has always a value.
355
356 2013-06-26  Darshit Shah <darnir@gmail.com>
357
358         * http.c (gethttp): Reverse change by commit 90896 that prevented
359         downloading response body data to non-GET Request methods.
360
361 2013-06-19 Ciprian Vieru <devel.php@gmail.com> (tiny change)
362
363         * html-url.c: Define TAG_TD, TAG_TH, TAG_VIDEO, TAG_AUDIO, TAG_SOURCE.
364         (tag_url_attributes, known_tags): Likewise.
365
366 2013-06-22  Ángel González <keisial@gmail.com>
367
368         * init.c (cmd_string_uppercase): Rewrite function.
369
370 2013-06-19  Tim Ruehsen  <tim.ruehsen@gmx.de>
371
372         * connect.c (socket_ip_address): zero out ip address structure to
373         avoid access to uninitialized values by inet_ntop().
374         * ftp.c (ftp_loop_internal): fix segfault caused by warc_tmp NULL pointer.
375
376 2013-05-21  Ray Satiro  <raysatiro@yahoo.com>
377
378         * url.c (url_file_name): Use MAX_PATH in Windows.
379
380 2013-06-13  Darshit Shah  <darnir@gmail.com>
381
382         * http.c (gethttp): Follow RFC 2616 and httpbis specifications when
383         handling redirections. Do not suspend the method on 301/302 redirects.
384         (gethttp): If method if not GET, we do not intend to download
385         anything.
386         * main.c (main): Set spider mode when opt.method is HEAD. This will
387         prevent Wget from downloading any file.
388         * retr.c (SUSPEND_METHOD): Rename macro SUSPEND_POST_DATA to
389         SUSPEND_METHOD to more accurately reflect its use. Similarly rename
390         related variables.
391
392 2013-05-14 Bykov Aleksey <gnfalex@rambler.ru>
393
394         * warc.c (warc_tempfile): For fix "Could not open temporary WARC manifest
395         file." issue in Win system force to use `mkostemp(filename, O_TEMPORARY)'
396         instead  of `mkstemp(filename)'. Thank to Angel Gonzalez for help.
397
398 2013-05-14  Tim Ruehsen  <tim.ruehsen@gmx.de>
399
400         * cookies.c (cookie_jar_load): Replaced read_whole_file() by getline().
401         * init.c (run_wgetrc): Likewise.
402         * netrc.c (parse_netrc): Likewise.
403         * utils.c: Likewise.
404         * ftp.c (getftp): Likewise.
405         * ftp-ls.c (ftp_parse_unix_ls, ftp_parse_winnt_ls, ftp_parse_vms_ls): Likewise.
406         * ftp-ls.c (clean_line): Accept the string length as parameter.
407         * ftp-ls.c: Replaced indent tabs by spaces.
408         * ftp.c: Likewise.
409         * utils.c: Removed read_whole_file() definition.
410         * netrc.c: Removed read_whole_file() definition for STANDALONE.
411         * utils.h: Removed read_whole_file() declaration.
412
413 2013-05-09  Tim Ruehsen  <tim.ruehsen@gmx.de>
414
415         * utils.c (acceptable): use standard string functions instead of
416         self-written code.
417         (match_tail): Likewise.
418         (suffix): Likewise.
419         (has_wildcards_p): Likewise.
420         (test_subdir_p): Fix some warnings.
421         (test_dir_matches_p): Likewise.
422
423 2013-05-05  mancha  <mancha1@hush.com> (tiny change)
424
425         * gnutls.c (ssl_connect_wget): Don't abort on non-fatal alerts
426         received during handshake. For example, when connecting to servers
427         using TSL-SNI that send warning-level unrecognized_name alerts.
428
429 2013-05-04  Darshit Shah <darnir@gmail.com>
430
431         * init.c (cmd_string_uppercase): Fix issue that cased invalid headers
432         when converting to uppercase.
433
434 2013-05-01  Gijs van Tulder  <gvtulder@gmail.com>
435
436         * retr.c (retrieve_url): New variable `saved_method'.
437         (SUSPEND_POST_DATA): Save the method to `saved_method'.
438         (RESTORE_POST_DATA): Restore the method from `saved_method'.
439
440 2013-05-01  Giuseppe Scrivano  <gscrivano@gnu.org>
441
442         * init.c: Declare `cmd_string_uppercase'.
443         (commands): Now `method' uses cmd_string_uppercase.
444         (cmd_string_uppercase): New method
445         * http.c (gethttp): Do not transform opt.method to uppercase.
446         Reported by: Stefano Lattarini <stefano.lattarini@gmail.com>
447
448 2013-04-24  Darshit Shah <darnir@gmail.com>
449
450         * http.c (gethttp): Remove check for opt.post_data and
451         opt.post_file_name.
452         * main.c (main): Change location in code where --post-data and
453         --post-file options are converted to --body-data --body-file.
454
455 2013-04-21  Gijs van Tulder  <gvtulder@gmail.com>
456
457         * http.c: Copy opt.body_data to the WARC file, instead of
458         opt.post_data (the old option).
459
460 2013-04-12  Gijs van Tulder  <gvtulder@gmail.com>
461
462         * warc.c: Generate unique UUIDs for the manifest and the record
463         holding the command-line arguments.
464         Write the manifest to a "metadata" record to follow the WARC
465         implementation guidelines.
466         * warc.h: Declare new function warc_write_metadata_record.
467
468 2013-03-15  Darshit Shah <darnir@gmail.com>
469
470         * http.c (post_file): Rename function to body_file_send to more
471         accurately reflect its use.
472         * http.c (gethttp): Add support for --method, --body-data and
473         --body-file
474         * init.c (commands): Same.
475         * options.h (options): Same.
476         * main.c (option_data): Same.
477         * main.c (print_help): Add --method command.
478         * main.c (main): Make old --post-{data,file} commands aliases to
479         --method.
480         Add sanity checks for --method, --body-data and --body-file.
481         * retr.c (SUSPEND_POST_DATA): Edit Macro Definition to use body_data.
482         * retr.c (RESTORE_POST_DATA): Same.
483
484 2013-03-31  Gijs van Tulder  <gvtulder@gmail.com>
485
486         * warc.c: Correctly write the field length in the skip length field
487         of .warc.gz files. (Following the GZIP spec in RFC 1952.)
488
489 2013-03-12  Darshit Shah <darnir@gmail.com>
490
491         * http.c (gethttp): Make wget return FILEBADFILE error and abort if
492         post-file does not exist.
493
494         * http.c (http_loop): Handle FILEBADFILE as a valid err.
495
496         * exits.c (get_status_for_err): Mark FILEBADFILE as an IO error.
497
498 2013-02-15  Darshit Shah <darnir@gmail.com>
499
500         * cookies.c (cookie_handle_set_cookie): Set cookie->discard_requested
501         to true on domain mismatch.
502
503 2012-12-20  Tim Ruehsen  <tim.ruehsen@gmx.de>
504
505         * gnutls.c (ssl_connect_wget): added +VERS-SSL3.0 to fix
506         --secure-protocol=SSLv2/SSLv3.
507
508 2012-12-09  Giuseppe Scrivano  <gscrivano@gnu.org>
509
510         * main.c (main): Keep looking for "config" until there are
511         arguments to parse.
512         Reported by: Adrien Dumont <adr.dum@hotmail.fr>
513
514         * test.c: Include "wget.h".
515
516 2012-12-08  Michael Stapelberg <michael@stapelberg.de> (tiny change)
517
518         * retr.c (retrieve_url): Set iri->orig_url to NULL after it is
519         freed.
520
521 2012-11-26  Giuseppe Scrivano  <gscrivano@gnu.org>
522
523         * wget.h (MAX_INT_TO_STRING_LEN): Define macro.
524         * warc.c (warc_write_block_from_file): Use `MAX_INT_TO_STRING_LEN'
525         to find the buffer size.
526         (warc_write_cdx_record): Likewise.
527
528 2012-09-03  Tim Ruehsen  <tim.ruehsen@gmx.de>
529
530         * http.c (digest_authentication_encode): Add support for RFC 2617
531         MD5-sess authentication algorithm.
532         Feature request and testing by: Avinash <pavinash@gmail.com>
533
534 2012-11-14  Ángel González  <keisial@gmail.com>
535
536         * warc.c (warc_sha1_stream_with_payload): Fix compilation under
537         gcc -std=c89.
538
539 2012-11-24  Gijs van Tulder  <gvtulder@gmail.com>
540
541         * warc.c (warc_write_cdx_record): Use `number_to_string' to
542         convert the offset to a string.
543
544 2012-11-24  Giuseppe Scrivano  <gscrivano@gnu.org>
545
546         * warc.c (warc_write_block_from_file): Use `number_to_string' to
547         convert the content-length to a string.
548
549 2012-11-15  Giuseppe Scrivano  <gscrivano@gnu.org>
550
551         * retr.c (write_data): Fix comment.
552
553 2012-11-13  Giuseppe Scrivano  <gscrivano@gnu.org>
554
555         * retr.c (fd_read_body): Correctly check the return code from
556         write_data.
557         Reported by: Torsten Scheck <torsten.scheck@gmx.de>
558
559 2012-08-29  Rohit Mathulla <rohit_mathulla@yahoo.com> (tiny change)
560
561         * html-url.c (get_urls_file): Convert shorthand URLs.
562
563 2012-10-07  Ray Satiro <raysatiro@yahoo.com>
564
565         * url.c: Change the functions of a growable string object to null
566         terminate the string.
567         * url.c (append_null): New function to null terminate a growable
568         string object.
569         * url.c (shorten_length): New function to shorten the length of a
570         growable string object.
571
572 2012-10-03 Merinov Nikolay <kim.roader@gmail.com>
573
574         * ftp.c (ftp_loop_internal): Ignore --no-clobber option when
575         receiving directory listing.
576
577 2012-10-07  Tim Ruehsen  <tim.ruehsen@gmx.de>
578             Giuseppe Scrivano  <gscrivano@gnu.org>
579
580         * utils.c (get_max_length): If `pathconf' is not available
581         fallback to PATH_MAX.
582
583 2012-10-06  Giuseppe Scrivano  <gscrivano@gnu.org>
584
585         * http.c (http_loop): Send a HEAD request when -c and
586         --content-disposition are used together.
587
588 2012-09-29 Merinov Nikolay <kim.roader@gmail.com>
589
590         * ftp-ls.c (ftp_parse_winnt_ls): Support filename extracting with
591         new listing format.
592
593 2012-09-29  Tim Ruehsen  <tim.ruehsen@gmx.de>
594
595         * url.h (CHOMP_BUFFER): Add definition.
596         * url.c (url_file_name): New local variables `fname_len_check' and
597         `max_length'. Check that the length of the file name is acceptable.
598         * utils.h (get_max_length): Declare function.
599         * utils.c (get_max_length): New function.
600
601 2012-09-28  Steven Schubiger  <stsc@member.fsf.org>
602
603         * src/recur.c (retrieve_tree): Combine duplicated code.
604
605 2012-09-02  Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> (tiny change)
606
607         * src/main.c (main): mark more strings for translation.
608         * src/mswindows.c (fork_to_background): Likewise.
609         * src/recur.c (download_child_p): Likewise.
610
611 2012-08-28  Tim Ruehsen  <tim.ruehsen@gmx.de>
612
613         * gnutls.c (ssl_check_certificate): deinit gnutls_x509_crt_t.
614         * gnutls.c (ssl_init): don't error if CA directory is empty.
615
616 2012-07-07  Giuseppe Scrivano  <gscrivano@gnu.org>
617
618         * html-url.c (cleanup_html_url): Remove "static" modifier.
619         * init.c (cleanup_html_url): Likewise.
620         Reported by: Mike Frysinger <vapier@gentoo.org>.
621
622 2012-08-25  Hrvoje Niksic  <hniksic@gmail.com>
623
624         * warc.c (warc_find_duplicate_cdx_record): Use hash_table_get
625         instead of hash_table_get_pair.
626
627 2012-08-21  <y-iida@secom.co.jp> (tiny change)
628
629         * connect.c (connect_to_ip) [ENABLE_IPV6]: Attempt to use IPv6.
630         * http.c (gethttp): Likewise.
631
632 2012-07-03  Steven Schubiger  <stsc@member.fsf.org>
633
634         * init.c: Include warc.h for warc_close in cleanup function.
635
636 2012-07-08  Steven Schubiger  <stsc@member.fsf.org>
637
638         * exits.h: Fix comment.
639         * exits.c: Likewise.
640
641 2012-07-07  Tim Ruehsen <tim.ruehsen@gmx.de>
642
643         (digest_authentication_encode): Add support for RFC 2617 Digest
644         Access Authentication.
645
646 2012-07-07  Giuseppe Scrivano  <gscrivano@gnu.org>
647
648         * http.c (http_loop): Fix log message.
649         * main.c (main): Likewise.
650         Reported by: Petr Pisar <petr.pisar@atlas.cz>
651
652 2012-06-17  Giuseppe Scrivano  <gscrivano@gnu.org>
653
654         * wget.h: Define `CLOSEFAILED'.
655         * init.c: Include "exits.h".
656         (cleanup): Check `fclose' failure.
657         * exits.c (get_status_for_err): Handle `CLOSEFAILED'.
658
659 2012-06-16  Giuseppe Scrivano  <gscrivano@gnu.org>
660
661         * main.c (main): Move some cleanup related function to...
662         * init.c (cleanup): ...here.
663
664         * main.c: Do not include "stdout.h".
665         (main): Do not register `close_stdout' at exit.
666         Reported by: Micah Cowan  <micah@cowan.name>.
667
668 2012-06-09  Giuseppe Scrivano  <gscrivano@gnu.org>
669
670         * main.c (print_help): Move --report-speed under the section
671         "Logging and input file".
672
673 2012-06-06  Giuseppe Scrivano  <gscrivano@gnu.org>
674
675         * main.c (print_help): Rename --bits to --report-bps.
676         (cmdline_options): Likewise.
677         * init.c (commands): Rename --report-bps to --report-speed.
678         (cmd_spec_report_speed): New function.
679
680         * options.h (struct options): Rename `bits_fmt' to `report_bps'.
681         * main.c (print_help): Rename --bits to --report-bps.
682         (cmdline_options): Likewise.
683         * init.c (commands): Likewise
684
685         * progress.c (create_image): Adjust caller.
686         * retr.c (retr_rate): Likewise.
687         * utils.c (convert_to_bits): Likewise.
688
689 2012-06-04  Tim Ruehsen  <tim.ruehsen@gmx.de>
690
691         * main.c (main): Check for filename != NULL.
692         * warc.c (warc_process_cdx_line): Fix memory leak.
693         * utils.c (match_posix_regex, compile_posix_regex): Remove dead
694    assignment.
695         * openssl.c (ssl_init): Fix old-style function definition.
696
697 2012-06-02  Giuseppe Scrivano  <gscrivano@gnu.org>
698
699         * connect.c: Include <sys/socket.h> and <sys/select.h>.
700
701 2012-05-30  Gijs van Tulder  <gvtulder@gmail.com>
702
703         * warc.c: Fix segfault if CDX record is not found.
704
705 2011-05-26  Steven Schweda  <sms@antinode.info>
706         * connect.c [HAVE_SYS_SOCKET_H]: Include <sys/socket.h>.
707         [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
708
709 2012-05-26  Mike Frysinger <vapier@gentoo.org>
710
711         * warc.c: Change type of `warc_current_gzfile' to gzFile.
712
713 2012-05-26  Giuseppe Scrivano  <gscrivano@gnu.org>
714
715         * warc.c (warc_load_cdx_dedup_file): Change type of `line_length' to
716         ssize_t.
717         Suggested by: Ángel González <keisial@gmail.com>
718
719 2012-05-18  Tim Ruehsen  <tim.ruehsen@gmx.de>
720
721         * gnutls.c (wgnutls_poll): Honor the specified `timeout' value.
722         (wgnutls_peek): Likewise.
723
724 2012-05-19  illusionoflife  <illusion.of.life92@gmail.com> (tiny change)
725
726         * convert.c (register_html,register_css): Fixed functions signature to
727         not accept unused argument
728         * retr.c (retrieve_url): Changed register_{css,html} usage according
729         new signature.
730
731 2012-05-16  Giuseppe Scrivano  <gscrivano@gnu.org>
732
733         * warc.h: Cut length lines to 80 columns.
734         * warc.c: Likewise.
735
736 2012-05-14  Tim Ruehsen  <tim.ruehsen@gmx.de>
737
738         * gnutls.c (wgnutls_read_timeout): removed warnings, moved fcntl stuff
739         outside loop.
740
741         * hash.h (hash_table_put): Make argument "value" const.
742         * hash.c (hash_table_put): Make argument value const.  Cast `value' to
743         void.
744         * http.c (request_set_header): Make argument `name' const.  Cast `value'
745         and `name' to void*.
746         (request_remove_header): Make argument `name' const.
747         * url.c (url_file_name): Make `index_filename' static.
748         * warc.h (warc_write_cdx_record): Make `url', `timestamp', `mime_type',
749         `payload_digest', `redirect_location', `warc_filename', response_uuid'
750         arguments const. Make `checksum' const.
751         * warc.c (warc_write_date_header): Make the `timestamp' argument const.
752         Make `extension' const.
753         (warc_write_cdx_record): Make `url', `timestamp', `mime_type',
754         `payload_digest', `redirect_location', `warc_filename', response_uuid'
755         arguments const. Make `checksum' const.
756
757 2012-05-13  Tim Ruehsen  <tim.ruehsen@gmx.de>
758
759         * gnutls.c (credentials): Change type to
760         gnutls_certificate_credentials_t.
761         (ssl_init): Do not use deprecated types.
762         (ssl_connect_wget): Likewise.
763
764 2012-04-11  Gijs van Tulder  <gvtulder@gmail.com>
765
766         * init.c: Add --accept-regex, --reject-regex and --regex-type.
767         * main.c: Likewise.
768         * options.c: Likewise.
769         * recur.c: Likewise.
770         * utils.c: Add regex-related functions.
771         * utils.h: Add regex-related functions.
772
773 2012-03-30  Tim Ruehsen  <tim.ruehsen@gmx.de>
774
775         * convert.c (convert_links_in_hashtable): Mmake it static.
776         * cookies.c (parse_set_cookie): Remove empty else branches.
777         * css-url.c: Include "css-url.h".
778         (get_uri_string): Make it static.
779         * css-url.h (get_urls_css): Add protoype.
780         * gnutls.c (ssl_init): Add prototype.
781         * html-parse.c (tagstack_push): Make it static.
782         * html-parse.c (tagstack_pop): Make it static.
783         * html-parse.c (tagstack_find): Make it static.
784         * html-url.c (cleanup_html_url): Make it static.
785         * progress.c (count_cols): Make it static.
786         * progress.c (get_eta): Make it static.
787         * retr.h (convert_to_bits): Remove prototype.
788         * util.h (convert_to_bits): Add prototype.
789         * spider.c (spider_cleanup): Make it static.
790         * warc.c (warc_write_start_record): Add prototype.
791         * warc.c (warc_write_end_record): Add prototype.
792         * warc.c (warc_start_cdx_file): Add prototype.
793         * warc.c (warc_init): Add prototype.
794         * warc.c (warc_load_cdx_dedup_file): Add prototype.
795         * warc.c (warc_write_metadata): Add prototype.
796         * warc.c (warc_close): Add prototype.
797         * warc.c (warc_tempfile): Add prototype.
798         * warc.c (warc_write_warcinfo_record): Make it static.
799         * warc.c (warc_load_cdx_dedup_file): Make it static.
800         * warc.c (warc_write_metadata): Make it static.
801         * warc.h (warc_init): Fix prototype.
802         * warc.h (warc_close): Fix prototype.
803         * warc.h (warc_tempfile): Fix prototype.
804
805 2012-03-30  Tim Ruehsen  <tim.ruehsen@gmx.de>
806
807         * url.c: Use empty query in local filenames.
808
809 2012-04-22  Tim Ruehsen <tim.ruehsen@gmx.de>
810
811         * main.c (main): Dynamically allocate `opt.progress_type'.
812
813 2012-04-21  Tim Ruehsen  <tim.ruehsen@gmx.de>
814
815         * ftp-basic.c (ftp_pasv): Fix memory leak.
816
817         * http.c (gethttp): Fix memory leak.
818
819         * ftp.c (getftp): Silent compiler warning.
820
821 2009-06-14  Phil Pennock  <mutt-dev@spodhuis.org> (tiny change)
822         * host.h: Declare `is_valid_ip_address'.
823         * host.c (is_valid_ip_address): New function.
824         * http.c (gethttp): Specify the hostname to ssl_connect_wget.
825         * gnutls.c (ssl_connect_wget): Specify the server name.
826         * openssl.c (ssl_connect_wget): Likewise.
827         * ssl.h: Change method signature for ssl_connect_wget.
828
829 2012-04-13  Tim Ruehsen  <tim.ruehsen@gmx.de> (tiny change)
830
831         * warc.c (warc_load_cdx_dedup_file): Fix a memory leak by freeing
832         `lineptr'.
833
834 2012-04-07  Daniel Kahn Gillmor <dkg@fifthhorseman.net> (tiny change)
835
836         * gnutls.c (key_type_to_gnutls_type): New function.
837         (ssl_init): Use correctly the specified gnutls certificate.
838
839 2012-04-01  Gijs van Tulder  <gvtulder@gmail.com>
840
841         * html-url.c: Prevent crash on incomplete STYLE tag.
842
843 2012-04-01  Giuseppe Scrivano  <gscrivano@gnu.org>
844
845         * gnutls.c (wgnutls_read_timeout): Ensure timer is freed.
846
847         * gnutls.c (wgnutls_read_timeout): Do not use timer if it is not
848         allocated.
849         Reported by: Xu Zhongxing <xu_zhong_xing@163.com>
850
851 2012-03-30  Tim Ruehsen  <tim.ruehsen@gmx.de> (tiny change)
852
853         * warc.c: make warc_uuid_str() implementation depend on HAVE_LIBUUID.
854
855 2012-03-29  Tim Ruehsen <tim.ruehsen@gmx.de> (tiny change)
856
857         * utils.c (library): Include <sys/time.h>.
858
859 2012-03-25  Giuseppe Scrivano  <gscrivano@gnu.org>
860
861         * utils.c: Include <sys/ioctl.h>.
862
863         * ptimer.c: Include <sys/time.h>.
864
865         * connect.c: Include <sys/socket.h>, <sys/select.h>, <sys/time.h>.
866         Reported by: Ray Satiro <raysatiro@yahoo.com>.
867
868 2012-03-25 Ray Satiro <raysatiro@yahoo.com>
869
870         * build_info.c.in: Check that HAVE_LIBSSL32 is defined when OpenSSL
871         is used.
872
873 2012-03-07  Steven Schubiger  <stsc@member.fsf.org>
874
875         * init.c (wgetrc_user_file_name): Correct typo.
876
877 2012-03-06   Sasikantha Babu   <sasikanth.v19@gmail.com>
878
879         * utils.c (convert_to_bits): Added new function convert_to_bits to
880         convert bytes to bits.
881         * retr.c (calc_rate): Modified the function to handle --bits
882         option and download rate calculated as bits per sec (SI-prefix)
883         for --bits otherwise bytes (IEC-prefix).
884         (retr_rate): Rates will display in bits per sec for --bits.
885         * options.h (struct opt): Added --bit option bool variable bits_fmt.
886         * main.c (print_help) : Added help for --bit.
887         * init.c: Defined command for --bit option.
888         * retr.h: Added function prototype.
889
890 2012-02-26  Giuseppe Scrivano  <gscrivano@gnu.org>
891
892         * main.c: Include "closeout.h"
893         (main): Register close_stdout at exit.
894
895 2012-02-01  Gijs van Tulder  <gvtulder@gmail.com>
896
897         * warc.c: Fix large file support with ftello, fseeko.
898         * warc.h: Fix large file support.
899         * http.c: Fix large file support.
900
901 2012-02-23  Giuseppe Scrivano  <giuseppe@southpole.se>
902
903         * main.c (main): Write diagnostic messages to `stderr' not to `stdout'.
904
905         * main.c (main): Fail gracefully if `malloc' fails.
906
907         * gnutls.c (wgnutls_read): Remove unused variables `timer' and `flags'.
908
909 2012-02-17  Steven Schubiger  <stsc@member.fsf.org>
910
911         * warc.c: Add license header.
912
913 2012-01-27  Gijs van Tulder  <gvtulder@gmail.com>
914
915         * retr.c (fd_read_body): If the response is chunked, the chunk
916         headers are now written to the WARC file, making the WARC file
917         an exact copy of the HTTP response.
918
919 2012-01-27  Gijs van Tulder  <gvtulder@gmail.com>
920
921         * retr.c (fd_read_body): Fix a memory leak with chunked responses.
922         * http.c (skip_short_body): Fix the same memory leak.
923
924 2012-01-09  Gijs van Tulder  <gvtulder@gmail.com>
925
926         * init.c: Disable WARC compression if zlib is disabled.
927         * main.c: Do not show the 'no-warc-compression' option if zlib is
928         disabled.
929         * warc.c: Do not compress WARC files if zlib is disabled.
930
931 2012-01-09  Sasikantha Babu   <sasikanth.v19@gmail.com> (tiny change)
932         * connect.c (connect_to_ip): properly formatted ipv6 address display.
933         (socket_family): New function - returns socket family type.
934         * http.c (gethttp): properly formatted ipv6 address display.
935
936 2011-11-09  Gijs van Tulder  <address@hidden>
937
938         * warc.c: Call gzdopen() with wb9 instead of wb+9, which fails on
939         zlib version >= 1.2.4.
940
941 2011-11-04  Steven Schweda  <address@hidden>
942
943         * warc.c [! WINDOWS]: Include <libgen.h>.
944         (warc_write_warcinfo_record): Assign a new allocated buffer and
945         free it on errors.
946
947 2011-11-01  Steven Schweda  <address@hidden>
948
949         * gnutls.c (ssl_init): Ensure GNU TLS is loaded only once.
950
951 2011-10-07  Steven Schweda  <address@hidden>
952
953         * connect.c: Add HAVE_SYS_SELECT_H and HAVE_SYS_SOCKET_H conditions
954         on includes of <sys/select.h> and <sys/socket.h>, respectively.
955         * ftp.c (getftp): Move BIN_TYPE_TRANSFER macro into VMS-specific
956         section.  On VMS, use Stream_LF attributes for listing files.  Pass
957         BIN_TYPE_FILE to fopen_excl() instead of constant-everywhere "true".
958         * ftp.c (ftp_retrieve_list): Restore lost test of opt.preserve_perm
959         (--preserve-permissions) on the chmod() operation.
960         * init.c, main.c: Remove "deprecated" from opt.preserve_perm
961         (--preserve-permissions).
962         * init.c (initialize): Use distinct messages for errors in C macro
963         SYSTEM_WGETRC and environment-variable SYSTEM_WGETRC.  Avoid use of
964         C macro SYSTEM_WGETRC when it's not defined.
965         * log.c (log_close): Avoid closing logfp when it's stderr.
966         * main.c (print_help):  Restore --preserve-permissions.
967         * main.c (main): Avoid using a negative value of longindex as a
968         subscript (for long_options[]) when searching for "--config".
969         * main.c (main): Exit the program using exit() instead of "return".
970         (VMS handles these differently, and exit() is better.)
971         * openssl.c (ssl_init): Add type cast (SSL_METHOD *) to newly "const"
972         "meth" argument to accommodate OpenSSL version 0.9.8, where that
973         argument is not "const" in the OpenSSL function (SSL_CTX_new).
974         * test.c: Declare "program_argstring".
975         * utils.c (fopen_excl): Comment typography.
976         * warc.h: New file.
977         * warc.c: New file.
978
979 2011-10-02  Henrik Holst <henrik.holst@millistream.com> (tiny change)
980         * http.c (gethttp): If 'contentonerror' is used then do not
981         skip the http body on 4xx and 5xx errors.
982
983         * init.c (commands): Add 'contentonerror'.
984
985         * main.c (print_help, option_data): Add new option 'contentonerror'
986         to make wget not skip the http content on 4xx and 5xx errors.
987
988         * options.h: New variable 'content_on_error'.
989
990 2011-09-19  Giuseppe Scrivano  <gscrivano@gnu.org>
991
992         * main.c (print_version): Update copyright year.
993         (print_version): Fix typo.
994
995 2011-09-13  Giuseppe Scrivano  <gscrivano@gnu.org>
996
997         * ftp.c (ftp_retrieve_glob): Propagate correctly the `res' error
998         code.
999
1000 2011-09-07  Giuseppe Scrivano  <gscrivano@gnu.org>
1001
1002         * http.c (gethttp): Don't inhibit arest request if opt.timestamping is
1003         set.
1004         Reported by <natrio@list.ru>
1005
1006 2011-09-06  Jakob Matthes <jakob.matthes@gmail.com> (tiny change)
1007
1008         * main.c (print_version): Do not exit prematurely when --help is passed.
1009
1010 2011-09-04  Christian Jullien <eligis@orange.fr> (tiny change)
1011
1012         * gnutls.c: Include <sys/fcntl.h>.
1013
1014 2011-09-02  Mojca Miklavec <mojca.miklavec.lists@gmail.com> (tiny change)
1015
1016         * main.c (print_version): Do not exit prematurely when --version is passed.
1017
1018 2011-08-30  Giuseppe Scrivano  <gscrivano@gnu.org>
1019
1020         * gnutls.c (wgnutls_read_timeout): Use the non blocking socket only for
1021         `gnutls_record_recv'.  Set errno to ETIMEDOUT on a read timeout.
1022
1023 2011-08-29  Giuseppe Scrivano  <gscrivano@gnu.org>
1024
1025         * gnutls.c (wgnutls_read_timeout): New function.
1026         (wgnutls_read): Use wgnutls_read_timeout.
1027         (wgnutls_peek): Likewise.
1028
1029 2011-08-27  Giuseppe Scrivano  <gscrivano@gnu.org>
1030
1031         * main.c (print_help): Exit with an error status if print to stdout
1032         fails.
1033         (print_usage): Change method signature and return a status code.
1034         (print_version): Likewise.
1035
1036 2011-08-26  Giuseppe Scrivano  <gscrivano@gnu.org>
1037
1038         * gnutls.c: Include "ptimer.h".
1039         (wgnutls_read): Honor read timeout.
1040
1041         * openssl.c (ssl_init): Make `meth' const.
1042
1043 2011-08-25  Giuseppe Scrivano  <gscrivano@gnu.org>
1044
1045         * utils.c [HAVE_UTIME && HAVE_UTIME_H]: Include <utime.h>.
1046         [HAVE_UTIME && HAVE_SYS_UTIME_H]: Include <sys/utime.h>.
1047         (touch) [HAVE_UTIME: Prefers utime over futimens when it is available.
1048         It was reported that Cygwin has a not working futimens.
1049
1050 2011-08-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1051
1052         * init.c (home_dir) [MSDOS]: Move local variable `len' here.
1053
1054 2011-08-18  Giuseppe Scrivano  <giuseppe@southpole.se>
1055
1056         * http.c (gethttp): Fix a memory leak on some errors.  Free the head
1057         buffer.
1058
1059         * Makefile.am: Use an additional file "css_.c" which in turn includes
1060         "wget.h" and immediately "css.c".
1061
1062         * http.c (gethttp): Reset chunked_transfer_encoding on redirections.
1063
1064 2011-08-13  Giuseppe Scrivano  <gscrivano@gnu.org>
1065
1066         * retr.c (fd_read_body): Ensure max is not already defined.
1067
1068         * mswindows.h (snprintf): Remove definition.
1069         (vsnprintf): Likewise.
1070
1071 2011-08-12  Giuseppe Scrivano  <gscrivano@gnu.org>
1072
1073         * css.l: Remove include "wget.h".
1074         Reported by: Perry Smith <pedzsan@gmail.com>.
1075
1076 2011-08-11  Giuseppe Scrivano  <gscrivano@gnu.org>
1077
1078         * utils.c (abort_run_with_timeout): Use sigprocmask instead of
1079         sigsetmask.
1080
1081         * gnutls.c (ssl_connect_wget): Remove call to deprecated function
1082         `gnutls_certificate_type_set_priority'.
1083
1084         * Makefile.am (version.c): Don't invoke hg to set version string.
1085
1086 2011-08-10  Giuseppe Scrivano  <gscrivano@gnu.org>
1087
1088         Fix a linker error on systems with an older gnutls version.
1089         * gnutls.c (ssl_connect_wget)
1090         [HAVE_GNUTLS_PRIORITY_SET_DIRECT]:  Use gnutls_priority_set_direct.
1091         [! HAVE_GNUTLS_PRIORITY_SET_DIRECT]:  Use gnutls_protocol_set_priority.
1092         Reported by: Karl Berry <karl@freefriends.org>
1093
1094 2011-08-06  Jochen Roderburg <Roderburg@Uni-Koeln.DE>
1095
1096         * host.c (lookup_host): Ensure it doesn't print more IPs than available
1097         ones.
1098
1099 2011-08-06  Giuseppe Scrivano  <gscrivano@gnu.org>
1100
1101         * init.c (defaults): Set default value for show_all_dns_entries.
1102
1103         * host.c (lookup_host): If `showalldnsentries' is used then print all
1104         the IP corresponding to a DNS entry.
1105         * init.c (commands): Add `showalldnsentries'.
1106         Suggested by: Witold Baryluk <baryluk@smp.if.uj.edu.pl>
1107
1108         * http.c (gethttp): Add the Cache-Control HTTP header when --no-cache
1109         is specified.
1110         Reported by: Коренберг Марк <socketpair@gmail.com>.
1111
1112 2011-08-05  Giuseppe Scrivano  <gscrivano@gnu.org>
1113
1114         * utils.c (acceptable): Accept always the file if it is the specified
1115         output destination.
1116         Reported by: Shai Berger <shai@platonix.com>
1117
1118 2011-08-05  Giuseppe Scrivano  <giuseppe@southpole.se>
1119
1120         * gnutls.c (ssl_connect_wget): Use `gnutls_priority_set_direct' instead
1121         of the deprecated `gnutls_protocol_set_priority'.
1122
1123 2011-08-02  Giuseppe Scrivano  <giuseppe@southpole.se>
1124
1125         * cookies.c (parse_set_cookie): If the value is quoted, do not modify
1126         it.
1127         Reported by: Nirgal Vourgère <jmv_deb@nirgal.com>
1128
1129 2011-07-29  Giuseppe Scrivano  <giuseppe@southpole.se>
1130
1131         * log.c (logprintf): Exit immediately on a SIGPIPE error.
1132         Reported by: Noèl Köthe  <noel@debian.org>.
1133
1134 2011-07-26  Carlos Martín Nieto  <carlos@cmartin.tk>  (tiny change)
1135
1136         * init.c (home_dir): Allocate path buffer dinamically.
1137
1138 2011-07-26  Giuseppe Scrivano  <giuseppe@southpole.se>
1139
1140         * retr.c (retrieve_url): Do not register redirects when in spider mode.
1141
1142 2011-07-20 Merinov Nikolay <kim.roader@gmail.com>
1143
1144         * iri.c (remote_to_utf8): Add test for non-ASCII symbols with
1145         UTF-8 URI encoding.
1146         * res.c (res_retrieve_file): Fix url_parse call.
1147
1148 2011-06-08  Giuseppe Scrivano  <giuseppe@southpole.se>
1149
1150         * retr.c (retrieve_from_file): Parse the url careless if IRI is enabled.
1151         Reported by: Volker Kuhlmann <list0570@paradise.net.nz>.
1152
1153 2011-05-24  Giuseppe Scrivano  <gscrivano@gnu.org>
1154
1155         * retr.c (fd_read_body): Define max.
1156
1157 2010-12-28  Adrien Nader  <adrien@notk.org> (tiny change)
1158
1159         * main.c [WINDOWS]: Include <io.h> and <fcntl.h>.
1160         (main) [WINDOWS]: Set the stdout file mode to binary.
1161         Submitted also by: Martin Panter <vadmium@gmail.com>
1162
1163 2011-05-23  Giuseppe Scrivano  <gscrivano@gnu.org>
1164
1165         * retr.c (fd_read_body): Be sure the buffer size is at least 8Kb.
1166         BUFSIZ may assume very small values with a negative impact on the
1167         performances.
1168
1169         * mswindows.h [NEED_GAI_STRERROR]: remove definition for gai_strerror.
1170
1171 2011-05-15  Ray Satiro <raysatiro@yahoo.com>
1172
1173         * connect.c (select_fd) [WINDOWS]: Ensure the socket is blocking.
1174         * mswindows.h: Add declaration for set_windows_fd_as_blocking_socket.
1175         * mswindows.c (set_windows_fd_as_blocking_socket): New function.
1176
1177         * openssl.c (openssl_read): Prevent loops on read errors.
1178
1179 2011-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
1180
1181         * html-url.c: Include "exists.h".
1182         * gnutls.c (wgnutls_peek): Remove local variable `ret'.
1183
1184 2011-04-21  Daniel Manrique <roadmr@tomechangosubanana.com> (tiny change)
1185         * main.c (main): Set exit status when invalid host name given in
1186         command line.
1187         * html-url.c (get_urls_file): Set exit status when invalid host
1188         name given in input file.
1189
1190 2011-04-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1191
1192         * gnutls.c: Do not include <fcntl.h>.
1193         * gnutls.c (wgnutls_peek): Ensure there is data available before attempt
1194         a read on the blocking socket.
1195
1196         * Makefile.am (LIBS): Add $(LIB_CLOCK_GETTIME)
1197         * utils.c: Include <sys/stat.h>.  Do not include <sys/time.h>.
1198         (touch): Use `futimens' instead of `utimes'.
1199
1200         * mswindows.h: Do not include <direct.h>.  Remove macro definition for
1201         mkdir.
1202
1203 2011-04-18  Giuseppe Scrivano  <gscrivano@gnu.org>
1204
1205         * utils.c: Include <sys/time.h>.  Do not include <sys/utime.h>.
1206         (touch): Use `utimes' instead of `utime'.
1207
1208         * openssl.c (openssl_read): Fix build error.
1209
1210 2011-04-17  Giuseppe Scrivano  <gscrivano@gnu.org>
1211
1212         * wget.h [HAVE_LIBSSL32]: Define HAVE_SSL.
1213
1214         * gnutls.c (wgnutls_peek): Use correctly FIONBIO codes under Mingw32.
1215         Reported by: Ray Satiro <raysatiro@yahoo.com>
1216
1217 2011-04-13  Giuseppe Scrivano  <gscrivano@gnu.org>
1218
1219         * openssl.c (openssl_poll): Check if the specified timeout is zero after
1220         SSL_pending.
1221         (openssl_peek): Make the call non-blocking.
1222
1223 2011-04-11  Cristian Rodríguez  <crrodriguez@opensuse.org> (tiny change)
1224
1225         * openssl.c (ssl_init) [! OPENSSL_NO_SSL2]: Use SSLv2 only when
1226         available.
1227
1228 2011-04-07  Giuseppe Scrivano  <gscrivano@gnu.org>
1229
1230         * gnutls.c (ssl_init): Allow X509 v1 certificates.
1231         Suggested by: Ray Satiro <raysatiro@yahoo.com>
1232
1233         (wgnutls_peek): Remove tight loop around gnutls_record_recv.
1234
1235 2011-04-07  Ray Satiro  <raysatiro@yahoo.com> (tiny change)
1236
1237         (wgnutls_read): Check for the GNUTLS_E_AGAIN return code in the recv
1238         tight loop.
1239         (wgnutls_write): Likewise.
1240         (wgnutls_peek): Likewise.
1241
1242 2011-04-07  Giuseppe Scrivano  <gscrivano@gnu.org>
1243
1244         * gnutls.c (wgnutls_peek): New local variable `read'.
1245         Use `read' instead of `ret' to store the number of read bytes.
1246         Reported by: Ray Satiro <raysatiro@yahoo.com>
1247
1248 2011-04-04  Giuseppe Scrivano  <gscrivano@gnu.org>
1249
1250         * openssl.c [WINDOWS]: Include <w32sock.h>.
1251         (openssl_read): Retry the read on SSL_ERROR_WANT_READ.
1252
1253         * host.c [WINDOWS]: Include <winsock2.h> and <ws2tcpip.h>.
1254         Suggested by: Ray Satiro <raysatiro@yahoo.com>.
1255
1256         * Makefile.am (LIBS): Remove  @LIBSSL@ @W32LIBS@
1257
1258 2011-04-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1259
1260         * gnutls.c: Include <fcntl.h>.
1261         (wgnutls_peek): Make the socket non blocking before attempt a read.
1262
1263         * gnutls.c: Include <sys/ioctl.h>.
1264         (wgnutls_peek) [F_GETFL]: Use fcntl.
1265         (wgnutls_peek) [! F_GETFL]: Use ioctl.
1266
1267
1268 2011-03-31  Giuseppe Scrivano  <gscrivano@gnu.org>
1269
1270         * recur.c (download_child_p): When --no-parent is used, check that the
1271         ports are the same only in case the same protocol is used.
1272         Reported by: Karl Berry <karl@freefriends.org>
1273
1274         * res.c (res_parse): Add new line to debug messages.
1275
1276 2011-03-21  Giuseppe Scrivano  <gscrivano@gnu.org>
1277
1278         * iri.h (parse_charset) [!ENABLE_IRI]: Use the parameter to avoid a
1279         compiler warning.
1280
1281         * iri.h: Declare `dummy_iri' as extern not static.
1282         * main.c [!ENABLE_IRI]: Define `dummy_iri'.
1283         (main) [!ENABLE_IRI]: Initialize `dummy_iri'.
1284
1285 2011-03-11  Giuseppe Scrivano  <gscrivano@gnu.org>
1286
1287         * ftp.c (getftp): Fix some memory leaks.
1288         * ftp-ls.c (ftp_parse_winnt_ls): Likewise.
1289         Reported by: Zhenbo Xu <zhenbo1987@gmail.com>.
1290
1291 2010-11-20  Filipe Brandenburger <filbranden@gmail.com> (tiny change)
1292
1293         * http.c (gethttp): Repeat a POST request on a 307 response.
1294         * retr.c (retrieve_url): Use NEWLOCATION_KEEP_POST.
1295         * wget.h: Define NEWLOCATION_KEEP_POST.
1296
1297 2011-03-02  Tomasz Buchert <tomek.buchert@gmail.com> (tiny change)
1298
1299         * http.c (ensure_extension): Do not adjust the extension if the file
1300         ends in .htm.
1301
1302 2011-02-22  Gilles Carry  <gilles.carry@st.com>
1303
1304         * main.c (prompt_for_password): Use stderr instead of stdout
1305         to prompt password. This allows to use --output-document=- and
1306         --ask-password simultaneously. Without this, redirecting stdout
1307         makes password prompt invisible and mucks up payload such as in
1308         this example:
1309         wget --output-document=- --ask-password -user=foo \
1310                 http://foo.com/tarball.tgz | tar zxf -
1311
1312 2011-02-22  Steven Schubiger  <stsc@member.fsf.org>
1313
1314         * http.c (gethttp, http_loop): Move duplicated code which is run
1315         when an existing file is not to be clobbered to a function.
1316         (get_file_flags): New static function.
1317
1318 2010-12-10  Evgeniy Philippov <egphilippov@googlemail.com> (tiny change)
1319
1320         * main.c (main): Initialize `total_downloaded_bytes'.
1321
1322 2010-12-09  Giuseppe Scrivano  <gscrivano@gnu.org>
1323
1324         * main.c (main): If --no-clobber and --convert-links are used at the
1325         same time, use only the latter.
1326         Reported by: Romain Vimont <rom@rom1v.com>
1327
1328 2010-12-07  Jessica McKellar <jesstess@mit.edu> (tiny change)
1329
1330         * main.c: Make help message clearer.
1331
1332 2010-12-02  Giuseppe Scrivano  <gscrivano@gnu.org>
1333
1334         * build_info.c.in: Do not list md5.
1335
1336 2010-12-01  Giuseppe Scrivano  <gscrivano@gnu.org>
1337
1338         * cmpt.c: Include <unistd.h> inconditionally.
1339         * connect.c: Likewise.
1340         * convert.c: Likewise.
1341         * ftp-basic.c: Likewise.
1342         * ftp-ls.c: Likewise.
1343         * ftp.c: Likewise.
1344         * gnutls.c: Likewise.
1345         * http.c: Likewise.
1346         * init.c: Likewise.
1347         * log.c: Likewise.
1348         * main.c: Likewise.
1349         * openssl.c: Likewise.
1350         * progress.c: Likewise.
1351         * ptimer.c: Likewise.
1352         * recur.c: Likewise.
1353         * retr.c: Likewise.
1354         * url.c: Likewise.
1355         * utils.c: Likewise.
1356
1357         * retr.c (fd_read_body): Dinamically allocate `dlbuf'.
1358
1359 2010-11-27  Reza Snowdon  <vivi@mage.me.uk>
1360
1361         * init.c (initialize): If 'ok' is not zero; exit, as this
1362         indicates there was a problem parsing 'SYSTEM_WGETRC'.
1363         Fixes bug #20370.
1364
1365 2010-11-22  Giuseppe Scrivano  <gscrivano@gnu.org>
1366
1367         Revert last commit.
1368         * ftp.c (getftp): When count > 0, don't append to the existing file.
1369         * http.c (gethttp): Likewise.
1370
1371 2010-11-21  Giuseppe Scrivano  <gscrivano@gnu.org>
1372
1373         * ftp.c (getftp): If `count' is bigger than zero, try to resume the
1374         download, not restart it.
1375         * http.c (gethttp): Likewise.
1376         Suggested by: Evgeny Kapun <abacabadabacaba@gmail.com>.
1377
1378 2010-11-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1379
1380         * ftp.c (getftp): Accept new argument `count'.  When `count' is
1381         bigger than zero, assume the file can be overwritten.
1382         (ftp_loop_internal): Pass new argument `count' to `getftp'.
1383
1384         * http.c (gethttp): Accept new argument `count'.  When `count' is
1385         bigger than zero, assume the file can be overwritten.
1386         (http_loop): Pass new argument `count' to `gethttp'.
1387         Reported by: Evgeny Kapun <abacabadabacaba@gmail.com>.
1388
1389 2010-08-08  Reza Snowdon <vivi@mage.me.uk>
1390
1391         * main.c (main): inserted 'defaults'.
1392           Added additional 'getopt_long' while loop to search and apply a
1393           user specified config file before any other options.
1394           New variables 'retconf', 'use_userconfig',
1395           'confval', 'userrc_ret', 'config_opt'.
1396         * init.c: Include stdbool.h.
1397           (commands): Added config details.
1398           (defaults): Removed static.
1399           (wgetrc): Removed static.
1400           (initialize): Removed 'defaults ()',
1401           changed 'int ok' to 'bool ok'.
1402         * options.h: New variable 'choose_config'.
1403         * init.h (defaults): exported function.
1404           (run_wgetrc): exported function.
1405
1406 2010-10-24  Jessica McKellar <jesstess@mit.edu> (tiny change)
1407
1408         * main.c (main): Print the total download time as part of the
1409         summary for downloads using the recursive or page requisites
1410         options. Fixes bug #21359.
1411
1412 2010-10-24  Giuseppe Scrivano  <gscrivano@gnu.org>
1413
1414         * gnutls.c (wgnutls_peek): Do not return an error when
1415         `gnutls_record_recv' fails but some data is already available.
1416
1417 2010-10-23  Giuseppe Scrivano  <gscrivano@gnu.org>
1418
1419         * Makefile.am (LIBS): Remove @LIBGNUTLS@ and use @W32LIBS@ as last
1420         component.
1421
1422         * gnutls.c (wgnutls_peek): Block until data is available.
1423
1424 2010-10-21  Giuseppe Scrivano  <gscrivano@gnu.org>
1425
1426         * retr.c (retrieve_url): Do not register HTML files twice.
1427         Reported by: Manfred Koizar <mkoi-pg@aon.at>.
1428
1429 2010-10-18  Manfred Koizar <mkoi-pg@aon.at> (tiny change)
1430
1431         * html-url.c (tag_handle_link): Do not assume external links type
1432         to be always "text/html".
1433
1434 2010-10-16  Giuseppe Scrivano  <gscrivano@gnu.org>
1435
1436         * connect.c (socket_ip_address): Initialize `sockaddr' to zero.
1437         * ftp-basic.c (ftp_epsv): Remove dead assignment to `s'.
1438         * ftp-ls.c (ftp_parse_vms_ls): Remove dead assignment to `len'.
1439         * http.c (skip_short_body): Remove dead assignment to `ret'.
1440         * init.c (wgetrc_user_file_name): Remove dead assignment to `home'.
1441         * main.c (main): Silent warning reported by clang.
1442         (http_loop): Silent warning reported by clang.
1443         * retr.c (retrieve_url): Likewise.
1444         * url.c (init_seps): Remove dead assignment to `p'.
1445
1446 2010-10-11  Giuseppe Scrivano  <gscrivano@gnu.org>
1447
1448         * ftp.c (getftp): Fix indentation.
1449
1450 2010-10-11  Steven Schubiger <stsc@member.fsf.org>
1451
1452         * ftp.c (getftp): Initialize `targ'.
1453
1454 2010-10-08  Ivanov Anton <x86mail@gmail.com> (tiny change)
1455
1456     * src/html-url.c (check_style_attr): Skip quotes when they are present.
1457
1458 2010-10-06  Giuseppe Scrivano  <gscrivano@gnu.org>
1459
1460         * main.c (main): Remove unused variable `status'.
1461
1462 2010-09-25  Merinov Nikolay  <kim.roader@gmail.com>
1463
1464         * init.c: Add "unlink" command into command list.
1465         * main.c: Add "unlink" option into option_data list.
1466         * options.h: Adding unlink field into struct options.
1467         * wget.h: Addind UNLINKERR error into uerr_t enum.
1468         * exits.c (get_status_for_err): define status for UNLINKERR.
1469         * ftp.c (getftp): unlink file if exists, instead clobbering.
1470         (ftp_loop_internal): processing UNLINKERR.
1471         * http.c (gethttp): unlink file if exists, instead clobbering.
1472         (http_loop): processing UNLINKERR.
1473
1474 2010-09-24  Dennis, CHENG Renquan <crquan@fedoraproject.org>
1475
1476         Fix problem when content-disposition is used with recursive downloading.
1477         * url.h (url_file_name): Add a new argument `replaced_filename'.
1478         * url.c (url_file_name): Likewise.
1479         * http.c (parse_content_disposition): Do not add a prefix to the return
1480         value.
1481         (test_parse_content_disposition): Adjust tests.
1482         (gethttp): Pass additional parameter to `url_file_name'.
1483         (http_loop): Likewise.
1484         * ftp.c (ftp_loop_internal, ftp_get_listing, ftp_retrieve_list)
1485         (ftp_loop): Likewise.
1486
1487 2010-09-14  Giuseppe Scrivano  <gscrivano@gnu.org>
1488
1489         * convert.c (local_quote_string): Accept new parameter `no_html_quote'.
1490         Inhibit HTML quoting when `no_html_quote'.
1491         (convert_links): Disable HTML quoting in CSS files.
1492         Reported by: Manuel Reinhardt <reinhardt@syslab.com>.
1493
1494 2010-09-12  Giuseppe Scrivano  <gscrivano@gnu.org>
1495
1496         * main.c (print_help): Align --trust-server-names help text with
1497         the rest of the text.
1498         Suggested by: Mike Frysinger  <vapier@gentoo.org>.
1499
1500 2010-08-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1501
1502         * convert.c: Include "iri.h".
1503         (convert_links_in_hashtable): Parse the url, if
1504         necessary, before check if it is present in the dowloaded url
1505         map.
1506         Reported by: <sk.random@gmail.com>.
1507
1508 2010-08-09  Giuseppe Scrivano  <gscrivano@gnu.org>
1509
1510         Fix a problem with HTTP/1.0 proxies.
1511         * http.c (gethttp): Specify the connection header when keep alive
1512         connections are not used.
1513
1514         Use persistent connections with proxies supporting them.
1515         * http.c (gethttp): Specify Proxy-Connection to the HTTP proxy.
1516
1517 2010-08-06  Giuseppe Scrivano  <gscrivano@gnu.org>
1518
1519         * css-url.c (get_uri_string): Skip empty urls.
1520
1521 2010-07-25  John Trengrove  <jtrengrove@gmail.com> (tiny change)
1522
1523         * ftp.h: Added enum `parsetype'.  Modified struct to hold parsetype.
1524
1525         * ftp-ls.c (ftp_parse_unix_ls): Default to TT_DAY. Change to TT_HOUR_MIN
1526         if hours/minutes parsed.
1527         (ftp_parse_winnt_ls): Default to TT_HOUR_MIN.
1528         (ftp_parse_vms_ls): Default to TT_HOUR_MIN.
1529         (ftp_index): Print only if fileinfo struct value ttype set to TT_HOUR_MIN.
1530
1531 2010-07-30  Giuseppe Scrivano  <gscrivano@gnu.org>
1532
1533         * html-url.h (struct map_context): Remove member `tail'.
1534
1535         * html-url.c (append_url): Append the new url ordered by `position'.
1536         (get_urls_html): Do not initialize `ctx.tail'.
1537
1538         * css-url.c (get_urls_css_file): Do not initialize `ctx.tail'.
1539
1540 2010-07-29  Giuseppe Scrivano  <gscrivano@gnu.org>
1541
1542         * gnutls.c (wgnutls_peek): Don't read more data if the buffered peek
1543         data is sufficient.
1544
1545 2010-07-28  Giuseppe Scrivano  <gscrivano@gnu.org>
1546
1547         * http.h (http_loop): Add new argument `original_url'
1548         * http.c (http_loop): Add new argument `original_url'.  Use
1549         `original_url' to get a filename if `trustservernames' is false.
1550
1551         * init.c (commands): Add "trustservernames".
1552
1553         * options.h (library): Add variable `trustservernames'.
1554
1555         * main.c (option_data): Add trust-server-names.
1556         (print_help): Describe --trust-server-names.
1557
1558         * retr.c (retrieve_url): Pass new argument to `http_loop'.
1559
1560 2010-07-20  Alan Jenkins <alan-jenkins@tuffmail.co.uk> (tiny change)
1561
1562         * http.c (gethttp): Check content-length was set before trying to
1563         compare it with the already downloded filesize.
1564
1565 2010-07-20  Leonid Petrov <nouser@lpetrov.net>
1566
1567         * ftp.c (getftp): Don't attempt to retrieve the file if it is already
1568         completely.
1569         (ftp_loop_internal): Force the length to be zero for symlinks.
1570
1571 2010-07-18  Giuseppe Scrivano  <gscrivano@gnu.org>
1572
1573         * http.c (gethttp): If -N is used, don't exit immediately if the content
1574         length is less or equal than the existing file size.  Specify "Range"
1575         only if -N is not used.
1576         Reported by: Caleb Cushing <xenoterracide@gmail.com>.
1577
1578 2010-07-14  Giuseppe Scrivano  <gscrivano@gnu.org>
1579
1580         * ftp.c (max): Remove definition.
1581         (getftp): New variable `got_expected_bytes'.  Let `expected_bytes' be
1582         the value SIZE returns, otherwise use the bytes count returned by RETR.
1583         Suggested by Daniel Stenberg <daniel@haxx.se>.
1584
1585 2010-07-14  Giuseppe Scrivano  <gscrivano@gnu.org>
1586
1587         * ftp.c (max): Add definition.
1588         (getftp): Consider for `expected_bytes' the greatest value between the
1589         bytes count returned by SIZE and the bytes count returned by RETR.
1590         Reported by: Jozua <jozua@sparky.za.net>.
1591
1592 2010-07-11  Giuseppe Scrivano  <gscrivano@gnu.org>
1593
1594         * http.c (http_loop): New variable `force_full_retrieve'.  If the remote
1595         file is newer that the local one then inhibit -c.
1596         Reported by: Caleb Cushing <xenoterracide@gmail.com>.
1597
1598 2010-07-09  Giuseppe Scrivano  <gscrivano@gnu.org>
1599
1600         * css-url.c (get_urls_css_file): Use `wget_read_file' instead of
1601         `read_file'.  Use `wget_read_file_free' instead of `read_file_free'.
1602         * convert.c (convert_links): Likewise.
1603         * html-url.c (get_urls_html, get_urls_file): Likewise.
1604         * res.c (res_parse_from_file): Likewise.
1605
1606         * utils.h: Rename `read_file' to `wget_read_file'.  Rename
1607         `read_file_free' to `wget_read_file_free'.
1608
1609         * utils.c (wget_read_file): Renamed from `read_file'.
1610         (wget_read_file_free): Renamed from `read_file_free'.
1611
1612 2010-07-05  Giuseppe Scrivano  <gscrivano@gnu.org>
1613
1614         * gnutls.c (ssl_init): New local variables `ca_directory' and `dir'.
1615         Load default root certificates under the `ca_directory' directory.
1616
1617 2010-07-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1618
1619         * gnutls.c (ssl_connect_wget): New local variable `allowed_protocols'.
1620         Honor the --secure-protocol flag.
1621
1622 2010-06-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1623
1624         * main.c (print_help): Fix help string for --random-wait.  Its range is
1625         [0.5*wait, 1.5*wait) not [0, 2*wait).
1626         Reported by: Tom Mizutani <gombei1970@gmail.com>.
1627
1628 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
1629
1630         * gnutls.c [WIN32]: Include "w32sock.h".
1631         (FD_TO_SOCKET): Add definition.
1632         (ssl_connect_wget): Get the real socket handle by FD_TO_SOCKET.
1633         Define FD_TO_SOCKET if it is not yet defined.
1634
1635 2010-06-14  Giuseppe Scrivano  <gscrivano@gnu.org>
1636
1637         * gnutls.c: Include <stdlib.h>.
1638         (struct wgnutls_transport_context): Remove `peekstart'.
1639         (ssl_connect_wget): Renamed from `ssl_connect'.
1640         (wgnutls_poll): New variable `ctx'.
1641         (wgnutls_read): Don't use `ctx->peekstart'.
1642         (wgnutls_peek): Likewise.  Don't attempt to read if there is not
1643         ready data.
1644
1645 2010-06-14  Giuseppe Scrivano  <gscrivano@gnu.org>
1646         * http.c (http_loop): Always send a HEAD request when -N is used
1647         together with --content-disposition.
1648         Reported by: Jochen Roderburg <Roderburg@Uni-Koeln.DE>.
1649
1650 2010-06-10  Muthu Subramanian K <muthusuba@gmail.com> (tiny change)
1651
1652         * http.c (http_loop): Increase `total_downloaded_bytes' by
1653         `hstat.rd_size', not `hstat.len'.
1654
1655 2010-06-10  Giuseppe Scrivano  <gscrivano@gnu.org>
1656
1657         * main.c (print_version): Drop the current maintainer line.
1658
1659 2010-06-10  Giuseppe Scrivano  <gscrivano@gnu.org>
1660
1661         * Makefile.am (build_info.c): Generate the `build_info.c' file under
1662         the build directory.
1663         Patch by: Daniel Stenberg <daniel@haxx.se>.
1664
1665 2010-06-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1666
1667         * http.c (http_loop): Do not send a HEAD request before the GET request
1668         when --content-disposition is used.
1669         Reported by: alex_wh@mail.ru.
1670
1671 2010-05-31  Giuseppe Scrivano  <gscrivano@gnu.org>
1672
1673         * css.l: Use option "nounput".
1674         (YY_NO_INPUT): Add macro definition.
1675
1676 2010-05-31  Giuseppe Scrivano  <gscrivano@gnu.org>
1677
1678         * html-parse.c (map_html_tags): Fix condition for closed tag.  Handle
1679         the case '>' is not specified after '/'.
1680
1681 2010-05-31  Giuseppe Scrivano  <gscrivano@gnu.org>
1682
1683         * sysdep.h (_SVID_SOURCE): Remove definition.
1684         (_BSD_SOURCE): Remove definition.
1685
1686 2010-05-31  Giuseppe Scrivano  <gscrivano@gnu.org>
1687
1688         * recur.c (retrieve_tree): Remove variable `up_error_code'.
1689
1690         * iri.c (open_locale_to_utf8): Remove function.
1691
1692 2010-05-30  Giuseppe Scrivano  <gscrivano@gnu.org>
1693
1694         * html-parse.c (NAME_CHAR_P): Consider '<' an invalid character.
1695         (advance_declaration): Close the tag if '<' is found.
1696         (map_html_tags): Likewise.
1697
1698 2010-05-27  Giuseppe Scrivano  <gscrivano@gnu.org>
1699
1700         * main.c (print_usage): Accept a new parameter `error'.
1701         (main): Print diagnostic messages to stderr, not stdout.
1702
1703 2010-05-27  Giuseppe Scrivano  <gscrivano@gnu.org>
1704
1705         * Makefile.am (wget_SOURCES): Remove `snprintf.c'.
1706
1707         * snprintf.c: Remove file.
1708
1709 2010-05-27  Giuseppe Scrivano  <gscrivano@gnu.org>
1710
1711         * main.c (main): Exit with failure when -k is specified and -O is not
1712         a regular file.
1713
1714 2010-05-27  Giuseppe Scrivano  <gscrivano@gnu.org>
1715
1716         * http.c (gethttp): Consider new cookies retrieved when the
1717         authorization fails.
1718
1719 2010-05-25  Giuseppe Scrivano  <gscrivano@gnu.org>
1720
1721         * host.c (sufmatch): Do not consider zero length entries.
1722
1723         * http.c (H_10X): New macro.
1724         (gethttp): Silently ignore 1xx responses.
1725
1726 2010-05-24  Giuseppe Scrivano  <gscrivano@gnu.org>
1727
1728         * iri.h (dummy_iri): Define static.
1729
1730         * css-tokens.h (css_tokens): Remove variable.
1731
1732 2010-05-23  Giuseppe Scrivano  <gscrivano@gnu.org>
1733
1734         * http.c (http_atotm): Count the NUL character when copying the locale
1735         string.
1736         Reported by: Florian Weimer <fw@deneb.enyo.de>
1737
1738 2010-05-16  Giuseppe Scrivano  <gscrivano@gnu.org>
1739
1740         * Makefile.am (LDADD): Remove MD5_LDADD.
1741         (MD5_LDADD): Remove definition.
1742         (AM_CPPFLAGS): Remove MD5_CPPFLAGS.
1743         (version.c): Remove dependency from MD5_LDADD.
1744         (../md5/libmd5.a): Remove rule.
1745
1746         * ftp-opie.c: Include "md5.h".  Do not include "gen-md5.h".
1747         (skey_response): New variable ctx.  Use md5 functions from the gnulib
1748         module instead of functions defined previously in the "gen-md5.h" file.
1749
1750         * gen-md5.h: Remove file.
1751         * gen-md5.c: Likewise.
1752
1753         * http.c: Include "md5.h".  Do not include "gen-md5.h".
1754         (digest_authentication_encode): New variable ctx.  Use md5 functions
1755         from the gnulib module instead of functions defined previously in the
1756         "gen-md5.h" file.
1757
1758 2010-05-15  Giuseppe Scrivano  <gscrivano@gnu.org>
1759
1760         * Makefile.am: Quote any path using $(top_srcdir) or $(top_builddir).
1761         (version.c): Remove dependency from configure.ac and Makefile.am.
1762
1763         * css.l: Include "wget.h".
1764
1765 2010-05-08  Giuseppe Scrivano  <gscrivano@gnu.org>
1766
1767         * Makefile.am: Update copyright years.
1768         * cmpt.c: Likewise.
1769         * connect.h: Likewise.
1770         * convert.c: Likewise.
1771         * convert.h: Likewise.
1772         * cookies.c: Likewise.
1773         * cookies.h: Likewise.
1774         * css-tokens.h: Likewise.
1775         * css-url.c: Likewise.
1776         * css-url.h: Likewise.
1777         * css.l: Likewise.
1778         * exits.c: Likewise.
1779         * exits.h: Likewise.
1780         * ftp-basic.c: Likewise.
1781         * ftp-ls.c: Likewise.
1782         * ftp-opie.c: Likewise.
1783         * ftp.c: Likewise.
1784         * ftp.h: Likewise.
1785         * gen-md5.c: Likewise.
1786         * gen-md5.h: Likewise.
1787         * gettext.h: Likewise.
1788         * gnutls.c: Likewise.
1789         * hash.c: Likewise.
1790         * hash.h: Likewise.
1791         * host.c: Likewise.
1792         * host.h: Likewise.
1793         * html-parse.c: Likewise.
1794         * html-parse.h: Likewise.
1795         * html-url.c: Likewise.
1796         * html-url.h: Likewise.
1797         * http-ntlm.c: Likewise.
1798         * http-ntlm.h: Likewise.
1799         * http.c: Likewise.
1800         * http.h: Likewise.
1801         * init.c: Likewise.
1802         * init.h: Likewise.
1803         * iri.c: Likewise.
1804         * iri.h: Likewise.
1805         * log.c: Likewise.
1806         * log.h: Likewise.
1807         * main.c: Likewise.
1808         * mswindows.c: Likewise.
1809         * mswindows.h: Likewise.
1810         * netrc.c: Likewise.
1811         * netrc.h: Likewise.
1812         * openssl.c: Likewise.
1813         * options.h: Likewise.
1814         * progress.c: Likewise.
1815         * progress.h: Likewise.
1816         * ptimer.c: Likewise.
1817         * ptimer.h: Likewise.
1818         * recur.c: Likewise.
1819         * recur.h: Likewise.
1820         * res.c: Likewise.
1821         * res.h: Likewise.
1822         * retr.c: Likewise.
1823         * retr.h: Likewise.
1824         * spider.c: Likewise.
1825         * spider.h: Likewise.
1826         * ssl.h: Likewise.
1827         * sysdep.h: Likewise.
1828         * test.c: Likewise.
1829         * test.h: Likewise.
1830         * url.c: Likewise.
1831         * url.h: Likewise.
1832         * utils.c: Likewise.
1833         * utils.h: Likewise.
1834         * wget.h: Likewise.
1835
1836 2010-05-07  Giuseppe Scrivano  <gscrivano@gnu.org>
1837
1838         * gnutls.c (wgnutls_close): Use always `close', not `closesocket'.
1839         * openssl.c (openssl_close): Use always `close', not `closesocket'.
1840         (ssl_connect_wget): Get the real socket handle by FD_TO_SOCKET.
1841         Define FD_TO_SOCKET if it is not yet defined.
1842         * Makefile.am (libunittest_a_CPPFLAGS): Add -I$(top_builddir)/lib.
1843         * mswindows.h: Always include <winsock2.h> and <ws2tcpip.h>.  Do not
1844         include <winsock.h>.
1845         [! INHIBIT_WRAP]: Remove macro's socket, bind, connect, accept, recv,
1846         send, select, getsockname, getpeername, setsockopt, closesocket.
1847         Remove wrapped_socket, wrapped_bind, wrapped_connect, wrapped_listen,
1848         wrapped_accept, wrapped_recv, wrapped_send, wrapped_select,
1849         wrapped_getsockname, wrapped_getpeername, wrapped_setsockopt,
1850         wrapped_closesocket prototypes.
1851         * mswindows.c:  Remove wrapped_socket, wrapped_bind, wrapped_connect,
1852         wrapped_listen, wrapped_accept, wrapped_recv, wrapped_send,
1853         wrapped_select, wrapped_getsockname, wrapped_getpeername,
1854         wrapped_setsockopt, wrapped_closesocket functions.  Remove WRAP macro.
1855         * host.h [WINDOWS]: Include <winsock2.h> not <winsock.h>.
1856         * connect.c: Include <sys/socket.h> and <sys/select.h> on any platform,
1857         gnulib ensures they exist.  Remove `read', `write', `close' macros.
1858         * Makefile.am: Copy build_info.c.in only if we are working in a VPATH.
1859         (AM_CPPFLAGS): Add directory with generated gnulib files.
1860
1861 2010-05-06  Giuseppe Scrivano  <gscrivano@gnu.org>
1862
1863         * Makefile.am (build_info.c): Generate build_info.c in the builddir,
1864         not srcdir.
1865
1866 2010-05-05  Giuseppe Scrivano  <gscrivano@gnu.org>
1867
1868         * http.c (gethttp): Give a nicer message on a malformed status line.
1869
1870 2010-05-04  Giuseppe Scrivano  <gscrivano@gnu.org>
1871
1872         * http.c (gethttp): Check `resp_status' return code and handle
1873         errors.
1874
1875 2010-05-01  Giuseppe Scrivano <gscrivano@gnu.org>
1876
1877         * http.c (request_send): Specify 1.1 as HTTP version for requests.
1878         (skip_short_body): Accept new parameter `chunked'.  New variable
1879         `remaining_chunk_size'.  Handle the chunked transfer encoding.
1880         (gethttp): New variable `chunked_transfer_encoding`.  Set `keepalive'
1881         by default to true.  Check if the server is using the chunked transfer
1882         encoding.
1883
1884         * retr.h: Define `rb_chunked_transfer_encoding'.
1885
1886         * retr.c (fd_read_body): New variable `chunked'.  New variable
1887         `remaining_chunk_size'.  Handle the chunked transfer encoding.
1888
1889 2010-03-04  Steven Schubiger  <stsc@member.fsf.org>
1890
1891         * ftp.c (ftp_loop_internal): Omit input file from being
1892         deleted after retrieval.
1893
1894         * retr.c (input_file_url): New function.
1895
1896         * retr.h: Add declaration for input_file_url.
1897
1898 2010-03-02  Steven Schubiger  <stsc@member.fsf.org>
1899
1900         * retr.c (retrieve_from_file): Improve checking for a URL
1901         by invoking url_valid_scheme instead of url_has_scheme.
1902
1903         * url.c (url_valid_scheme): New function.
1904
1905         * url.h: Add declaration for url_valid_scheme.
1906
1907 2010-03-02  Steven Schubiger  <stsc@member.fsf.org>
1908
1909         * retr.c (retrieve_from_file): Free memory of input file.
1910
1911 2010-03-01  Steven Schubiger  <stsc@member.fsf.org>
1912
1913         * retr.c (retrieve_url): Retrieve the local filename from ftp_loop.
1914         (retrieve_from_file): Return if there's no input file.
1915
1916         * ftp.c (ftp_loop_internal): Duplicate the local filename into
1917         retrieve_url's scope when a valid reference is being passed.
1918         (ftp_loop): Call ftp_loop_internal here with passing a
1919         reference to the local filename, elsewhere with NULL.
1920
1921         * ftp.h: Adjust declaration of ftp_loop.
1922
1923 2010-01-27  Paul Townsend  <aab@purdue.edu>  (tiny change)
1924
1925         * retr.c (fd_read_body): Be sure to measure timer when time has
1926         elapsed, too, not just when we've made progress.
1927
1928 2010-01-13  Micah Cowan  <micah@cowan.name>
1929
1930         * openssl.c: Fixed some mixed declarations-and-code.
1931
1932 2010-01-09  Micah Cowan  <micah@cowan.name>
1933
1934         * init.c, main.c, http.c, ftp.c, options.h: Renamed
1935         --no-match-server-timestamps to --no-use-server-timestamps, and
1936         add it to print_help.
1937
1938 2010-01-09  David Holman  <holman.david@gmail.com>  (tiny change)
1939
1940         * init.c, main.c, http.c, ftp.c, options.h: Added support for
1941         --no-match-server-timestamps.
1942
1943 2009-12-03  Peter Rosin  <peda@lysator.liu.se>
1944
1945         * snprintf.c (dopr): Output %p as unsigned.
1946
1947 2010-01-09  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
1948
1949         * init.c: Deal with systems which provide PATH_MAX in
1950         sys/param.h rather than limits.h.
1951
1952 2009-10-09  Steven Schweda  <sms@antinode.info>
1953
1954         * utils.c: Added characters " : \ | to the list of normal
1955         caret-escaped (ODS5) characters in the char_prop[] table.
1956
1957 2009-09-22  Arvind Jamuna Dixit  <ardsrk@gmail.com>
1958
1959         * http.c (extract_param, parse_content_disposition): Support
1960         RFC 2231 while parsing Content-Disposition header
1961
1962 2009-10-24  Petr Pisar  <petr.pisar@atlas.cz>
1963
1964         * openssl.c: Implement support for (multiple) subjectAltNames in
1965         X509 certificates, not just the commonName.
1966
1967 2009-10-09  Micah Cowan  <micah@cowan.name>
1968
1969         * main.c: Fix declaration of compiled_features.
1970
1971         * build_info.c.in: Adapt to new input format. Added a check for
1972         large-file support. Replaced the "openssl" and "gnutls"
1973         advertisements with a single "ssl/foo" advertisement.
1974
1975 2009-09-30  Micah Cowan  <micah@cowan.name>
1976
1977         * sysdep.h: Unconditionally include stdbool.h (gnulib has it for
1978         systems that don't supply it.)
1979
1980         * vms.c: Added functions vms_basename(), used to extract the
1981         bare executable name from argv[0], and vms_getpass(), a
1982         VMS-specific replacement for GNU getpass().
1983
1984          vms.c: Added global string constants: compilation_string
1985         (NULL), link_string (NULL), and version_string (real).
1986
1987 2009-09-24  Micah Cowan  <micah@cowan.name>
1988
1989         * vms.c: Moved from vms/vms.c.
1990
1991         * sysdep.h: Use proper prototypes for snprintf, vsnprintf (thanks
1992         to Steven Schweda).
1993
1994 2009-09-24  Steven Schweda  <sms@antinode.info>
1995
1996         * main.c (print_version): Remove VMS-conditional build info
1997         string; the new VMS builders use OS_TYPE.
1998
1999         * ftp.c (getftp): Fix accidental use of target -> targ.
2000
2001 2009-09-24  Micah Cowan  <micah@cowan.name>
2002
2003         * host.c (host_errstr): host_errstr should return const char *.
2004
2005 2009-09-22  Micah Cowan  <micah@cowan.name>
2006
2007         * Makefile.am (version.c): Explicitly tell Mercurial where the
2008         top-source repository should be, so it doesn't accidentally use
2009         the repository for a containing directory (for instance, if the
2010         user's home directory is managed by a Mercurial repo). Also
2011         ensures we find the repository, even if the build directory is
2012         outside the source directory.
2013
2014         * wget.h: define WINDOWS if _WIN32 or __WIN32__ is defined, but
2015         not __CYGWIN__.
2016
2017         * mswindows.c (xsleep): Check for availability of the sleep
2018         function, in addition to the usleep function.
2019         (get_winsock_error, windows_strerror): Removed (gnulib already
2020         supplies this functionality).
2021
2022         * mswindows.h [NEED_GAI_STRERROR]: define gai_strerror
2023         to (gnulib's) strerror, rather than windows_strerror. Removed
2024         error macro definitions provided by gnulib.
2025         (windows_strerror): Removed (gnulib already supplies this
2026         functionality).
2027
2028         * host.c: Don't declare h_errno when building on Windows.
2029
2030         * Makefile.am (LIBS): Added @W32LIBS@.
2031         (EXTRA_wget_SOURCES): Removed (it's in LIBOBJ now).
2032         (version.c): Removed dependency on $(LDADD), since it may include
2033         dependencies that are not part of the Wget sources (-lwsock32, for
2034         instance).
2035
2036         * openssl.c (ssl_check_certificate): Avoid reusing the same buffer
2037         space for successive quoted arguments. Thanks to Steven Schweda
2038         for pointing out the problem.
2039
2040 2009-09-21  Micah Cowan  <micah@cowan.name>
2041
2042         * progress.c (update_speed_ring): "the the" -> "the".
2043
2044         * css-url.c, iri.c, mswindows.c: Removed assert.h inclusion (not
2045         using it).
2046
2047 2009-09-11  Steven Schweda  <sms@antinode.info>
2048
2049         * utils.c, utils.h (fopen_excl): Make second argument an int,
2050         rather than a bool (so it can handle the appropriate VMS version
2051         of the flag).
2052
2053         * main.c (print_version): Don't print LOCALEDIR unless NLS is
2054         enabled.
2055
2056         * http.c (gethttp): Pass FOPEN_BIN_FLAG, instead of true.
2057
2058         * ftp.c (ftp_retrieve_glob): Cast strcmp to assign to cmp, for a
2059         silly HP build environment.
2060
2061 2009-09-08  Steven Schubiger  <stsc@member.fsf.org>
2062
2063         * main.c, init.c: Mark the --preserve-permissions and
2064         --html-extension option as deprecated.
2065
2066 2009-09-06  Micah Cowan  <micah@cowan.name>
2067
2068         * ftp.c (getftp, ftp_loop_internal): Separate "len" input/output
2069         parameter (with different meanings for input and output), into two
2070         separate parameters, one input (passed_expected_bytes) and one
2071         output (qtyread). Fixes bug #26870.
2072
2073 2009-09-05  Steven Schubiger  <stsc@member.fsf.org>
2074
2075         * retr.h: Declare set_local_file() to avoid build warnings.
2076
2077 2009-09-05  Gisle Vanem  <gvanem@broadpark.no>
2078
2079         * connect.c, init.c, main.c, openssl.c, options.h:  Replace
2080         "ifdef MSDOS" with "ifdef USE_WATT32" since DOS-targets in fact
2081         use the Watt-32 tcp/ip stack.
2082
2083 2009-09-04  Micah Cowan  <micah@cowan.name>
2084
2085         * Makefile.am: Move build_info.c to wget_SOURCES from
2086         nodist_wget_SOURCES, reduce dependencies, and invoke build_info.pl
2087         in its new home, $(top_srcdir)/build-aux.
2088
2089 2009-09-03  Micah Cowan  <micah@cowan.name>
2090
2091         * ftp-ls.c (ftp_parse_vms_ls): Replace use of localtime_r with
2092         localtime, as not all platforms have localtime_r.
2093
2094         * Makefile.am (wget_SOURCES): Rearranged some of the file order,
2095         so .c files and .h files are apart. Added gettext.h, so that it
2096         shows up in the dist.
2097
2098 2009-09-02  Micah Cowan  <micah@cowan.name>
2099
2100         * gettext.h: Refreshed from gettext 0.17.
2101
2102         * test.c: Added definition of program_name variable, required by
2103         lib/error.c (libgnu.a). Doesn't cause problems until you try to
2104         build on a non-GNU system...
2105
2106         * build_info.c.in: Removed useless "+gettext" feature ad.
2107
2108 2009-08-29  Steven Schubiger  <stsc@member.fsf.org>
2109
2110         * convert.c (local_quote_string): Percent-encode semicolons
2111         in local file strings.
2112
2113 2009-08-27  Micah Cowan  <micah@cowan.name>
2114
2115         * wget.h (uerr_t): added new VERIFCERTERR code for SSL certificate
2116         problems. Marked exit codes that are defined but never used (at
2117         least, the ones I could find).
2118
2119         * retr.c, retr.h (retrieve_url): Added a new boolean argument to
2120         determine whether an exit status should be recorded.
2121         (retrieve_from_file): Adjust to new retrieve_url signature.
2122
2123         * res.c (res_retrieve_file): Don't have retrieve_url record an
2124         exit status for robots.txt.
2125
2126         * recur.c (retrieve_tree): Adjust to new retrieve_url signature.
2127
2128         * main.c (main): Use the exit status stored by retrieve_url.
2129
2130         * http.c (gethttp): Distinguish certificate verification problems
2131         from SSL connection issues.
2132         (http_loop): Handle newly-created VERIFCERTERR error code.
2133
2134         * exits.c, exits.h: Newly added.
2135
2136         * Makefile.am (wget_SOURCES): Add exits.c and exits.h.
2137
2138 2009-08-27  Micah Cowan  <micah@cowan.name>
2139
2140         * http.c (gethttp): Make sure Wget heeds cookies when they
2141         are sent with a 401 response; or any other sort of response for
2142         that matter (#26775).
2143
2144 2009-08-19  Micah Cowan  <micah@cowan.name>
2145
2146         * openssl.c (ssl_check_certificate): Only warn about an attack if
2147         the hostname would otherwise have matched. Also some formatting
2148         cleanup.
2149
2150 2009-08-19  Joao Ferreira  <joao@joaoff.com>
2151
2152         * openssl.c (ssl_check_certificate): Detect embedded NUL
2153         characters in the SSL certificate common name.
2154
2155 2009-08-17  Tony Lewis  <tlewis@exelana.com>
2156
2157         * http.c (gethttp): Ensure that we parse Content-Length before we
2158         attempt to refer to its value. Without this fix, NTLM support was
2159         completely buggered. #27192
2160
2161 2009-08-09  Michael Baeuerle  <michael.baeuerle@gmx.net>
2162
2163         * ftp.c: #include <strings.h> for strcasecmp.
2164
2165 2009-07-28  Micah Cowan  <micah@cowan.name>
2166
2167         * main.c (option_data): Rename --html-extension to
2168         --adjust-extension.
2169         (print_help): Ditto.
2170
2171         * options.h (struct option): Rename html_extension to
2172         adjust_extension.
2173         * http.c (gethttp): Ditto.
2174         * convert.c (local_quote_string): Ditto.
2175
2176         * init.c (commands): Add "adjustextension", and reflect rename
2177         change for opt.adjust_extension, for both "adjustextension" and
2178         "htmlextension".
2179
2180 2009-07-27  Micah Cowan  <micah@cowan.name>
2181
2182         * options.h (struct options): Added restrict_files_nonascii
2183         boolean field.
2184
2185         * url.c (FILE_CHAR_TEST): Add check for chars outside the ASCII
2186         range.
2187
2188         * init.c (defaults): Add restrict_files_nonascii to initialization.
2189         (cmd_spec_restrict_file_names): Allow parsing of "ascii" keyword.
2190
2191 2009-07-27  Marcel Telka  <marcel@telka.sk>
2192
2193         * iri.c (do_conversion): Typo: invalide -> invalid
2194
2195 2009-07-27  Petr Pisar  <petr.pisar@atlas.cz>
2196
2197         * main.c (print_help): Fixed a couple typos.
2198
2199 2009-07-26  Micah Cowan  <micah@cowan.name>
2200
2201         * main.c (option_data): Rename --locale option to --local-encoding
2202         (print_help): Document --no-iri, --local-encoding, and
2203         --remote-encoding, within usage message. Remove defunct
2204         --preserve-permissions.
2205
2206 2009-07-23  Micah Cowan  <micah@cowan.name>
2207
2208         * progress.c (get_eta): Change "Translation note" in comment to
2209         "TRANSLATORS", so it actually appears in wget.pot.
2210
2211 2009-07-06  Micah Cowan  <micah@cowan.name>
2212
2213         * main.c (print_help): Improve documentation of --base.
2214
2215 2009-07-05  Micah Cowan  <micah@cowan.name>
2216
2217         * html-url.c (tag_handle_meta): Handle meta name="robots"
2218         properly: deal with whitespace, commas after...
2219
2220         * netrc.c (parse_netrc): Rename local-scope variable "quote" to
2221         "qmark", to avoid conflict with the function name.
2222
2223 2009-07-05  Petr Pisar  <petr.pisar@atlas.cz>
2224
2225         * main.c (print_version): Mark initial line for translation, along
2226         with (env), (user), and (system). Change copyright year to 2009.
2227
2228         * http.c (http_loop): Space after colon.
2229
2230         * gnutls.c (ssl_check_certificate): Use quote function, rather
2231         than explicit quotes.
2232
2233 2009-07-05  Micah Cowan  <micah@cowan.name>
2234
2235         * Makefile.am (version.c): Add dependency on configure.ac.
2236
2237         * iri.c: Mark some strings for translation.
2238
2239 2009-07-04  Steven Schweda  <sms@antinode.info>
2240
2241         * wget.h (ORIG_SFX): Macro added, to supply an alternative "_orig"
2242         suffix on VMS.
2243
2244         * connect.c, host.c, host.h, main.c: Include "vms_ip.h" rather
2245         than <netdb.h> on VMS systems.
2246
2247         * convert.c (write_backup_file): Use "_orig" rather than ".orig"
2248         on VMS.
2249
2250         * ftp-basic.c (ftp_list): Don't use LIST -a on VMS servers.
2251
2252         * ftp.c [__VMS]: Include "vms.h"
2253         * ftp.c (getftp): Disable some unhelpful "for VMS" code. Pass the
2254         OS type to ftp_list.
2255         (getftp) [__VMS]: Alter the filename as required, and invoke fopen
2256         with extra optional arguments.
2257         (ftp_retrieve_list): Set permissions before setting the times.
2258
2259         * ftp-ls.c [__VMS]: Various improvements.
2260
2261         * http.c (SET_USER_AGENT): Added. Include operating-system info in
2262         the User-Agent header.
2263         (gethttp): Use ORIG_SFX macro.
2264         (gethttp) [__VMS]: invoke fopen with extra arguments to
2265         communicate file type.
2266         (http_loop): Add cast to time_t.
2267
2268         * init.c (wgetrc_user_file_name) [__VMS]: Adjustments for where to
2269         find the .wgetrc.
2270
2271         * log.c: Adjustments to improve handling of log files on VMS.
2272
2273         * main.c [__VMS]: Added --ftp-stmlf option (and associated
2274         documentation). Adjust description of backup-suffixes, as they now
2275         differ for VMS.
2276         (print_help, print_version): Include OS type in version
2277         information.
2278         (main) [__VMS]: Invoke fopen with extra options, to specify file
2279         type information.
2280
2281         * netrc.c (search_netrc) [__VMS]: Fix .netrc-finding.
2282
2283         * openssl.c, openssl.h (ssl_connect_wget): Renamed from ssl_connect.
2284
2285         * options.h (struct options): Add ftp_stmlf field.
2286
2287         * retr.c (write_data) [__VMS]: Avoid fflush.
2288
2289         * url.c [__VMS]: Include vms.h.
2290         * url.c (url_file_name) [__VMS]: Handle naming as required for VMS.
2291
2292         * utils.c [__VMS]: Include vms.h. Various added facilities for VMS
2293         needs.
2294
2295 2009-07-04  Micah Cowan  <micah@cowan.name>
2296
2297         * main.c (print_version): Allow localization of the version-info
2298         labels, eschew attempts at alignment (which is complicated when
2299         handling translated strings), and avoid using printf() with
2300         variable-stored format strings that lack conversion
2301         specifications.
2302         (format_and_print_line): For similar reasons, don't calculate
2303         line-continuation tabulation based on the number of bytes in a
2304         string.
2305
2306 2009-07-04  Steven Schubiger  <stsc@member.fsf.org>
2307
2308         * url.c (url_parse): If an URL scheme is invalid, distinguish
2309         between an unsupported or missing scheme.
2310
2311         * url.c: Add a "missing scheme" entry to parse_errors.
2312
2313 2009-07-03  Micah Cowan  <micah@cowan.name>
2314
2315         * iri.h (iri_dup): Provide macro definition for when IRIs are
2316         disabled.
2317
2318         * Makefile.am (LIBS): Added @LIBICONV@.
2319         (wget_SOURCES): Added iri.h.
2320         (EXTRA_wget_SOURCES): Added iri.c, so it gets packaged even if IRI
2321         support was disabled.
2322
2323 2009-07-02  Micah Cowan  <micah@cowan.name>
2324
2325         * recur.c (url_enqueue): Quote enqueue/dequeue debug messages.
2326
2327         * html-url.c (append_url): Change "merge()" quoting style from
2328         locale_quoting_style to escape_quoting_style.
2329
2330 2009-07-01  Micah Cowan  <micah@cowan.name>
2331
2332         * retr.c (retrieve_url): Use the existing "redirect" label,
2333         instead of superfluous "second_try". Removed no-longer-accurate
2334         debug statement. Use the "newloc" parameter to store the fallback
2335         URL, when IRI version was rejected.
2336
2337         * recur.c (retrieve_tree): Always use the parsed URL for tracking
2338         the Referer, since that's the one we actually requested (if
2339         there's a difference in terms of percent-encodings and such).
2340
2341 2009-07-01  Steven Schubiger  <stsc@member.fsf.org>
2342
2343         * Makefile.am: Add a rule to generate build_info.c and list
2344         the build_info.c.in file in EXTRA_DIST. Adjust elsewhere
2345         where needed.
2346
2347         * build_info.c: Remove this static source file.
2348
2349         * build_info.c.in: Data for generation of build_info.c.
2350
2351 2009-06-29  Micah Cowan  <micah@cowan.name>
2352
2353         * html-url.c (append_url): Quote some more arguments that might
2354         contain characters that are inappropriate to display for the
2355         current locale.
2356
2357         * retr.c (retrieve_from_file): Be sure to pass iri information
2358         when parsing an input-fle url, and be sure to hand a clean iri
2359         struct, off to retrieve_tree and retrieve_url.
2360
2361         * iri.c, iri.h (iri_dup): Added.
2362
2363         * retr.c (retrieve_url): Re-parse for IRI fallback.
2364
2365         * main.c (main): Set up iri before the url_parse invocation (so we
2366         can use it).
2367
2368 2009-06-20  Jay Krell  <jay.krell@cornell.edu>
2369
2370         * sysdep.h (_ALL_SOURCE): (small change) Define the _ALL_SOURCE
2371         macro on INTERIX systems. (I switched the location from ftp.c to
2372         sysdep.h --mjc)
2373
2374 2009-06-15  Micah Cowan  <micah@cowan.name>
2375
2376         * ftp.c (getftp): If we can't accept the connection, return
2377         CONERROR, not whatever the contents of err happens to be. Fixes
2378         bug #25015.
2379
2380         * retr.c (fd_read_body): Make both args to progress_create
2381         consistent, resulting in an accurate progress display. Fixes bug
2382         #24948.
2383
2384 2009-06-14  Micah Cowan  <micah@cowan.name>
2385
2386         * Makefile.am (wget_SOURCES): css-tokens.h needs to ship with
2387         dist, too.
2388
2389 2009-06-13  Micah Cowan  <micah@cowan.name>
2390
2391         * init.c: Rename setval_internal_wrapper to setval_internal_tilde,
2392         ensure we don't "replace" the tilde unless it's actually
2393         present. Clean up some minor GNU style issues.
2394
2395 2009-06-13  Julien Pichon  <julienpichon7@gmail.com>
2396
2397         * init.c: Handle tilde-expansion in wgetrc commands, without
2398         resorting to setting/unsetting globals to change behavior in one
2399         call location.
2400
2401 2009-06-12  Micah Cowan  <micah@cowan.name>
2402
2403         * host.c: Include <sys/types.h> before <sys/socket.h>. Not
2404         required by POSIX any more, but some older systems (such as
2405         FreeBSD 4.1) still need it, and it doesn't seem like it could
2406         hurt...
2407
2408         * build_info.c (library): Handle "https" as a feature in its own
2409         right, apart from "gnutls" and "openssl".
2410
2411         * host.c: Declare h_errno if no declaration is provided. Idea
2412         thanks to Maciej W. Rozycki.
2413
2414 2009-06-11  Xin Zou  <zouxin2008@gmail.com>
2415
2416         * http.c (gethttp): Fix some memory leaks.
2417
2418 2009-06-11  Micah Cowan  <micah@cowan.name>
2419
2420         * http.c (http_atotm): Handle potential for setlocale's return
2421         value to be static storage. Thanks to Benjamin Wolsey
2422         <bwy@benjaminwolsey.de>.
2423
2424         * sysdep.h: Need NAMESPACE_TWEAKS on non-Linux glibc-based
2425         systems, too. Thanks to Robert Millan.
2426
2427 2009-05-28  Steven Schubiger  <stsc@member.fsf.org>
2428
2429         * ftp.c (ftp_get_listing): Update the "listing file"
2430         string after calling ftp_loop_internal().
2431
2432 2009-05-27  Steven Schubiger  <stsc@member.fsf.org>
2433
2434         * ftp.c (ftp_get_listing): Duplicate the "listing file"
2435         string to avoid memory corruption when FOPEN_EXCL_ERR is
2436         encountered.
2437
2438 2009-05-17  Steven Schubiger  <stsc@member.fsf.org>
2439
2440         * progress.c (eta_to_human_short): Fix the remaining hours
2441         to be displayed. Spotted by Tadeu Martins (#26411).
2442
2443 2009-04-24  Micah Cowan  <micah@cowan.name>
2444
2445         * hash.c: Change stdint.h inclusion to use HAVE_STDINT_H, not C99
2446         check.
2447
2448         * connect.c: stdint.h inclusion added.
2449
2450         Thanks to Markus Duft <mduft@gentoo.org> for a similar patch.
2451
2452 2009-04-20  Micah Cowan  <micah@cowan.name>
2453
2454         * Makefile.am (version.c): Fix unportable use of "echo -n".
2455
2456 2009-04-13  Steven Schubiger  <stsc@member.fsf.org>
2457
2458         * ftp.c (ftp_retrieve_list): Move the duplicated code that
2459         determines the local file to a function.
2460
2461         * http.c (http_loop): Likewise.
2462
2463         * retr.c (set_local_file): New function.
2464
2465 2009-04-11  Steven Schubiger  <stsc@member.fsf.org>
2466
2467         * init.c (initialize): Run a custom SYSTEM_WGETRC when
2468         provided as an environment variable.
2469
2470 2009-02-27  Gisle Vanem  <gvanem@broadpark.no>
2471
2472         * main.c (main): "freopen (NULL,.." causes an assertion in MSVC
2473         debug-mode.  I.e. NULL isn't legal. But the "CONOUT$" device works
2474         fine.
2475
2476 2009-02-27  Steven Schubiger  <stsc@member.fsf.org>
2477
2478         * ftp.c (ftp_loop_internal): Don't claim for FTP retrievals
2479         when writing to standard output either that the document
2480         has been saved. Addresses bug #20520 again.
2481
2482 2009-02-21  Steven Schubiger  <stsc@member.fsf.org>
2483
2484         * http.c (http_loop): When a document is written to
2485         standard output, don't claim it has been saved to a file.
2486         Addresses bug #20520.
2487
2488 2009-02-18  Steven Schubiger  <stsc@members.fsf.org>
2489
2490         * recur.h: Remove the dangling declaration for recursive_cleanup().
2491
2492 2009-02-01  Gerardo E. Gidoni  <gerel@gnu.org>
2493
2494         * main.c, recur.c, recur.h, res.c, retr.c, retr.h: restructured code to
2495         avoid multiple 'url_parse' calls.
2496
2497 2008-11-13  Micah Cowan  <micah@cowan.name>
2498
2499         * http.c (gethttp): Don't do anything when content-length >= our
2500         requested range.
2501
2502 2008-11-27  Saint Xavier  <wget@sxav.eu>
2503
2504         * http.c (gethttp): Move authentication code before filename
2505         allocation avoiding fallbacking on default filename because
2506         "Content-Disposition" header wasn't present before authentcation
2507         has been completed. Fixes bug #24862.
2508
2509 2008-11-16  Steven Schubiger  <stsc@members.fsf.org>
2510
2511         * main.c: Declare and initialize the numurls counter.
2512
2513         * ftp.c, http.c: Make the counter visible here and use it.
2514
2515         * options.h: Remove old declaration from options struct.
2516
2517 2008-11-15  Steven Schubiger  <stsc@members.fsf.org>
2518
2519         * init.c (defaults): Set default waitretry value.
2520
2521 2008-11-14  Steven Schubiger  <stsc@members.fsf.org>
2522
2523         * main.c (format_and_print_line): Use a custom format
2524         string for printing leading spaces.
2525
2526 2008-11-12  Micah Cowan  <micah@cowan.name>
2527
2528         * ftp-ls.c (ftp_index): HTML-escape dir name in title, h1, a:href.
2529
2530 2008-11-12  Alexander Belopolsky  <alexander.belopolsky@gmail.com>
2531
2532         * url.c, url.h (url_escape_unsafe_and_reserved): Added.
2533
2534         * ftp-ls.c (ftp_index): URL-escape, rather than HTML-escape, the
2535         filename appearing in the link.
2536
2537 2008-11-12  Steven Schubiger  <stsc@members.fsf.org>
2538
2539         * main.c (print_version): Hand the relevant
2540         xstrdup/xfree calls back to format_and_print_line().
2541
2542 2008-11-11  Steven Schubiger  <stsc@members.fsf.org>
2543
2544         * main.c (format_and_print_line): Move both the memory
2545         allocating and freeing bits upwards to print_version().
2546
2547 2008-11-10  Saint Xavier  <wget@sxav.eu>
2548
2549         * http.c: Make --auth-no-challenge works with user:pass@ in URLs.
2550
2551 2008-11-05  Micah Cowan  <micah@cowan.name>
2552
2553         * ftp.c (print_length): Should print humanized "size remaining"
2554         only when it's at least 1k.
2555
2556 2008-10-31  Micah Cowan  <micah@cowan.name>
2557
2558         * main.c (print_version): Add information about the mailing list.
2559
2560 2008-10-31  Alexander Drozdov  <dzal_mail@mtu-net.ru>
2561
2562         * retr.c (fd_read_hunk): Make assert deal with maxsize == 0.
2563
2564         * ftp-ls.c (clean_line): Prevent underflow on empty lines.
2565
2566 2008-10-26  Gisle Vanem  <gvanem@broadpark.no>
2567
2568         * main.c (format_and_print_line): Put variables on top of
2569         blocks (not all compilers are C99). Add an extra '\n' if
2570         SYSTEM_WGETRC isn't defined and printed.
2571
2572 2008-09-09  Gisle Vanem  <gvanem@broadpark.no>
2573
2574         * url.c (url_error): Use aprintf, not asprintf.
2575
2576 2008-09-09  Micah Cowan  <micah@cowan.name>
2577
2578         * init.c (home_dir): Save the calculated value for home,
2579         to avoid duplicated work on repeated calls.
2580         (wgetrc_file_name) [WINDOWS]: Define and initialize home var.
2581
2582         * build_info.c, main.c: Remove unnecessary extern vars
2583         system_wgetrc and locale_dir.
2584
2585         * main.c: Define program_name for lib/error.c.
2586
2587 2008-09-02  Gisle Vanem  <gvanem@broadpark.no>
2588
2589         * mswindows.h: Must ensure <stdio.h> is included before
2590         we redefine ?vsnprintf().
2591
2592 2008-08-08  Steven Schubiger  <stsc@members.fsf.org>
2593
2594         * main.c, utils.h: Removed some dead conditional DEBUG_MALLOC code.
2595
2596 2008-08-03  Micah Cowan  <micah@cowan.name>
2597
2598         * main.c (print_help): Added --default-page.
2599
2600 2008-08-01  Joao Ferreira  <joao@joaoff.com>
2601
2602         * init.c, main.c, options.h, url.c: Added option --default-page
2603         to support alternative default names for index.html
2604
2605 2008-08-03  Micah Cowan  <micah@cowan.name>
2606
2607         * build_info.c, css-url.c: #include wget.h, not config.h.
2608
2609 2008-08-03  Steven Schubiger  <stsc@members.fsf.org>
2610
2611         * url.c, url.h (url_error): Better messages for unsupported
2612         schemes, especially https.
2613
2614         * html-url.c, recur.c, retr.c: Adjust to new url_error
2615         invocation, and free result.
2616
2617 2008-07-17  Steven Schubiger  <stsc@members.fsf.org>
2618
2619         * retr.c (retrieve_from_file): When given an URL as input file,
2620         use it as baseref if none was specified and treat the input file
2621         as HTML if its content type is text/html.
2622
2623         * init.c (cleanup): Free the memory associated with the base
2624         option (when DEBUG_MALLOC is defined).
2625
2626 2008-07-02  Xavier Saint  <wget@sxav.eu>
2627
2628         * iri.c, iri.h  : New function idn_decode() to decode ASCII
2629         encoded hostname to the locale.
2630
2631         * host.c : Show hostname to be resolved both in locale and
2632         ASCII encoded.
2633
2634 2008-06-28  Steven Schubiger  <stsc@members.fsf.org>
2635
2636         * retr.c (retrieve_from_file): Allow for reading the links from
2637         an external file (HTTP/FTP).
2638
2639 2008-06-26  Xavier Saint  <wget@sxav.eu>
2640
2641         * iri.c, iri.h : New functions locale_to_utf8() and
2642         idn_encode() adding basic capabilities of IRI/IDN.
2643
2644         * url.c : Convert URLs from locale to UTF-8 allowing a basic
2645         support of IRI/IDN
2646
2647 2008-06-25  Steven Schubiger  <stsc@members.fsf.org>
2648
2649         * ftp.c (getftp): When spidering a FTP URL, emit a diagnostic
2650         message if the remote file exists.
2651
2652 2008-06-24  Steven Schubiger  <stsc@members.fsf.org>
2653
2654         * http.c (http_loop): Replace escnonprint() occurence with
2655         a quotearg_style() call.
2656
2657 2008-06-24  Micah Cowan  <micah@cowan.name>
2658
2659         * ftp-ls.c (ftp_index): Don't assume time_t* is compatible with
2660         long*. Fixes crash on Windows, and probably other systems.
2661
2662 2008-06-22  Steven Schubiger  <stsc@members.fsf.org>
2663
2664         * http.c: Explicitly initialize and deallocate the message
2665         string used by the -nv --spider functionality.
2666
2667 2008-06-22  Steven Schubiger  <schubiger@gmail.com>
2668
2669         * http.c: Make -nv --spider include the file's name when it
2670         exists.
2671
2672 2008-06-22  Micah Cowan  <micah@cowan.name>
2673
2674         * Makefile.am (version.c): Fixed version string invocation so it
2675         once again can't result in unterminated strings, made all the
2676         string vars pointers-to-const, and moved line lengths
2677         below 80 (in Makefile.am, not in version.c).
2678
2679 2008-06-19  Xavier Saint  <wget@sxav.eu>
2680
2681         * iri.c, iri.h : New function check_encoding_name() as
2682         a preliminary encoding name check.
2683
2684         * main.c, iri.c : Make use of check_encoding_name().
2685
2686 2008-06-19  Xavier Saint  <wget@sxav.eu>
2687
2688         * iri.c : Include missing stringprep.h file and add a
2689         cast.
2690
2691         * init.c : set a default initial value for opt.enable_iri,
2692         opt.locale and opt.encoding_remote.
2693
2694 2008-06-19  Xavier Saint  <wget@sxav.eu>
2695
2696         * iri.c, iri.h : Add a new function find_locale() to find
2697         out the local system encoding.
2698
2699         * main.c : Make use of find_locale().
2700
2701 2008-06-19  Xavier Saint  <wget@sxav.eu>
2702
2703         * html-url.c : Add "content-type" meta tag parsing for
2704         retrieving page encoding.
2705
2706         * iri.h : Make no-op version of parse_charset() return
2707         NULL.
2708
2709 2008-06-16  Micah Cowan  <micah@cowan.name>
2710
2711         * http.c (http_loop): When hstat.len is higher than the
2712         successfully completed content's length, but it's because we
2713         _set_ it that way, don't abort.
2714
2715 2008-06-14  Xavier Saint  <wget@sxav.eu>
2716
2717         * iri.c, iri.h : New files.
2718
2719         * Makefile.am : Add files iri.h and conditional iri.c.
2720
2721         * build_info.c : Add compiled feature "iri".
2722
2723         * http.c : include iri.h and parse charset from Content-Type
2724         header.
2725
2726         * init.c, main.c, options.h : if an options isn't supported
2727         at compiled time, don't get rid off it and show a dummy
2728         message instead if they are used.
2729
2730 2008-06-13  Micah Cowan  <micah@cowan.name>
2731
2732         * build_info.c: ENABLE_NTLM, not HAVE_NTLM; distinguish OpenSSL
2733         from "ssl".
2734
2735 2008-06-13  Madhusudan Hosaagrahara <com.gmail.hrmadhu>
2736
2737         * Makefile.am, main.c, init.c, init.h, build_info.c: Adds build
2738         information to the --version command line option. Fixes bug
2739         #20636.
2740
2741 2008-06-01  Micah Cowan  <micah@cowan.name>
2742
2743         * main.c [WINDOWS]: Reopen stdout in binary mode, when -O - is
2744         given.
2745
2746 2008-05-31 Micah Cowan  <micah@cowan.name>
2747
2748         * html-url.c, http.c: Avoid casts in a couple spots.
2749
2750 2008-05-30 Henri Häkkinen  <henux@users.sourceforge.net>
2751
2752         * cookies.c, ftp-basic.c, hash.c, html-url.c, http-ntlm.c, http.c,
2753         init.c, log.c, main.c, progress.c, ptimer.c, spider.c, url.c,
2754         utils.c: Minor changes to silence warnings when using -Wall.
2755
2756 2008-05-26  Steven Schubiger  <schubiger@gmail.com>
2757
2758         * ftp.c (getftp): Replace last remaining invocation of escnonprint
2759         with gnulib quote.
2760
2761 2008-05-19  Micah Cowan  <micah@cowan.name>
2762
2763         * main.c (main): Password prompt should be done only once (not
2764         once per argument), and should be done prior to the background
2765         fork.
2766
2767 2008-05-17  Steven Schubiger  <schubiger@gmail.com>
2768
2769         * init.c (defaults): Set the preferred IP family to `none' by
2770         default.
2771
2772 2008-05-17  Kenny Parnell  <k.parnell@gmail.com>
2773
2774         (cmd_spec_prefer_family): Initialize prefer_family to prefer_none.
2775
2776 2008-05-17  Micah Cowan  <micah@cowan.name>
2777
2778         * main.c (main): Handle Ctrl-D on command-line.
2779
2780 2008-05-15  Steven Schubiger  <schubiger@gmail.com>
2781
2782         * ftp.c (getftp): Verify that the file actually exists in FTP, by
2783         checking it against the listing.
2784
2785 2008-05-15  Micah Cowan  <micah@cowan.name>
2786
2787         * main.c (prompt_for_password): Use the quote module.
2788
2789 2008-05-14  Micah Cowan  <micah@cowan.name>
2790
2791         * ftp.c (ftp_retrieve_list): Symlinks and other filenames
2792         should be fully quoted.
2793
2794 2008-05-12  Micah Cowan  <micah@cowan.name>
2795
2796         * main.c (main): Downgrade "-N with -O" to a warning, and switch
2797         it off to avoid confusing messages.
2798
2799 2008-04-30  Micah Cowan  <micah@cowan.name>
2800
2801         * progress.c (create_image): Fix glitch where too many spaces are
2802         printed on lines that don't display the ETA, in multibyte
2803         locales.
2804
2805 2008-04-30  Steven Schubiger  <stsc@members.fsf.org>
2806
2807         * main.c (main): New code that handles prompting for passwords
2808         when specified explicitly via command-line option (using gnulib's
2809         getpass-gnu module).
2810         (main): Include the getpass header.
2811
2812         * init.c: Add "ask-password" to the list of recognized commands.
2813
2814         * options.h: Add an according boolean member to the options
2815         struct.
2816
2817         * sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
2818         out, because they're now defined independently by config.h.
2819
2820 2008-04-27  Rabin Vincent  <rabin@rab.in>
2821
2822         * http.c (http_loop): Fix return for the case where we don't
2823         download a file because of -nc.
2824
2825 2008-04-27  Micah Cowan  <micah@cowan.name>
2826
2827         * url.c (path_simplify): Go back to allowing leading ".." in
2828         paths, but only for FTP URLs.
2829         (test_path_simplify): Add scheme-specificness to tests, adapt for
2830         mu_run_test.
2831
2832         * test.c (all_tests): Add test_path_simplify.
2833
2834         * main.c (main): Downgrade -r, -p with -O to a warning rather than
2835         an error; elaborate just a bit more for other -O combination
2836         cases.
2837
2838 2008-04-26  Micah Cowan  <micah@cowan.name>
2839
2840         * http.c (gethttp): Move proxy CONNECT handling to below the
2841         retry_with_auth label, to deal with properly reconnecting to
2842         proxies when we need to authenticate.
2843
2844 2008-04-25  Micah Cowan  <micah@cowan.name>
2845
2846         * Makefile.am: -I foo -> -Ifoo.
2847
2848 2008-04-24  Micah Cowan  <micah@cowan.name>
2849
2850         * main.c: Revised usage description of --convert-links to apply
2851         to CSS as well as to HTML.
2852
2853 2008-04-23  Micah Cowan  <micah@cowan.name>
2854
2855         * utils.c (test_dir_matches_p): Added a test for the case
2856         described in issue #20518.
2857
2858 2008-04-22  Micah Cowan  <micah@cowan.name>
2859
2860         * Makefile.am, css.lex, css.l: Renamed css.lex to css.l.
2861         * recur.c (retrieve_tree): Fix typo to allow text/css files to
2862         be parsed.
2863
2864 2008-04-22  Ted Mielczarek  <ted.mielczarek@gmail.com>
2865
2866         * css.lex, css-url.c, css-url.h: Added to implement support for
2867         parsing CSS in Wget.
2868         * convert.c: Convert links in CSS files, too.
2869         * convert.h (convert_options): Added for options link_css_p,
2870         link_expect_css.
2871         * convert.h: Added prototype for new register_css function.
2872         * html-parse.c: Added support for parsing element content, in
2873         addition to tag starts and ends.
2874         * html-parse.h (taginfo): Added delimiter fields for element
2875         content.
2876         * html-url.h: Added.
2877         * html-url.c (append_url): No longer internal-linkage only. Now
2878         takes position and size as explicit parameters.
2879         * html-url.c: Use new html-url.h header, add support for
2880         handling of "style" HTML attributes. Mark URIs obtained from
2881         link tags with rel="stylesheet" with link_expect_css. Adapt
2882         uses of append_url to supply the newly-added parameters for
2883         position and size.
2884         * http.c: Add detection for when the content-type is text/css;
2885         and ensure that such files have the ".css" filename extension,
2886         when --convert-links is active.
2887         * recur.h: Remove declarations for functions found in
2888         html-url.c (moved to html-url.h).
2889         * recur.c: Add support for culling links from CSS files, too,
2890         and tracking for when we're expecting the file to be CSS (even
2891         when its content type isn't text/css).
2892         * retr.c (retrieve_url): Add registration of CSS files.
2893         * wget.h: Added TEXTCSS to dt flags enum.
2894         * Makefile.am: Added css.lex, css-url.c, css-url.h, html-url.h
2895         to wget_SOURCES.
2896
2897 2008-04-22  Jim Paris  <jim@jtan.com>
2898
2899         * openssl.c (ssl_init): Enable combined certificate/key in
2900         single file (apparent regression from ~1.9). Resolves issue
2901         #22767.
2902
2903 2008-04-22  Steven Schubiger  <schubiger@gmail.com>
2904
2905         * http.c (print_response_line): Changed to make responses always
2906         be logged, even in --quiet mode, if --server-response was
2907         specified. This is to bring http.c's handling of the situation
2908         in line with ftp.c's.
2909
2910 2008-04-22  Pranab Shenoy  <pranab.loosinit.shenoy@gmail.com>
2911
2912         * init.c: Added test_commands_sorted unit test to check is
2913         commands are sorted.  Fixes bug #21245.
2914
2915         * test.c: Added test_commands_sorted to the test suite.
2916
2917 2008-04-22  Rabin Vincent  <rabin@rab.in>
2918
2919         * ftp.c (ftp_get_listing): Only remove .listing if it has been
2920         created.
2921
2922 2008-04-22  Alain Guibert  <alguibert+bts@free.fr>
2923
2924         * test.h (mu_run_test): Move declaration before statements, for
2925         C90 conformance. Fixes bug #22789.
2926
2927 2008-04-22  Mike Frysinger  <vapier@gentoo.org>
2928
2929         * Makefile.am: Move @LIBS@ after other libraries, for better
2930         static-linking support. Fixes bug #22143.
2931
2932 2008-04-16  Steven Schubiger  <schubiger@gmail.com>
2933
2934         * ftp.c: Use Gnulib's quote function for printing filenames and
2935         such.
2936         * connect.c: Likewise.
2937         * convert.c: Likewise.
2938         * cookies.c: Likewise.
2939         * ftp-opie.c: Likewise.
2940         * gnutls.c: Likewise.
2941         * init.c: Likewise.
2942         * log.c: Likewise.
2943         * mswindows.c: Likewise.
2944         * openssl.c: Likewise.
2945         * progress.c: Likewise.
2946         * recur.c: Likewise.
2947         * res.c: Likewise.
2948         * utils.c: Likewise.
2949
2950 2008-04-16  Steven Schubiger  <schubiger@gmail.com>
2951
2952         * sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
2953         out, because they're now defined independently by config.h.
2954
2955 2008-04-14  Steven Schubiger  <schubiger@gmail.com>
2956
2957         * http.c: Use Gnulib's quote function for printing filenames and
2958         such.
2959         * wget.h: #include "quote.h".
2960
2961 2008-04-12  Rabin Vincent  <rabin@rab.in>
2962
2963         * mswindows.c (fake_fork_child): Don't create a logfile for
2964         --background when --quiet is used, but not --server-response.
2965         Fixes bug #20917.
2966
2967         * utils.c (fork_to_background): Likewise.
2968
2969 2008-04-12  Micah Cowan  <micah@cowan.name>
2970
2971         * utils.c (aprintf): Minor formatting changes to Alex's code (80-
2972         column limit, concatenated string literals, avoiding nesting
2973         levels), and removed invocation of free (since we're aborting
2974         anyway).
2975
2976 2008-04-11  Alexander Dergachev  <cy6erbr4in@gmail.com>
2977
2978         * utils.c (aprintf): Now we are setting limits (1 Mb) for text
2979         buffer when we use non-C99 vsnprintf.
2980
2981 2008-04-11  Micah Cowan  <micah@cowan.name>
2982
2983         * ftp.c (getftp, ftp_loop_internal): Don't append to an existing
2984         .listing when --continue is used.  Fixes bug #22825. Thanks to
2985         Rabin Vincent <rabin@rab.in> for pointing the way with a
2986         suggested fix!
2987
2988 2008-04-10  Alexander Dergachev  <cy6erbr4in@gmail.com>
2989
2990         * xmalloc.c, xmalloc.h (memfatal): Now exported; accepts an
2991         "unknown" value for the attempted allocation size.
2992         * utils.c (aprintf): Now calls memfatal, instead of aborting.
2993
2994 2008-03-19  Micah Cowan  <micah@cowan.name>
2995
2996         * utils.c (test_dir_matches_p): More tests related for
2997         dir_matches_p.
2998
2999 2008-03-17  Micah Cowan  <micah@cowan.name>
3000
3001         * connect.c: Include sys/time.h to support use of the select
3002         function on older systems.
3003
3004 2008-02-11  Benno Schulenberg  <bensberg@justemail.net>
3005
3006         * http.c: More accurate and descriptive messages for when a file
3007         won't be retrieved during spider-mode.
3008
3009 2008-02-10  Micah Cowan  <micah@cowan.name>
3010
3011         * http.c: Added existence_checked member to the http_stat
3012         struct.
3013         (gethttp): Mark hs->existence_checked when we've checked whether
3014         a file-to-download exists; so we don't check it again if the
3015         connection gets lost (and potentially pick a new "unique" name).
3016         This fixes bug 22251.
3017         * progress.c (create_image): Add space for an extra column in
3018         the "eta" portion of the progress bar image; to deal with
3019         too-long Czech translation.
3020         * main.c, http.c, init.c: Added --auth-no-challenge option, to
3021         bring back 1.10.2 unsafe auth behavior when needed. This fixes
3022         bug #22242.
3023
3024 2008-02-07  Micah Cowan  <micah@cowan.name>
3025
3026         * progress.c (create_image): Remove assertion on exceeding
3027         screen width, which given the less-than-robust code there, can
3028         be broken by a number of factors (such as large file downloads).
3029
3030 2008-02-06  Micah Cowan  <micah@cowan.name>
3031
3032         * progress.c (countcols): Use strlen() when mbtowc or wcwidth
3033         not available (or not using NLS).
3034         * utils.c: Ensure we use single-byte separators when not doing
3035         NLS progress-bars.
3036         * wget.h: Determine whether to use NLS for progress-bars, based
3037         on whether wcwidth and mbtowc are available.
3038
3039 2008-02-03  Micah Cowan  <micah@cowan.name>
3040
3041         * progress.c (create_image): Use number of characters/columns
3042         consumed, rather than number of bytes, to determine how much of
3043         a line we've used. Fixes assertion errors and field alignment
3044         bugs (#22161, #20481)
3045         (get_eta, count_cols): Added to support the changes for
3046         create_image.
3047         * http.c (http_loop): Put no-clobber logic back into http_loop,
3048         before starting to fetch, for when we're not doing
3049         content-disposition.
3050
3051 2008-01-31  Micah Cowan  <micah@cowan.name>
3052
3053         * http.c (gethttp): Don't derive hs->contlen from possibly
3054         invalid/missing Content-Length; instead, get the appropriate
3055         value from the Content-Range header values.
3056         (parse_content_range): Handle '*' instance-length field.
3057
3058 2008-01-25  Micah Cowan  <micah@cowan.name>
3059
3060         * main.c: Added notes to translators regarding (C), diacritics
3061         in names.
3062         * Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
3063         cookies.c, cookies.h, ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c,
3064         ftp.h, gen-md5.c, gen-md5.h, gnutls.c, hash.c, hash.h, host.c,
3065         host.h, html-parse.c, html-parse.h, html-url.c, http-ntlm.c,
3066         http-ntlm.h, http.c, http.h, init.c, init.h, log.c, log.h,
3067         main.c, mswindows.c, mswindows.h, netrc.c, netrc.h, openssl.c,
3068         options.h, progress.c, progress.h, ptimer.c, ptimer.h, recur.c,
3069         recur.h, res.c, res.h, retr.c, retr.h, spider.c, spider.h,
3070         ssl.h, sysdep.h, test.c, test.h, url.c, url.h, utils.c,
3071         utils.h, wget.h, xmalloc.c, xmalloc.h: Updated copyright year.
3072
3073 2007-12-10  Micah Cowan  <micah@cowan.name>
3074
3075         * main.c: The option is --content-disposition, not
3076         --no-content-disposition (at the moment).
3077
3078 2007-12-08  Hrvoje Niksic  <hniksic@xemacs.org>
3079
3080         * ftp.c (ftp_retrieve_glob): Print both arguments of fnmatch in
3081         fnmatch error message.
3082         (ftp_retrieve_glob): Don't match with fnmatch if we're only
3083         supposed to get one file.
3084
3085 2007-12-07  Micah Cowan  <micah@cowan.name>
3086
3087         * Makefile.am: Plug in vars to include stuff from
3088         $(top_srcdir)/md5 when appropriate.
3089
3090 2007-12-05  Micah Cowan  <micah@cowan.name>
3091
3092         * utils.c (subdir_p): Handle the case where d1 is "".
3093         * convert.c (convert_all_links): Don't return without
3094         deallocating timer.
3095
3096 2007-11-28  Micah Cowan  <micah@cowan.name>
3097
3098         * Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
3099         convert.h, cookies.c, cookies.h, ftp-basic.c, ftp-ls.c,
3100         ftp-opie.c, ftp.c, ftp.h, gen-md5.c, gen-md5.h, gnutls.c,
3101         hash.c, hash.h, host.c, host.h, html-parse.c, html-parse.h,
3102         html-url.c, http-ntlm.c, http-ntlm.h, http.c, http.h, init.c,
3103         init.h, log.c, log.h, main.c, mswindows.c, mswindows.h,
3104         netrc.c, netrc.h, openssl.c, options.h, progress.c, progress.h,
3105         ptimer.c, ptimer.h, recur.c, recur.h, res.c, res.h, retr.c,
3106         retr.h, safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h,
3107         sysdep.h, test.c, test.h, url.c, url.h, utils.c, utils.h,
3108         wget.h, xmalloc.c, xmalloc.h: Updated license exception for
3109         OpenSSL, per the SFLC.
3110
3111 2007-10-30  Micah Cowan  <micah@cowan.name>
3112
3113         * main.c (main): Declare argv parameter as char **argv, rather
3114         than char *const *argv. This fixes usage of getopt_long,
3115         regardless of whether getopt_long has a constified argv or not.
3116
3117 2007-10-22  Gisle Vanem  <gvanem@broadpark.no>
3118
3119         * mswindows.c: Move INHIBIT_WRAP macro definition up with wget.h
3120         inclusion.
3121
3122 2007-10-18  Steven Schweda  <sms@antinode.org>
3123
3124         * sysdep.h: #include <stdint.h> as well as <inttypes.h>, to work
3125         around a glitch on Tru64 systems.
3126
3127 2007-10-18  Micah Cowan  <micah@cowan.name>
3128
3129         * Makefile.am: version.c should not be distributed. Removed
3130         config-post.h. Add version.c dependency and gnulib include path
3131         for libunittest.a.
3132         * sysdep.h: Got contents of config-post.h
3133         * config-post.h: Removed.
3134         * wget.h: #include "config.h".
3135         * alloca.c, cmpt.c, connect.c, convert.c, cookies.c,
3136         ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c, gen-md5.c, gnutls.c,
3137         hash.c, host.c, html-parse.c, html-url.c, http-ntlm.c, http.c,
3138         init.c, log.c, main.c, mswindows.c, netrc.c, openssl.c,
3139         progress.c, ptimer.c, recur.c, res.c, retr.c, spider.c, url.c,
3140         utils.c, xmalloc.c: Use wget.h at very top, and instead of
3141         config.h.
3142
3143 2007-10-15  Micah Cowan  <micah@cowan.name>
3144
3145         * Makefile.am: Remove intermediary hg-id file generation, make
3146         version.c-generation more portable.
3147
3148 2007-10-14  Micah Cowan  <micah@cowan.name>
3149
3150         * cmpt.c, cookies.c, ftp-basic.c, ftp-ls.c, ftp.c, hash.c,
3151         host.c, html-parse.c, html-url.c, http-ntlm.c, http.c, init.c,
3152         log.c, main.c, netrc.c, openssl.c, res.c, url.c, utils.c,
3153         wget.h: Replace uses of ISSPACE, etc with c_isspace, etc.
3154         * gnu-md5.c, gnu-md5.h: Removed, in deference to gnulib.
3155         * Makefile.am: Removed gnu-md5.h from wget_SOURCES.
3156         * gen-md5.c: Changed #inclusion of gnu-md5.h to md5.h (gnulib's).
3157         * recur.c (download_child_p): Print error if unlink of
3158         robots.txt fails.
3159         * main.c (main): --spider or --delete-after now implies
3160         --no-directories (thanks, Josh Williams).
3161
3162 2007-10-14  Joshua David Williams  <yurimxpxman@gmail.com>
3163
3164         * recur.c (download_child_p): Remove robots.txt if
3165         --delete-after or --spider is on.
3166
3167 2007-10-13  Micah Cowan  <micah@cowan.name>
3168
3169         * Makefile.am: Make version.c depend on Wget dependencies (source
3170         files, plus such things as LIBOBJS so we get things like
3171         http-ntlm.c). Removed getopt.[ch], as we're now using gnulib for
3172         these.
3173
3174 2007-10-10  Micah Cowan  <micah@cowan.name>
3175
3176         * http-ntlm.c: Include openssl/opensslv.h explicitly, instead of
3177         hoping it'll be included by accident in openssl/des.h.
3178
3179 2007-10-09  Gisle Vanem  <gvanem@broadpark.no>
3180
3181         * mswindows.c: 'argc' and 'argv' in 'windows_main()' are no longer
3182         needed.  Hence simply the prototype. Free 'exec_name' at exit.
3183
3184 2007-10-09  Micah Cowan  <micah@cowan.name>
3185
3186         * gettext.h: Imported from /usr/share/gettext, fuller handling
3187         of --disable-nls.
3188         * wget.h: Remove logic for handling lack of NLS (now in
3189         gettext.h).
3190         * main.c: Use gettext's ENABLE_NLS rather than HAVE_NLS.
3191         * Makefile.am: added @LIBINTL@ to LIBS (though it probably
3192         belongs in LDADD, along with everything else currently assigned
3193         to LIBS).
3194
3195 2007-10-08  Micah Cowan  <micah@cowan.name>
3196
3197         * http.c (http_loop): Add send_head_first conditional back
3198         around code that needs it, but not around the last-modified
3199         header-parsing stuff this time. Removed no-longer-useful (was it
3200         ever?) restart_loop boolean, continuing unconditionally at end
3201         of send_head_first conditional block (if we haven't jumped out).
3202
3203 2007-10-04  Micah Cowan  <micah@cowan.name>
3204
3205         * http.c (http_loop): We've got_name if content_disposition
3206         support isn't on; make sure we continue properly in that case,
3207         even though we're not sending HEAD.
3208         * Makefile.in: Removed, replaced by Makefile.am.
3209         * Makefile.am: Converted from Makefile.in.
3210
3211 2007-10-02  Gisle Vanem  <gvanem@broadpark.no>
3212
3213         * ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
3214
3215         * url.c: Update comment for 'filechr_not_windows'.
3216
3217         * utils.c: Include <process.h> for 'getpid()' on Watcom.
3218
3219 2007-10-02  Micah Cowan  <micah@cowan.name>
3220
3221         * ftp.c (getftp, ftp_loop_internal), http.c (http_loop), main
3222         (main): Use datetime_str instead of time_str, for those who have
3223         potentially long-running sessions. Based on suggestions by Saso
3224         Tomat <miskox@hotmail.com> and Steven M. Schweda
3225         <sms@antinode.org>.
3226         * http.c (gethttp): Warn about host lookup failures. Adjusted
3227         from Stephen Gildea's patch.
3228
3229 2007-10-02  Stephen Gildea  <stepheng+wget@gildea.com>
3230
3231         * connect.c (connect_to_host): Warn about host lookup failures.
3232
3233 2007-09-25  Micah Cowan  <micah@cowan.name>
3234
3235         * Makefile.in: Use EXEEXT instead of exeext.
3236
3237 2007-09-24  Gisle Vanem  <giva@bgnett.no>
3238
3239         * connect.c, init.c, main.c, openssl.c, options.h, sysdep.h,
3240         url.c, utils.c: Added support for building on MS-DOS.
3241
3242 2007-09-24  Jochen Roderburg  <roderburg@uni-koeln.de>
3243
3244         * http.c (http_zero): Remove no-longer-used local_size variable.
3245         Fixes bug #21057.
3246
3247 2007-09-12  Micah Cowan  <micah@cowan.name>
3248
3249         * http.c (http_loop): Remove send_head_first from condition for
3250         parsing timestamp.
3251
3252 2007-08-29  Micah Cowan  <micah@cowan.name>
3253
3254         * openssl.c (ssl_init): Re un-const-ified the meth local
3255         variable, to match current versions of openssl.
3256         * spider.c: Removed visited_url function, as it may be very
3257         inefficient.
3258         (print_broken_links): Removed traversal of referrers, until such
3259         time as a more efficient implementation can be written.
3260         * spider.h: Replaced declaration of visited_url with an
3261         empty-bodied, function-like macro.
3262
3263 2007-08-27  Gisle Vanem  <giva@bgnett.no>
3264
3265         * mswindows.c (run_with_timeout): Ensure that the correct
3266         conversion specification is used for the return result of
3267         the GetLastError function.
3268         * getopt.c: Fix missing (but, accidentally, legal) comment
3269         delimiter after licensing text.
3270         * recur.c (retrieve_tree): Inserted missing cast for strip_auth.
3271         Includes adjustment by Ralf Wildenhues.
3272         * openssl.c (ssl_init): const-ified the meth local variable.
3273         * main.c: Include all the static function definitions in the
3274         "#ifndef TESTING" clause, leaving just the definitions for
3275         exec_name (not set), and opt.
3276         * utils.c (run_with_timeout): Now returns bool, to align with
3277         declaration in utils.h.
3278
3279 2007-08-27  Micah Cowan  <micah@cowan.name>
3280
3281         * wget.h: Added macro replacement for ngettext, for environs
3282         that lack NLS.
3283
3284 2007-08-26  Micah Cowan  <micah@cowan.name>
3285
3286         * spider.c (print_broken_links): Fixed incorrect plurals msgid
3287         usage, switched to use ngettext function.
3288
3289 2007-08-24  Micah Cowan  <micah@cowan.name>
3290
3291         * http.c (http_loop): Introduced time_came_from_head boolean
3292         flag, to help avoid parsing the same Last-Modified header twice.
3293         Replaced spidering returns of RETRUNNEEDED for some situations,
3294         to RETROK, as otherwise it will be interpreted as an error.
3295         RETRUNNEEDED appears never to be referenced outside of
3296         http.c (and wget.h), and, when returned by gethttp, is
3297         translated by http_loop to RETROK.
3298         * url.c (are_urls_equal): Don't call getchar_from_escaped_string
3299         if u2 is shorter than u1.
3300         (getchar_from_escaped_string): Don't decode reserved characters.
3301         Handle illegally appearing '%'s as literal '%'s. Ensure hex
3302         digits before attempting to decode.
3303         (test_are_urls_equal): Added tests to handle u2 shorter than u1,
3304         and %2f not treated the same as /.
3305         * spider.c (in_url_list_p): Don't call are_urls_equal if one of
3306         them is NULL.
3307
3308 2007-08-23  Joshua David Williams  <yurimxpxman@gmail.com>
3309
3310         * spider.c (in_url_list_p): Removed the bool verbose argument
3311
3312 2007-08-22  Mauro Tortonesi  <mauro@ferrara.linux.it>
3313
3314         * http.c (http_loop): Fall back to GET if HEAD fails with a 500 or 501
3315         error code.
3316
3317 2007-08-21  Mauro Tortonesi  <mauro@ferrara.linux.it>
3318
3319         * http.c (http_loop): Send preliminary HEAD request if -N is given and
3320         the destination file exists already.
3321
3322 2007-08-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
3323
3324         * http.c (http_loop): Fixed HTTP HEAD requests logic when --spider is
3325         given.
3326
3327 2007-08-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3328
3329         * url.c (append_uri_pathel): Do not assume dest string to be
3330         zero-terminated.
3331         (test_append_uri_pathel): Terminate string to fix test failure.
3332
3333 2007-08-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3334
3335         * url.c (url_string): Use comparison, not assignment, in
3336         check for auth_mode == URL_AUTH_HIDE_PASSWD.
3337
3338 2007-08-09  Micah Cowan  <micah@cowan.name>
3339
3340         * http.c (http_loop): If we got a HEAD and then a GET, and the
3341         GET had a timestamp, use that one, not any we may have gotten
3342         from the HEAD.
3343
3344 2007-08-08  Micah Cowan  <micah@cowan.name>
3345
3346         * init.c (defaults): Content disposition will not be default,
3347         since it currently results in extra round-trips.
3348
3349 2007-07-31  Micah Cowan  <micah@cowan.name>
3350
3351         * http.c (gethttp): Set contlen = -1 when we encounter a
3352         negative-valued Content-Length header, so we don't consider it
3353         an internal error later on and call abort().
3354
3355 2007-07-29  Micah Cowan  <micah@cowan.name>
3356
3357         * url.h, url.c (url_string): Replaced bool arg of the url_string
3358         function with enum url_auth_mode, with added option to
3359         completely remove user/pass auth information.
3360         * http.c, ftp.c, url.c, recur.c: Adapted call to url_string
3361         function to fit new usage.
3362         * recur.c (retrieve_tree): Remove auth info from Referer header.
3363
3364 2007-07-28  Micah Cowan  <micah@cowan.name>
3365
3366         * options.h, init.c, retr.c, main.c: renamed opt maxredirect
3367         field to max_redirect, for improved consistency.
3368         * init.c: changed max_redirect parser from cmd_number_inf to
3369         cmd_number, as infinite redirects may not be appropriate.
3370         Alternatively, if cmd_number_inf should be used, then
3371         opt.max_redirect's value should be checked a bit differently in
3372         retr.c, to allow for the "infinite" meaning of zero.
3373
3374 2007-07-25  Micah Cowan  <micah@cowan.name>
3375
3376         * http.c (create_authorization_line)
3377         (basic_authentication_encode, known_authentication_scheme_p)
3378         (load_cookies): Moved declarations up.
3379         (basic_authed_hosts): Added. Tracks what hosts have issued Basic
3380         challenge and been given the global username, password.
3381         (maybe_send_basic_creds): Added. Sends Basic creds for hosts that
3382         have issued Basic challenges.
3383         (register_basic_auth_host): Added. Instantiates
3384         basic_authed_hosts if necessary, then registers the host that
3385         has issued a challenge.
3386         (gethttp) <auth>: Only send authentication credentials after
3387         we've received a challenge from that host. This is a stop-gap
3388         fix until a proper fix can be implemented; still isn't quite
3389         right, as we should only be sending credentials automatically
3390         for authenticated paths and below, and not for the entire host.
3391
3392 2007-07-16  Joshua David Williams  <yurimxpxman@gmail.com>
3393
3394         * options.h: added maxredirect to options struct
3395         * init.c: added maxredirect to list of variables
3396         * retr.c (retrieve_url): replaced MAX_REDIRECTIONS with opt.maxredirect
3397         * main.c: added option --max-redirect
3398
3399 2007-07-16  Joshua David Williams  <yurimxpxman@gmail.com>
3400
3401         * test.h: tests made more verbose; now displays the name
3402         of each test run.
3403
3404 2007-07-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
3405
3406         * http.c (http_loop): Fixed the HTTP requests logic. Now it skips the
3407         preliminary HEAD request if either -O or --no-content-disposition are
3408         given, and neither --spider and -N are given.
3409
3410 2007-07-05  Micah Cowan  <micah@cowan.name>
3411
3412         * cmpt.c, connect.c, connect.h, convert.c, convert.h:
3413         * cookies.c, cookies.h, ftp-basic.c, ftp.c, ftp.h, ftp-ls.c:
3414         * ftp-opie.c, gen-md5.c, gen-md5.h, getopt.c, getopt.h, gnu-md5.c:
3415         * gnu-md5.h, gnutls.c, hash.c, hash.h, host.c, host.h:
3416         * html-parse.c, html-parse.h, html-url.c, http.c, http.h:
3417         * http-ntlm.c, http-ntlm.h, init.c, init.h, log.c, log.h, main.c:
3418         * Makefile.in, mswindows.c, mswindows.h, netrc.c, netrc.h:
3419         * openssl.c, options.h, progress.c, progress.h, ptimer.c:
3420         * ptimer.h, recur.c, recur.h, res.c, res.h, retr.c, retr.h:
3421         * safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h, sysdep.h:
3422         * test.c, test.h, url.c, url.h, utils.c, utils.h, wget.h:
3423         * xmalloc.c, xmalloc.h:
3424         Updated GPL reference to version 3 or later, removed FSF
3425         address.
3426
3427 2007-07-04  Mauro Tortonesi  <mauro@ferrara.linux.it>
3428
3429         * http.c (http_loop): Skip HEAD request and start immediately with GET
3430         if -O is given.
3431
3432 2007-02-02  Hrvoje Niksic  <hniksic@xemacs.org>
3433
3434         * http.c (print_server_response): Escape non-printable characters
3435         in server respone.
3436
3437 2007-02-02  Hrvoje Niksic  <hniksic@xemacs.org>
3438
3439         * netrc.c: Don't make netrc_list static, as it prevents
3440         compilation with DEBUG_MALLOC.
3441
3442         * utils.c (aprintf): Don't use vasprintf when DEBUG_MALLOC is
3443         requested because, in that case, we want the calls to malloc to be
3444         coming from us.
3445
3446 2007-01-23  Hrvoje Niksic  <hniksic@xemacs.org>
3447
3448         * cookies.c (parse_set_cookie): Would erroneously discard cookies
3449         with unparsable expiry time.
3450
3451 2007-01-23  Hrvoje Niksic  <hniksic@xemacs.org>
3452
3453         * progress.c (create_image): Check for ETA overflow.
3454         (print_row_stats): Ditto.
3455
3456 2007-01-09  Mauro Tortonesi  <mauro@ferrara.linux.it>
3457
3458         * init.c (cmd_spec_prefer_family): Small fix to get rid of a gcc
3459         warning about strict-aliasing violation.
3460
3461 2007-01-09  Steven M. Schweda  <sms@antinode.org>
3462
3463         * ftp-basic.c (ftp_syst): Fixed segfault if response text is missing.
3464
3465 2006-12-29  Gisle Vanem  <giva@bgnett.no>
3466
3467         * mswindows.c: Avoid a warning if 'ws_hangup()' is unused.
3468
3469 2006-12-27  Mauro Tortonesi  <mauro@ferrara.linux.it>
3470
3471         * http.c (parse_content_disposition): Consider directory prefix, if
3472         specified.
3473
3474 2006-11-21  Hrvoje Niksic  <hniksic@xemacs.org>
3475
3476         * retr.c (retrieve_from_file): Ditto.
3477         (url_uses_proxy): New function.
3478
3479         * main.c (main): Don't check for opt.use_proxy when deciding
3480         whether to call retrieve_url or retrieve_tree; check whether the
3481         proxy would be used for *this* URL.
3482
3483 2006-10-17  Mike Grant  <mggr@pml.ac.uk>
3484
3485         * ftp.c (ftp_loop_internal): Would incorrectly skip changing
3486         working directory when retrying after a failed FTP attempt.
3487         Originally reported by Nate Eldredge.
3488
3489 2006-10-12  Mauro Tortonesi  <mauro@ferrara.linux.it>
3490
3491         * convert.c (downloaded_file): Fixed bug which used to break -E -k -K
3492         mode.
3493
3494 2006-08-28  Mauro Tortonesi  <mauro@ferrara.linux.it>
3495
3496         * http.c: #include'd spider.h to get rid of compiler warnings.
3497
3498         * main.c: Ditto.
3499
3500         * recur.c: Ditto.
3501
3502 2006-08-24  Mauro Tortonesi  <mauro@ferrara.linux.it>
3503
3504         * Makefile.in: Added spider.c to the list of files to compile and
3505         spider.h to the list of header files. Updated copyright information.
3506
3507         * http.c: Major changes to recursive spider mode. Now for every
3508         resource we are supposed to check, we send a HEAD request to find out
3509         if it exists. If the resource is a HTML file, we retrieve it and parse
3510         it to discover links to other resources.
3511
3512         * recur.c: Ditto.
3513
3514         * res.c (res_retrieve_file): Disable opt.timestamping and opt.spider
3515         when retrieving robots.txt. Updated copyright information.
3516
3517         * convert.c: Moved code tracking broken links to spider.c.
3518
3519         * convert.h: Ditto.
3520
3521         * spider.c: Created new file to keep track of visited URLs in spider
3522         mode.
3523
3524         * spider.h: Ditto.
3525
3526 2006-08-21  Mauro Tortonesi  <mauro@ferrara.linux.it>
3527
3528         * http.c: Fixed timestamping-related bug.
3529
3530 2006-08-16  Mauro Tortonesi  <mauro@ferrara.linux.it>
3531
3532         * http.c: Fixed bug which broke --continue feature. Now if -c is
3533         given, http_loop sends a HEAD request to find out the destination
3534         filename before resuming download.
3535
3536 2006-08-08  Hrvoje Niksic  <hniksic@xemacs.org>
3537
3538         * utils.c (datetime_str): Avoid code repetition with time_str.
3539
3540 2006-07-21  Hrvoje Niksic  <hniksic@xemacs.org>
3541
3542         * init.c (commands): Correctly place "contentdisposition".
3543
3544 2006-07-14  Mauro Tortonesi  <mauro@ferrara.linux.it>
3545
3546         * sysdep.h: If intptr_t isn't defined, simply typedef it to long.
3547
3548         * http.c: Added explicit cast to int in logprintf call to remove
3549         compiler warnings on 64-bit platforms.
3550
3551         * connect.c: Added a few casts to intptr_t to remove compiler warnings
3552         on 64-bit platforms.
3553
3554         * main.c: Disable -r, -p and -N when -O is used. Disable -k when -O is
3555         used and multiple URLs are given. Update maintainer information.
3556
3557         * all: Update copyright information.
3558
3559 2006-07-10  KJKHyperion  <hackbunny@reactos.com>
3560
3561         * url.c (filechr_table): Mark DEL (0x7f) as a control character
3562         and | as a character Windows can't handle.
3563
3564 2006-06-28  Mauro Tortonesi  <mauro@ferrara.linux.it>
3565
3566         * res.c: Implemented is_robots_txt_url function for detection of
3567         robots.txt URLs and related test routine.
3568
3569         * res.h: Ditto.
3570
3571         * url.c: Implemented are_urls_equal function for URL comparison and
3572         related testing routine.
3573
3574         * url.h: Ditto.
3575
3576         * convert.c: Fixes for recursive spider mode: don't consider
3577         non-existing robots.txt as a broken link, and use are_urls_equal
3578         instead of strcasecmp for referrer URLs comparison.
3579
3580         * test.c: Call tests routines for are_urls_equal and
3581         is_robots_txt_url.
3582
3583 2006-06-26  Hrvoje Niksic  <hniksic@xemacs.org>
3584
3585         * wget.h (wgint): Typedef to any 64-bit (or larger) type we can
3586         find, not necessarily off_t or long.
3587
3588 2006-06-26  Hrvoje Niksic  <hniksic@xemacs.org>
3589
3590         * cmpt.c (strtoll): Check for overflow and underflow without
3591         relying on (technically) undefined behavior.  Don't assume that
3592         strtoll_type is 64 bits wide.
3593
3594 2006-06-21  Hrvoje Niksic  <hniksic@xemacs.org>
3595
3596         * utils.c (base64_encode): Cast void pointer to char * before
3597         doing arithmetic.
3598
3599 2006-06-20  Hrvoje Niksic  <hniksic@xemacs.org>
3600
3601         * utils.c (base64_encode): Made TBL const.
3602         (base64_decode): Made the base64_char_to_value table const.
3603
3604 2006-06-19  Hrvoje Niksic  <hniksic@xemacs.org>
3605
3606         * utils.c (base64_encode): Made the DATA pointer void * so the
3607         callers can pass it any kind of pointer (including both signed and
3608         unsigned char pointers).
3609         (base64_decode): Ditto for DEST.
3610
3611 2006-06-19  Hrvoje Niksic  <hniksic@xemacs.org>
3612
3613         * utils.c (base64_encode): Would read past end of STR.
3614         Reported by rick@eckle.org.
3615
3616 2006-06-13  Mauro Tortonesi  <mauro@ferrara.linux.it>
3617
3618         * options.h (struct options): Introduced member restrict_files_case to
3619         keep track of preferences on character case restrictions for
3620         filenames.
3621
3622         * init.c: Modified defaults and cmd_spec_restrict_file_names to
3623         support character case restrictions for filenames. Added
3624         test_cmd_spec_restrict_file_names unit test.
3625
3626         * url.c: Modified append_uri_pathel to support character case
3627         restrictions for filenames. Added test_append_uri_pathel unit test.
3628
3629         * test.c: Added test_cmd_spec_restrict_file_names and
3630         test_append_uri_pathel to the list of unit tests to run.
3631
3632 2006-06-12  Mauro Tortonesi  <mauro@ferrara.linux.it>
3633
3634         * retr.c (retrieve_from_file): Use retrieve_tree and automatically
3635         turn on opt.follow_ftp in case of recursive FTP retrieval through HTTP
3636         proxy.
3637
3638         * main.c: Automatically turn on opt.follow_ftp in case of recursive
3639         FTP retrieval through HTTP proxy.
3640
3641 2006-06-12  Tony Lewis  <tlewis@exelana.com>
3642
3643         * main.c: Improved CHEN Peng's patch by proposing a simpler logic.
3644
3645 2006-06-12  CHEN Peng  <chenpeng@alumni.nus.edu.sg>
3646
3647         * main.c: Use retrieve_tree in case of recursive FTP retrieval through
3648         HTTP proxy.
3649
3650 2006-05-25  Mauro Tortonesi  <mauro@ferrara.linux.it>
3651
3652         * convert.c: Added mechanisms to keep track broken links.
3653
3654         * convert.h: Ditto.
3655
3656         * wget.h: Reordered and enumerated uerr_t constants.
3657
3658         * recur.c: Fixes to support recursive spider mode.
3659
3660         * http.c: Ditto.
3661
3662         * main.c: Print broken links in case of recursive spider mode.
3663
3664         * retr.c: Changed interface of retrieve_url.
3665
3666         * retr.h: Ditto.
3667
3668         * ftp.c: Changed interface of ftp_loop.
3669
3670         * ftp.h: Ditto.
3671
3672         * res.c: Minor change to reflect changes in interface of retrieve_url.
3673
3674 2006-05-18  Lawrence Jones  <lawrence.jones@ugs.com>
3675
3676         * ftp-ls.c (ftp_parse_unix_ls): Correct size parsing, add size
3677         and filename debugging output.
3678
3679 2006-04-28  Mauro Tortonesi  <mauro@ferrara.linux.it>
3680
3681         * http.c: If Content-Disposition header is present, allow unique
3682         filename generation unless -nc is given. Permit to disable parsing of
3683         Content-Disposition header.
3684
3685         * options.h: Added option --no-content-disposition to disable parsing
3686         of HTTP Content-Disposition header.
3687
3688         * init.c: Ditto.
3689
3690         * main.c: Ditto.
3691
3692 2006-04-11  Hrvoje Niksic  <hniksic@xemacs.org>
3693
3694         * hash.c (TOLOWER): Wrap macro arg in parentheses.
3695
3696 2006-04-08  Hrvoje Niksic  <hniksic@xemacs.org>
3697
3698         * http.c (parse_content_disposition): Doc fix.
3699
3700 2006-03-15  Mauro Tortonesi  <mauro@ferrara.linux.it>
3701
3702         * utils.c: Restricted operational semantics of frontcmp and proclist
3703         from generic strings to directory names and them to subdir_p and
3704         dir_matches_p respectively.  Applied George Ogata's one line patch to
3705         restrict algorithm of subdir_p to full directory name matching.  Added
3706         testcases for subdir_p and dir_matches_p.
3707
3708         * utils.h: Changed all frontcmp occurrences to subdir_p.
3709
3710         * recur.c: Ditto.
3711
3712         * test.c: Changed type returned by test functions from char * to const
3713         char *.  Added test_subdir_p and test_dir_matches_p to the list of
3714         tests to run.
3715
3716         * http.c (test_parse_content_disposition): Changed return type from
3717         char * to const char *.
3718
3719 2006-03-14  Mauro Tortonesi  <mauro@ferrara.linux.it>
3720
3721         * recur.c (struct queue_element): Changed type of html_allowed member
3722         to bool.
3723
3724 2006-03-09  Mauro Tortonesi  <mauro@ferrara.linux.it>
3725
3726         * ftp.c (ftp_list): Try `LIST -a' command first and revert to `LIST'
3727         in case of failure.
3728
3729 2006-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
3730
3731         * hash.c (TOLOWER): Fix definition when STANDALONE.
3732         Reported by Beni Serfaty.
3733
3734 2006-03-02  Mauro Tortonesi  <mauro@ferrara.linux.it>
3735
3736         * http.c (http_loop): Fixed recursive HTTP retrieval.
3737
3738 2006-02-28  Hrvoje Niksic  <hniksic@xemacs.org>
3739
3740         * http.c (extract_param): Declare extern so it can be used from
3741         other files.
3742         (extract_param): Return error for empty name.
3743
3744 2006-02-28  Hrvoje Niksic  <hniksic@xemacs.org>
3745
3746         * url.c (find_last_char): Define in terms of memrchr.
3747
3748         * cmpt.c (memrchr): Define it on systems that don't have it.
3749
3750         * http.c (extract_param): New function for parsing header values
3751         with parameters.
3752         (parse_content_disposition): Use it.  Don't allow slashes and
3753         backslashes in the file name.
3754
3755 2006-02-27  Hrvoje Niksic  <hniksic@xemacs.org>
3756
3757         * url.c (path_simplify): Don't preserve ".." at beginning of path.
3758         Suggested by Frank McCown.
3759
3760 2006-02-25  Hrvoje Niksic  <hniksic@xemacs.org>
3761
3762         * http.c (gethttp): Only use FILE.N.html if FILE.html exists.
3763
3764 2006-02-09  Hrvoje Niksic  <hniksic@xemacs.org>
3765
3766         * mswindows.c (run_with_timeout): Made thread_hnd non-static.
3767
3768 2006-02-05  Hrvoje Niksic  <hniksic@xemacs.org>
3769
3770         * retr.c (sleep_between_retrievals): Sleep at a minimum of 1/2 of
3771         the specified wait period.
3772
3773 2006-02-03  Hrvoje Niksic  <hniksic@xemacs.org>
3774
3775         * utils.c (number_to_string): Don't use sprintf for printing
3776         WGINT_MIN; simply divide n by 10 and defer printing the last
3777         digit.
3778         (number_to_string): Removed the SPRINTF_WGINT macro.
3779
3780 2006-02-03  Mauro Tortonesi  <mauro@ferrara.linux.it>
3781
3782         * http.c: Fixed support for Content-Disposition header.
3783