]> sjero.net Git - wget/blobdiff - doc/wget.texi
[svn] Remove the "lockable boolean" setting for passive_ftp.
[wget] / doc / wget.texi
index bb59b4d689993609e4f20521bba7e931edd8a7cc..171e495ad91d6c90192da0767deb3719afa0b3f2 100644 (file)
@@ -3,7 +3,7 @@
 @c %**start of header
 @setfilename wget.info
 @include version.texi
-@set UPDATED Jan 2005
+@set UPDATED Apr 2005
 @settitle GNU Wget @value{VERSION} Manual
 @c Disable the monstrous rectangles beside overfull hbox-es.
 @finalout
@@ -31,8 +31,7 @@ This file documents the the GNU Wget utility for downloading network
 data.
 
 @c man begin COPYRIGHT
-Copyright @copyright{} 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright @copyright{} 1996--2005 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -45,7 +44,7 @@ notice identical to this one except for the removal of this paragraph
 (this paragraph not being relevant to the printed manual).
 @end ignore
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with the
 Invariant Sections being ``GNU General Public License'' and ``GNU Free
 Documentation License'', with no Front-Cover Texts, and with no
@@ -71,8 +70,7 @@ GNU Info entry for @file{wget}.
 
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1996, 1997, 1998, 2000, 2001, 2003, 2004, 2005,
-Free Software Foundation, Inc.
+Copyright @copyright{} 1996--2005, Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
@@ -90,8 +88,7 @@ entitled ``GNU Free Documentation License''.
 This manual documents version @value{VERSION} of GNU Wget, the freely
 available utility for network downloads.
 
-Copyright @copyright{} 1996, 1997, 1998, 2000, 2001, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright @copyright{} 1996--2005 Free Software Foundation, Inc.
 
 @menu
 * Overview::            Features of Wget.
@@ -342,16 +339,18 @@ If you do not understand the difference between these notations, or do
 not know which one to use, just use the plain ordinary format you use
 with your favorite browser, like @code{Lynx} or @code{Netscape}.
 
+@c man begin OPTIONS
+
 @node Option Syntax
 @section Option Syntax
 @cindex option syntax
 @cindex syntax of options
 
-Since Wget uses GNU getopts to process its arguments, every option has a
-short form and a long form.  Long options are more convenient to
-remember, but take time to type.  You may freely mix different option
-styles, or specify options after the command-line arguments.  Thus you
-may write:
+Since Wget uses GNU getopt to process command-line arguments, every
+option has a long form along with the short one.  Long options are
+more convenient to remember, but take time to type.  You may freely
+mix different option styles, or specify options after the command-line
+arguments.  Thus you may write:
 
 @example
 wget -r --tries=10 http://fly.srk.fer.hr/ -o log
@@ -393,7 +392,29 @@ and @file{/~somebody}.  You can also clear the lists in @file{.wgetrc}
 wget -X '' -X /~nobody,/~somebody
 @end example
 
-@c man begin OPTIONS
+Most options that do not accept arguments are @dfn{boolean} options,
+so named because their state can be captured with a yes-or-no
+(``boolean'') variable.  For example, @samp{--follow-ftp} tells Wget
+to follow FTP links from HTML files and, on the other hand,
+@samp{--no-glob} tells it not to perform file globbing on FTP URLs.  A
+boolean option is either @dfn{affirmative} or @dfn{negative}
+(beginning with @samp{--no}).  All such options share several
+properties.
+
+Unless stated otherwise, it is assumed that the default behavior is
+the opposite of what the option accomplishes.  For example, the
+documented existence of @samp{--follow-ftp} assumes that the default
+is to @emph{not} follow FTP links from HTML pages.
+
+Affirmative options can be negated by prepending the @samp{--no-} to
+the option name; negative options can be negated by omitting the
+@samp{--no-} prefix.  This might seem superfluous---if the default for
+an affirmative option is to not do something, then why provide a way
+to explicitly turn it off?  But the startup file may in fact change
+the default.  For instance, using @code{follow_ftp = off} in
+@file{.wgetrc} makes Wget @emph{not} follow FTP links by default, and
+using @samp{--no-follow-ftp} is the only way to restore the factory
+default from the command line.
 
 @node Basic Startup Options
 @section Basic Startup Options
@@ -465,18 +486,22 @@ Turn on verbose output, with all the available data.  The default output
 is verbose.
 
 @item -nv
-@itemx --non-verbose
-Non-verbose output---turn off verbose without being completely quiet
-(use @samp{-q} for that), which means that error messages and basic
-information still get printed.
+@itemx --no-verbose
+Turn off verbose without being completely quiet (use @samp{-q} for
+that), which means that error messages and basic information still get
+printed.
 
 @cindex input-file
 @item -i @var{file}
 @itemx --input-file=@var{file}
