mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Support HTTP/1.1.
This commit is contained in:
parent
a801efcd96
commit
1cee086162
226
src/ChangeLog
226
src/ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
2010-05-01 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||||
|
|
||||||
|
* http.c (request_send): Specify 1.1 as HTTP version for requests.
|
||||||
|
(skip_short_body): Accept new parameter `chunked'. New variable
|
||||||
|
`remaining_chunk_size'. Handle the chunked transfer encoding.
|
||||||
|
(gethttp): New variable `chunked_transfer_encoding`. Set `keepalive'
|
||||||
|
by default to true. Check if the server is using the chunked transfer
|
||||||
|
encoding.
|
||||||
|
|
||||||
|
* retr.h: Define `rb_chunked_transfer_encoding'.
|
||||||
|
|
||||||
|
* retr.c (fd_read_body): New variable `chunked'. New variable
|
||||||
|
`remaining_chunk_size'. Handle the chunked transfer encoding.
|
||||||
|
|
||||||
2010-03-04 Steven Schubiger <stsc@member.fsf.org>
|
2010-03-04 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* ftp.c (ftp_loop_internal): Omit input file from being
|
* ftp.c (ftp_loop_internal): Omit input file from being
|
||||||
@ -22,7 +36,7 @@
|
|||||||
|
|
||||||
2010-03-01 Steven Schubiger <stsc@member.fsf.org>
|
2010-03-01 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* retr.c (retrieve_url): Retrieve the local filename from ftp_loop.
|
* retr.c (retrieve_url): Retrieve the local filename from ftp_loop.
|
||||||
(retrieve_from_file): Return if there's no input file.
|
(retrieve_from_file): Return if there's no input file.
|
||||||
|
|
||||||
* ftp.c (ftp_loop_internal): Duplicate the local filename into
|
* ftp.c (ftp_loop_internal): Duplicate the local filename into
|
||||||
@ -31,7 +45,7 @@
|
|||||||
reference to the local filename, elsewhere with NULL.
|
reference to the local filename, elsewhere with NULL.
|
||||||
|
|
||||||
* ftp.h: Adjust declaration of ftp_loop.
|
* ftp.h: Adjust declaration of ftp_loop.
|
||||||
|
|
||||||
2010-01-27 Paul Townsend <aab@purdue.edu> (tiny change)
|
2010-01-27 Paul Townsend <aab@purdue.edu> (tiny change)
|
||||||
|
|
||||||
* retr.c (fd_read_body): Be sure to measure timer when time has
|
* retr.c (fd_read_body): Be sure to measure timer when time has
|
||||||
@ -172,7 +186,7 @@
|
|||||||
|
|
||||||
2009-09-08 Steven Schubiger <stsc@member.fsf.org>
|
2009-09-08 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* main.c, init.c: Mark the --preserve-permissions and
|
* main.c, init.c: Mark the --preserve-permissions and
|
||||||
--html-extension option as deprecated.
|
--html-extension option as deprecated.
|
||||||
|
|
||||||
2009-09-06 Micah Cowan <micah@cowan.name>
|
2009-09-06 Micah Cowan <micah@cowan.name>
|
||||||
@ -244,7 +258,7 @@
|
|||||||
(http_loop): Handle newly-created VERIFCERTERR error code.
|
(http_loop): Handle newly-created VERIFCERTERR error code.
|
||||||
|
|
||||||
* exits.c, exits.h: Newly added.
|
* exits.c, exits.h: Newly added.
|
||||||
|
|
||||||
* Makefile.am (wget_SOURCES): Add exits.c and exits.h.
|
* Makefile.am (wget_SOURCES): Add exits.c and exits.h.
|
||||||
|
|
||||||
2009-08-27 Micah Cowan <micah@cowan.name>
|
2009-08-27 Micah Cowan <micah@cowan.name>
|
||||||
@ -279,7 +293,7 @@
|
|||||||
* main.c (option_data): Rename --html-extension to
|
* main.c (option_data): Rename --html-extension to
|
||||||
--adjust-extension.
|
--adjust-extension.
|
||||||
(print_help): Ditto.
|
(print_help): Ditto.
|
||||||
|
|
||||||
* options.h (struct option): Rename html_extension to
|
* options.h (struct option): Rename html_extension to
|
||||||
adjust_extension.
|
adjust_extension.
|
||||||
* http.c (gethttp): Ditto.
|
* http.c (gethttp): Ditto.
|
||||||
@ -352,7 +366,7 @@
|
|||||||
|
|
||||||
* wget.h (ORIG_SFX): Macro added, to supply an alternative "_orig"
|
* wget.h (ORIG_SFX): Macro added, to supply an alternative "_orig"
|
||||||
suffix on VMS.
|
suffix on VMS.
|
||||||
|
|
||||||
* connect.c, host.c, host.h, main.c: Include "vms_ip.h" rather
|
* connect.c, host.c, host.h, main.c: Include "vms_ip.h" rather
|
||||||
than <netdb.h> on VMS systems.
|
than <netdb.h> on VMS systems.
|
||||||
|
|
||||||
@ -455,9 +469,9 @@
|
|||||||
* Makefile.am: Add a rule to generate build_info.c and list
|
* Makefile.am: Add a rule to generate build_info.c and list
|
||||||
the build_info.c.in file in EXTRA_DIST. Adjust elsewhere
|
the build_info.c.in file in EXTRA_DIST. Adjust elsewhere
|
||||||
where needed.
|
where needed.
|
||||||
|
|
||||||
* build_info.c: Remove this static source file.
|
* build_info.c: Remove this static source file.
|
||||||
|
|
||||||
* build_info.c.in: Data for generation of build_info.c.
|
* build_info.c.in: Data for generation of build_info.c.
|
||||||
|
|
||||||
2009-06-29 Micah Cowan <micah@cowan.name>
|
2009-06-29 Micah Cowan <micah@cowan.name>
|
||||||
@ -523,10 +537,10 @@
|
|||||||
* host.c: Declare h_errno if no declaration is provided. Idea
|
* host.c: Declare h_errno if no declaration is provided. Idea
|
||||||
thanks to Maciej W. Rozycki.
|
thanks to Maciej W. Rozycki.
|
||||||
|
|
||||||
2009-06-11 Xin Zou <zouxin2008@gmail.com>
|
2009-06-11 Xin Zou <zouxin2008@gmail.com>
|
||||||
|
|
||||||
* http.c (gethttp): Fix some memory leaks.
|
* http.c (gethttp): Fix some memory leaks.
|
||||||
|
|
||||||
2009-06-11 Micah Cowan <micah@cowan.name>
|
2009-06-11 Micah Cowan <micah@cowan.name>
|
||||||
|
|
||||||
* http.c (http_atotm): Handle potential for setlocale's return
|
* http.c (http_atotm): Handle potential for setlocale's return
|
||||||
@ -538,7 +552,7 @@
|
|||||||
|
|
||||||
2009-05-28 Steven Schubiger <stsc@member.fsf.org>
|
2009-05-28 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* ftp.c (ftp_get_listing): Update the "listing file"
|
* ftp.c (ftp_get_listing): Update the "listing file"
|
||||||
string after calling ftp_loop_internal().
|
string after calling ftp_loop_internal().
|
||||||
|
|
||||||
2009-05-27 Steven Schubiger <stsc@member.fsf.org>
|
2009-05-27 Steven Schubiger <stsc@member.fsf.org>
|
||||||
@ -560,7 +574,7 @@
|
|||||||
* connect.c: stdint.h inclusion added.
|
* connect.c: stdint.h inclusion added.
|
||||||
|
|
||||||
Thanks to Markus Duft <mduft@gentoo.org> for a similar patch.
|
Thanks to Markus Duft <mduft@gentoo.org> for a similar patch.
|
||||||
|
|
||||||
2009-04-20 Micah Cowan <micah@cowan.name>
|
2009-04-20 Micah Cowan <micah@cowan.name>
|
||||||
|
|
||||||
* Makefile.am (version.c): Fix unportable use of "echo -n".
|
* Makefile.am (version.c): Fix unportable use of "echo -n".
|
||||||
@ -569,14 +583,14 @@
|
|||||||
|
|
||||||
* ftp.c (ftp_retrieve_list): Move the duplicated code that
|
* ftp.c (ftp_retrieve_list): Move the duplicated code that
|
||||||
determines the local file to a function.
|
determines the local file to a function.
|
||||||
|
|
||||||
* http.c (http_loop): Likewise.
|
* http.c (http_loop): Likewise.
|
||||||
|
|
||||||
* retr.c (set_local_file): New function.
|
* retr.c (set_local_file): New function.
|
||||||
|
|
||||||
2009-04-11 Steven Schubiger <stsc@member.fsf.org>
|
2009-04-11 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* init.c (initialize): Run a custom SYSTEM_WGETRC when
|
* init.c (initialize): Run a custom SYSTEM_WGETRC when
|
||||||
provided as an environment variable.
|
provided as an environment variable.
|
||||||
|
|
||||||
2009-02-27 Gisle Vanem <gvanem@broadpark.no>
|
2009-02-27 Gisle Vanem <gvanem@broadpark.no>
|
||||||
@ -593,7 +607,7 @@
|
|||||||
|
|
||||||
2009-02-21 Steven Schubiger <stsc@member.fsf.org>
|
2009-02-21 Steven Schubiger <stsc@member.fsf.org>
|
||||||
|
|
||||||
* http.c (http_loop): When a document is written to
|
* http.c (http_loop): When a document is written to
|
||||||
standard output, don't claim it has been saved to a file.
|
standard output, don't claim it has been saved to a file.
|
||||||
Addresses bug #20520.
|
Addresses bug #20520.
|
||||||
|
|
||||||
@ -623,7 +637,7 @@
|
|||||||
* main.c: Declare and initialize the numurls counter.
|
* main.c: Declare and initialize the numurls counter.
|
||||||
|
|
||||||
* ftp.c, http.c: Make the counter visible here and use it.
|
* ftp.c, http.c: Make the counter visible here and use it.
|
||||||
|
|
||||||
* options.h: Remove old declaration from options struct.
|
* options.h: Remove old declaration from options struct.
|
||||||
|
|
||||||
2008-11-15 Steven Schubiger <stsc@members.fsf.org>
|
2008-11-15 Steven Schubiger <stsc@members.fsf.org>
|
||||||
@ -632,7 +646,7 @@
|
|||||||
|
|
||||||
2008-11-14 Steven Schubiger <stsc@members.fsf.org>
|
2008-11-14 Steven Schubiger <stsc@members.fsf.org>
|
||||||
|
|
||||||
* main.c (format_and_print_line): Use a custom format
|
* main.c (format_and_print_line): Use a custom format
|
||||||
string for printing leading spaces.
|
string for printing leading spaces.
|
||||||
|
|
||||||
2008-11-12 Micah Cowan <micah@cowan.name>
|
2008-11-12 Micah Cowan <micah@cowan.name>
|
||||||
@ -684,7 +698,7 @@
|
|||||||
2008-09-09 Gisle Vanem <gvanem@broadpark.no>
|
2008-09-09 Gisle Vanem <gvanem@broadpark.no>
|
||||||
|
|
||||||
* url.c (url_error): Use aprintf, not asprintf.
|
* url.c (url_error): Use aprintf, not asprintf.
|
||||||
|
|
||||||
2008-09-09 Micah Cowan <micah@cowan.name>
|
2008-09-09 Micah Cowan <micah@cowan.name>
|
||||||
|
|
||||||
* init.c (home_dir): Save the calculated value for home,
|
* init.c (home_dir): Save the calculated value for home,
|
||||||
@ -1029,7 +1043,7 @@
|
|||||||
2008-04-22 Rabin Vincent <rabin@rab.in>
|
2008-04-22 Rabin Vincent <rabin@rab.in>
|
||||||
|
|
||||||
* ftp.c (ftp_get_listing): Only remove .listing if it has been
|
* ftp.c (ftp_get_listing): Only remove .listing if it has been
|
||||||
created.
|
created.
|
||||||
|
|
||||||
2008-04-22 Alain Guibert <alguibert+bts@free.fr>
|
2008-04-22 Alain Guibert <alguibert+bts@free.fr>
|
||||||
|
|
||||||
@ -1061,7 +1075,7 @@
|
|||||||
|
|
||||||
2008-04-16 Steven Schubiger <schubiger@gmail.com>
|
2008-04-16 Steven Schubiger <schubiger@gmail.com>
|
||||||
|
|
||||||
* sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
|
* sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
|
||||||
out, because they're now defined independently by config.h.
|
out, because they're now defined independently by config.h.
|
||||||
|
|
||||||
2008-04-14 Steven Schubiger <schubiger@gmail.com>
|
2008-04-14 Steven Schubiger <schubiger@gmail.com>
|
||||||
@ -1089,7 +1103,7 @@
|
|||||||
|
|
||||||
* utils.c (aprintf): Now we are setting limits (1 Mb) for text
|
* utils.c (aprintf): Now we are setting limits (1 Mb) for text
|
||||||
buffer when we use non-C99 vsnprintf.
|
buffer when we use non-C99 vsnprintf.
|
||||||
|
|
||||||
2008-04-11 Micah Cowan <micah@cowan.name>
|
2008-04-11 Micah Cowan <micah@cowan.name>
|
||||||
|
|
||||||
* ftp.c (getftp, ftp_loop_internal): Don't append to an existing
|
* ftp.c (getftp, ftp_loop_internal): Don't append to an existing
|
||||||
@ -1321,7 +1335,7 @@
|
|||||||
* Makefile.am: Converted from Makefile.in.
|
* Makefile.am: Converted from Makefile.in.
|
||||||
|
|
||||||
2007-10-02 Gisle Vanem <gvanem@broadpark.no>
|
2007-10-02 Gisle Vanem <gvanem@broadpark.no>
|
||||||
|
|
||||||
* ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
|
* ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
|
||||||
|
|
||||||
* url.c: Update comment for 'filechr_not_windows'.
|
* url.c: Update comment for 'filechr_not_windows'.
|
||||||
@ -1427,7 +1441,7 @@
|
|||||||
error code.
|
error code.
|
||||||
|
|
||||||
2007-08-21 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2007-08-21 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* http.c (http_loop): Send preliminary HEAD request if -N is given and
|
* http.c (http_loop): Send preliminary HEAD request if -N is given and
|
||||||
the destination file exists already.
|
the destination file exists already.
|
||||||
|
|
||||||
@ -1515,8 +1529,8 @@
|
|||||||
|
|
||||||
2007-07-10 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2007-07-10 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* http.c (http_loop): Fixed the HTTP requests logic. Now it skips the
|
* http.c (http_loop): Fixed the HTTP requests logic. Now it skips the
|
||||||
preliminary HEAD request if either -O or --no-content-disposition are
|
preliminary HEAD request if either -O or --no-content-disposition are
|
||||||
given, and neither --spider and -N are given.
|
given, and neither --spider and -N are given.
|
||||||
|
|
||||||
2007-07-05 Micah Cowan <micah@cowan.name>
|
2007-07-05 Micah Cowan <micah@cowan.name>
|
||||||
@ -1600,7 +1614,7 @@
|
|||||||
|
|
||||||
2006-10-12 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2006-10-12 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* convert.c (downloaded_file): Fixed bug which used to break -E -k -K
|
* convert.c (downloaded_file): Fixed bug which used to break -E -k -K
|
||||||
mode.
|
mode.
|
||||||
|
|
||||||
2006-08-28 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2006-08-28 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
@ -1654,7 +1668,7 @@
|
|||||||
* init.c (commands): Correctly place "contentdisposition".
|
* init.c (commands): Correctly place "contentdisposition".
|
||||||
|
|
||||||
2006-07-14 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2006-07-14 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* sysdep.h: If intptr_t isn't defined, simply typedef it to long.
|
* sysdep.h: If intptr_t isn't defined, simply typedef it to long.
|
||||||
|
|
||||||
* http.c: Added explicit cast to int in logprintf call to remove
|
* http.c: Added explicit cast to int in logprintf call to remove
|
||||||
@ -1662,12 +1676,12 @@
|
|||||||
|
|
||||||
* connect.c: Added a few casts to intptr_t to remove compiler warnings
|
* connect.c: Added a few casts to intptr_t to remove compiler warnings
|
||||||
on 64-bit platforms.
|
on 64-bit platforms.
|
||||||
|
|
||||||
* main.c: Disable -r, -p and -N when -O is used. Disable -k when -O is
|
* main.c: Disable -r, -p and -N when -O is used. Disable -k when -O is
|
||||||
used and multiple URLs are given. Update maintainer information.
|
used and multiple URLs are given. Update maintainer information.
|
||||||
|
|
||||||
* all: Update copyright information.
|
* all: Update copyright information.
|
||||||
|
|
||||||
2006-07-10 KJKHyperion <hackbunny@reactos.com>
|
2006-07-10 KJKHyperion <hackbunny@reactos.com>
|
||||||
|
|
||||||
* url.c (filechr_table): Mark DEL (0x7f) as a control character
|
* url.c (filechr_table): Mark DEL (0x7f) as a control character
|
||||||
@ -1689,7 +1703,7 @@
|
|||||||
non-existing robots.txt as a broken link, and use are_urls_equal
|
non-existing robots.txt as a broken link, and use are_urls_equal
|
||||||
instead of strcasecmp for referrer URLs comparison.
|
instead of strcasecmp for referrer URLs comparison.
|
||||||
|
|
||||||
* test.c: Call tests routines for are_urls_equal and
|
* test.c: Call tests routines for are_urls_equal and
|
||||||
is_robots_txt_url.
|
is_robots_txt_url.
|
||||||
|
|
||||||
2006-06-26 Hrvoje Niksic <hniksic@xemacs.org>
|
2006-06-26 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
@ -1798,7 +1812,7 @@
|
|||||||
of HTTP Content-Disposition header.
|
of HTTP Content-Disposition header.
|
||||||
|
|
||||||
* init.c: Ditto.
|
* init.c: Ditto.
|
||||||
|
|
||||||
* main.c: Ditto.
|
* main.c: Ditto.
|
||||||
|
|
||||||
2006-04-11 Hrvoje Niksic <hniksic@xemacs.org>
|
2006-04-11 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
@ -1818,21 +1832,21 @@
|
|||||||
testcases for subdir_p and dir_matches_p.
|
testcases for subdir_p and dir_matches_p.
|
||||||
|
|
||||||
* utils.h: Changed all frontcmp occurrences to subdir_p.
|
* utils.h: Changed all frontcmp occurrences to subdir_p.
|
||||||
|
|
||||||
* recur.c: Ditto.
|
* recur.c: Ditto.
|
||||||
|
|
||||||
* test.c: Changed type returned by test functions from char * to const
|
* test.c: Changed type returned by test functions from char * to const
|
||||||
char *. Added test_subdir_p and test_dir_matches_p to the list of
|
char *. Added test_subdir_p and test_dir_matches_p to the list of
|
||||||
tests to run.
|
tests to run.
|
||||||
|
|
||||||
* http.c (test_parse_content_disposition): Changed return type from
|
* http.c (test_parse_content_disposition): Changed return type from
|
||||||
char * to const char *.
|
char * to const char *.
|
||||||
|
|
||||||
2006-03-14 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2006-03-14 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* recur.c (struct queue_element): Changed type of html_allowed member
|
* recur.c (struct queue_element): Changed type of html_allowed member
|
||||||
to bool.
|
to bool.
|
||||||
|
|
||||||
2006-03-09 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2006-03-09 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* ftp.c (ftp_list): Try `LIST -a' command first and revert to `LIST'
|
* ftp.c (ftp_list): Try `LIST -a' command first and revert to `LIST'
|
||||||
@ -1909,7 +1923,7 @@
|
|||||||
|
|
||||||
2005-12-07 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-12-07 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* http.c: Fixed pre-download verbose output which was broken by
|
* http.c: Fixed pre-download verbose output which was broken by
|
||||||
HTTP code refactoring.
|
HTTP code refactoring.
|
||||||
|
|
||||||
2005-11-23 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-11-23 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
@ -1917,7 +1931,7 @@
|
|||||||
* http.c: Refactored HTTP code. If -O is not used, the new code
|
* http.c: Refactored HTTP code. If -O is not used, the new code
|
||||||
delays the choice of the file name where the downloaded resource
|
delays the choice of the file name where the downloaded resource
|
||||||
will be saved until the HTTP headers have been retrieved.
|
will be saved until the HTTP headers have been retrieved.
|
||||||
Added support for Content-Disposition header.
|
Added support for Content-Disposition header.
|
||||||
|
|
||||||
2005-11-19 Hrvoje Niksic <hniksic@xemacs.org>
|
2005-11-19 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
@ -1934,9 +1948,9 @@
|
|||||||
* Makefile.in: Added basic support for unit testing.
|
* Makefile.in: Added basic support for unit testing.
|
||||||
|
|
||||||
* test.c: Ditto.
|
* test.c: Ditto.
|
||||||
|
|
||||||
* test.h: Ditto.
|
* test.h: Ditto.
|
||||||
|
|
||||||
2005-10-13 Daniel Stenberg <daniel@haxx.se>
|
2005-10-13 Daniel Stenberg <daniel@haxx.se>
|
||||||
|
|
||||||
* http-ntlm.c (ntlm_output): Fixed buffer overflow vulnerability.
|
* http-ntlm.c (ntlm_output): Fixed buffer overflow vulnerability.
|
||||||
@ -3040,13 +3054,13 @@
|
|||||||
the new ftppassword, httppassword and proxypassword commands
|
the new ftppassword, httppassword and proxypassword commands
|
||||||
respectively. Document the --user and --password options in the help
|
respectively. Document the --user and --password options in the help
|
||||||
string.
|
string.
|
||||||
|
|
||||||
2005-04-27 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-04-27 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* ftp.c: Add support for --user and --password.
|
* ftp.c: Add support for --user and --password.
|
||||||
|
|
||||||
* http.c: Add support for --user and --password.
|
* http.c: Add support for --user and --password.
|
||||||
|
|
||||||
* init.c: Deprecated ftppasswd, httppasswd, login, passwd and
|
* init.c: Deprecated ftppasswd, httppasswd, login, passwd and
|
||||||
proxypasswd commands. Added ftppassword, ftpuser, httppassword,
|
proxypasswd commands. Added ftppassword, ftpuser, httppassword,
|
||||||
password, proxypassword and user commands.
|
password, proxypassword and user commands.
|
||||||
@ -3055,7 +3069,7 @@
|
|||||||
--http-password, --password, --proxy-password and --user. Deprecated
|
--http-password, --password, --proxy-password and --user. Deprecated
|
||||||
--http-passwd and --proxy-passwd. Added documentation for new options
|
--http-passwd and --proxy-passwd. Added documentation for new options
|
||||||
and removed documentation for deprecated options in the help string.
|
and removed documentation for deprecated options in the help string.
|
||||||
|
|
||||||
* options.h (struct options): Added user and passwd members to handle
|
* options.h (struct options): Added user and passwd members to handle
|
||||||
--user and --password respectively. Renamed ftp_acc and ftp_pass
|
--user and --password respectively. Renamed ftp_acc and ftp_pass
|
||||||
members to ftp_user and ftp_passwd for consistency.
|
members to ftp_user and ftp_passwd for consistency.
|
||||||
@ -3452,7 +3466,7 @@
|
|||||||
2005-04-04 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-04-04 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* string_t.c: Removed.
|
* string_t.c: Removed.
|
||||||
|
|
||||||
* string_t.h: Removed.
|
* string_t.h: Removed.
|
||||||
|
|
||||||
2005-04-02 Hrvoje Niksic <hniksic@xemacs.org>
|
2005-04-02 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
@ -3822,22 +3836,22 @@
|
|||||||
* init.c: Renamed command passwd to ftppasswd.
|
* init.c: Renamed command passwd to ftppasswd.
|
||||||
|
|
||||||
2005-02-11 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-02-11 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* string_t.c: Fixed a bug in do_escape and triggered escape of
|
* string_t.c: Fixed a bug in do_escape and triggered escape of
|
||||||
backslashes in string_escape to avoid ambiguities in the result
|
backslashes in string_escape to avoid ambiguities in the result
|
||||||
string.
|
string.
|
||||||
|
|
||||||
2005-02-10 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2005-02-10 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* string.h: Renamed to string_t.h to fix a compilation conflict
|
* string.h: Renamed to string_t.h to fix a compilation conflict
|
||||||
with the string.h header in the standard C library.
|
with the string.h header in the standard C library.
|
||||||
|
|
||||||
* string.c: Renamed to string_t.c for consistency with string.h.
|
* string.c: Renamed to string_t.c for consistency with string.h.
|
||||||
|
|
||||||
* string_t.c: Ditto.
|
* string_t.c: Ditto.
|
||||||
|
|
||||||
* string_t.h: Ditto.
|
* string_t.h: Ditto.
|
||||||
|
|
||||||
2004-12-31 Mauro Tortonesi <mauro@ferrara.linux.it>
|
2004-12-31 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* string.c: New file.
|
* string.c: New file.
|
||||||
@ -5128,7 +5142,7 @@
|
|||||||
before statements.
|
before statements.
|
||||||
|
|
||||||
2003-10-02 Gisle Vanem <giva@bgnett.no>
|
2003-10-02 Gisle Vanem <giva@bgnett.no>
|
||||||
|
|
||||||
* mswindows.c (run_with_timeout): For Windows: Run the 'fun' in a
|
* mswindows.c (run_with_timeout): For Windows: Run the 'fun' in a
|
||||||
thread via a helper function. Continually query the thread's
|
thread via a helper function. Continually query the thread's
|
||||||
exit-code until finished or timed out.
|
exit-code until finished or timed out.
|
||||||
@ -6455,9 +6469,9 @@
|
|||||||
|
|
||||||
2001-12-04 Herold Heiko <Heiko.Herold@previnet.it>
|
2001-12-04 Herold Heiko <Heiko.Herold@previnet.it>
|
||||||
|
|
||||||
* gen_sslfunc.c: on windows provide ssl crypto random
|
* gen_sslfunc.c: on windows provide ssl crypto random
|
||||||
initialization through RAND_screen(); could possibly
|
initialization through RAND_screen(); could possibly
|
||||||
be not enough for strong ssl communication (see the
|
be not enough for strong ssl communication (see the
|
||||||
relevant manual page from the openssl package).
|
relevant manual page from the openssl package).
|
||||||
|
|
||||||
2001-12-04 Hrvoje Niksic <hniksic@arsdigita.com>
|
2001-12-04 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
@ -6873,7 +6887,7 @@
|
|||||||
* retr.c (register_all_redirections): New function.
|
* retr.c (register_all_redirections): New function.
|
||||||
(register_redirections_mapper): Ditto.
|
(register_redirections_mapper): Ditto.
|
||||||
(retrieve_url): Register the redirections.
|
(retrieve_url): Register the redirections.
|
||||||
(retrieve_url): Make the string "Error parsing proxy ..."
|
(retrieve_url): Make the string "Error parsing proxy ..."
|
||||||
translatable.
|
translatable.
|
||||||
|
|
||||||
* res.c (add_path): Strip leading slash from robots.txt paths so
|
* res.c (add_path): Strip leading slash from robots.txt paths so
|
||||||
@ -7068,7 +7082,7 @@
|
|||||||
|
|
||||||
* main.c: Remove --wait / --waitretry backwards compatibility
|
* main.c: Remove --wait / --waitretry backwards compatibility
|
||||||
code.
|
code.
|
||||||
|
|
||||||
2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
|
2001-11-19 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
|
|
||||||
* main.c (main): Use it.
|
* main.c (main): Use it.
|
||||||
@ -7561,7 +7575,7 @@
|
|||||||
2001-04-10 Jan Prikryl <prikryl@cg.tuwien.ac.at>
|
2001-04-10 Jan Prikryl <prikryl@cg.tuwien.ac.at>
|
||||||
|
|
||||||
* ftp.c (getftp): Convert initial FTP directory from VMS to UNIX
|
* ftp.c (getftp): Convert initial FTP directory from VMS to UNIX
|
||||||
notation for VMS servers.
|
notation for VMS servers.
|
||||||
(ftp_retrieve_dirs): Do not prepend '/' to f->name when
|
(ftp_retrieve_dirs): Do not prepend '/' to f->name when
|
||||||
odir is an empty string.
|
odir is an empty string.
|
||||||
|
|
||||||
@ -7821,7 +7835,7 @@
|
|||||||
|
|
||||||
* Makefile.in: Include @SSL_INCLUDES@ substition in INCLUDES.
|
* Makefile.in: Include @SSL_INCLUDES@ substition in INCLUDES.
|
||||||
Define top_builddir. Link wget with libtool so the user doesn't
|
Define top_builddir. Link wget with libtool so the user doesn't
|
||||||
have to supply a bunch of custom environment variables to
|
have to supply a bunch of custom environment variables to
|
||||||
correctly link with the OpenSSL shared libraries.
|
correctly link with the OpenSSL shared libraries.
|
||||||
|
|
||||||
2001-03-06 Hack Kampbjorn <hack@hackdata.com>
|
2001-03-06 Hack Kampbjorn <hack@hackdata.com>
|
||||||
@ -7831,7 +7845,7 @@
|
|||||||
|
|
||||||
* url.c: move the #define of DEFAULT_HTTP_PORT, DEFAULT_FTP_PORT
|
* url.c: move the #define of DEFAULT_HTTP_PORT, DEFAULT_FTP_PORT
|
||||||
and DEFAULT_HTTPS_PORT to the header file so it can be use in the
|
and DEFAULT_HTTPS_PORT to the header file so it can be use in the
|
||||||
rest of the code.
|
rest of the code.
|
||||||
* url.h: Ditto
|
* url.h: Ditto
|
||||||
|
|
||||||
2001-03-01 Jonas Jensen <bones@huleboer.dk>
|
2001-03-01 Jonas Jensen <bones@huleboer.dk>
|
||||||
@ -7860,29 +7874,29 @@
|
|||||||
listing without correct permissons).
|
listing without correct permissons).
|
||||||
|
|
||||||
* ftp.h (stype): Added ST_MACOS to identify the NetPresenz MacOS
|
* ftp.h (stype): Added ST_MACOS to identify the NetPresenz MacOS
|
||||||
FTP server.
|
FTP server.
|
||||||
|
|
||||||
* ftp.c (ftp_retrieve_list): New mirroring logic: A remote file
|
* ftp.c (ftp_retrieve_list): New mirroring logic: A remote file
|
||||||
shall be donwloaded only when it's newer than the local copy or
|
shall be donwloaded only when it's newer than the local copy or
|
||||||
when it has the same timeestamp but its size is different. ST_VMS
|
when it has the same timeestamp but its size is different. ST_VMS
|
||||||
and ST_MACOS as special cases that lie about file size.
|
and ST_MACOS as special cases that lie about file size.
|
||||||
|
|
||||||
* ftp-ls.c (ftp_parse_ls): Support for ST_MACOS.
|
* ftp-ls.c (ftp_parse_ls): Support for ST_MACOS.
|
||||||
|
|
||||||
* Makefile.in: Removed dependency on ftpparse library due to unclear
|
* Makefile.in: Removed dependency on ftpparse library due to unclear
|
||||||
copyright issues and absence of any feedback to our queries.
|
copyright issues and absence of any feedback to our queries.
|
||||||
|
|
||||||
* ftp-ls.c: Removed dependency on ftpparse library due to unclear
|
* ftp-ls.c: Removed dependency on ftpparse library due to unclear
|
||||||
copyright issues and absence of any feedback to our queries.
|
copyright issues and absence of any feedback to our queries.
|
||||||
(ftp_parse_ls): Added a warning message when remote server system
|
(ftp_parse_ls): Added a warning message when remote server system
|
||||||
does not seem to be suported by wget.
|
does not seem to be suported by wget.
|
||||||
(ftp_parse_vms_ls): New function for parsing VMS ftp
|
(ftp_parse_vms_ls): New function for parsing VMS ftp
|
||||||
server listing output.
|
server listing output.
|
||||||
(clean_line): New function responsible for removing
|
(clean_line): New function responsible for removing
|
||||||
end-of-line characters from FTP listing texts.
|
end-of-line characters from FTP listing texts.
|
||||||
|
|
||||||
* ftp.c (getftp): Global variables pwd and host_type are now
|
* ftp.c (getftp): Global variables pwd and host_type are now
|
||||||
member of the ccon structure under names ccon.id and ccon.rs.
|
member of the ccon structure under names ccon.id and ccon.rs.
|
||||||
|
|
||||||
* ftp.h (struct ccon): Added formed global variables from ftp.c,
|
* ftp.h (struct ccon): Added formed global variables from ftp.c,
|
||||||
enum stype rs (remote system identification) and char *id (initial
|
enum stype rs (remote system identification) and char *id (initial
|
||||||
@ -8007,7 +8021,7 @@
|
|||||||
looking at the dates would make you think that things went into
|
looking at the dates would make you think that things went into
|
||||||
1.6 that actually just went into the 1.7-dev branch. Added "[Not
|
1.6 that actually just went into the 1.7-dev branch. Added "[Not
|
||||||
in 1.6 branch.]" where appropriate to clarify.
|
in 1.6 branch.]" where appropriate to clarify.
|
||||||
|
|
||||||
2000-12-30 Dan Harkless <wget@harkless.org>
|
2000-12-30 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* ftp.c, http.c: Applied Hack Kampbjørn <hack@hackdata.com>'s
|
* ftp.c, http.c: Applied Hack Kampbjørn <hack@hackdata.com>'s
|
||||||
@ -8180,7 +8194,7 @@
|
|||||||
* ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
|
* ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
|
||||||
FTP servers.
|
FTP servers.
|
||||||
|
|
||||||
* ftp.c: New static wariables host_type, pwd, and pwd_len.
|
* ftp.c: New static wariables host_type, pwd, and pwd_len.
|
||||||
(getftp): Support for VMS. Support for FTP servers that do not
|
(getftp): Support for VMS. Support for FTP servers that do not
|
||||||
place you in the root directory after login.
|
place you in the root directory after login.
|
||||||
(ftp_retrieve_list): VMS is silent about the real file size, issue
|
(ftp_retrieve_list): VMS is silent about the real file size, issue
|
||||||
@ -8263,7 +8277,7 @@
|
|||||||
* ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
|
* ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
|
||||||
FTP servers.
|
FTP servers.
|
||||||
|
|
||||||
* ftp.c: New static wariables host_type, pwd, and pwd_len.
|
* ftp.c: New static wariables host_type, pwd, and pwd_len.
|
||||||
(getftp): Support for VMS. Support for FTP servers that do not
|
(getftp): Support for VMS. Support for FTP servers that do not
|
||||||
place you in the root directory after login.
|
place you in the root directory after login.
|
||||||
(ftp_retrieve_list): VMS is silent about the real file size, issue
|
(ftp_retrieve_list): VMS is silent about the real file size, issue
|
||||||
@ -8709,36 +8723,36 @@
|
|||||||
|
|
||||||
* ftp.c (ftp_loop_internal): --delete-after wasn't implemented for
|
* ftp.c (ftp_loop_internal): --delete-after wasn't implemented for
|
||||||
files downloaded via FTP. Per a comment, .listing files were not
|
files downloaded via FTP. Per a comment, .listing files were not
|
||||||
counted towards number of bytes and files downloaded because they're
|
counted towards number of bytes and files downloaded because they're
|
||||||
deleted anyway. Well, they aren't under -nr, so count them then.
|
deleted anyway. Well, they aren't under -nr, so count them then.
|
||||||
|
|
||||||
* init.c: Manually applied Rob Mayoff's 1.5.3 patch to add
|
* init.c: Manually applied Rob Mayoff's 1.5.3 patch to add
|
||||||
--bind-address, alphabetizing, changing coding style to GNU's,
|
--bind-address, alphabetizing, changing coding style to GNU's,
|
||||||
commenting, and renaming cmd_ip_address() to cmd_address() to
|
commenting, and renaming cmd_ip_address() to cmd_address() to
|
||||||
imply hostnames also okay.
|
imply hostnames also okay.
|
||||||
|
|
||||||
* main.c (main): --delete-after didn't delete the root of the
|
* main.c (main): --delete-after didn't delete the root of the
|
||||||
tree. Ignore --convert-links if --delete-after was specified.
|
tree. Ignore --convert-links if --delete-after was specified.
|
||||||
Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
|
Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
|
||||||
fixing duplicate use of added-since-1.5.3 case value.
|
fixing duplicate use of added-since-1.5.3 case value.
|
||||||
(print_help): Clarified that --delete-after deletes local files.
|
(print_help): Clarified that --delete-after deletes local files.
|
||||||
Rob forgot to add a line for his new --bind-address option.
|
Rob forgot to add a line for his new --bind-address option.
|
||||||
|
|
||||||
* options.h (struct options): Manually applied Rob Mayoff's patch
|
* options.h (struct options): Manually applied Rob Mayoff's patch
|
||||||
to add --bind-address (bind_address structure member).
|
to add --bind-address (bind_address structure member).
|
||||||
|
|
||||||
* recur.c (recursive_retrieve): Improved comment; added DEBUGP().
|
* recur.c (recursive_retrieve): Improved comment; added DEBUGP().
|
||||||
Ignore --convert-links if --delete-after was specified.
|
Ignore --convert-links if --delete-after was specified.
|
||||||
|
|
||||||
* retr.c (retrieve_from_file): Just added a DEBUGP().
|
* retr.c (retrieve_from_file): Just added a DEBUGP().
|
||||||
|
|
||||||
2000-10-19 Dan Harkless <wget@harkless.org>
|
2000-10-19 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* ftp.c (ftp_loop_internal): downloaded_file() enumerators changed.
|
* ftp.c (ftp_loop_internal): downloaded_file() enumerators changed.
|
||||||
(getftp): Applied Piotr Sulecki <Piotr.Sulecki@ios.krakow.pl>'s
|
(getftp): Applied Piotr Sulecki <Piotr.Sulecki@ios.krakow.pl>'s
|
||||||
patch to work around FTP servers that incorrectly respond to the
|
patch to work around FTP servers that incorrectly respond to the
|
||||||
"REST" command with the remaining size rather than the total file size.
|
"REST" command with the remaining size rather than the total file size.
|
||||||
|
|
||||||
* http.c (gethttp): Improved a comment and added code to tack on
|
* http.c (gethttp): Improved a comment and added code to tack on
|
||||||
".html" to text/html files without that extension when -E specified.
|
".html" to text/html files without that extension when -E specified.
|
||||||
(http_loop): Use new downloaded_file() enumerators and deal with
|
(http_loop): Use new downloaded_file() enumerators and deal with
|
||||||
@ -8763,13 +8777,13 @@
|
|||||||
(downloaded_file): Now takes and returns a downloaded_file_t.
|
(downloaded_file): Now takes and returns a downloaded_file_t.
|
||||||
|
|
||||||
* wget.h (unnamed "dt" enum): Added ADDED_HTML_EXTENSION enumerator.
|
* wget.h (unnamed "dt" enum): Added ADDED_HTML_EXTENSION enumerator.
|
||||||
|
|
||||||
2000-10-09 Dan Harkless <wget@harkless.org>
|
2000-10-09 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* html.c (htmlfindurl): Added unneeded initialization to quiet warning.
|
* html.c (htmlfindurl): Added unneeded initialization to quiet warning.
|
||||||
|
|
||||||
* main.c (print_help): Clarified what --retr-symlinks does.
|
* main.c (print_help): Clarified what --retr-symlinks does.
|
||||||
|
|
||||||
2000-09-15 John Daily <jdaily@cyberdude.com>
|
2000-09-15 John Daily <jdaily@cyberdude.com>
|
||||||
|
|
||||||
* init.c: Add support for "always" and "never" values to allow
|
* init.c: Add support for "always" and "never" values to allow
|
||||||
@ -8781,21 +8795,21 @@
|
|||||||
2000-08-30 Dan Harkless <wget@harkless.org>
|
2000-08-30 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define.
|
* ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define.
|
||||||
|
|
||||||
* html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter.
|
* html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter.
|
||||||
Wrapped some > 80-column lines. When -p is specified and we're at a
|
Wrapped some > 80-column lines. When -p is specified and we're at a
|
||||||
leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than
|
leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than
|
||||||
<LINK REL="stylesheet">.
|
<LINK REL="stylesheet">.
|
||||||
|
|
||||||
* html.h (htmlfindurl): Now takes final `dash_p_leaf_HTML' parameter.
|
* html.h (htmlfindurl): Now takes final `dash_p_leaf_HTML' parameter.
|
||||||
|
|
||||||
* init.c: Added new -p / --page-requisites / page_requisites option.
|
* init.c: Added new -p / --page-requisites / page_requisites option.
|
||||||
|
|
||||||
* main.c (print_help): Clarified that -l inf and -l 0 both allow
|
* main.c (print_help): Clarified that -l inf and -l 0 both allow
|
||||||
infinite recursion. Changed the unhelpful --mirrior description
|
infinite recursion. Changed the unhelpful --mirrior description
|
||||||
to simply give the options it's equivalent to. Added new -p option.
|
to simply give the options it's equivalent to. Added new -p option.
|
||||||
(main): Added some comments; handle new -p / --page-requisites.
|
(main): Added some comments; handle new -p / --page-requisites.
|
||||||
|
|
||||||
* options.h (struct options): Added new page_requisites field.
|
* options.h (struct options): Added new page_requisites field.
|
||||||
|
|
||||||
* recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs".
|
* recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs".
|
||||||
@ -8811,7 +8825,7 @@
|
|||||||
* url.h (get_urls_html): Now takes final `dash_p_leaf_HTML' parameter.
|
* url.h (get_urls_html): Now takes final `dash_p_leaf_HTML' parameter.
|
||||||
|
|
||||||
* wget.h: Added some comments and new INFINITE_RECURSION #define.
|
* wget.h: Added some comments and new INFINITE_RECURSION #define.
|
||||||
|
|
||||||
2000-08-23 Dan Harkless <wget@harkless.org>
|
2000-08-23 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* main.c (print_help): -B / --base was not mentioned.
|
* main.c (print_help): -B / --base was not mentioned.
|
||||||
@ -8876,11 +8890,11 @@
|
|||||||
* host.c (store_hostaddress): R. K. Owen's patch introduces a
|
* host.c (store_hostaddress): R. K. Owen's patch introduces a
|
||||||
"left shift count >= width of type" warning on 32-bit
|
"left shift count >= width of type" warning on 32-bit
|
||||||
architectures. Got rid of it by tricking the compiler w/ a variable.
|
architectures. Got rid of it by tricking the compiler w/ a variable.
|
||||||
|
|
||||||
* url.c (UNSAFE_CHAR): The macro didn't include all the illegal
|
* url.c (UNSAFE_CHAR): The macro didn't include all the illegal
|
||||||
characters per RFC1738, namely everything above '~'. It also
|
characters per RFC1738, namely everything above '~'. It also
|
||||||
generated a warning on OSes where char =~ unsigned char. Fixed.
|
generated a warning on OSes where char =~ unsigned char. Fixed.
|
||||||
|
|
||||||
1998-10-17 Hrvoje Niksic <hniksic@srce.hr>
|
1998-10-17 Hrvoje Niksic <hniksic@srce.hr>
|
||||||
|
|
||||||
* http.c (http_process_type): Removed needless strdup(), a memory
|
* http.c (http_process_type): Removed needless strdup(), a memory
|
||||||
@ -8928,12 +8942,12 @@
|
|||||||
|
|
||||||
* html.c (idmatch): Implemented checking of my new --follow-tags
|
* html.c (idmatch): Implemented checking of my new --follow-tags
|
||||||
and --ignore-tags options.
|
and --ignore-tags options.
|
||||||
|
|
||||||
* init.c (commands): Added comment reminding people adding new
|
* init.c (commands): Added comment reminding people adding new
|
||||||
entries doing allocation to add corresponding freeing in cleanup().
|
entries doing allocation to add corresponding freeing in cleanup().
|
||||||
(commands): Added new followtags and ignoretags commands.
|
(commands): Added new followtags and ignoretags commands.
|
||||||
(cleanup): Free storage for new followtags and ignoretags.
|
(cleanup): Free storage for new followtags and ignoretags.
|
||||||
|
|
||||||
* main.c: Use of "comma-separated list" was random -- normalized
|
* main.c: Use of "comma-separated list" was random -- normalized
|
||||||
it. Did some alphabetization. Added comments pointing out
|
it. Did some alphabetization. Added comments pointing out
|
||||||
"Options without arguments" and "Options accepting an argument"
|
"Options without arguments" and "Options accepting an argument"
|
||||||
@ -8942,17 +8956,17 @@
|
|||||||
currently undocumented. Added comment that Heiko's --waitretry is
|
currently undocumented. Added comment that Heiko's --waitretry is
|
||||||
partially undocumented (mentioned in --help but not in
|
partially undocumented (mentioned in --help but not in
|
||||||
wget.texi). Moved improperly sorted 24, 129, and 'G' cases.
|
wget.texi). Moved improperly sorted 24, 129, and 'G' cases.
|
||||||
|
|
||||||
* options.h (struct options): Added new fields follow_tags and
|
* options.h (struct options): Added new fields follow_tags and
|
||||||
ignore_tags.
|
ignore_tags.
|
||||||
|
|
||||||
* wget.h: Added "#define EQ 0" so we can say "strcmp(a, b) == EQ".
|
* wget.h: Added "#define EQ 0" so we can say "strcmp(a, b) == EQ".
|
||||||
|
|
||||||
2000-03-02 Dan Harkless <wget@harkless.org>
|
2000-03-02 Dan Harkless <wget@harkless.org>
|
||||||
|
|
||||||
* ftp.c (ftp_loop_internal): Heiko introduced "suggest explicit
|
* ftp.c (ftp_loop_internal): Heiko introduced "suggest explicit
|
||||||
braces to avoid ambiguous `else'" warnings. Eliminated them.
|
braces to avoid ambiguous `else'" warnings. Eliminated them.
|
||||||
|
|
||||||
* http.c (gethttp): Dan Berger's query string patch is totally
|
* http.c (gethttp): Dan Berger's query string patch is totally
|
||||||
bogus. If you have two different URLs, gen_page.cgi?page1 and
|
bogus. If you have two different URLs, gen_page.cgi?page1 and
|
||||||
get_page.cgi?page2, they'll both be saved as get_page.cgi and the
|
get_page.cgi?page2, they'll both be saved as get_page.cgi and the
|
||||||
@ -8965,19 +8979,19 @@
|
|||||||
option there?).
|
option there?).
|
||||||
(http_loop): Heiko introduced "suggest explicit braces to avoid
|
(http_loop): Heiko introduced "suggest explicit braces to avoid
|
||||||
ambiguous `else'" warnings. Eliminated them.
|
ambiguous `else'" warnings. Eliminated them.
|
||||||
|
|
||||||
* main.c: Heiko's --wait / --waitretry backwards compatibility
|
* main.c: Heiko's --wait / --waitretry backwards compatibility
|
||||||
code looks to have been totally untested -- automatic variable
|
code looks to have been totally untested -- automatic variable
|
||||||
'wr' was used without being initialized, and a long int was passed
|
'wr' was used without being initialized, and a long int was passed
|
||||||
into setval()'s char* val parameter.
|
into setval()'s char* val parameter.
|
||||||
|
|
||||||
* recur.c (parse_robots): Applied Edward J. Sabol
|
* recur.c (parse_robots): Applied Edward J. Sabol
|
||||||
<sabol@alderaan.gsfc.nasa.gov>'s patch for Guan Yang's reported
|
<sabol@alderaan.gsfc.nasa.gov>'s patch for Guan Yang's reported
|
||||||
problem with "User-agent:<space>*<space>" lines in robots.txt.
|
problem with "User-agent:<space>*<space>" lines in robots.txt.
|
||||||
|
|
||||||
* url.c (parseurl, str_url): Removing Dan Berger's code (see
|
* url.c (parseurl, str_url): Removing Dan Berger's code (see
|
||||||
http.c above for explanation).
|
http.c above for explanation).
|
||||||
|
|
||||||
1999-08-25 Heiko Herold <Heiko.Herold@previnet.it>
|
1999-08-25 Heiko Herold <Heiko.Herold@previnet.it>
|
||||||
|
|
||||||
* ftp.c: Respect new option waitretry.
|
* ftp.c: Respect new option waitretry.
|
||||||
@ -9018,12 +9032,12 @@
|
|||||||
|
|
||||||
* ftp.c (ftp_loop_internal): Call new downloaded_file() function,
|
* ftp.c (ftp_loop_internal): Call new downloaded_file() function,
|
||||||
even though we don't do conversion on HTML files retrieved via
|
even though we don't do conversion on HTML files retrieved via
|
||||||
FTP, so _current_ usage of downloaded_file() makes this call unneeded.
|
FTP, so _current_ usage of downloaded_file() makes this call unneeded.
|
||||||
(ftp_retrieve_list): Added a comment saying where we need to
|
(ftp_retrieve_list): Added a comment saying where we need to
|
||||||
stat() a .orig file if FTP'd HTML file conversion is ever implemented.
|
stat() a .orig file if FTP'd HTML file conversion is ever implemented.
|
||||||
(ftp_retrieve_list): "Local file '%s' is more recent," is sometimes
|
(ftp_retrieve_list): "Local file '%s' is more recent," is sometimes
|
||||||
a lie -- reworded as "Server file no newer than local file '%s' --".
|
a lie -- reworded as "Server file no newer than local file '%s' --".
|
||||||
|
|
||||||
* http.c (http_loop): Fixed a typo and clarified a comment.
|
* http.c (http_loop): Fixed a typo and clarified a comment.
|
||||||
(http_loop): When -K and -N are specified together, compare size
|
(http_loop): When -K and -N are specified together, compare size
|
||||||
and timestamp of server file X against local file X.orig (if
|
and timestamp of server file X against local file X.orig (if
|
||||||
@ -9032,7 +9046,7 @@
|
|||||||
-- reworded as "Server file no newer than local file '%s' --".
|
-- reworded as "Server file no newer than local file '%s' --".
|
||||||
(http_loop): Call new downloaded_file() function to prevent
|
(http_loop): Call new downloaded_file() function to prevent
|
||||||
wrongful overwriting of .orig file when -N is specified.
|
wrongful overwriting of .orig file when -N is specified.
|
||||||
|
|
||||||
* url.c (convert_links): When -K specified, only rename X to
|
* url.c (convert_links): When -K specified, only rename X to
|
||||||
X.orig if downloaded_file() returns TRUE. Otherwise when we skip
|
X.orig if downloaded_file() returns TRUE. Otherwise when we skip
|
||||||
file X due to -N, we clobber an X.orig from a previous invocation.
|
file X due to -N, we clobber an X.orig from a previous invocation.
|
||||||
@ -9040,7 +9054,7 @@
|
|||||||
(convert_links): Added a note asking anyone who understands how
|
(convert_links): Added a note asking anyone who understands how
|
||||||
multiple URLs can correspond to a single file to comment it.
|
multiple URLs can correspond to a single file to comment it.
|
||||||
(downloaded_file): Added this new function.
|
(downloaded_file): Added this new function.
|
||||||
|
|
||||||
* url.h (downloaded_file): Added prototype for this new function
|
* url.h (downloaded_file): Added prototype for this new function
|
||||||
as well as its downloaded_file_t enum type.
|
as well as its downloaded_file_t enum type.
|
||||||
|
|
||||||
@ -9069,7 +9083,7 @@
|
|||||||
|
|
||||||
1998-09-21 Hrvoje Niksic <hniksic@srce.hr>
|
1998-09-21 Hrvoje Niksic <hniksic@srce.hr>
|
||||||
|
|
||||||
* host.c (ftp_getaddress): Don't warn when reverse-lookup of local
|
* host.c (ftp_getaddress): Don't warn when reverse-lookup of local
|
||||||
address doesn't yield FQDN.
|
address doesn't yield FQDN.
|
||||||
|
|
||||||
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
@ -9110,7 +9124,7 @@
|
|||||||
|
|
||||||
1998-09-10 Howard Gayle <howard@fjst.com>
|
1998-09-10 Howard Gayle <howard@fjst.com>
|
||||||
|
|
||||||
* ftp.c (ftp_retrieve_list): Don't update the time stamp of a file
|
* ftp.c (ftp_retrieve_list): Don't update the time stamp of a file
|
||||||
not retrieved.
|
not retrieved.
|
||||||
|
|
||||||
1998-06-27 Hrvoje Niksic <hniksic@srce.hr>
|
1998-06-27 Hrvoje Niksic <hniksic@srce.hr>
|
||||||
@ -10002,7 +10016,7 @@
|
|||||||
* main.c (main): Updated `--version' and `--help' output, as per
|
* main.c (main): Updated `--version' and `--help' output, as per
|
||||||
Francois Pinard's suggestions.
|
Francois Pinard's suggestions.
|
||||||
|
|
||||||
* main.c: Include locale.h; call setlocale(), bindtextdomain() and
|
* main.c: Include locale.h; call setlocale(), bindtextdomain() and
|
||||||
textdomain().
|
textdomain().
|
||||||
|
|
||||||
* config.h.in: Define stubs for I18N3.
|
* config.h.in: Define stubs for I18N3.
|
||||||
|
86
src/http.c
86
src/http.c
@ -352,7 +352,7 @@ request_send (const struct request *req, int fd)
|
|||||||
|
|
||||||
APPEND (p, req->method); *p++ = ' ';
|
APPEND (p, req->method); *p++ = ' ';
|
||||||
APPEND (p, req->arg); *p++ = ' ';
|
APPEND (p, req->arg); *p++ = ' ';
|
||||||
memcpy (p, "HTTP/1.0\r\n", 10); p += 10;
|
memcpy (p, "HTTP/1.1\r\n", 10); p += 10;
|
||||||
|
|
||||||
for (i = 0; i < req->hcount; i++)
|
for (i = 0; i < req->hcount; i++)
|
||||||
{
|
{
|
||||||
@ -901,29 +901,54 @@ parse_content_range (const char *hdr, wgint *first_byte_ptr,
|
|||||||
mode, the body is displayed for debugging purposes. */
|
mode, the body is displayed for debugging purposes. */
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
skip_short_body (int fd, wgint contlen)
|
skip_short_body (int fd, wgint contlen, bool chunked)
|
||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
SKIP_SIZE = 512, /* size of the download buffer */
|
SKIP_SIZE = 512, /* size of the download buffer */
|
||||||
SKIP_THRESHOLD = 4096 /* the largest size we read */
|
SKIP_THRESHOLD = 4096 /* the largest size we read */
|
||||||
};
|
};
|
||||||
|
wgint remaining_chunk_size = 0;
|
||||||
char dlbuf[SKIP_SIZE + 1];
|
char dlbuf[SKIP_SIZE + 1];
|
||||||
dlbuf[SKIP_SIZE] = '\0'; /* so DEBUGP can safely print it */
|
dlbuf[SKIP_SIZE] = '\0'; /* so DEBUGP can safely print it */
|
||||||
|
|
||||||
/* We shouldn't get here with unknown contlen. (This will change
|
assert (contlen != -1 || contlen);
|
||||||
with HTTP/1.1, which supports "chunked" transfer.) */
|
|
||||||
assert (contlen != -1);
|
|
||||||
|
|
||||||
/* If the body is too large, it makes more sense to simply close the
|
/* If the body is too large, it makes more sense to simply close the
|
||||||
connection than to try to read the body. */
|
connection than to try to read the body. */
|
||||||
if (contlen > SKIP_THRESHOLD)
|
if (contlen > SKIP_THRESHOLD)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
DEBUGP (("Skipping %s bytes of body: [", number_to_static_string (contlen)));
|
while (contlen > 0 || chunked)
|
||||||
|
|
||||||
while (contlen > 0)
|
|
||||||
{
|
{
|
||||||
int ret = fd_read (fd, dlbuf, MIN (contlen, SKIP_SIZE), -1);
|
int ret;
|
||||||
|
if (chunked)
|
||||||
|
{
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
{
|
||||||
|
char *line = fd_read_line (fd);
|
||||||
|
char *endl;
|
||||||
|
if (line == NULL)
|
||||||
|
{
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
remaining_chunk_size = strtol (line, &endl, 16);
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
|
if (fd_read_line (fd) == NULL)
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
contlen = MIN (remaining_chunk_size, SKIP_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUGP (("Skipping %s bytes of body: [", number_to_static_string (contlen)));
|
||||||
|
|
||||||
|
ret = fd_read (fd, dlbuf, MIN (contlen, SKIP_SIZE), -1);
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
{
|
{
|
||||||
/* Don't normally report the error since this is an
|
/* Don't normally report the error since this is an
|
||||||
@ -933,6 +958,15 @@ skip_short_body (int fd, wgint contlen)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
contlen -= ret;
|
contlen -= ret;
|
||||||
|
|
||||||
|
if (chunked)
|
||||||
|
{
|
||||||
|
remaining_chunk_size -= ret;
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
if (fd_read_line (fd) == NULL)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* Safe even if %.*s bogusly expects terminating \0 because
|
/* Safe even if %.*s bogusly expects terminating \0 because
|
||||||
we've zero-terminated dlbuf above. */
|
we've zero-terminated dlbuf above. */
|
||||||
DEBUGP (("%.*s", ret, dlbuf));
|
DEBUGP (("%.*s", ret, dlbuf));
|
||||||
@ -1537,6 +1571,9 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
is done. */
|
is done. */
|
||||||
bool keep_alive;
|
bool keep_alive;
|
||||||
|
|
||||||
|
/* Is the server using the chunked transfer encoding? */
|
||||||
|
bool chunked_transfer_encoding = false;
|
||||||
|
|
||||||
/* Whether keep-alive should be inhibited.
|
/* Whether keep-alive should be inhibited.
|
||||||
|
|
||||||
RFC 2068 requests that 1.0 clients not send keep-alive requests
|
RFC 2068 requests that 1.0 clients not send keep-alive requests
|
||||||
@ -1739,11 +1776,13 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
request_set_header (req, "Proxy-Authorization", proxyauth, rel_value);
|
request_set_header (req, "Proxy-Authorization", proxyauth, rel_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
keep_alive = false;
|
keep_alive = true;
|
||||||
|
|
||||||
/* Establish the connection. */
|
/* Establish the connection. */
|
||||||
|
|
||||||
if (!inhibit_keep_alive)
|
if (inhibit_keep_alive)
|
||||||
|
keep_alive = false;
|
||||||
|
else
|
||||||
{
|
{
|
||||||
/* Look for a persistent connection to target host, unless a
|
/* Look for a persistent connection to target host, unless a
|
||||||
proxy is used. The exception is when SSL is in use, in which
|
proxy is used. The exception is when SSL is in use, in which
|
||||||
@ -1975,15 +2014,17 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
/* Check for keep-alive related responses. */
|
/* Check for keep-alive related responses. */
|
||||||
if (!inhibit_keep_alive && contlen != -1)
|
if (!inhibit_keep_alive && contlen != -1)
|
||||||
{
|
{
|
||||||
if (resp_header_copy (resp, "Keep-Alive", NULL, 0))
|
if (resp_header_copy (resp, "Connection", hdrval, sizeof (hdrval)))
|
||||||
keep_alive = true;
|
|
||||||
else if (resp_header_copy (resp, "Connection", hdrval, sizeof (hdrval)))
|
|
||||||
{
|
{
|
||||||
if (0 == strcasecmp (hdrval, "Keep-Alive"))
|
if (0 == strcasecmp (hdrval, "Close"))
|
||||||
keep_alive = true;
|
keep_alive = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resp_header_copy (resp, "Transfer-Encoding", hdrval, sizeof (hdrval));
|
||||||
|
if (0 == strcasecmp (hdrval, "chunked"))
|
||||||
|
chunked_transfer_encoding = true;
|
||||||
|
|
||||||
/* Handle (possibly multiple instances of) the Set-Cookie header. */
|
/* Handle (possibly multiple instances of) the Set-Cookie header. */
|
||||||
if (opt.cookies)
|
if (opt.cookies)
|
||||||
{
|
{
|
||||||
@ -2010,7 +2051,8 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
if (statcode == HTTP_STATUS_UNAUTHORIZED)
|
if (statcode == HTTP_STATUS_UNAUTHORIZED)
|
||||||
{
|
{
|
||||||
/* Authorization is required. */
|
/* Authorization is required. */
|
||||||
if (keep_alive && !head_only && skip_short_body (sock, contlen))
|
if (keep_alive && !head_only
|
||||||
|
&& skip_short_body (sock, contlen, chunked_transfer_encoding))
|
||||||
CLOSE_FINISH (sock);
|
CLOSE_FINISH (sock);
|
||||||
else
|
else
|
||||||
CLOSE_INVALIDATE (sock);
|
CLOSE_INVALIDATE (sock);
|
||||||
@ -2262,7 +2304,8 @@ File %s already there; not retrieving.\n\n"), quote (hs->local_file));
|
|||||||
_("Location: %s%s\n"),
|
_("Location: %s%s\n"),
|
||||||
hs->newloc ? escnonprint_uri (hs->newloc) : _("unspecified"),
|
hs->newloc ? escnonprint_uri (hs->newloc) : _("unspecified"),
|
||||||
hs->newloc ? _(" [following]") : "");
|
hs->newloc ? _(" [following]") : "");
|
||||||
if (keep_alive && !head_only && skip_short_body (sock, contlen))
|
if (keep_alive && !head_only
|
||||||
|
&& skip_short_body (sock, contlen, chunked_transfer_encoding))
|
||||||
CLOSE_FINISH (sock);
|
CLOSE_FINISH (sock);
|
||||||
else
|
else
|
||||||
CLOSE_INVALIDATE (sock);
|
CLOSE_INVALIDATE (sock);
|
||||||
@ -2392,7 +2435,8 @@ File %s already there; not retrieving.\n\n"), quote (hs->local_file));
|
|||||||
If not, they can be worked around using
|
If not, they can be worked around using
|
||||||
`--no-http-keep-alive'. */
|
`--no-http-keep-alive'. */
|
||||||
CLOSE_FINISH (sock);
|
CLOSE_FINISH (sock);
|
||||||
else if (keep_alive && skip_short_body (sock, contlen))
|
else if (keep_alive
|
||||||
|
&& skip_short_body (sock, contlen, chunked_transfer_encoding))
|
||||||
/* Successfully skipped the body; also keep using the socket. */
|
/* Successfully skipped the body; also keep using the socket. */
|
||||||
CLOSE_FINISH (sock);
|
CLOSE_FINISH (sock);
|
||||||
else
|
else
|
||||||
@ -2493,6 +2537,10 @@ File %s already there; not retrieving.\n\n"), quote (hs->local_file));
|
|||||||
/* If the server ignored our range request, instruct fd_read_body
|
/* If the server ignored our range request, instruct fd_read_body
|
||||||
to skip the first RESTVAL bytes of body. */
|
to skip the first RESTVAL bytes of body. */
|
||||||
flags |= rb_skip_startpos;
|
flags |= rb_skip_startpos;
|
||||||
|
|
||||||
|
if (chunked_transfer_encoding)
|
||||||
|
flags |= rb_chunked_transfer_encoding;
|
||||||
|
|
||||||
hs->len = hs->restval;
|
hs->len = hs->restval;
|
||||||
hs->rd_size = 0;
|
hs->rd_size = 0;
|
||||||
hs->res = fd_read_body (sock, fp, contlen != -1 ? contlen : 0,
|
hs->res = fd_read_body (sock, fp, contlen != -1 ? contlen : 0,
|
||||||
|
44
src/retr.c
44
src/retr.c
@ -225,11 +225,15 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
|
|||||||
bool progress_interactive = false;
|
bool progress_interactive = false;
|
||||||
|
|
||||||
bool exact = !!(flags & rb_read_exactly);
|
bool exact = !!(flags & rb_read_exactly);
|
||||||
|
|
||||||
|
/* Used only by HTTP/HTTPS chunked transfer encoding. */
|
||||||
|
bool chunked = flags & rb_chunked_transfer_encoding;
|
||||||
wgint skip = 0;
|
wgint skip = 0;
|
||||||
|
|
||||||
/* How much data we've read/written. */
|
/* How much data we've read/written. */
|
||||||
wgint sum_read = 0;
|
wgint sum_read = 0;
|
||||||
wgint sum_written = 0;
|
wgint sum_written = 0;
|
||||||
|
wgint remaining_chunk_size = 0;
|
||||||
|
|
||||||
if (flags & rb_skip_startpos)
|
if (flags & rb_skip_startpos)
|
||||||
skip = startpos;
|
skip = startpos;
|
||||||
@ -269,8 +273,36 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
|
|||||||
should be read. */
|
should be read. */
|
||||||
while (!exact || (sum_read < toread))
|
while (!exact || (sum_read < toread))
|
||||||
{
|
{
|
||||||
int rdsize = exact ? MIN (toread - sum_read, dlbufsize) : dlbufsize;
|
int rdsize;
|
||||||
double tmout = opt.read_timeout;
|
double tmout = opt.read_timeout;
|
||||||
|
|
||||||
|
if (chunked)
|
||||||
|
{
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
{
|
||||||
|
char *line = fd_read_line (fd);
|
||||||
|
char *endl;
|
||||||
|
if (line == NULL)
|
||||||
|
{
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
remaining_chunk_size = strtol (line, &endl, 16);
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
|
if (fd_read_line (fd) == NULL)
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rdsize = MIN (remaining_chunk_size, dlbufsize);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
rdsize = exact ? MIN (toread - sum_read, dlbufsize) : dlbufsize;
|
||||||
|
|
||||||
if (progress_interactive)
|
if (progress_interactive)
|
||||||
{
|
{
|
||||||
/* For interactive progress gauges, always specify a ~1s
|
/* For interactive progress gauges, always specify a ~1s
|
||||||
@ -316,6 +348,16 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
|
|||||||
ret = -2;
|
ret = -2;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (chunked)
|
||||||
|
{
|
||||||
|
remaining_chunk_size -= ret;
|
||||||
|
if (remaining_chunk_size == 0)
|
||||||
|
if (fd_read_line (fd) == NULL)
|
||||||
|
{
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt.limit_rate)
|
if (opt.limit_rate)
|
||||||
|
@ -43,7 +43,10 @@ extern bool output_stream_regular;
|
|||||||
/* Flags for fd_read_body. */
|
/* Flags for fd_read_body. */
|
||||||
enum {
|
enum {
|
||||||
rb_read_exactly = 1,
|
rb_read_exactly = 1,
|
||||||
rb_skip_startpos = 2
|
rb_skip_startpos = 2,
|
||||||
|
|
||||||
|
/* Used by HTTP/HTTPS*/
|
||||||
|
rb_chunked_transfer_encoding = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
int fd_read_body (int, FILE *, wgint, wgint, wgint *, wgint *, double *, int);
|
int fd_read_body (int, FILE *, wgint, wgint, wgint *, wgint *, double *, int);
|
||||||
|
Loading…
Reference in New Issue
Block a user