2008-06-19 Xavier Saint
* html-url.c : Add "content-type" meta tag parsing for
retrieving page encoding.
* iri.h : Make no-op version of parse_charset() return
NULL.
2008-06-14 Xavier Saint
* iri.c, iri.h : New files.
* Makefile.am : Add files iri.h and conditional iri.c.
* build_info.c : Add compiled feature "iri".
* http.c : include iri.h and parse charset from Content-Type
header.
* init.c, main.c, options.h : if an options isn't supported
at compiled time, don't get rid off it and show a dummy
message instead if they are used.
2008-06-13 Micah Cowan
* build_info.c: ENABLE_NTLM, not HAVE_NTLM.
2008-06-13 Madhusudan Hosaagrahara
* Makefile.am, main.c, init.c, init.h, build_info.c: Adds build
information to the --version command line option. Fixes bug
#20636.
2008-06-01 Micah Cowan
* main.c [WINDOWS]: Reopen stdout in binary mode, when -O - is
given.
2008-05-31 Micah Cowan
* html-url.c, http.c: Avoid casts in a couple spots.
2008-05-30 Henri Häkkinen
* cookies.c, ftp-basic.c, hash.c, html-url.c, http-ntlm.c, http.c,
init.c, log.c, main.c, progress.c, ptimer.c, spider.c, url.c,
utils.c: Minor changes to silence warnings when using -Wall.
2008-05-26 Steven Schubiger
* ftp.c (getftp): Replace last remaining invocation of escnonprint
with gnulib quote.
2008-05-19 Micah Cowan
* main.c (main): Password prompt should be done only once (not
once per argument), and should be done prior to the background
fork.
2008-05-17 Steven Schubiger
* init.c (defaults): Set the preferred IP family to `none' by
default.
2008-05-17 Kenny Parnell
(cmd_spec_prefer_family): Initialize prefer_family to prefer_none.
2008-05-17 Micah Cowan
* main.c (main): Handle Ctrl-D on command-line.
2008-05-15 Steven Schubiger
* ftp.c (getftp): Verify that the file actually exists in FTP, by
checking it against the listing.
2008-05-15 Micah Cowan
* main.c (prompt_for_password): Use the quote module.
2008-05-14 Micah Cowan
* ftp.c (ftp_retrieve_list): Symlinks and other filenames
should be fully quoted.
2008-05-12 Micah Cowan
* main.c (main): Downgrade "-N with -O" to a warning, and switch
it off to avoid confusing messages.
2008-04-30 Micah Cowan
* progress.c (create_image): Fix glitch where too many spaces are
printed on lines that don't display the ETA, in multibyte
locales.
2008-04-30 Steven Schubiger
* main.c (main): New code that handles prompting for passwords
when specified explicitly via command-line option (using gnulib's
getpass-gnu module).
(main): Include the getpass header.
* init.c: Add "ask-password" to the list of recognized commands.
* options.h: Add an according boolean member to the options
struct.
* sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
out, because they're now defined independently by config.h.
2008-04-27 Rabin Vincent
* http.c (http_loop): Fix return for the case where we don't
download a file because of -nc.
2008-04-27 Micah Cowan
* url.c (path_simplify): Go back to allowing leading ".." in
paths, but only for FTP URLs.
(test_path_simplify): Add scheme-specificness to tests, adapt for
mu_run_test.
* test.c (all_tests): Add test_path_simplify.
* main.c (main): Downgrade -r, -p with -O to a warning rather than
an error; elaborate just a bit more for other -O combination
cases.
2008-04-26 Micah Cowan
* http.c (gethttp): Move proxy CONNECT handling to below the
retry_with_auth label, to deal with properly reconnecting to
proxies when we need to authenticate.
2008-04-25 Micah Cowan
* Makefile.am: -I foo -> -Ifoo.
2008-04-23 Micah Cowan
* utils.c (test_dir_matches_p): Added a test for the case
described in issue #20518.
2008-04-22 Jim Paris
* openssl.c (ssl_init): Enable combined certificate/key in
single file (apparent regression from ~1.9). Resolves issue
#22767.
2008-04-22 Steven Schubiger
* http.c (print_response_line): Changed to make responses always
be logged, even in --quiet mode, if --server-response was
specified. This is to bring http.c's handling of the situation
in line with ftp.c's.
2008-04-22 Pranab Shenoy
* init.c: Added test_commands_sorted unit test to check is
commands are sorted. Fixes bug #21245.
* test.c: Added test_commands_sorted to the test suite.
2008-04-22 Rabin Vincent
* ftp.c (ftp_get_listing): Only remove .listing if it has been
created.
2008-04-22 Alain Guibert
* test.h (mu_run_test): Move declaration before statements, for
C90 conformance. Fixes bug #22789.
2008-04-22 Mike Frysinger
* Makefile.am: Move @LIBS@ after other libraries, for better
static-linking support. Fixes bug #22143.
2008-04-16 Steven Schubiger
* ftp.c: Use Gnulib's quote function for printing filenames and
such.
* connect.c: Likewise.
* convert.c: Likewise.
* cookies.c: Likewise.
* ftp-opie.c: Likewise.
* gnutls.c: Likewise.
* init.c: Likewise.
* log.c: Likewise.
* mswindows.c: Likewise.
* openssl.c: Likewise.
* progress.c: Likewise.
* recur.c: Likewise.
* res.c: Likewise.
* utils.c: Likewise.
2008-04-16 Steven Schubiger
* sysdep.h: Comment the defines __EXTENSIONS__ and _GNU_SOURCE
out, because they're now defined independently by config.h.
2008-04-14 Steven Schubiger
* http.c: Use Gnulib's quote function for printing filenames and
such.
* wget.h: #include "quote.h".
2008-04-12 Rabin Vincent
* mswindows.c (fake_fork_child): Don't create a logfile for
--background when --quiet is used, but not --server-response.
Fixes bug #20917.
* utils.c (fork_to_background): Likewise.
2008-04-12 Micah Cowan
* utils.c (aprintf): Minor formatting changes to Alex's code (80-
column limit, concatenated string literals, avoiding nesting
levels), and removed invocation of free (since we're aborting
anyway).
2008-04-11 Alexander Dergachev
* utils.c (aprintf): Now we are setting limits (1 Mb) for text
buffer when we use non-C99 vsnprintf.
2008-04-11 Micah Cowan
* ftp.c (getftp, ftp_loop_internal): Don't append to an existing
.listing when --continue is used. Fixes bug #22825. Thanks to
Rabin Vincent for pointing the way with a
suggested fix!
2008-04-10 Alexander Dergachev
* xmalloc.c, xmalloc.h (memfatal): Now exported; accepts an
"unknown" value for the attempted allocation size.
* utils.c (aprintf): Now calls memfatal, instead of aborting.
2008-03-19 Micah Cowan
* utils.c (test_dir_matches_p): More tests related for
dir_matches_p.
2008-03-17 Micah Cowan
* connect.c: Include sys/time.h to support use of the select
function on older systems.
2008-02-11 Benno Schulenberg
* http.c: More accurate and descriptive messages for when a file
won't be retrieved during spider-mode.
2008-02-10 Micah Cowan
* http.c: Added existence_checked member to the http_stat
struct.
(gethttp): Mark hs->existence_checked when we've checked whether
a file-to-download exists; so we don't check it again if the
connection gets lost (and potentially pick a new "unique" name).
This fixes bug 22251.
* progress.c (create_image): Add space for an extra column in
the "eta" portion of the progress bar image; to deal with
too-long Czech translation.
* main.c, http.c, init.c: Added --auth-no-challenge option, to
bring back 1.10.2 unsafe auth behavior when needed. This fixes
bug #22242.
2008-02-07 Micah Cowan
* progress.c (create_image): Remove assertion on exceeding
screen width, which given the less-than-robust code there, can
be broken by a number of factors (such as large file downloads).
2008-02-06 Micah Cowan
* progress.c (countcols): Use strlen() when mbtowc or wcwidth
not available (or not using NLS).
* utils.c: Ensure we use single-byte separators when not doing
NLS progress-bars.
* wget.h: Determine whether to use NLS for progress-bars, based
on whether wcwidth and mbtowc are available.
2008-02-03 Micah Cowan
* progress.c (create_image): Use number of characters/columns
consumed, rather than number of bytes, to determine how much of
a line we've used. Fixes assertion errors and field alignment
bugs (#22161, #20481)
(get_eta, count_cols): Added to support the changes for
create_image.
* http.c (http_loop): Put no-clobber logic back into http_loop,
before starting to fetch, for when we're not doing
content-disposition.
2008-01-31 Micah Cowan
* http.c (gethttp): Don't derive hs->contlen from possibly
invalid/missing Content-Length; instead, get the appropriate
value from the Content-Range header values.
(parse_content_range): Handle '*' instance-length field.
2008-01-25 Micah Cowan
* main.c: Added notes to translators regarding (C), diacritics
in names.
* Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
cookies.c, cookies.h, ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c,
ftp.h, gen-md5.c, gen-md5.h, gnutls.c, hash.c, hash.h, host.c,
host.h, html-parse.c, html-parse.h, html-url.c, http-ntlm.c,
http-ntlm.h, http.c, http.h, init.c, init.h, log.c, log.h,
main.c, mswindows.c, mswindows.h, netrc.c, netrc.h, openssl.c,
options.h, progress.c, progress.h, ptimer.c, ptimer.h, recur.c,
recur.h, res.c, res.h, retr.c, retr.h, spider.c, spider.h,
ssl.h, sysdep.h, test.c, test.h, url.c, url.h, utils.c,
utils.h, wget.h, xmalloc.c, xmalloc.h: Updated copyright year.
2007-12-10 Micah Cowan
* main.c: The option is --content-disposition, not
--no-content-disposition (at the moment).
2007-12-08 Hrvoje Niksic
* ftp.c (ftp_retrieve_glob): Print both arguments of fnmatch in
fnmatch error message.
(ftp_retrieve_glob): Don't match with fnmatch if we're only
supposed to get one file.
2007-12-07 Micah Cowan
* Makefile.am: Plug in vars to include stuff from
$(top_srcdir)/md5 when appropriate.
2007-12-05 Micah Cowan
* utils.c (subdir_p): Handle the case where d1 is "".
* convert.c (convert_all_links): Don't return without
deallocating timer.
2007-11-28 Micah Cowan
* Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
convert.h, cookies.c, cookies.h, ftp-basic.c, ftp-ls.c,
ftp-opie.c, ftp.c, ftp.h, gen-md5.c, gen-md5.h, gnutls.c,
hash.c, hash.h, host.c, host.h, html-parse.c, html-parse.h,
html-url.c, http-ntlm.c, http-ntlm.h, http.c, http.h, init.c,
init.h, log.c, log.h, main.c, mswindows.c, mswindows.h,
netrc.c, netrc.h, openssl.c, options.h, progress.c, progress.h,
ptimer.c, ptimer.h, recur.c, recur.h, res.c, res.h, retr.c,
retr.h, safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h,
sysdep.h, test.c, test.h, url.c, url.h, utils.c, utils.h,
wget.h, xmalloc.c, xmalloc.h: Updated license exception for
OpenSSL, per the SFLC.
2007-10-30 Micah Cowan
* main.c (main): Declare argv parameter as char **argv, rather
than char *const *argv. This fixes usage of getopt_long,
regardless of whether getopt_long has a constified argv or not.
2007-10-22 Gisle Vanem
* mswindows.c: Move INHIBIT_WRAP macro definition up with wget.h
inclusion.
2007-10-18 Steven Schweda
* sysdep.h: #include as well as , to work
around a glitch on Tru64 systems.
2007-10-18 Micah Cowan
* Makefile.am: version.c should not be distributed. Removed
config-post.h. Add version.c dependency and gnulib include path
for libunittest.a.
* sysdep.h: Got contents of config-post.h
* config-post.h: Removed.
* wget.h: #include "config.h".
* alloca.c, cmpt.c, connect.c, convert.c, cookies.c,
ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c, gen-md5.c, gnutls.c,
hash.c, host.c, html-parse.c, html-url.c, http-ntlm.c, http.c,
init.c, log.c, main.c, mswindows.c, netrc.c, openssl.c,
progress.c, ptimer.c, recur.c, res.c, retr.c, spider.c, url.c,
utils.c, xmalloc.c: Use wget.h at very top, and instead of
config.h.
2007-10-15 Micah Cowan
* Makefile.am: Remove intermediary hg-id file generation, make
version.c-generation more portable.
2007-10-14 Micah Cowan
* cmpt.c, cookies.c, ftp-basic.c, ftp-ls.c, ftp.c, hash.c,
host.c, html-parse.c, html-url.c, http-ntlm.c, http.c, init.c,
log.c, main.c, netrc.c, openssl.c, res.c, url.c, utils.c,
wget.h: Replace uses of ISSPACE, etc with c_isspace, etc.
* gnu-md5.c, gnu-md5.h: Removed, in deference to gnulib.
* Makefile.am: Removed gnu-md5.h from wget_SOURCES.
* gen-md5.c: Changed #inclusion of gnu-md5.h to md5.h (gnulib's).
* recur.c (download_child_p): Print error if unlink of
robots.txt fails.
* main.c (main): --spider or --delete-after now implies
--no-directories (thanks, Josh Williams).
2007-10-14 Joshua David Williams
* recur.c (download_child_p): Remove robots.txt if
--delete-after or --spider is on.
2007-10-13 Micah Cowan
* Makefile.am: Make version.c depend on Wget dependencies (source
files, plus such things as LIBOBJS so we get things like
http-ntlm.c). Removed getopt.[ch], as we're now using gnulib for
these.
2007-10-10 Micah Cowan
* http-ntlm.c: Include openssl/opensslv.h explicitly, instead of
hoping it'll be included by accident in openssl/des.h.
2007-10-09 Gisle Vanem
* mswindows.c: 'argc' and 'argv' in 'windows_main()' are no longer
needed. Hence simply the prototype. Free 'exec_name' at exit.
2007-10-09 Micah Cowan
* gettext.h: Imported from /usr/share/gettext, fuller handling
of --disable-nls.
* wget.h: Remove logic for handling lack of NLS (now in
gettext.h).
* main.c: Use gettext's ENABLE_NLS rather than HAVE_NLS.
* Makefile.am: added @LIBINTL@ to LIBS (though it probably
belongs in LDADD, along with everything else currently assigned
to LIBS).
2007-10-08 Micah Cowan
* http.c (http_loop): Add send_head_first conditional back
around code that needs it, but not around the last-modified
header-parsing stuff this time. Removed no-longer-useful (was it
ever?) restart_loop boolean, continuing unconditionally at end
of send_head_first conditional block (if we haven't jumped out).
2007-10-04 Micah Cowan
* http.c (http_loop): We've got_name if content_disposition
support isn't on; make sure we continue properly in that case,
even though we're not sending HEAD.
* Makefile.in: Removed, replaced by Makefile.am.
* Makefile.am: Converted from Makefile.in.
2007-10-02 Gisle Vanem
* ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
* url.c: Update comment for 'filechr_not_windows'.
* utils.c: Include for 'getpid()' on Watcom.
2007-10-02 Micah Cowan
* ftp.c (getftp, ftp_loop_internal), http.c (http_loop), main
(main): Use datetime_str instead of time_str, for those who have
potentially long-running sessions. Based on suggestions by Saso
Tomat and Steven M. Schweda
.
* http.c (gethttp): Warn about host lookup failures. Adjusted
from Stephen Gildea's patch.
2007-10-02 Stephen Gildea
* connect.c (connect_to_host): Warn about host lookup failures.
2007-09-25 Micah Cowan
* Makefile.in: Use EXEEXT instead of exeext.
2007-09-24 Gisle Vanem
* connect.c, init.c, main.c, openssl.c, options.h, sysdep.h,
url.c, utils.c: Added support for building on MS-DOS.
2007-09-24 Jochen Roderburg
* http.c (http_zero): Remove no-longer-used local_size variable.
Fixes bug #21057.
2007-09-12 Micah Cowan
* http.c (http_loop): Remove send_head_first from condition for
parsing timestamp.
2007-08-29 Micah Cowan
* openssl.c (ssl_init): Re un-const-ified the meth local
variable, to match current versions of openssl.
* spider.c: Removed visited_url function, as it may be very
inefficient.
(print_broken_links): Removed traversal of referrers, until such
time as a more efficient implementation can be written.
* spider.h: Replaced declaration of visited_url with an
empty-bodied, function-like macro.
2007-08-27 Gisle Vanem
* mswindows.c (run_with_timeout): Ensure that the correct
conversion specification is used for the return result of
the GetLastError function.
* getopt.c: Fix missing (but, accidentally, legal) comment
delimiter after licensing text.
* recur.c (retrieve_tree): Inserted missing cast for strip_auth.
Includes adjustment by Ralf Wildenhues.
* openssl.c (ssl_init): const-ified the meth local variable.
* main.c: Include all the static function definitions in the
"#ifndef TESTING" clause, leaving just the definitions for
exec_name (not set), and opt.
* utils.c (run_with_timeout): Now returns bool, to align with
declaration in utils.h.
2007-08-27 Micah Cowan
* wget.h: Added macro replacement for ngettext, for environs
that lack NLS.
2007-08-26 Micah Cowan
* spider.c (print_broken_links): Fixed incorrect plurals msgid
usage, switched to use ngettext function.
2007-08-24 Micah Cowan
* http.c (http_loop): Introduced time_came_from_head boolean
flag, to help avoid parsing the same Last-Modified header twice.
Replaced spidering returns of RETRUNNEEDED for some situations,
to RETROK, as otherwise it will be interpreted as an error.
RETRUNNEEDED appears never to be referenced outside of
http.c (and wget.h), and, when returned by gethttp, is
translated by http_loop to RETROK.
* url.c (are_urls_equal): Don't call getchar_from_escaped_string
if u2 is shorter than u1.
(getchar_from_escaped_string): Don't decode reserved characters.
Handle illegally appearing '%'s as literal '%'s. Ensure hex
digits before attempting to decode.
(test_are_urls_equal): Added tests to handle u2 shorter than u1,
and %2f not treated the same as /.
* spider.c (in_url_list_p): Don't call are_urls_equal if one of
them is NULL.
2007-08-23 Joshua David Williams
* spider.c (in_url_list_p): Removed the bool verbose argument
2007-08-22 Mauro Tortonesi
* http.c (http_loop): Fall back to GET if HEAD fails with a 500 or 501
error code.
2007-08-21 Mauro Tortonesi
* http.c (http_loop): Send preliminary HEAD request if -N is given and
the destination file exists already.
2007-08-10 Mauro Tortonesi
* http.c (http_loop): Fixed HTTP HEAD requests logic when --spider is
given.
2007-08-10 Ralf Wildenhues
* url.c (append_uri_pathel): Do not assume dest string to be
zero-terminated.
(test_append_uri_pathel): Terminate string to fix test failure.
2007-08-09 Ralf Wildenhues
* url.c (url_string): Use comparison, not assignment, in
check for auth_mode == URL_AUTH_HIDE_PASSWD.
2007-08-09 Micah Cowan
* http.c (http_loop): If we got a HEAD and then a GET, and the
GET had a timestamp, use that one, not any we may have gotten
from the HEAD.
2007-08-08 Micah Cowan
* init.c (defaults): Content disposition will not be default,
since it currently results in extra round-trips.
2007-07-31 Micah Cowan
* http.c (gethttp): Set contlen = -1 when we encounter a
negative-valued Content-Length header, so we don't consider it
an internal error later on and call abort().
2007-07-29 Micah Cowan
* url.h, url.c (url_string): Replaced bool arg of the url_string
function with enum url_auth_mode, with added option to
completely remove user/pass auth information.
* http.c, ftp.c, url.c, recur.c: Adapted call to url_string
function to fit new usage.
* recur.c (retrieve_tree): Remove auth info from Referer header.
2007-07-28 Micah Cowan
* options.h, init.c, retr.c, main.c: renamed opt maxredirect
field to max_redirect, for improved consistency.
* init.c: changed max_redirect parser from cmd_number_inf to
cmd_number, as infinite redirects may not be appropriate.
Alternatively, if cmd_number_inf should be used, then
opt.max_redirect's value should be checked a bit differently in
retr.c, to allow for the "infinite" meaning of zero.
2007-07-25 Micah Cowan
* http.c (create_authorization_line)
(basic_authentication_encode, known_authentication_scheme_p)
(load_cookies): Moved declarations up.
(basic_authed_hosts): Added. Tracks what hosts have issued Basic
challenge and been given the global username, password.
(maybe_send_basic_creds): Added. Sends Basic creds for hosts that
have issued Basic challenges.
(register_basic_auth_host): Added. Instantiates
basic_authed_hosts if necessary, then registers the host that
has issued a challenge.
(gethttp) : Only send authentication credentials after
we've received a challenge from that host. This is a stop-gap
fix until a proper fix can be implemented; still isn't quite
right, as we should only be sending credentials automatically
for authenticated paths and below, and not for the entire host.
2007-07-16 Joshua David Williams
* options.h: added maxredirect to options struct
* init.c: added maxredirect to list of variables
* retr.c (retrieve_url): replaced MAX_REDIRECTIONS with opt.maxredirect
* main.c: added option --max-redirect
2007-07-16 Joshua David Williams
* test.h: tests made more verbose; now displays the name
of each test run.
2007-07-10 Mauro Tortonesi
* http.c (http_loop): Fixed the HTTP requests logic. Now it skips the
preliminary HEAD request if either -O or --no-content-disposition are
given, and neither --spider and -N are given.
2007-07-05 Micah Cowan
* cmpt.c, connect.c, connect.h, convert.c, convert.h:
* cookies.c, cookies.h, ftp-basic.c, ftp.c, ftp.h, ftp-ls.c:
* ftp-opie.c, gen-md5.c, gen-md5.h, getopt.c, getopt.h, gnu-md5.c:
* gnu-md5.h, gnutls.c, hash.c, hash.h, host.c, host.h:
* html-parse.c, html-parse.h, html-url.c, http.c, http.h:
* http-ntlm.c, http-ntlm.h, init.c, init.h, log.c, log.h, main.c:
* Makefile.in, mswindows.c, mswindows.h, netrc.c, netrc.h:
* openssl.c, options.h, progress.c, progress.h, ptimer.c:
* ptimer.h, recur.c, recur.h, res.c, res.h, retr.c, retr.h:
* safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h, sysdep.h:
* test.c, test.h, url.c, url.h, utils.c, utils.h, wget.h:
* xmalloc.c, xmalloc.h:
Updated GPL reference to version 3 or later, removed FSF
address.
2007-07-04 Mauro Tortonesi
* http.c (http_loop): Skip HEAD request and start immediately with GET
if -O is given.
2007-02-02 Hrvoje Niksic
* http.c (print_server_response): Escape non-printable characters
in server respone.
2007-02-02 Hrvoje Niksic
* netrc.c: Don't make netrc_list static, as it prevents
compilation with DEBUG_MALLOC.
* utils.c (aprintf): Don't use vasprintf when DEBUG_MALLOC is
requested because, in that case, we want the calls to malloc to be
coming from us.
2007-01-23 Hrvoje Niksic
* cookies.c (parse_set_cookie): Would erroneously discard cookies
with unparsable expiry time.
2007-01-23 Hrvoje Niksic
* progress.c (create_image): Check for ETA overflow.
(print_row_stats): Ditto.
2007-01-09 Mauro Tortonesi
* init.c (cmd_spec_prefer_family): Small fix to get rid of a gcc
warning about strict-aliasing violation.
2007-01-09 Steven M. Schweda
* ftp-basic.c (ftp_syst): Fixed segfault if response text is missing.
2006-12-29 Gisle Vanem
* mswindows.c: Avoid a warning if 'ws_hangup()' is unused.
2006-12-27 Mauro Tortonesi
* http.c (parse_content_disposition): Consider directory prefix, if
specified.
2006-11-21 Hrvoje Niksic
* retr.c (retrieve_from_file): Ditto.
(url_uses_proxy): New function.
* main.c (main): Don't check for opt.use_proxy when deciding
whether to call retrieve_url or retrieve_tree; check whether the
proxy would be used for *this* URL.
2006-10-17 Mike Grant
* ftp.c (ftp_loop_internal): Would incorrectly skip changing
working directory when retrying after a failed FTP attempt.
Originally reported by Nate Eldredge.
2006-10-12 Mauro Tortonesi
* convert.c (downloaded_file): Fixed bug which used to break -E -k -K
mode.
2006-08-28 Mauro Tortonesi
* http.c: #include'd spider.h to get rid of compiler warnings.
* main.c: Ditto.
* recur.c: Ditto.
2006-08-24 Mauro Tortonesi
* Makefile.in: Added spider.c to the list of files to compile and
spider.h to the list of header files. Updated copyright information.
* http.c: Major changes to recursive spider mode. Now for every
resource we are supposed to check, we send a HEAD request to find out
if it exists. If the resource is a HTML file, we retrieve it and parse
it to discover links to other resources.
* recur.c: Ditto.
* res.c (res_retrieve_file): Disable opt.timestamping and opt.spider
when retrieving robots.txt. Updated copyright information.
* convert.c: Moved code tracking broken links to spider.c.
* convert.h: Ditto.
* spider.c: Created new file to keep track of visited URLs in spider
mode.
* spider.h: Ditto.
2006-08-21 Mauro Tortonesi
* http.c: Fixed timestamping-related bug.
2006-08-16 Mauro Tortonesi
* http.c: Fixed bug which broke --continue feature. Now if -c is
given, http_loop sends a HEAD request to find out the destination
filename before resuming download.
2006-08-08 Hrvoje Niksic
* utils.c (datetime_str): Avoid code repetition with time_str.
2006-07-21 Hrvoje Niksic
* init.c (commands): Correctly place "contentdisposition".
2006-07-14 Mauro Tortonesi
* 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
compiler warnings on 64-bit platforms.
* connect.c: Added a few casts to intptr_t to remove compiler warnings
on 64-bit platforms.
* 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.
* all: Update copyright information.
2006-07-10 KJKHyperion
* url.c (filechr_table): Mark DEL (0x7f) as a control character
and | as a character Windows can't handle.
2006-06-28 Mauro Tortonesi
* res.c: Implemented is_robots_txt_url function for detection of
robots.txt URLs and related test routine.
* res.h: Ditto.
* url.c: Implemented are_urls_equal function for URL comparison and
related testing routine.
* url.h: Ditto.
* convert.c: Fixes for recursive spider mode: don't consider
non-existing robots.txt as a broken link, and use are_urls_equal
instead of strcasecmp for referrer URLs comparison.
* test.c: Call tests routines for are_urls_equal and
is_robots_txt_url.
2006-06-26 Hrvoje Niksic
* wget.h (wgint): Typedef to any 64-bit (or larger) type we can
find, not necessarily off_t or long.
2006-06-26 Hrvoje Niksic
* cmpt.c (strtoll): Check for overflow and underflow without
relying on (technically) undefined behavior. Don't assume that
strtoll_type is 64 bits wide.
2006-06-21 Hrvoje Niksic
* utils.c (base64_encode): Cast void pointer to char * before
doing arithmetic.
2006-06-20 Hrvoje Niksic
* utils.c (base64_encode): Made TBL const.
(base64_decode): Made the base64_char_to_value table const.
2006-06-19 Hrvoje Niksic
* utils.c (base64_encode): Made the DATA pointer void * so the
callers can pass it any kind of pointer (including both signed and
unsigned char pointers).
(base64_decode): Ditto for DEST.
2006-06-19 Hrvoje Niksic
* utils.c (base64_encode): Would read past end of STR.
Reported by rick@eckle.org.
2006-06-13 Mauro Tortonesi
* options.h (struct options): Introduced member restrict_files_case to
keep track of preferences on character case restrictions for
filenames.
* init.c: Modified defaults and cmd_spec_restrict_file_names to
support character case restrictions for filenames. Added
test_cmd_spec_restrict_file_names unit test.
* url.c: Modified append_uri_pathel to support character case
restrictions for filenames. Added test_append_uri_pathel unit test.
* test.c: Added test_cmd_spec_restrict_file_names and
test_append_uri_pathel to the list of unit tests to run.
2006-06-12 Mauro Tortonesi
* retr.c (retrieve_from_file): Use retrieve_tree and automatically
turn on opt.follow_ftp in case of recursive FTP retrieval through HTTP
proxy.
* main.c: Automatically turn on opt.follow_ftp in case of recursive
FTP retrieval through HTTP proxy.
2006-06-12 Tony Lewis
* main.c: Improved CHEN Peng's patch by proposing a simpler logic.
2006-06-12 CHEN Peng
* main.c: Use retrieve_tree in case of recursive FTP retrieval through
HTTP proxy.
2006-05-25 Mauro Tortonesi
* convert.c: Added mechanisms to keep track broken links.
* convert.h: Ditto.
* wget.h: Reordered and enumerated uerr_t constants.
* recur.c: Fixes to support recursive spider mode.
* http.c: Ditto.
* main.c: Print broken links in case of recursive spider mode.
* retr.c: Changed interface of retrieve_url.
* retr.h: Ditto.
* ftp.c: Changed interface of ftp_loop.
* ftp.h: Ditto.
* res.c: Minor change to reflect changes in interface of retrieve_url.
2006-05-18 Lawrence Jones
* ftp-ls.c (ftp_parse_unix_ls): Correct size parsing, add size
and filename debugging output.
2006-04-28 Mauro Tortonesi
* http.c: If Content-Disposition header is present, allow unique
filename generation unless -nc is given. Permit to disable parsing of
Content-Disposition header.
* options.h: Added option --no-content-disposition to disable parsing
of HTTP Content-Disposition header.
* init.c: Ditto.
* main.c: Ditto.
2006-04-11 Hrvoje Niksic
* hash.c (TOLOWER): Wrap macro arg in parentheses.
2006-04-08 Hrvoje Niksic
* http.c (parse_content_disposition): Doc fix.
2006-03-15 Mauro Tortonesi
* utils.c: Restricted operational semantics of frontcmp and proclist
from generic strings to directory names and them to subdir_p and
dir_matches_p respectively. Applied George Ogata's one line patch to
restrict algorithm of subdir_p to full directory name matching. Added
testcases for subdir_p and dir_matches_p.
* utils.h: Changed all frontcmp occurrences to subdir_p.
* recur.c: Ditto.
* 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
tests to run.
* http.c (test_parse_content_disposition): Changed return type from
char * to const char *.
2006-03-14 Mauro Tortonesi
* recur.c (struct queue_element): Changed type of html_allowed member
to bool.
2006-03-09 Mauro Tortonesi
* ftp.c (ftp_list): Try `LIST -a' command first and revert to `LIST'
in case of failure.
2006-03-06 Hrvoje Niksic
* hash.c (TOLOWER): Fix definition when STANDALONE.
Reported by Beni Serfaty.
2006-03-02 Mauro Tortonesi
* http.c (http_loop): Fixed recursive HTTP retrieval.
2006-02-28 Hrvoje Niksic
* http.c (extract_param): Declare extern so it can be used from
other files.
(extract_param): Return error for empty name.
2006-02-28 Hrvoje Niksic
* url.c (find_last_char): Define in terms of memrchr.
* cmpt.c (memrchr): Define it on systems that don't have it.
* http.c (extract_param): New function for parsing header values
with parameters.
(parse_content_disposition): Use it. Don't allow slashes and
backslashes in the file name.
2006-02-27 Hrvoje Niksic
* url.c (path_simplify): Don't preserve ".." at beginning of path.
Suggested by Frank McCown.
2006-02-25 Hrvoje Niksic
* http.c (gethttp): Only use FILE.N.html if FILE.html exists.
2006-02-09 Hrvoje Niksic
* mswindows.c (run_with_timeout): Made thread_hnd non-static.
2006-02-05 Hrvoje Niksic
* retr.c (sleep_between_retrievals): Sleep at a minimum of 1/2 of
the specified wait period.
2006-02-03 Hrvoje Niksic
* utils.c (number_to_string): Don't use sprintf for printing
WGINT_MIN; simply divide n by 10 and defer printing the last
digit.
(number_to_string): Removed the SPRINTF_WGINT macro.
2006-02-03 Mauro Tortonesi
* http.c: Fixed support for Content-Disposition header.
* test.c: Added test_parse_content_disposition to the list of unit
tests to run.
2006-02-02 Hrvoje Niksic
* hash.c: Don't define countof if it's already defined.
* hash.c: Obtain the definition of uintptr_t when standalone.
2006-01-30 Mauro Tortonesi
* http.c: Changed output format. Removed excessively verbose debugging
output.
2005-12-07 Mauro Tortonesi
* http.c: Fixed pre-download verbose output which was broken by
HTTP code refactoring.
2005-11-23 Mauro Tortonesi
* http.c: Refactored HTTP code. If -O is not used, the new code
delays the choice of the file name where the downloaded resource
will be saved until the HTTP headers have been retrieved.
Added support for Content-Disposition header.
2005-11-19 Hrvoje Niksic
* hash.c (INVALID_PTR): Use uintptr_t instead of unsigned long.
(hash_pointer): Don't assume a pointer fits in `unsigned long'.
2005-11-02 Mauro Tortonesi
* Makefile.in: Removed support for unit testing (now it is in
tests/Makefile.in).
2005-10-27 Mauro Tortonesi
* Makefile.in: Added basic support for unit testing.
* test.c: Ditto.
* test.h: Ditto.
2005-10-13 Daniel Stenberg
* http-ntlm.c (ntlm_output): Fixed buffer overflow vulnerability.
2005-10-09 Russ Allbery
* snprintf.c: Remove round to round_int and pow10 to pow10_int, to
avoid warnings from GCC 4.0.
2005-10-05 Mauro Tortonesi
* retr.c: Changed semantics of no_proxy_match.
2005-09-17 Hrvoje Niksic
* main.c (main): Don't print the summary if nothing has been downloaded.
2005-09-17 Hrvoje Niksic
* retr.c (retr_rate): Rename parameter from MSECS to SECS since it
no longer holds milliseconds.
2005-09-01 Hrvoje Niksic
* progress.c: Introduce symbolic constants for "magic" values of
0.2 and 0.9, REFRESH_INTERVAL and ETA_REFRESH_INTERVAL.
2005-08-27 Hrvoje Niksic
* cmpt.c (strtoll): Correctly handle strtoll("0x", ptr, 0) and
strtoll("0x", ptr, 0) -- in both cases *ptr must be
set to the position of 'x', not after it.
2005-08-27 Hrvoje Niksic
* hash.c (hash_table_map): Rename to hash_table_for_each and
update callers.
Document the meaning of the callback's return value.
(hash_table_iterate): New function.
(hash_table_iter_next): Likewise.
Update most places that used hash_table_for_each to use the
iteration, which doesn't require a temporary function with
explicit state management.
2005-08-26 Albert Chin
* Makefile.in: Use @datadir@. Define localedir as $(datadir)/locale.
2005-08-26 Jeremy Shapiro
* openssl.c (ssl_init): Set SSL_MODE_AUTO_RETRY.
2005-08-23 Hrvoje Niksic
* host.c (address_list_from_ipv4_addresses): Use IP_INADDR_DATA.
2005-08-12 Hrvoje Niksic
* wget.h: Renamed strtoll_return to strtoll_type.
2005-08-11 Hrvoje Niksic
* progress.c (eta_to_human_short): Switch to days when printing
more than 48h rather than 100h. (It's not immediately apparent
how many days there are in 83h.)
2005-08-11 Hrvoje Niksic
* cmpt.c (strtoll): Define it if missing on the system and if Wget
needs it.
* mswindows.c (str_to_int64): Move to cmpt.c and rename to strtoll.
2005-08-10 Hrvoje Niksic
* host.c (print_address): Always use inet_ntop when IPv6 is
enabled.
* host.h (ip_address): Simplify the data union.
2005-08-09 Hrvoje Niksic
* mswindows.c (inet_ntop): Also handle IPv4 addresses for
completeness.
2005-08-09 Hrvoje Niksic
* http.c (gethttp): Don't read more than the amount of data
specified by the content-length header.
2005-08-09 Vasil Dimov
* ftp.c (getftp): Don't free RESPLINE if ftp_response returns a
status other than FTPOK.
2005-08-04 Giuseppe Bonacci
* ftp-ls.c (ftp_parse_unix_ls): Remember the position of the
previous token instead of backtracking back to it.
2005-07-08 Gisle Vanem
* mswindows.h: Include process.h to get getpid() declaration.
2005-07-08 Hrvoje Niksic
* utils.c (aprintf): Use vasprintf where available.
2005-07-08 Hrvoje Niksic
* url.c (rewrite_shorthand_url): Simplify code using aprintf and
strspn.
2005-07-07 Hrvoje Niksic
* gnutls.c (ssl_check_certificate): Check for the validity of the
presented X509 certificate.
2005-07-07 Hrvoje Niksic
* openssl.c (ssl_check_certificate): Print custom error messages
for frequent X509 certificate problems.
2005-07-07 Hrvoje Niksic
* mswindows.h: Define an alias for stat and fstat, as requested by
config-compiler.h.
(gai_strerror): Define to windows_strerror if NEED_GAI_STRERROR is
defined.
2005-07-06 Hrvoje Niksic
* mswindows.h: Use strtoll where available.
2005-07-06 Hrvoje Niksic
* sysdep.h: Add a full declaration of fnmatch.h.
2005-07-06 Hrvoje Niksic
* utils.c: Unconditionally include .
2005-07-06 Hrvoje Niksic
* utils.c (fnmatch_nocase): New function.
(proclist): Use it instead of fnmatch when opt.ignore_case is
requested.
(in_acclist): Respect opt.ignore_case.
(frontcmp): Respect opt.ignore_case.
* options.h (struct options): New flag opt.ignore_case.
2005-07-06 Hrvoje Niksic
* ptimer.c: Measure time in seconds rather than milliseconds.
Adjusted all callers.
2005-07-06 Hrvoje Niksic
* http.c (gethttp): When freeing MESSAGE, take into account that
it can be NULL.
2005-07-05 Hrvoje Niksic
* cmpt.c (timegm): Handle years after 2099.
2005-07-05 Hrvoje Niksic
* cmpt.c (timegm): Remove unused variable.
2005-07-05 Hrvoje Niksic
* cmpt.c (timegm): Don't call mktime; simply count the seconds
between 1970-01-01 and the specified date.
2005-07-05 Hrvoje Niksic
* wget.h (or): Define HAVE_SSL when either HAVE_OPENSSL or
HAVE_GNUTLS are defined.
* gnutls.c: New file.
2005-07-05 Hrvoje Niksic
* http.c (gethttp): Don't print the request write error message
twice.
2005-07-04 Hrvoje Niksic
* openssl.c (openssl_errstr): Instead of always using a large
static buffer, only allocate the error string when there is an
actual error.
2005-07-04 Hrvoje Niksic
* xmalloc.c (debugging_free): Prefix hex pointer value with "0x"
when printing.
2005-07-04 Hrvoje Niksic
* utils.c (NEXT_BASE64_CHAR): Rename to NEXT_CHAR and simplify to
get the next non-whitespace character.
2005-07-04 Hrvoje Niksic
* utils.c (base64_decode): Don't silently tolerate non-base64
non-white-space characters in the base64 stream.
2005-07-04 Hrvoje Niksic
* connect.c (LAZY_RETRIEVE_INFO): Make last_tick unsigned to match
transport_map_modified_tick.
2005-07-04 Hrvoje Niksic
* config-post.h (alloca): Updated declaration to not enumerate all
Windows compilers.
2005-07-04 Hrvoje Niksic
* openssl.c (openssl_errstr): Separate error messages with "; ".
2005-07-03 Hrvoje Niksic
* ftp.c (getftp): Ditto.
* http.c (gethttp): Use fd_errstr.
* connect.c (fd_register_transport): Restructure parameters to
include only a single structure that describes transport
implementation.
* openssl.c (openssl_errstr): New function: dump SSL error strings
into a static buffer and return a pointer to the buffer.
* connect.c (fd_errstr): New function; returns transport-specific
error message, or strerror(errno) if transport doesn't supply one.
2005-07-03 Hrvoje Niksic
* mswindows.h: Also wrap accept() and listen().
2005-07-03 Hrvoje Niksic
* url.c (path_end): Skip separators appropriate for the scheme.
(strpbrk_or_eos): Remove gcc-specific version, as the optimization
it tried to perform no longer applies.
2005-07-02 Hrvoje Niksic
* host.c: Don't include "connect.h" now that we no longer have
socket_has_inet6.
2005-07-02 Hrvoje Niksic
* host.c: Remove extraneous definition of netdb.h.
2005-07-02 Hrvoje Niksic
* http.c (gethttp): Skip error message body in the keep-alive
case.
2005-07-02 Hrvoje Niksic
* url.c (url_parse): Would crash when parsing fragments. Support
fragments for FTP URLs too.
2005-07-02 Hrvoje Niksic
* version.c: Don't use "cvs" in version name, since we're not
using CVS anymore.
2005-07-02 Hrvoje Niksic
* progress.c (create_image): Ditto.
* retr.c (retr_rate): Display smaller rate numbers with greater
precision.
2005-07-02 Hrvoje Niksic
* http.c (response_head_terminator): Minor optimization.
* retr.c (fd_read_hunk): Call terminator with pointer to the start
of the data and the pointer to the current data. Changed all
callers.
2005-07-01 Hrvoje Niksic
* url.c (url_parse): Make sure u->params is not initialized for
http/https URLs.
(url_parse): Don't crash on garbage following []-delimited IPv6
addresses.
2005-07-01 Hrvoje Niksic
* main.c (print_help): Don't refer to the non-existent -nr in
description of --mirror.
2005-06-30 Hrvoje Niksic
* host.c (pretty_print_address): Renamed to just print_address.
Clarify documentation.
2005-06-30 Hrvoje Niksic
* http.c (gethttp): Explicitly document the different cases when
generating the Host header.
2005-06-30 Hrvoje Niksic
* host.c (pretty_print_address): Handle error result from
inet_ntop.
2005-06-30 Gisle Vanem
* mswindows.c (inet_ntop): New function. Print IPv6 addresses
using WSAAddressToString.
2005-06-27 Hrvoje Niksic
* progress.c (dot_update): Remove unused variable row_qty.
2005-06-29 Hrvoje Niksic
* main.c: Check for both SIGHUP and SIGUSR1 before using them.
2005-06-29 Hrvoje Niksic
* utils.c: Unconditionally include locale.h.
2005-06-29 Hrvoje Niksic
* ptimer.c: Include sys/time.h to get struct timeval.
2005-06-29 Hrvoje Niksic
* wget.h: Remove obsolete definition of with_thousand_seps_sum.
2005-06-29 Hrvoje Niksic
* gnu-md5.h: Unconditionally include limits.h.
2005-06-29 Hrvoje Niksic
* utils.c (random_number): Use lrand48 if available.
(random_float): Use drand48 if available.
2005-06-29 Hrvoje Niksic
* main.c (secs_to_human_time): Use print_decimal when printing
total download time in seconds.
* progress.c (print_row_stats): Use it to print total download
time at the end of the download.
(create_image): Ditto.
* utils.c (print_decimal): New function; print small decimal
numbers with more precision than large ones.
* progress.c (print_row_stats): New function. Print ETA after the
download rate at the end of each row.
2005-06-28 Hrvoje Niksic
* init.c (parse_line): Check for alphanumerics.
2005-06-28 Hrvoje Niksic
* (dot_create): Remove unnecessary casts.
2005-06-28 Hrvoje Niksic
* ftp.c (getftp): Delete trailing newlines from LIST output so
lines don't come out with trailing \015\012 with -S.
2005-06-27 Hrvoje Niksic
* mswindows.h: Remove superfluous includes.
2005-06-27 Hrvoje Niksic
* config-post.h (alloca): Amend alloca declaration to take care of
all Win32 compilers, not just MSVC and MinGW.
2005-06-27 Hrvoje Niksic
* utils.c (get_grouping_data): Force separator to "." rather than
" " when "," is taken.
2005-06-27 Hrvoje Niksic
* wget.h (PTR_FORMAT): Cast the result of sizeof to int before
passing it to printf's %*.
* retr.h: Declare output_stream and output_stream_regular.
* ftp.h: Declare ftp_last_respline.
* convert.h: Declare dl_url_file_map.
* http.h: New file.
2005-06-27 Hrvoje Niksic
* cookies.c: Make cookies_now static.
2005-06-27 Hrvoje Niksic
* utils.c (human_readable): Remove intermediary cast to long; MSVC
has problems casting *unsigned* __int64 to double.
2005-06-27 Hrvoje Niksic
* sysdep.h: Use the system-provided fnmatch by default.
2005-06-27 Hrvoje Niksic
* http.c (mktime_from_utc): Renamed to timegm and moved to cmpt.c.
Don't compile it if GNU timegm is available.
(http_atotm): Use timegm.
2005-06-27 Hrvoje Niksic
* http.c (http_atotm): Correctly query the old locale value.
2005-06-27 Hrvoje Niksic
* config-post.h (alloca): Don't #define alloca under MinGW32,
which defines it in malloc.h, included from mswindows.h.
2005-06-27 Hrvoje Niksic
* utils.c (get_grouping_data): Force the use of separators in C
locale.
2005-06-27 Hrvoje Niksic
* main.c (i18n_initialize): Set all locale categories.
* http.c (http_atotm): Temporarily set locale to "C".
2005-06-27 Hrvoje Niksic
* http.c (gethttp): Improve "POST data file missing" error
message.
2005-06-27 Hrvoje Niksic
* progress.c (set_progress_implementation): Type COLON as const
char *.
2005-06-27 Hrvoje Niksic
* utils.c (with_thousand_seps): Handle negative numbers.
2005-06-26 Hrvoje Niksic
* progress.c (create_image): Mark the "eta" string for translation.
2005-06-26 Hrvoje Niksic
* html-url.c (get_urls_file): Don't explicitly set entry->next to
NULL since entry is already zeroed out.
2005-06-26 Gisle Vanem
* mswindows.h: Define gai_strerror under MinGW.
2005-06-26 Hrvoje Niksic
* utils.c (with_thousand_seps): Correctly implement thousand seps
consisting of more than one character.
2005-06-26 Hrvoje Niksic
* main.c (secs_to_human_time): Ditto.
* progress.c (create_image): Print more exact duration of very
short downloads.
* main.c (secs_to_human_time): Don't translate time suffixes "h",
"m", and "s", which are not strictly SI, but are "accepted for use
with SI".
(secs_to_human_time): Print really small intervals as 0s, not
0.00s.
2005-06-26 Hrvoje Niksic
* config-post.h: Replace the alloca declaration with the one from
the latest Autoconf manual. This should remove a warning with GCC
on AIX.
2005-06-26 Hrvoje Niksic
* ftp.c (getftp): Always invoke SIZE, not only when continuing a
download.
* main.c (main): Ditto here.
* progress.c (create_image): When the download is finished, print
how long it took.
2005-06-26 Hrvoje Niksic
* main.c (main): Print the downloaded and quota amounts with the
"human_readable" function.
* ftp.c (print_length): Ditto.
* http.c (gethttp): Don't display thousand separators.
* utils.c (with_thousand_seps): Rewritten to respect locale
settings and to be type size agnostic.
2005-06-25 Hrvoje Niksic
* utils.c (human_readable): Divide with 1024 instead of shifting
so the operation can work with non-integer N.
2005-06-25 Hrvoje Niksic
* progress.c (eta_to_human): New logic for more human-readable
ETA.
2005-06-25 Hrvoje Niksic
* utils.c (with_thousand_seps_sum): Decrease buffer size so it
cannot overrun add_thousand_seps's buffer.
2005-06-25 Hrvoje Niksic
* utils.c (SPRINTF_WGINT): The correct format is %I64d, not just
%I64.
2005-06-25 Hrvoje Niksic