-Read @sc{url}s from @var{file}, in which case no @sc{url}s need to be on
-the command line.  If there are @sc{url}s both on the command line and
-in an input file, those on the command lines will be the first ones to
-be retrieved.  The @var{file} need not be an @sc{html} document (but no
+Read @sc{url}s from @var{file}.  If @samp{-} is specified as
+@var{file}, @sc{url}s are read from the standard input.  (Use
+@samp{./-} to read from a file literally named @samp{-}.)
+
+If this function is used, no @sc{url}s need be present on the command
+line.  If there are @sc{url}s both on the command line and in an input
+file, those on the command lines will be the first ones to be
+retrieved.  The @var{file} need not be an @sc{html} document (but no
 harm if it is)---it is enough if the @sc{url}s are just listed
 sequentially.
 
@@ -506,11 +531,11 @@ links in the file specified by @samp{-i}.
 @section Download Options
 
 @table @samp
-@cindex bind() address
+@cindex bind address
 @cindex client IP address
 @cindex IP address, client
 @item --bind-address=@var{ADDRESS}
-When making client TCP/IP connections, @code{bind()} to @var{ADDRESS} on
+When making client TCP/IP connections, bind to @var{ADDRESS} on
 the local machine.  @var{ADDRESS} may be specified as a hostname or IP
 address.  This option can be useful if your machine is bound to multiple
 IPs.
@@ -527,13 +552,14 @@ which are not retried.
 
 @item -O @var{file}
 @itemx --output-document=@var{file}
-The documents will not be written to the appropriate files, but all will
-be concatenated together and written to @var{file}.  If @var{file}
-already exists, it will be overwritten.  If the @var{file} is @samp{-}, 
-the documents will be written to standard output (disabling @samp{-k}).
-Note that a combination with @samp{-k} is only well-defined for downloading
-a single document.
+The documents will not be written to the appropriate files, but all
+will be concatenated together and written to @var{file}.  If @samp{-}
+is used as @var{file}, documents will be printed to standard output,
+disabling link conversion.  (Use @samp{./-} to print to a file
+literally named @samp{-}.)
+
+Note that a combination with @samp{-k} is only well-defined for
+downloading a single document.
 
 @cindex clobbering, file
 @cindex downloading multiple times
@@ -699,14 +725,17 @@ Set the network timeout to @var{seconds} seconds.  This is equivalent
 to specifying @samp{--dns-timeout}, @samp{--connect-timeout}, and
 @samp{--read-timeout}, all at the same time.
 
-Whenever Wget connects to or reads from a remote host, it checks for a
-timeout and aborts the operation if the time expires.  This prevents
-anomalous occurrences such as hanging reads or infinite connects.  The
-only timeout enabled by default is a 900-second timeout for reading.
-Setting timeout to 0 disables checking for timeouts.
+When interacting with the network, Wget can check for timeout and
+abort the operation if it takes too long.  This prevents anomalies
+like hanging reads and infinite connects.  The only timeout enabled by
+default is a 900-second read timeout.  Setting a timeout to 0 disables
+it altogether.  Unless you know what you are doing, it is best not to
+change the default timeout settings.
 
-Unless you know what you are doing, it is best not to set any of the
-timeout-related options.
+All timeout-related options accept decimal values, as well as
+subsecond values.  For example, @samp{0.1} seconds is a legal (though
+unwise) choice of timeout.  Subsecond timeouts are useful for checking
+server response times or for testing network latency.
 
 @cindex DNS timeout
 @cindex timeout, DNS
@@ -726,8 +755,14 @@ connect timeout, other than that implemented by system libraries.
 @cindex read timeout
 @cindex timeout, read
 @item --read-timeout=@var{seconds}
-Set the read (and write) timeout to @var{seconds} seconds.  Reads that
-take longer will fail.  The default value for read timeout is 900
+Set the read (and write) timeout to @var{seconds} seconds.  The
+``time'' of this timeout refers @dfn{idle time}: if, at any point in
+the download, no data is received for more than the specified number
+of seconds, reading fails and the download is restarted.  This option
+does not directly affect the duration of the entire download.
+
+Of course, the remote server may choose to terminate the connection
+sooner than this option requires.  The default read timeout is 900
 seconds.
 
 @cindex bandwidth, limit
@@ -737,9 +772,12 @@ seconds.
 Limit the download speed to @var{amount} bytes per second.  Amount may
 be expressed in bytes, kilobytes with the @samp{k} suffix, or megabytes
 with the @samp{m} suffix.  For example, @samp{--limit-rate=20k} will
-limit the retrieval rate to 20KB/s.  This kind of thing is useful when,
-for whatever reason, you don't want Wget to consume the entire available
-bandwidth.
+limit the retrieval rate to 20KB/s.  This is useful when, for whatever
+reason, you don't want Wget to consume the entire available bandwidth.
+
+This option allows the use of decimal numbers, usually in conjunction
+with power suffixes; for example, @samp{--limit-rate=2.5k} is a legal
+value.
 
 Note that Wget implements the limiting by sleeping the appropriate
 amount of time after a network read that took less time than specified
@@ -797,10 +835,9 @@ recommendation to block many unrelated users from a web site due to the
 actions of one.
 
 @cindex proxy
-@item -Y on/off
-@itemx --proxy=on/off
-Turn proxy support on or off.  The proxy is on by default if the
-appropriate environment variable is defined.
+@itemx --no-proxy
+Don't use proxies, even if the appropriate @code{*_proxy} environment
+variable is defined.
 
 For more information about the use of proxies with Wget, @xref{Proxies}.
 
@@ -906,7 +943,7 @@ When given a choice of several addresses, connect to the addresses
 with specified address family first.  IPv4 addresses are preferred by
 default.
 
-This avoids spurious errors and correct attempts when accessing hosts
+This avoids spurious errors and connect attempts when accessing hosts
 that resolve to both IPv6 and IPv4 addresses from IPv4 networks.  For
 example, @samp{www.kame.net} resolves to
 @samp{2001:200:0:8002:203:47ff:fea5:3085} and to
@@ -915,12 +952,31 @@ IPv4 address is used first; when the preferred family is @code{IPv6},
 the IPv6 address is used first; if the specified value is @code{none},
 the address order returned by DNS is used without change.
 
-Unlike @samp{-4} and @samp{-6}, this option doesn't forbid access to
+Unlike @samp{-4} and @samp{-6}, this option doesn't inhibit access to
 any address family, it only changes the @emph{order} in which the
 addresses are accessed.  Also note that the reordering performed by
 this option is @dfn{stable}---it doesn't affect order of addresses of
 the same family.  That is, the relative order of all IPv4 addresses
 and of all IPv6 addresses remains intact in all cases.
+
+@item --retry-connrefused
+Consider ``connection refused'' a transient error and try again.
+Normally Wget gives up on a URL when it is unable to connect to the
+site because failure to connect is taken as a sign that the server is
+not running at all and that retries would not help.  This option is
+for mirroring unreliable sites whose servers tend to disappear for
+short periods of time.
+
+@cindex user
+@cindex password
+@cindex authentication
+@item --user=@var{user}
+@itemx --password=@var{password}
+Specify the username @var{user} and password @var{password} for both
+@sc{ftp} and @sc{http} file retrieval.  These parameters can be overridden
+using the @samp{--ftp-user} and @samp{--ftp-password} options for 
+@sc{ftp} connections and the @samp{--http-user} and @samp{--http-password} 
+options for @sc{http} connections.
 @end table
 
 @node Directory Options
@@ -953,11 +1009,6 @@ Use the protocol name as a directory component of local file names.  For
 example, with this option, @samp{wget -r http://@var{host}} will save to
 @samp{http/@var{host}/...} rather than just to @samp{@var{host}/...}.
 
-Disable generation of host-prefixed directories.  By default, invoking
-Wget with @samp{-r http://fly.srk.fer.hr/} will create a structure of
-directories beginning with @file{fly.srk.fer.hr/}.  This option disables
-such behavior.
-
 @cindex cut directories
 @item --cut-dirs=@var{number}
 Ignore @var{number} directory components.  This is useful for getting a
@@ -1030,7 +1081,7 @@ Retrieval Options}).
 @cindex http password
 @cindex authentication
 @item --http-user=@var{user}
-@itemx --http-passwd=@var{password}
+@itemx --http-password=@var{password}
 Specify the username @var{user} and password @var{password} on an
 @sc{http} server.  According to the type of the challenge, Wget will
 encode them using either the @code{basic} (insecure) or the
@@ -1044,8 +1095,10 @@ those files from other users with @code{chmod}.  If the passwords are
 really important, do not leave them lying in those files either---edit
 the files and delete them after Wget has started the download.
 
+@iftex
 For more information about security issues with Wget, @xref{Security
 Considerations}.
+@end iftex
 
 @cindex proxy
 @cindex cache
@@ -1130,13 +1183,13 @@ cookies''), but also see @samp{--keep-session-cookies}.
 @cindex cookies, session
 @cindex session cookies
 @item --keep-session-cookies
-
 When specified, causes @samp{--save-cookies} to also save session
-cookies.  Session cookies are normally not save because they are
-supposed to be forgotten when you exit the browser.  Saving them is
-useful on sites that require you to log in or to visit the home page
-before you can access some pages.  With this option, multiple Wget runs
-are considered a single browser session as far as the site is concerned.
+cookies.  Session cookies are normally not saved because they are
+meant to be kept in memory and forgotten when you exit the browser.
+Saving them is useful on sites that require you to log in or to visit
+the home page before you can access some pages.  With this option,
+multiple Wget runs are considered a single browser session as far as
+the site is concerned.
 
 Since the cookie file format does not normally carry session cookies,
 Wget marks them with an expiry timestamp of 0.  Wget's
@@ -1160,10 +1213,11 @@ With this option, Wget will ignore the @code{Content-Length} header---as
 if it never existed.
 
 @cindex header, add
-@item --header=@var{additional-header}
-Define an @var{additional-header} to be passed to the @sc{http} servers.
-Headers must contain a @samp{:} preceded by one or more non-blank
-characters, and must not contain newlines.
+@item --header=@var{header-line}
+Send @var{header-line} along with the rest of the headers in each
+@sc{http} request.  The supplied header is sent as-is, which means it
+must contain name and value separated by colon, and must not contain
+newlines.
 
 You may define more than one additional header by specifying
 @samp{--header} more than once.
@@ -1179,16 +1233,27 @@ wget --header='Accept-Charset: iso-8859-2' \
 Specification of an empty string as the header value will clear all
 previous user-defined headers.
 
+As of Wget 1.10, this option can be used to override headers otherwise
+generated automatically.  This example instructs Wget to connect to
+localhost, but to specify @samp{foo.bar} in the @code{Host} header:
+
+@example
+wget --header="Host: foo.bar" http://localhost/
+@end example
+
+In versions of Wget prior to 1.10 such use of @samp{--header} caused
+sending of duplicate headers.
+
 @cindex proxy user
 @cindex proxy password
 @cindex proxy authentication
 @item --proxy-user=@var{user}
-@itemx --proxy-passwd=@var{password}
+@itemx --proxy-password=@var{password}
 Specify the username @var{user} and password @var{password} for
 authentication on a proxy server.  Wget will encode them using the
 @code{basic} authentication scheme.
 
-Security considerations similar to those with @samp{--http-passwd}
+Security considerations similar to those with @samp{--http-password}
 pertain here as well.
 
 @cindex http referer
@@ -1218,11 +1283,15 @@ number of Wget.
 
 However, some sites have been known to impose the policy of tailoring
 the output according to the @code{User-Agent}-supplied information.
-While conceptually this is not such a bad idea, it has been abused by
-servers denying information to clients other than @code{Mozilla} or
-Microsoft @code{Internet Explorer}.  This option allows you to change
-the @code{User-Agent} line issued by Wget.  Use of this option is
-discouraged, unless you really know what you are doing.
+While this is not such a bad idea in theory, it has been abused by
+servers denying information to clients other than (historically)
+Netscape or, more frequently, Microsoft Internet Explorer.  This
+option allows you to change the @code{User-Agent} line issued by Wget.
+Use of this option is discouraged, unless you really know what you are
+doing.
+
+Specifying empty user agent with @samp{--user-agent=""} instructs Wget
+not to send the @code{User-Agent} header in @sc{http} requests.
 
 @cindex POST
 @item --post-data=@var{string}
@@ -1242,12 +1311,12 @@ use chunked unless it knows it's talking to an HTTP/1.1 server.  And it
 can't know that until it receives a response, which in turn requires the
 request to have been completed -- a chicken-and-egg problem.
 
-Note: if Wget is redirected after the POST request is completed, it will
-not send the POST data to the redirected URL.  This is because URLs that
-process POST often respond with a redirection to a regular page
-(although that's technically disallowed), which does not desire or
-accept POST.  It is not yet clear that this behavior is optimal; if it
-doesn't work out, it will be changed.
+Note: if Wget is redirected after the POST request is completed, it
+will not send the POST data to the redirected URL.  This is because
+URLs that process POST often respond with a redirection to a regular
+page, which does not desire or accept POST.  It is not completely
+clear that this behavior is optimal; if it doesn't work out, it might
+be changed in the future.
 
 This example shows how to log to a server using POST and then proceed to
 download the desired pages, presumably only accessible to authorized
@@ -1265,56 +1334,119 @@ wget --load-cookies cookies.txt \
      -p http://server.com/interesting/article.php
 @end group
 @end example
+
+If the server is using session cookies to track user authentication,
+the above will not work because @samp{--save-cookies} will not save
+them (and neither will browsers) and the @file{cookies.txt} file will
+be empty.  In that case use @samp{--keep-session-cookies} along with
+@samp{--save-cookies} to force saving of session cookies.
 @end table
 
 @node HTTPS (SSL/TLS) Options
 @section HTTPS (SSL/TLS) Options
 
 @cindex SSL
-To support SSL-based HTTP (HTTPS) downloads, Wget must be compiled
+To support encrypted HTTP (HTTPS) downloads, Wget must be compiled
 with an external SSL library, currently OpenSSL.  If Wget is compiled
 without SSL support, none of these options are available.
 
 @table @samp
-@item --sslcertfile=@var{file}
+@cindex SSL protocol, choose
+@item --secure-protocol=@var{protocol}
+Choose the secure protocol to be used.  Legal values are @samp{auto},
+@samp{SSLv2}, @samp{SSLv3}, and @samp{TLSv1}.  If @samp{auto} is used,
+the SSL library is given the liberty of choosing the appropriate
+protocol automatically, which is achieved by sending an SSLv2 greeting
+and announcing support for SSLv3 and TLSv1.  This is the default.
+
+Specifying @samp{SSLv2}, @samp{SSLv3}, or @samp{TLSv1} forces the use
+of the corresponding protocol.  This is useful when talking to old and
+buggy SSL server implementations that make it hard for OpenSSL to
+choose the correct protocol version.  Fortunately, such servers are
+quite rare.
+
+@cindex SSL certificate, check
+@item --no-check-certificate
+Don't check the server certificate against the available certificate
+authorities.  Also don't require the URL host name to match the common
+name presented by the certificate.
+
+As of Wget 1.10, the default is to verify the server's certificate
+against the recognized certificate authorities, breaking the SSL
+handshake and aborting the download if the verification fails.
+Although this provides more secure downloads, it does break
+interoperability with some sites that worked with previous Wget
+versions, particularly those using self-signed, expired, or otherwise
+invalid certificates.  This option forces an ``insecure'' mode of
+operation that turns the certificate verification errors into warnings
+and allows you to proceed.
+
+If you encounter ``certificate verification'' errors or ones saying
+that ``common name doesn't match requested host name'', you can use
+this option to bypass the verification and proceed with the download.
+@emph{Only use this option if you are otherwise convinced of the
+site's authenticity, or if you really don't care about the validity of
+its certificate.}  It is almost always a bad idea not to check the
+certificates when transmitting confidential or important data.
+
+@cindex SSL certificate
+@item --certificate=@var{file}
 Use the client certificate stored in @var{file}.  This is needed for
 servers that are configured to require certificates from the clients
 that connect to them.  Normally a certificate is not required and this
 switch is optional.
 
-@cindex SSL certificate
-@item --sslcertkey=@var{keyfile}
-Read the certificate key from @var{keyfile}.
-
-@cindex SSL certificate authority
-@item --sslcadir=@var{directory}
-Specifies directory used for certificate authorities (``CA'').
+@cindex SSL certificate type, specify
+@item --certificate-type=@var{type}
+Specify the type of the client certificate.  Legal values are
+@samp{PEM} (assumed by default) and @samp{DER}, also known as
+@samp{ASN1}.
 
-@item --sslcafile=@var{file}
-Use @var{file} as the file with the bundle of certificate authorities.
+@item --private-key=@var{file}
+Read the private key from @var{file}.  This allows you to provide the
+private key in a file separate from the certificate.
 
-@cindex SSL certificate type, specify
-@item --sslcerttype=0/1
-Specify the type of the client certificate: 0 means @code{PEM}
-(default), 1 means @code{ASN1} (@code{DER}).
+@item --private-key-type=@var{type}
+Specify the type of the private key.  Accepted values are @samp{PEM}
+(the default) and @samp{DER}.
 
-@cindex SSL certificate, check
-@item --sslcheckcert=0/1
-If set to 1, check the server certificate against the specified client
-authorities.  If this is 0 (the default), Wget will break the SSL
-handshake if the server certificate is not valid.
+@item --ca-certificate=@var{file}
+Use @var{file} as the file with the bundle of certificate authorities
+(``CA'') to verify the peers.  The certificates must be in PEM format.
 
-@cindex SSL protocol, choose
-@item --sslprotocol=0-3
-Choose the SSL protocol to be used.  If 0 is specified (the default),
-the OpenSSL library chooses the appropriate protocol automatically.
-Specifying 1 forces the use of SSLv2, specifying 2 forces SSLv3, and
-specifying 3 forces TLSv1.
+Without this option Wget looks for CA certificates at the
+system-specified locations, chosen at OpenSSL installation time.
 
-In most cases the OpenSSL library is capable of making an intelligent
-choice of the protocol, but there have been reports of sites that use
-old (and presumably buggy) server libraries with which a protocol has
-to be specified manually.
+@cindex SSL certificate authority
+@item --ca-directory=@var{directory}
+Specifies directory containing CA certificates in PEM format.  Each
+file contains one CA certificate, and the file name is based on a hash
+value derived from the certificate.  This is achieved by processing a
+certificate directory with the @code{c_rehash} utility supplied with
+OpenSSL.  Using @samp{--ca-directory} is more efficient than
+@samp{--ca-certificate} when many certificates are installed because
+it allows Wget to fetch certificates on demand.
+
+Without this option Wget looks for CA certificates at the
+system-specified locations, chosen at OpenSSL installation time.
+
+@cindex entropy, specifying source of
+@cindex randomness, specifying source of
+@item --random-file=@var{file}
+Use @var{file} as the source of random data for seeding the
+pseudo-random number generator on systems without @file{/dev/random}.
+
+On such systems the SSL library needs an external source of randomness
+to initialize.  Randomness may be provided by EGD (see
+@samp{--egd-file} below) or read from an external source specified by
+the user.  If this option is not specified, Wget looks for random data
+in @code{$RANDFILE} or, if that is unset, in @file{$HOME/.rnd}.  If
+none of those are available, it is likely that SSL encryption will not
+be usable.
+
+If you're getting the ``Could not seed OpenSSL PRNG; disabling SSL.'' 
+error, you should provide random data using some of the methods
+described above.
 
 @cindex EGD
 @item --egd-file=@var{file}
@@ -1339,11 +1471,28 @@ systems that support @file{/dev/random}.
 @section FTP Options
 
 @table @samp
-@cindex password, FTP
-@item --ftp-passwd=@var{string}
-Set the default FTP password to @var{string}.  Without this, or the
-corresponding startup option, the password defaults to @samp{-wget@@},
-normally used for anonymous FTP.
+@cindex ftp user
+@cindex ftp password
+@cindex ftp authentication
+@item --ftp-user=@var{user}
+@itemx --ftp-password=@var{password}
+Specify the username @var{user} and password @var{password} on an
+@sc{ftp} server.  Without this, or the corresponding startup option, 
+the password defaults to @samp{-wget@@}, normally used for anonymous 
+FTP.
+
+Another way to specify username and password is in the @sc{url} itself
+(@pxref{URL Format}).  Either method reveals your password to anyone who
+bothers to run @code{ps}.  To prevent the passwords from being seen,
+store them in @file{.wgetrc} or @file{.netrc}, and make sure to protect
+those files from other users with @code{chmod}.  If the passwords are
+really important, do not leave them lying in those files either---edit
+the files and delete them after Wget has started the download.
+
+@iftex
+For more information about security issues with Wget, @xref{Security
+Considerations}.
+@end iftex
 
 @cindex .listing files, removing
 @item --no-remove-listing
@@ -2310,12 +2459,7 @@ reject =
 
 The complete set of commands is listed below.  Legal values are listed
 after the @samp{=}.  Simple Boolean values can be set or unset using
-@samp{on} and @samp{off} or @samp{1} and @samp{0}.  A fancier kind of
-Boolean allowed in some cases is the @dfn{lockable Boolean}, which may
-be set to @samp{on}, @samp{off}, @samp{always}, or @samp{never}.  If an
-option is set to @samp{always} or @samp{never}, that value will be
-locked in for the duration of the Wget invocation---command-line options
-will not override.
+@samp{on} and @samp{off} or @samp{1} and @samp{0}.
 
 Some commands take pseudo-arbitrary values.  @var{address} values can be
 hostnames or dotted-quad IP addresses.  @var{n} can be any positive
@@ -2351,32 +2495,49 @@ Enable/disable saving pre-converted files with the suffix
 @item base = @var{string}
 Consider relative @sc{url}s in @sc{url} input files forced to be
 interpreted as @sc{html} as being relative to @var{string}---the same as
-@samp{-B}.
+@samp{--base=@var{string}}.
 
 @item bind_address = @var{address}
-Bind to @var{address}, like the @samp{--bind-address} option.
+Bind to @var{address}, like the @samp{--bind-address=@var{address}}.
+
+@item ca_certificate = @var{file}
+Set the certificate authority bundle file to @var{file}.  The same
+as @samp{--ca-certificate=@var{file}}.
+
+@item ca_directory = @var{directory}
+Set the directory used for certificate authorities.  The same as
+@samp{--ca-directory=@var{directory}}.
 
 @item cache = on/off
 When set to off, disallow server-caching.  See the @samp{--no-cache}
 option.
 
+@item certificate = @var{file}
+Set the client certificate file name to @var{file}.  The same as
+@samp{--certificate=@var{file}}.
+
+@item certificate_type = @var{string}
+Specify the type of the client certificate, legal values being
+@samp{PEM} (the default) and @samp{DER} (aka ASN1).  The same as
+@samp{--certificate-type=@var{string}}.
+
+@item check_certificate = on/off
+If this is set to off, the server certificate is not checked against
+the specified client authorities.  The default is ``on''.  The same as
+@samp{--check-certificate}.
+
 @item convert_links = on/off
 Convert non-relative links locally.  The same as @samp{-k}.
 
 @item cookies = on/off
 When set to off, disallow cookies.  See the @samp{--cookies} option.
 
-@item load_cookies = @var{file}
-Load cookies from @var{file}.  See @samp{--load-cookies}.
-
-@item save_cookies = @var{file}
-Save cookies to @var{file}.  See @samp{--save-cookies}.
-
 @item connect_timeout = @var{n}
 Set the connect timeout---the same as @samp{--connect-timeout}.
 
 @item cut_dirs = @var{n}
-Ignore @var{n} remote directory components.
+Ignore @var{n} remote directory components.  Equivalent to
+@samp{--cut-dirs=@var{n}}.
 
 @item debug = on/off
 Debug mode, same as @samp{-d}.
@@ -2385,7 +2546,7 @@ Debug mode, same as @samp{-d}.
 Delete after download---the same as @samp{--delete-after}.
 
 @item dir_prefix = @var{string}
-Top of directory tree---the same as @samp{-P}.
+Top of directory tree---the same as @samp{-P @var{string}}.
 
 @item dirstruct = on/off
 Turning dirstruct on or off---the same as @samp{-x} or @samp{-nd},
@@ -2393,7 +2554,8 @@ respectively.
 
 @item dns_cache = on/off
 Turn DNS caching on/off.  Since DNS caching is on by default, this
-option is normally used to turn it off.  Same as @samp{--dns-cache}.
+option is normally used to turn it off and is equivalent to
+@samp{--no-dns-cache}.
 
 @item dns_timeout = @var{n}
 Set the DNS timeout---the same as @samp{--dns-timeout}.
@@ -2416,30 +2578,32 @@ the retrieval (50 by default).
 @item dot_spacing = @var{n}
 Specify the number of dots in a single cluster (10 by default).
 
-@item egd_file = @var{string}
+@item egd_file = @var{file}
 Use @var{string} as the EGD socket file name.  The same as
-@samp{--egd-file}.
+@samp{--egd-file=@var{file}}.
 
 @item exclude_directories = @var{string}
 Specify a comma-separated list of directories you wish to exclude from
-download---the same as @samp{-X} (@pxref{Directory-Based Limits}).
+download---the same as @samp{-X @var{string}} (@pxref{Directory-Based
+Limits}).
 
 @item exclude_domains = @var{string}
-Same as @samp{--exclude-domains} (@pxref{Spanning Hosts}).
+Same as @samp{--exclude-domains=@var{string}} (@pxref{Spanning
+Hosts}).
 
 @item follow_ftp = on/off
 Follow @sc{ftp} links from @sc{html} documents---the same as
 @samp{--follow-ftp}.
 
 @item follow_tags = @var{string}
-Only follow certain @sc{html} tags when doing a recursive retrieval, just like
-@samp{--follow-tags}.
+Only follow certain @sc{html} tags when doing a recursive retrieval,
+just like @samp{--follow-tags=@var{string}}.
 
 @item force_html = on/off
 If set to on, force the input filename to be regarded as an @sc{html}
 document---the same as @samp{-F}.
 
-@item ftp_passwd = @var{string}
+@item ftp_password = @var{string}
 Set your @sc{ftp} password to @var{string}.  Without this setting, the
 password defaults to @samp{-wget@@}, which is a useful default for
 anonymous @sc{ftp} access.
@@ -2450,42 +2614,49 @@ This command used to be named @code{passwd} prior to Wget 1.10.
 Use @var{string} as @sc{ftp} proxy, instead of the one specified in
 environment.
 
+@item ftp_user = @var{string}
+Set @sc{ftp} user to @var{string}.
+
+This command used to be named @code{login} prior to Wget 1.10.
+
 @item glob = on/off
 Turn globbing on/off---the same as @samp{--glob} and @samp{--no-glob}.
 
 @item header = @var{string}
-Define an additional header, like @samp{--header}.
+Define a header for HTTP doewnloads, like using
+@samp{--header=@var{string}}.
 
 @item html_extension = on/off
-Add a @samp{.html} extension to @samp{text/html} or 
-@samp{application/xhtml+xml} files without it, like
-@samp{-E}.
+Add a @samp{.html} extension to @samp{text/html} or
+@samp{application/xhtml+xml} files without it, like @samp{-E}.
 
 @item http_keep_alive = on/off
-Turn the keep-alive feature on or off (defaults to on).  The same as
-`--http-keep-alive'.
+Turn the keep-alive feature on or off (defaults to on).  Turning it
+off is equivalent to @samp{--no-http-keep-alive}.
 
-@item http_passwd = @var{string}
-Set @sc{http} password.
+@item http_password = @var{string}
+Set @sc{http} password, equivalent to
+@samp{--http-password=@var{string}}.
 
 @item http_proxy = @var{string}
 Use @var{string} as @sc{http} proxy, instead of the one specified in
 environment.
 
 @item http_user = @var{string}
-Set @sc{http} user to @var{string}.
+Set @sc{http} user to @var{string}, equivalent to
+@samp{--http-user=@var{string}}.
 
 @item ignore_length = on/off
 When set to on, ignore @code{Content-Length} header; the same as
 @samp{--ignore-length}.
 
 @item ignore_tags = @var{string}
-Ignore certain @sc{html} tags when doing a recursive retrieval, just like
-@samp{--ignore-tags}.
+Ignore certain @sc{html} tags when doing a recursive retrieval, like
+@samp{--ignore-tags=@var{string}}.
 
 @item include_directories = @var{string}
 Specify a comma-separated list of directories you wish to follow when
-downloading---the same as @samp{-I}.
+downloading---the same as @samp{-I @var{string}}.
 
 @item inet4_only = on/off
 Force connecting to IPv4 addresses, off by default.  You can put this
@@ -2498,8 +2669,8 @@ Force connecting to IPv6 addresses, off by default.  Available only if
 Wget was compiled with IPv6 support.  The same as @samp{--inet6-only}
 or @samp{-6}.
 
-@item input = @var{string}
-Read the @sc{url}s from @var{string}, like @samp{-i}.
+@item input = @var{file}
+Read the @sc{url}s from @var{string}, like @samp{-i @var{file}}.
 
 @item kill_longer = on/off
 Consider data longer than specified in content-length header as invalid
@@ -2509,14 +2680,13 @@ as there is, provided there is more than or equal to the value in
 
 @item limit_rate = @var{rate}
 Limit the download speed to no more than @var{rate} bytes per second.
-The same as @samp{--limit-rate}.
+The same as @samp{--limit-rate=@var{rate}}.
 
-@item logfile = @var{string}
-Set logfile---the same as @samp{-o}.
+@item load_cookies = @var{file}
+Load cookies from @var{file}.  See @samp{--load-cookies @var{file}}.
 
-@item login = @var{string}
-Your user name on the remote machine, for @sc{ftp}.  Defaults to
-@samp{anonymous}.
+@item logfile = @var{file}
+Set logfile to @var{file}, the same as @samp{-o @var{file}}.
 
 @item mirror = on/off
 Turn mirroring on/off.  The same as @samp{-m}.
@@ -2535,27 +2705,30 @@ Disallow retrieving outside the directory hierarchy, like
 Use @var{string} as the comma-separated list of domains to avoid in
 proxy loading, instead of the one specified in environment.
 
-@item output_document = @var{string}
-Set the output filename---the same as @samp{-O}.
+@item output_document = @var{file}
+Set the output filename---the same as @samp{-O @var{file}}.
 
 @item page_requisites = on/off
 Download all ancillary documents necessary for a single @sc{html} page to
 display properly---the same as @samp{-p}.
 
-@item passive_ftp = on/off/always/never
+@item passive_ftp = on/off
 Change setting of passive @sc{ftp}, equivalent to the
-@samp{--passive-ftp} option.  Some scripts and @samp{.pm} (Perl
-module) files download files using @samp{wget --passive-ftp}.  If your
-firewall does not allow this, you can set @samp{passive_ftp = never}
-to override the command-line.
+@samp{--passive-ftp} option.
+
+@itemx password = @var{string}
+Specify password @var{string} for both @sc{ftp} and @sc{http} file retrieval. 
+This command can be overridden using the @samp{ftp_password} and 
+@samp{http_password} command for @sc{ftp} and @sc{http} respectively.
 
 @item post_data = @var{string}
 Use POST as the method for all HTTP requests and send @var{string} in
-the request body.  The same as @samp{--post-data}.
+the request body.  The same as @samp{--post-data=@var{string}}.
 
 @item post_file = @var{file}
 Use POST as the method for all HTTP requests and send the contents of
-@var{file} in the request body.  The same as @samp{--post-file}.
+@var{file} in the request body.  The same as
+@samp{--post-file=@var{file}}.
 
 @item prefer_family = IPv4/IPv6/none
 When given a choice of several addresses, connect to the addresses
@@ -2563,19 +2736,30 @@ with specified address family first.  IPv4 addresses are preferred by
 default.  The same as @samp{--prefer-family}, which see for a detailed
 discussion of why this is useful.
 
+@item private_key = @var{file}
+Set the private key file to @var{file}.  The same as
+@samp{--private-key=@var{file}}.
+
+@item private_key_type = @var{string}
+Specify the type of the private key, legal values being @samp{PEM}
+(the default) and @samp{DER} (aka ASN1).  The same as
+@samp{--private-type=@var{string}}.
+
 @item progress = @var{string}
-Set the type of the progress indicator.  Legal types are ``dot'' and
-``bar''.
+Set the type of the progress indicator.  Legal types are @samp{dot}
+and @samp{bar}.  Equivalent to @samp{--progress=@var{string}}.
 
 @item protocol_directories = on/off
 When set, use the protocol name as a directory component of local file
 names.  The same as @samp{--protocol-directories}.
 
 @item proxy_user = @var{string}
-Set proxy authentication user name to @var{string}, like @samp{--proxy-user}.
+Set proxy authentication user name to @var{string}, like
+@samp{--proxy-user=@var{string}}.
 
-@item proxy_passwd = @var{string}
-Set proxy authentication password to @var{string}, like @samp{--proxy-passwd}.
+@item proxy_password = @var{string}
+Set proxy authentication password to @var{string}, like
+@samp{--proxy-password=@var{string}}.
 
 @item quiet = on/off
 Quiet mode---the same as @samp{-q}.
@@ -2586,22 +2770,27 @@ Specify the download quota, which is useful to put in the global
 retrieving after the download sum has become greater than quota.  The
 quota can be specified in bytes (default), kbytes @samp{k} appended) or
 mbytes (@samp{m} appended).  Thus @samp{quota = 5m} will set the quota
-to 5 mbytes.  Note that the user's startup file overrides system
+to 5 megabytes.  Note that the user's startup file overrides system
 settings.
 
+@item random_file = @var{file}
+Use @var{file} as a source of randomness on systems lacking
+@file{/dev/random}.
+
 @item read_timeout = @var{n}
-Set the read (and write) timeout---the same as @samp{--read-timeout}.
+Set the read (and write) timeout---the same as
+@samp{--read-timeout=@var{n}}.
 
 @item reclevel = @var{n}
-Recursion level---the same as @samp{-l}.
+Recursion level (depth)---the same as @samp{-l @var{n}}.
 
 @item recursive = on/off
 Recursive on/off---the same as @samp{-r}.
 
 @item referer = @var{string}
-Set HTTP @samp{Referer:} header just like @samp{--referer}.  (Note it
-was the folks who wrote the @sc{http} spec who got the spelling of
-``referrer'' wrong.)
+Set HTTP @samp{Referer:} header just like
+@samp{--referer=@var{string}}.  (Note it was the folks who wrote the
+@sc{http} spec who got the spelling of ``referrer'' wrong.)
 
 @item relative_only = on/off
 Follow only relative links---the same as @samp{-L} (@pxref{Relative
@@ -2619,6 +2808,10 @@ Restrict the file names generated by Wget from URLs.  See
 When set to on, retrieve symbolic links as if they were plain files; the
 same as @samp{--retr-symlinks}.
 
+@item retry_connrefused = on/off
+When set to on, consider ``connection refused'' a transient
+error---the same as @samp{--retry-connrefused}.
+
 @item robots = on/off
 Specify whether the norobots convention is respected by Wget, ``on'' by
 default.  This switch controls both the @file{/robots.txt} and the
@@ -2626,6 +2819,15 @@ default.  This switch controls both the @file{/robots.txt} and the
 details about this.  Be sure you know what you are doing before turning
 this off.
 
+@item save_cookies = @var{file}
+Save cookies to @var{file}.  The same as @samp{--save-cookies
+@var{file}}.
+
+@item secure_protocol = @var{string}
+Choose the secure protocol to be used.  Legal values are @samp{auto}
+(the default), @samp{SSLv2}, @samp{SSLv3}, and @samp{TLSv1}.  The same
+as @samp{--secure-protocol=@var{string}}.
+
 @item server_response = on/off
 Choose whether or not to print the @sc{http} and @sc{ftp} server
 responses---the same as @samp{-S}.
@@ -2633,61 +2835,40 @@ responses---the same as @samp{-S}.
 @item span_hosts = on/off
 Same as @samp{-H}.
 
-@item ssl_cert_file = @var{string}
-Set the client certificate file name to @var{string}.  The same as
-@samp{--sslcertfile}.
-
-@item ssl_cert_key = @var{string}
-Set the certificate key file to @var{string}.  The same as
-@samp{--sslcertkey}.
-
-@item ssl_ca_dir = @var{string}
-Set the directory used for certificate authorities.  The same as
-@samp{--sslcadir}.
-
-@item ssl_ca_file = @var{string}
-Set the certificate authority bundle file to @var{string}.  The same
-as @samp{--sslcafile}.
-
-@item ssl_cert_type = 0/1
-Specify the type of the client certificate: 0 means @code{PEM}
-(default), 1 means @code{ASN1} (@code{DER}).  The same as
-@samp{--sslcerttype}.
-
-@item ssl_check_cert = 0/1
-If this is set to 1, the server certificate is checked against the
-specified client authorities.  The same as @samp{--sslcheckcert}.
-
-@item ssl_protocol = 0-3
-Choose the SSL protocol to be used.  0 means choose automatically, 1
-means force SSLv2, 2 means force SSLv3, and 3 means force TLSv1.  The
-same as @samp{--sslprotocol}.
-
 @item strict_comments = on/off
 Same as @samp{--strict-comments}.
 
 @item timeout = @var{n}
-Set timeout value---the same as @samp{-T}.
+Set all applicable timeout values to @var{n}, the same as @samp{-T
+@var{n}}.
 
 @item timestamping = on/off
 Turn timestamping on/off.  The same as @samp{-N} (@pxref{Time-Stamping}).
 
 @item tries = @var{n}
-Set number of retries per @sc{url}---the same as @samp{-t}.
+Set number of retries per @sc{url}---the same as @samp{-t @var{n}}.
 
 @item use_proxy = on/off
-Turn proxy support on/off.  The same as @samp{-Y}.
+When set to off, don't use proxy even when proxy-related environment
+variables are set.  In that case it is the same as using
+@samp{--no-proxy}.
+
+@item user = @var{string}
+Specify username @var{string} for both @sc{ftp} and @sc{http} file retrieval. 
+This command can be overridden using the @samp{ftp_user} and 
+@samp{http_user} command for @sc{ftp} and @sc{http} respectively.
 
 @item verbose = on/off
 Turn verbose on/off---the same as @samp{-v}/@samp{-nv}.
 
 @item wait = @var{n}
-Wait @var{n} seconds between retrievals---the same as @samp{-w}.
+Wait @var{n} seconds between retrievals---the same as @samp{-w
+@var{n}}.
 
 @item waitretry = @var{n}
 Wait up to @var{n} seconds between retries of failed retrievals
-only---the same as @samp{--waitretry}.  Note that this is turned on by
-default in the global @file{wgetrc}.
+only---the same as @samp{--waitretry=@var{n}}.  Note that this is
+turned on by default in the global @file{wgetrc}.
 
 @item randomwait = on/off
 Turn random between-request wait times on or off. The same as 
@@ -2847,7 +3028,7 @@ wget -S http://www.lycos.com/
 Save the server headers with the file, perhaps for post-processing.
 
 @example
-wget -s http://www.lycos.com/
+wget --save-headers http://www.lycos.com/
 more index.html
 @end example
 
@@ -3018,12 +3199,10 @@ In addition to the environment variables, proxy location and settings
 may be specified from within Wget itself.
 
 @table @samp
-@item -Y on/off
-@itemx --proxy=on/off
+@itemx --no-proxy
 @itemx proxy = on/off
-This option may be used to turn the proxy support on or off.  Proxy
-support is on by default, provided that the appropriate environment
-variables are set.
+This option and the corresponding command may be used to suppress the
+use of proxy, even if the appropriate environment variables are set.
 
 @item http_proxy = @var{URL}
 @itemx ftp_proxy = @var{URL}
@@ -3050,7 +3229,7 @@ http://hniksic:mypassword@@proxy.company.com:8001/
 
 Alternatively, you may use the @samp{proxy-user} and
 @samp{proxy-password} options, and the equivalent @file{.wgetrc}
-settings @code{proxy_user} and @code{proxy_passwd} to set the proxy
+settings @code{proxy_user} and @code{proxy_password} to set the proxy
 username and password.
 
 @node Distribution
@@ -3435,8 +3614,10 @@ Kristijan @v{C}onka@v{s},
 Kristijan Conkas,
 @end ifnottex
 John Daily,
+Andreas Damm,
 Ahmon Dancy,
 Andrew Davison,
+Bertrand Demiddelaer,
 Andrew Deryabin,
 Ulrich Drepper,
 Marc Duponcheel,
@@ -3457,6 +3638,7 @@ Aleksandar Erkalovic,
 Andy Eskilsson,
 Christian Fraenkel,
 David Fritz,
+Charles C. Fu,
 FUJISHIMA Satsuki,
 Masashi Fujita,
 Howard Gayle,
@@ -3496,11 +3678,13 @@ Goran Kezunovi@'{c},
 @ifnottex
 Goran Kezunovic,
 @end ifnottex
+Igor Khristophorov,
 Robert Kleine,
 KOJIMA Haime,
 Fila Kolodny,
 Alexander Kourakos,
 Martin Kraemer,
+Sami Krank,
 @tex
 $\Sigma\acute{\iota}\mu o\varsigma\;
 \Xi\varepsilon\nu\iota\tau\acute{\epsilon}\lambda\lambda\eta\varsigma$
@@ -3509,6 +3693,7 @@ $\Sigma\acute{\iota}\mu o\varsigma\;
 @ifnottex
 Simos KSenitellis,
 @end ifnottex
+Christian Lackas,
 Hrvoje Lacko,
 Daniel S. Lewart,
 @iftex
@@ -3520,11 +3705,15 @@ Nicolas Lichtmeier,
 Dave Love,
 Alexander V. Lukyanov,
 Thomas Lussnig,
+Andre Majorel,
 Aurelien Marchand,
+Matthew J. Mellon,
 Jordan Mendelson,
 Lin Zhe Min,
 Jan Minar,
 Tim Mooney,
+Keith Moore,
+Adam D. Moss,
 Simon Munton,
 Charlie Negyesi,
 R. K. Owen,
@@ -3551,10 +3740,10 @@ Tyler Riddle,
 Tobias Ringstrom,
 @c Texinfo doesn't grok @'{@i}, so we have to use TeX itself.
 @tex
-Juan Jos\'{e} Rodr\'{\i}gues,
+Juan Jos\'{e} Rodr\'{\i}guez,
 @end tex
 @ifnottex
-Juan Jose Rodrigues,
+Juan Jose Rodriguez,
 @end ifnottex
 Maciej W. Rozycki,
 Edward J. Sabol,
@@ -3563,8 +3752,11 @@ Robert Schmidt,
 Nicolas Schodet,
 Andreas Schwab,
 Chris Seawood,
+Dennis Smit,
 Toomas Soome,
 Tage Stabell-Kulo,
+Philip Stadermann,
+Daniel Stenberg,
 Sven Sternberger,
 Markus Strasser,
 John Summerfield,