diff --git a/.gitignore b/.gitignore index f2f8f7f..95a36a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ wget-1.12.tar.bz2 /wget-1.13.4.tar.bz2 /wget-1.14.tar.xz +/wget-1.15.tar.xz +/wget-1.16.tar.xz diff --git a/sources b/sources index 5c94c4e..55e5156 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -316f6f59292c9098ad81fd54f658c579 wget-1.14.tar.xz +fe102975ab3a6c049777883f1bb9ad07 wget-1.16.tar.xz diff --git a/wget-1.12-path.patch b/wget-1.12-path.patch deleted file mode 100644 index 737809a..0000000 --- a/wget-1.12-path.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff -urN wget-1.12/doc/sample.wgetrc wget-1.12.patched/doc/sample.wgetrc ---- wget-1.12/doc/sample.wgetrc 2009-09-22 04:53:58.000000000 +0200 -+++ wget-1.12.patched/doc/sample.wgetrc 2009-11-17 12:29:18.000000000 +0100 -@@ -7,7 +7,7 @@ - ## not contain a comprehensive list of commands -- look at the manual - ## to find out what you can put into this file. - ## --## Wget initialization file can reside in /usr/local/etc/wgetrc -+## Wget initialization file can reside in /etc/wgetrc - ## (global, for all users) or $HOME/.wgetrc (for a single user). - ## - ## To use the settings in this file, you will have to uncomment them, -@@ -16,7 +16,7 @@ - - - ## --## Global settings (useful for setting up in /usr/local/etc/wgetrc). -+## Global settings (useful for setting up in /etc/wgetrc). - ## Think well before you change them, since they may reduce wget's - ## functionality, and make it behave contrary to the documentation: - ## -diff -urN wget-1.12/doc/sample.wgetrc.munged_for_texi_inclusion wget-1.12.patched/doc/sample.wgetrc.munged_for_texi_inclusion ---- wget-1.12/doc/sample.wgetrc.munged_for_texi_inclusion 2009-09-22 06:08:52.000000000 +0200 -+++ wget-1.12.patched/doc/sample.wgetrc.munged_for_texi_inclusion 2009-11-17 12:29:39.000000000 +0100 -@@ -7,7 +7,7 @@ - ## not contain a comprehensive list of commands -- look at the manual - ## to find out what you can put into this file. - ## --## Wget initialization file can reside in /usr/local/etc/wgetrc -+## Wget initialization file can reside in /etc/wgetrc - ## (global, for all users) or $HOME/.wgetrc (for a single user). - ## - ## To use the settings in this file, you will have to uncomment them, -@@ -16,7 +16,7 @@ - - - ## --## Global settings (useful for setting up in /usr/local/etc/wgetrc). -+## Global settings (useful for setting up in /etc/wgetrc). - ## Think well before you change them, since they may reduce wget's - ## functionality, and make it behave contrary to the documentation: - ## -diff -urN wget-1.12/doc/wget.info wget-1.12.patched/doc/wget.info ---- wget-1.12/doc/wget.info 2009-09-22 18:30:20.000000000 +0200 -+++ wget-1.12.patched/doc/wget.info 2009-11-17 12:28:40.000000000 +0100 -@@ -2351,8 +2351,8 @@ - =================== - - When initializing, Wget will look for a "global" startup file, --`/usr/local/etc/wgetrc' by default (or some prefix other than --`/usr/local', if Wget was not installed there) and read commands from -+`/etc/wgetrc' by default (or some prefix other than -+`/etc', if Wget was not installed there) and read commands from - there, if it exists. - - Then it will look for the user's file. If the environmental variable -@@ -2363,7 +2363,7 @@ - - The fact that user's settings are loaded after the system-wide ones - means that in case of collision user's wgetrc _overrides_ the --system-wide wgetrc (in `/usr/local/etc/wgetrc' by default). Fascist -+system-wide wgetrc (in `/etc/wgetrc' by default). Fascist - admins, away! - -  -@@ -2876,7 +2876,7 @@ - ## not contain a comprehensive list of commands -- look at the manual - ## to find out what you can put into this file. - ## -- ## Wget initialization file can reside in /usr/local/etc/wgetrc -+ ## Wget initialization file can reside in /etc/wgetrc - ## (global, for all users) or $HOME/.wgetrc (for a single user). - ## - ## To use the settings in this file, you will have to uncomment them, -@@ -2885,7 +2885,7 @@ - - - ## -- ## Global settings (useful for setting up in /usr/local/etc/wgetrc). -+ ## Global settings (useful for setting up in /etc/wgetrc). - ## Think well before you change them, since they may reduce wget's - ## functionality, and make it behave contrary to the documentation: - ## -diff -urN wget-1.12/doc/wget.texi wget-1.12.patched/doc/wget.texi ---- wget-1.12/doc/wget.texi 2009-09-04 23:22:04.000000000 +0200 -+++ wget-1.12.patched/doc/wget.texi 2009-11-17 12:29:03.000000000 +0100 -@@ -2670,8 +2670,8 @@ - @cindex location of wgetrc - - When initializing, Wget will look for a @dfn{global} startup file, --@file{/usr/local/etc/wgetrc} by default (or some prefix other than --@file{/usr/local}, if Wget was not installed there) and read commands -+@file{/etc/wgetrc} by default (or some prefix other than -+@file{/etc}, if Wget was not installed there) and read commands - from there, if it exists. - - Then it will look for the user's file. If the environmental variable -@@ -2682,7 +2682,7 @@ - - The fact that user's settings are loaded after the system-wide ones - means that in case of collision user's wgetrc @emph{overrides} the --system-wide wgetrc (in @file{/usr/local/etc/wgetrc} by default). -+system-wide wgetrc (in @file{/etc/wgetrc} by default). - Fascist admins, away! - - @node Wgetrc Syntax, Wgetrc Commands, Wgetrc Location, Startup File -diff -urN wget-1.12/NEWS wget-1.12.patched/NEWS ---- wget-1.12/NEWS 2009-09-22 04:53:35.000000000 +0200 -+++ wget-1.12.patched/NEWS 2009-11-17 12:30:10.000000000 +0100 -@@ -562,7 +562,7 @@ - - ** Compiles on pre-ANSI compilers. - --** Global wgetrc now goes to /usr/local/etc (i.e. $sysconfdir). -+** Global wgetrc now goes to /etc (i.e. $sysconfdir). - - ** Lots of bugfixes. - -@@ -625,7 +625,7 @@ - ** Fixed a long-standing bug, so that Wget now works over SLIP - connections. - --** You can have a system-wide wgetrc (/usr/local/lib/wgetrc by -+** You can have a system-wide wgetrc (/etc/wgetrc by - default). Settings in $HOME/.wgetrc override the global ones, of - course :-) - -diff -urN wget-1.12/README wget-1.12.patched/README ---- wget-1.12/README 2009-09-21 00:59:32.000000000 +0200 -+++ wget-1.12.patched/README 2009-11-17 12:30:27.000000000 +0100 -@@ -33,7 +33,7 @@ - - Most of the features are configurable, either through command-line - options, or via initialization file .wgetrc. Wget allows you to --install a global startup file (/usr/local/etc/wgetrc by default) for -+install a global startup file (/etc/wgetrc by default) for - site settings. - - Wget works under almost all Unix variants in use today and, unlike ---- wget-1.12/doc/wget.info.start 2011-12-19 10:34:29.409272713 -0600 -+++ wget-1.12/doc/wget.info 2011-12-19 10:34:51.760129197 -0600 -@@ -113,7 +113,7 @@ - * Most of the features are fully configurable, either through - command line options, or via the initialization file `.wgetrc' - (*note Startup File::). Wget allows you to define "global" -- startup files (`/usr/local/etc/wgetrc' by default) for site -+ startup files (`/etc/wgetrc' by default) for site - settings. You can also specify the location of a startup file with - the -config option. - ---- wget-1.12/doc/wget.texi.start 2011-12-19 10:38:18.305730849 -0600 -+++ wget-1.12/doc/wget.texi 2011-12-19 10:38:49.272615753 -0600 -@@ -190,14 +190,14 @@ - Most of the features are fully configurable, either through command line - options, or via the initialization file @file{.wgetrc} (@pxref{Startup - File}). Wget allows you to define @dfn{global} startup files --(@file{/usr/local/etc/wgetrc} by default) for site settings. You can also -+(@file{/etc/wgetrc} by default) for site settings. You can also - specify the location of a startup file with the --config option. - - - @ignore - @c man begin FILES - @table @samp --@item /usr/local/etc/wgetrc -+@item /etc/wgetrc - Default location of the @dfn{global} startup file. - - @item .wgetrc diff --git a/wget-1.14-Fix-deadcode-and-possible-NULL-use.patch b/wget-1.14-Fix-deadcode-and-possible-NULL-use.patch deleted file mode 100644 index 20c4f33..0000000 --- a/wget-1.14-Fix-deadcode-and-possible-NULL-use.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 613d8639c48b950f76d132b70d27e518ba6d6891 Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Fri, 26 Apr 2013 14:42:30 +0200 -Subject: [PATCH] Fix using deadcode and possible use of NULL pointer - -Fix for deadcode in unique_create() so that "opened_name" parameter is -always initialized to a valid string or NULL when returning from -function. - -Fix for redirect_output() so that "logfile" is not blindly used in -fprintf() call and checked if it is not NULL. - -Signed-off-by: Tomas Hozza ---- - src/log.c | 2 +- - src/utils.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/log.c b/src/log.c -index 0185df1..4f93a21 100644 ---- a/src/log.c -+++ b/src/log.c -@@ -871,7 +871,7 @@ redirect_output (void) - can do but disable printing completely. */ - fprintf (stderr, _("\n%s received.\n"), redirect_request_signal_name); - fprintf (stderr, _("%s: %s; disabling logging.\n"), -- logfile, strerror (errno)); -+ (logfile) ? logfile : DEFAULT_LOGFILE, strerror (errno)); - inhibit_logging = true; - } - save_context_p = false; -diff --git a/src/utils.c b/src/utils.c -index 567dc35..7cc942f 100644 ---- a/src/utils.c -+++ b/src/utils.c -@@ -703,7 +703,7 @@ unique_create (const char *name, bool binary, char **opened_name) - xfree (uname); - uname = unique_name (name, false); - } -- if (opened_name && fp != NULL) -+ if (opened_name) - { - if (fp) - *opened_name = uname; --- -1.8.1.4 - diff --git a/wget-1.14-add_missing_options_doc.patch b/wget-1.14-add_missing_options_doc.patch deleted file mode 100644 index f406609..0000000 --- a/wget-1.14-add_missing_options_doc.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8dc52c6eaa1993d140a52bc0627e436efd9870d0 Mon Sep 17 00:00:00 2001 -From: Giuseppe Scrivano -Date: Sun, 28 Apr 2013 22:41:24 +0200 -Subject: [PATCH] doc: add documentation for --accept-regex and --reject-regex - ---- - doc/wget.texi | 4 ++++ - 1 files changed, 4 insertions(+) - -diff --git a/doc/wget.texi b/doc/wget.texi -index fed188a..039f700 100644 ---- a/doc/wget.texi -+++ b/doc/wget.texi -@@ -2049,6 +2049,10 @@ any of the wildcard characters, @samp{*}, @samp{?}, @samp{[} or - @samp{]}, appear in an element of @var{acclist} or @var{rejlist}, - it will be treated as a pattern, rather than a suffix. - -+@item --accept-regex @var{urlregex} -+@itemx --reject-regex @var{urlregex} -+Specify a regular expression to accept or reject the complete URL. -+ - @item -D @var{domain-list} - @itemx --domains=@var{domain-list} - Set domains to be followed. @var{domain-list} is a comma-separated list --- -1.8.1.4 - diff --git a/wget-1.14-doc-missing-opts-and-fix-preserve-permissions.patch b/wget-1.14-doc-missing-opts-and-fix-preserve-permissions.patch deleted file mode 100644 index 7bc67c0..0000000 --- a/wget-1.14-doc-missing-opts-and-fix-preserve-permissions.patch +++ /dev/null @@ -1,61 +0,0 @@ -From c78caecbb4209ce2e36a587497cf1d6b350e513a Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Thu, 11 Jul 2013 15:52:28 +0000 -Subject: Document missing options and fix --preserve-permissions - -Added documentation for --regex-type and --preserve-permissions -options. - -Fixed --preserve-permissions to work properly also if downloading a -single file from FTP. - -Signed-off-by: Tomas Hozza ---- -diff --git a/doc/wget.texi b/doc/wget.texi -index 710f0ac..5054382 100644 ---- a/doc/wget.texi -+++ b/doc/wget.texi -@@ -1816,6 +1816,10 @@ in some rare firewall configurations, active FTP actually works when - passive FTP doesn't. If you suspect this to be the case, use this - option, or set @code{passive_ftp=off} in your init file. - -+@cindex file permissions -+@item --preserve-permissions -+Preserve remote file permissions instead of permissions set by umask. -+ - @cindex symbolic links, retrieving - @item --retr-symlinks - Usually, when retrieving @sc{ftp} directories recursively and a symbolic -@@ -2057,6 +2061,11 @@ it will be treated as a pattern, rather than a suffix. - @itemx --reject-regex @var{urlregex} - Specify a regular expression to accept or reject the complete URL. - -+@item --regex-type @var{regextype} -+Specify the regular expression type. Possible types are @samp{posix} or -+@samp{pcre}. Note that to be able to use @samp{pcre} type, wget has to be -+compiled with libpcre support. -+ - @item -D @var{domain-list} - @itemx --domains=@var{domain-list} - Set domains to be followed. @var{domain-list} is a comma-separated list -diff --git a/src/ftp.c b/src/ftp.c -index 9b3d81c..1fe2bac 100644 ---- a/src/ftp.c -+++ b/src/ftp.c -@@ -2285,11 +2285,11 @@ ftp_loop (struct url *u, char **local_file, int *dt, struct url *proxy, - file_part = u->path; - ispattern = has_wildcards_p (file_part); - } -- if (ispattern || recursive || opt.timestamping) -+ if (ispattern || recursive || opt.timestamping || opt.preserve_perm) - { - /* ftp_retrieve_glob is a catch-all function that gets called -- if we need globbing, time-stamping or recursion. Its -- third argument is just what we really need. */ -+ if we need globbing, time-stamping, recursion or preserve -+ permissions. Its third argument is just what we really need. */ - res = ftp_retrieve_glob (u, &con, - ispattern ? GLOB_GLOBALL : GLOB_GETONE); - } --- -cgit v0.9.0.2 diff --git a/wget-1.14-document-backups.patch b/wget-1.14-document-backups.patch deleted file mode 100644 index eac0ad4..0000000 --- a/wget-1.14-document-backups.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 44ba49b31f4ea515f8a6ef2642a34c0fd2024b90 Mon Sep 17 00:00:00 2001 -From: Giuseppe Scrivano -Date: Tue, 9 Jul 2013 00:50:30 +0200 -Subject: [PATCH] doc: document --backups - ---- - doc/wget.texi | 15 ++++++++++++--- - src/main.c | 3 +++ - 2 files changed, 15 insertions(+), 3 deletions(-) - -diff --git a/doc/wget.texi b/doc/wget.texi -index 5054382..7a1670e 100644 ---- a/doc/wget.texi -+++ b/doc/wget.texi -@@ -630,6 +630,13 @@ Note that when @samp{-nc} is specified, files with the suffixes - @samp{.html} or @samp{.htm} will be loaded from the local disk and - parsed as if they had been retrieved from the Web. - -+@cindex backing up files -+@item --backups=@var{backups} -+Before (over)writing a file, back up an existing file by adding a -+@samp{.1} suffix (@samp{_1} on VMS) to the file name. Such backup -+files are rotated to @samp{.2}, @samp{.3}, and so on, up to -+@var{backups} (and lost beyond that). -+ - @cindex continue retrieval - @cindex incomplete downloads - @cindex resume download -@@ -2882,9 +2889,11 @@ enables it). - Enable/disable saving pre-converted files with the suffix - @samp{.orig}---the same as @samp{-K} (which enables it). - --@c @item backups = @var{number} --@c #### Document me! --@c -+@item backups = @var{number} -+Use up to @var{number} backups for a file. Backups are rotated by -+adding an incremental counter that starts at @samp{1}. The default is -+@samp{0}. -+ - @item base = @var{string} - Consider relative @sc{url}s in input files (specified via the - @samp{input} command or the @samp{--input-file}/@samp{-i} option, -diff --git a/src/main.c b/src/main.c -index c895c4e..8ce0eb3 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -714,6 +714,9 @@ Recursive download:\n"), - N_("\ - -k, --convert-links make links in downloaded HTML or CSS point to\n\ - local files.\n"), -+ N_("\ -+ --backups=N before writing file X, rotate up to N backup files.\n"), -+ - #ifdef __VMS - N_("\ - -K, --backup-converted before converting file X, back up as X_orig.\n"), --- -1.8.3.1 - diff --git a/wget-1.14-fix-backups-to-work-as-documented.patch b/wget-1.14-fix-backups-to-work-as-documented.patch deleted file mode 100644 index 799a7a1..0000000 --- a/wget-1.14-fix-backups-to-work-as-documented.patch +++ /dev/null @@ -1,80 +0,0 @@ -From c52bbad9e4bad1393a9d6ba37e600d388f5ab419 Mon Sep 17 00:00:00 2001 -From: Giuseppe Scrivano -Date: Wed, 10 Jul 2013 20:59:34 +0200 -Subject: [PATCH] Make --backups work as documented - ---- - src/http.c | 6 ------ - src/options.h | 2 +- - src/url.c | 3 ++- - src/url.h | 6 ++++++ - 4 files changed, 9 insertions(+), 8 deletions(-) - -diff --git a/src/http.c b/src/http.c -index 9f274dc..b0c782b 100644 ---- a/src/http.c -+++ b/src/http.c -@@ -1641,12 +1641,6 @@ read_response_body (struct http_stat *hs, int sock, FILE *fp, wgint contlen, - } while (0) - #endif /* def __VMS [else] */ - --/* The flags that allow clobbering the file (opening with "wb"). -- Defined here to avoid repetition later. #### This will require -- rework. */ --#define ALLOW_CLOBBER (opt.noclobber || opt.always_rest || opt.timestamping \ -- || opt.dirstruct || opt.output_document) -- - /* Retrieve a document through HTTP protocol. It recognizes status - code, and correctly handles redirections. It closes the network - socket. If it receives an error from the functions below it, it -diff --git a/src/options.h b/src/options.h -index ed38617..0a10c9b 100644 ---- a/src/options.h -+++ b/src/options.h -@@ -166,7 +166,7 @@ struct options - bool timestamping; /* Whether to use time-stamping. */ - - bool backup_converted; /* Do we save pre-converted files as *.orig? */ -- bool backups; /* Are numeric backups made? */ -+ int backups; /* Are numeric backups made? */ - - char *useragent; /* User-Agent string, which can be set - to something other than Wget. */ -diff --git a/src/url.c b/src/url.c -index 5e2b9a3..bf9d697 100644 ---- a/src/url.c -+++ b/src/url.c -@@ -1669,11 +1669,12 @@ url_file_name (const struct url *u, char *replaced_filename) - 2) Retrieval with regetting. - 3) Timestamping is used. - 4) Hierarchy is built. -+ 5) Backups are specified. - - The exception is the case when file does exist and is a - directory (see `mkalldirs' for explanation). */ - -- if ((opt.noclobber || opt.always_rest || opt.timestamping || opt.dirstruct) -+ if (ALLOW_CLOBBER - && !(file_exists_p (fname) && !file_non_directory_p (fname))) - { - unique = fname; -diff --git a/src/url.h b/src/url.h -index b7f4366..cd3782b 100644 ---- a/src/url.h -+++ b/src/url.h -@@ -47,6 +47,12 @@ as that of the covered work. */ - #define DEFAULT_FTP_PORT 21 - #define DEFAULT_HTTPS_PORT 443 - -+/* The flags that allow clobbering the file (opening with "wb"). -+ Defined here to avoid repetition later. #### This will require -+ rework. */ -+#define ALLOW_CLOBBER (opt.noclobber || opt.always_rest || opt.timestamping \ -+ || opt.dirstruct || opt.output_document || opt.backups > 0) -+ - /* Specifies how, or whether, user auth information should be included - * in URLs regenerated from URL parse structures. */ - enum url_auth_mode { --- -1.8.3.1 - diff --git a/wget-1.14-fix-double-free-of-iri-orig_url.patch b/wget-1.14-fix-double-free-of-iri-orig_url.patch deleted file mode 100644 index 9ad8195..0000000 --- a/wget-1.14-fix-double-free-of-iri-orig_url.patch +++ /dev/null @@ -1,29 +0,0 @@ -From bdf2764457bef7c33be289b889ddf6df91773296 Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Wed, 10 Jul 2013 13:23:37 +0200 -Subject: [PATCH] Set iri->orig_url to NULL after free. - -Set iri->orig_url to NULL after free to prevent double -free in retrieve_url() and iri_free() when using IRI -and downloading site that redirects itself. - -Signed-off-by: Tomas Hozza ---- - src/retr.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/retr.c b/src/retr.c -index 6204839..66624dc 100644 ---- a/src/retr.c -+++ b/src/retr.c -@@ -838,6 +838,7 @@ retrieve_url (struct url * orig_parsed, const char *origurl, char **file, - iri->utf8_encode = opt.enable_iri; - set_content_encoding (iri, NULL); - xfree_null (iri->orig_url); -+ iri->orig_url = NULL; - - /* Now, see if this new location makes sense. */ - newloc_parsed = url_parse (mynewloc, &up_error_code, iri, true); --- -1.8.3.1 - diff --git a/wget-1.14-manpage-tex5.patch b/wget-1.14-manpage-tex5.patch deleted file mode 100644 index 49728fc..0000000 --- a/wget-1.14-manpage-tex5.patch +++ /dev/null @@ -1,55 +0,0 @@ -From a2a34ad8e09117041761fa96830f289aa6e67042 Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Fri, 22 Feb 2013 12:29:37 +0100 -Subject: [PATCH] Fix @itemx issue when building doc - -@itemx should be used ONLY for second and subsequent item(s). - -Signed-off-by: Tomas Hozza ---- - doc/wget.texi | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/doc/wget.texi b/doc/wget.texi -index c1fc82f..3768156 100644 ---- a/doc/wget.texi -+++ b/doc/wget.texi -@@ -876,7 +876,7 @@ recommendation to block many unrelated users from a web site due to the - actions of one. - - @cindex proxy --@itemx --no-proxy -+@item --no-proxy - Don't use proxies, even if the appropriate @code{*_proxy} environment - variable is defined. - -@@ -977,7 +977,7 @@ are outside the range of @sc{ascii} characters (that is, greater than - whose encoding does not match the one used locally. - - @cindex IPv6 --@itemx -4 -+@item -4 - @itemx --inet4-only - @itemx -6 - @itemx --inet6-only -@@ -3094,7 +3094,7 @@ display properly---the same as @samp{-p}. - Change setting of passive @sc{ftp}, equivalent to the - @samp{--passive-ftp} option. - --@itemx password = @var{string} -+@item 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. -@@ -3605,7 +3605,7 @@ In addition to the environment variables, proxy location and settings - may be specified from within Wget itself. - - @table @samp --@itemx --no-proxy -+@item --no-proxy - @itemx proxy = on/off - This option and the corresponding command may be used to suppress the - use of proxy, even if the appropriate environment variables are set. --- -1.8.1.2 - diff --git a/wget-1.14-remove-nv-from-report-speed-in-doc-wget-texi.patch b/wget-1.14-remove-nv-from-report-speed-in-doc-wget-texi.patch deleted file mode 100644 index 2aa80a5..0000000 --- a/wget-1.14-remove-nv-from-report-speed-in-doc-wget-texi.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 798f554773baf1adca376500ca120a992e6d7492 Mon Sep 17 00:00:00 2001 -From: Tim Ruehsen -Date: Tue, 28 Aug 2012 16:38:21 +0200 -Subject: [PATCH] remove -nv from --report-speed in doc/wget.texi - ---- - doc/wget.texi | 3 +-- - 1 file changed, 1 insertions(+), 2 deletions(-) - -diff --git a/doc/wget.texi b/doc/wget.texi -index 7efdc72..400debe 100644 ---- a/doc/wget.texi -+++ b/doc/wget.texi -@@ -479,8 +479,7 @@ Turn off verbose without being completely quiet (use @samp{-q} for - that), which means that error messages and basic information still get - printed. - --@item -nv --@itemx --report-speed=@var{type} -+@item --report-speed=@var{type} - Output bandwidth as @var{type}. The only accepted value is @samp{bits}. - - @cindex input-file --- -1.8.3.1 - diff --git a/wget-1.14-set_sock_to_-1_if_no_persistent_conn.patch b/wget-1.14-set_sock_to_-1_if_no_persistent_conn.patch deleted file mode 100644 index 9ee37e8..0000000 --- a/wget-1.14-set_sock_to_-1_if_no_persistent_conn.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8760123cee87e07a276b8b13ef48ada3a490ad47 Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Thu, 11 Jul 2013 11:22:43 +0000 -Subject: Set sock variable to -1 if no persistent conn exists - -Wget should set sock variable to -1 if no persistent -connection exists. Function persistent_available_p() -tests persistent connection but if test_socket_open() -fails it closes the socket but will not set sock variable -to -1. After returning from persistent_available_p() -it is possible that sock has still value of already -closed connection. - -Signed-off-by: Tomas Hozza ---- -diff --git a/src/http.c b/src/http.c -index 669f0fe..a693355 100644 ---- a/src/http.c -+++ b/src/http.c -@@ -1983,6 +1983,10 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, - exec_name, quote (relevant->host)); - return HOSTERR; - } -+ else if (sock != -1) -+ { -+ sock = -1; -+ } - } - - if (sock < 0) --- -cgit v0.9.0.2 diff --git a/wget-1.14-sslreadtimeout.patch b/wget-1.14-sslreadtimeout.patch deleted file mode 100644 index 03c29fc..0000000 --- a/wget-1.14-sslreadtimeout.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -up wget-1.14/src/openssl.c.ssltimeout wget-1.14/src/openssl.c ---- wget-1.14/src/openssl.c.ssltimeout 2012-08-09 14:30:14.987964706 +0200 -+++ wget-1.14/src/openssl.c 2012-08-09 14:44:05.467660741 +0200 -@@ -256,19 +256,42 @@ struct openssl_transport_context { - char *last_error; /* last error printed with openssl_errstr */ - }; - --static int --openssl_read (int fd, char *buf, int bufsize, void *arg) --{ -- int ret; -- struct openssl_transport_context *ctx = arg; -+struct openssl_read_args { -+ int fd; -+ struct openssl_transport_context *ctx; -+ char *buf; -+ int bufsize; -+ int retval; -+}; -+ -+static void openssl_read_callback(void *arg) { -+ struct openssl_read_args *args = (struct openssl_read_args *) arg; -+ struct openssl_transport_context *ctx = args->ctx; - SSL *conn = ctx->conn; -+ char *buf = args->buf; -+ int bufsize = args->bufsize; -+ int ret; -+ - do - ret = SSL_read (conn, buf, bufsize); -- while (ret == -1 -- && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL -+ while (ret == -1 && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL - && errno == EINTR); -+ args->retval = ret; -+} - -- return ret; -+static int -+openssl_read (int fd, char *buf, int bufsize, void *arg) -+{ -+ struct openssl_read_args args; -+ args.fd = fd; -+ args.buf = buf; -+ args.bufsize = bufsize; -+ args.ctx = (struct openssl_transport_context*) arg; -+ -+ if (run_with_timeout(opt.read_timeout, openssl_read_callback, &args)) { -+ return -1; -+ } -+ return args.retval; - } - - static int -@@ -386,6 +409,18 @@ static struct transport_implementation o - openssl_peek, openssl_errstr, openssl_close - }; - -+struct scwt_context { -+ SSL *ssl; -+ int result; -+}; -+ -+static void -+ssl_connect_with_timeout_callback(void *arg) -+{ -+ struct scwt_context *ctx = (struct scwt_context *)arg; -+ ctx->result = SSL_connect(ctx->ssl); -+} -+ - /* Perform the SSL handshake on file descriptor FD, which is assumed - to be connected to an SSL server. The SSL handle provided by - OpenSSL is registered with the file descriptor FD using -@@ -398,6 +433,7 @@ bool - ssl_connect_wget (int fd, const char *hostname) - { - SSL *conn; -+ struct scwt_context scwt_ctx; - struct openssl_transport_context *ctx; - - DEBUGP (("Initiating SSL handshake.\n")); -@@ -425,7 +461,14 @@ ssl_connect_wget (int fd, const char *ho - if (!SSL_set_fd (conn, FD_TO_SOCKET (fd))) - goto error; - SSL_set_connect_state (conn); -- if (SSL_connect (conn) <= 0 || conn->state != SSL_ST_OK) -+ -+ scwt_ctx.ssl = conn; -+ if (run_with_timeout(opt.read_timeout, ssl_connect_with_timeout_callback, -+ &scwt_ctx)) { -+ DEBUGP (("SSL handshake timed out.\n")); -+ goto timeout; -+ } -+ if (scwt_ctx.result <= 0 || conn->state != SSL_ST_OK) - goto error; - - ctx = xnew0 (struct openssl_transport_context); -@@ -441,6 +484,7 @@ ssl_connect_wget (int fd, const char *ho - error: - DEBUGP (("SSL handshake failed.\n")); - print_errors (); -+ timeout: - if (conn) - SSL_free (conn); - return false; diff --git a/wget-1.14-texi2pod_error_perl518.patch b/wget-1.14-texi2pod_error_perl518.patch deleted file mode 100644 index 13427a0..0000000 --- a/wget-1.14-texi2pod_error_perl518.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7f43748544f26008d0dd337704f02a6ed3200aaf Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Mon, 17 Jun 2013 23:31:46 +0530 -Subject: [PATCH] Fix error in texi2pod intriduced with Perl 5.18 - ---- - doc/texi2pod.pl | 2 +- - 1 files changed, 1 insertions(+), 1 deletion(-) - -diff --git a/doc/texi2pod.pl b/doc/texi2pod.pl -index 86c4b18..9db6de1 100755 ---- a/doc/texi2pod.pl -+++ b/doc/texi2pod.pl -@@ -291,7 +291,7 @@ while(<$inf>) { - if (defined $1) { - my $thing = $1; - if ($ic =~ /\@asis/) { -- $_ = "\n=item $thing\n"; -+ $_ = "\n=item C<$thing>\n"; - } else { - # Entity escapes prevent munging by the <> processing below. - $_ = "\n=item $ic\<$thing\>\n"; --- -1.8.1.4 - diff --git a/wget-1.15-path.patch b/wget-1.15-path.patch new file mode 100644 index 0000000..c20ae3c --- /dev/null +++ b/wget-1.15-path.patch @@ -0,0 +1,156 @@ +diff -up wget-1.15/doc/sample.wgetrc.munged_for_texi_inclusion.wgetrc1 wget-1.15/doc/sample.wgetrc.munged_for_texi_inclusion +--- wget-1.15/doc/sample.wgetrc.munged_for_texi_inclusion.wgetrc1 2014-01-19 11:03:06.000000000 +0100 ++++ wget-1.15/doc/sample.wgetrc.munged_for_texi_inclusion 2014-01-22 14:27:36.834615751 +0100 +@@ -10,7 +10,7 @@ + ## Or online here: + ## https://www.gnu.org/software/wget/manual/wget.html#Startup-File + ## +-## Wget initialization file can reside in /usr/local/etc/wgetrc ++## Wget initialization file can reside in /etc/wgetrc + ## (global, for all users) or $HOME/.wgetrc (for a single user). + ## + ## To use the settings in this file, you will have to uncomment them, +@@ -19,7 +19,7 @@ + + + ## +-## Global settings (useful for setting up in /usr/local/etc/wgetrc). ++## Global settings (useful for setting up in /etc/wgetrc). + ## Think well before you change them, since they may reduce wget's + ## functionality, and make it behave contrary to the documentation: + ## +diff -up wget-1.15/doc/sample.wgetrc.wgetrc1 wget-1.15/doc/sample.wgetrc +--- wget-1.15/doc/sample.wgetrc.wgetrc1 2014-01-04 13:49:47.000000000 +0100 ++++ wget-1.15/doc/sample.wgetrc 2014-01-22 14:27:13.763590317 +0100 +@@ -10,7 +10,7 @@ + ## Or online here: + ## https://www.gnu.org/software/wget/manual/wget.html#Startup-File + ## +-## Wget initialization file can reside in /usr/local/etc/wgetrc ++## Wget initialization file can reside in /etc/wgetrc + ## (global, for all users) or $HOME/.wgetrc (for a single user). + ## + ## To use the settings in this file, you will have to uncomment them, +@@ -19,7 +19,7 @@ + + + ## +-## Global settings (useful for setting up in /usr/local/etc/wgetrc). ++## Global settings (useful for setting up in /etc/wgetrc). + ## Think well before you change them, since they may reduce wget's + ## functionality, and make it behave contrary to the documentation: + ## +diff -up wget-1.15/doc/wget.info.wgetrc1 wget-1.15/doc/wget.info +--- wget-1.15/doc/wget.info.wgetrc1 2014-01-21 17:18:38.395689764 +0100 ++++ wget-1.15/doc/wget.info 2014-01-22 14:29:58.514772363 +0100 +@@ -111,7 +111,7 @@ retrieval through HTTP proxies. + * Most of the features are fully configurable, either through command + line options, or via the initialization file '.wgetrc' (*note + Startup File::). Wget allows you to define "global" startup files +- ('/usr/local/etc/wgetrc' by default) for site settings. You can ++ ('/etc/wgetrc' by default) for site settings. You can + also specify the location of a startup file with the -config + option. + +@@ -2484,8 +2484,8 @@ File: wget.info, Node: Wgetrc Location, + =================== + + When initializing, Wget will look for a "global" startup file, +-'/usr/local/etc/wgetrc' by default (or some prefix other than +-'/usr/local', if Wget was not installed there) and read commands from ++'/etc/wgetrc' by default (or some prefix other than ++'/etc', if Wget was not installed there) and read commands from + there, if it exists. + + Then it will look for the user's file. If the environmental variable +@@ -2496,7 +2496,7 @@ further attempts will be made. + + The fact that user's settings are loaded after the system-wide ones + means that in case of collision user's wgetrc _overrides_ the +-system-wide wgetrc (in '/usr/local/etc/wgetrc' by default). Fascist ++system-wide wgetrc (in '/etc/wgetrc' by default). Fascist + admins, away! + +  +@@ -3028,7 +3028,7 @@ its line. + ## Or online here: + ## https://www.gnu.org/software/wget/manual/wget.html#Startup-File + ## +- ## Wget initialization file can reside in /usr/local/etc/wgetrc ++ ## Wget initialization file can reside in /etc/wgetrc + ## (global, for all users) or $HOME/.wgetrc (for a single user). + ## + ## To use the settings in this file, you will have to uncomment them, +diff -up wget-1.15/doc/wget.texi.wgetrc1 wget-1.15/doc/wget.texi +--- wget-1.15/doc/wget.texi.wgetrc1 2014-01-04 13:49:47.000000000 +0100 ++++ wget-1.15/doc/wget.texi 2014-01-21 17:18:38.396689766 +0100 +@@ -190,14 +190,14 @@ gauge can be customized to your preferen + Most of the features are fully configurable, either through command line + options, or via the initialization file @file{.wgetrc} (@pxref{Startup + File}). Wget allows you to define @dfn{global} startup files +-(@file{/usr/local/etc/wgetrc} by default) for site settings. You can also ++(@file{/etc/wgetrc} by default) for site settings. You can also + specify the location of a startup file with the --config option. + + + @ignore + @c man begin FILES + @table @samp +-@item /usr/local/etc/wgetrc ++@item /etc/wgetrc + Default location of the @dfn{global} startup file. + + @item .wgetrc +@@ -2817,8 +2817,8 @@ commands. + @cindex location of wgetrc + + When initializing, Wget will look for a @dfn{global} startup file, +-@file{/usr/local/etc/wgetrc} by default (or some prefix other than +-@file{/usr/local}, if Wget was not installed there) and read commands ++@file{/etc/wgetrc} by default (or some prefix other than ++@file{/etc}, if Wget was not installed there) and read commands + from there, if it exists. + + Then it will look for the user's file. If the environmental variable +@@ -2829,7 +2829,7 @@ If @code{WGETRC} is not set, Wget will t + + The fact that user's settings are loaded after the system-wide ones + means that in case of collision user's wgetrc @emph{overrides} the +-system-wide wgetrc (in @file{/usr/local/etc/wgetrc} by default). ++system-wide wgetrc (in @file{/etc/wgetrc} by default). + Fascist admins, away! + + @node Wgetrc Syntax, Wgetrc Commands, Wgetrc Location, Startup File +diff -up wget-1.15/NEWS.wgetrc1 wget-1.15/NEWS +--- wget-1.15/NEWS.wgetrc1 2014-01-12 21:31:51.000000000 +0100 ++++ wget-1.15/NEWS 2014-01-21 17:18:38.394689763 +0100 +@@ -700,7 +700,7 @@ distributed with Wget. + + ** Compiles on pre-ANSI compilers. + +-** Global wgetrc now goes to /usr/local/etc (i.e. $sysconfdir). ++** Global wgetrc now goes to /etc (i.e. $sysconfdir). + + ** Lots of bugfixes. + +@@ -763,7 +763,7 @@ Emacs, standalone info, or converted to + ** Fixed a long-standing bug, so that Wget now works over SLIP + connections. + +-** You can have a system-wide wgetrc (/usr/local/lib/wgetrc by ++** You can have a system-wide wgetrc (/etc/wgetrc by + default). Settings in $HOME/.wgetrc override the global ones, of + course :-) + +diff -up wget-1.15/README.wgetrc1 wget-1.15/README +--- wget-1.15/README.wgetrc1 2013-10-21 16:50:12.000000000 +0200 ++++ wget-1.15/README 2014-01-21 17:18:38.394689763 +0100 +@@ -33,7 +33,7 @@ for socks. + + Most of the features are configurable, either through command-line + options, or via initialization file .wgetrc. Wget allows you to +-install a global startup file (/usr/local/etc/wgetrc by default) for ++install a global startup file (/etc/wgetrc by default) for + site settings. + + Wget works under almost all Unix variants in use today and, unlike diff --git a/wget-rh-modified.patch b/wget-rh-modified.patch index b9d528f..e70f076 100644 --- a/wget-rh-modified.patch +++ b/wget-rh-modified.patch @@ -3,9 +3,9 @@ @@ -561,7 +561,7 @@ PACKAGE_NAME='wget' PACKAGE_TARNAME='wget' - PACKAGE_VERSION='1.14' --PACKAGE_STRING='wget 1.14' -+PACKAGE_STRING='wget 1.14 (Red Hat modified)' + PACKAGE_VERSION='1.16' +-PACKAGE_STRING='wget 1.16' ++PACKAGE_STRING='wget 1.16 (Red Hat modified)' PACKAGE_BUGREPORT='bug-wget@gnu.org' PACKAGE_URL='' diff --git a/wget.spec b/wget.spec index c3d0a21..7bceb75 100644 --- a/wget.spec +++ b/wget.spec @@ -1,30 +1,22 @@ Summary: A utility for retrieving files using the HTTP or FTP protocols Name: wget -Version: 1.14 -Release: 12%{?dist} +Version: 1.16 +Release: 1%{?dist} License: GPLv3+ Group: Applications/Internet Url: http://www.gnu.org/software/wget/ Source: ftp://ftp.gnu.org/gnu/wget/wget-%{version}.tar.xz Patch1: wget-rh-modified.patch -Patch2: wget-1.12-path.patch -Patch3: wget-1.14-sslreadtimeout.patch -Patch4: wget-1.14-manpage-tex5.patch -Patch5: wget-1.14-add_missing_options_doc.patch -Patch6: wget-1.14-texi2pod_error_perl518.patch -Patch7: wget-1.14-fix-double-free-of-iri-orig_url.patch -Patch8: wget-1.14-Fix-deadcode-and-possible-NULL-use.patch -Patch9: wget-1.14-doc-missing-opts-and-fix-preserve-permissions.patch -Patch10: wget-1.14-set_sock_to_-1_if_no_persistent_conn.patch -Patch11: wget-1.14-document-backups.patch -Patch12: wget-1.14-fix-backups-to-work-as-documented.patch -Patch13: wget-1.14-remove-nv-from-report-speed-in-doc-wget-texi.patch +Patch2: wget-1.15-path.patch +Patch3: wget-1.16-dont-run-failing-test.patch Provides: webclient Provides: bundled(gnulib) Requires(post): /sbin/install-info Requires(preun): /sbin/install-info +# needed for test suite +BuildRequires: perl-HTTP-Daemon, python3 BuildRequires: openssl-devel, pkgconfig, texinfo, gettext, autoconf, libidn-devel, libuuid-devel, perl-podlators BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -40,18 +32,10 @@ support for Proxy servers, and configurability. %prep %setup -q %patch1 -p0 -%patch2 -p1 -%patch3 -p1 -b .sslreadtimeout -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 +%patch2 -p1 -b .path +# don't run the Test-proxied-https-auth.px test since it fails with OpenSSL +# upstream is working on fix and will be fixed most probably in 1.16.1 +%patch3 -p1 -b .test %build if pkg-config openssl ; then @@ -91,6 +75,10 @@ rm -rf $RPM_BUILD_ROOT %{_infodir}/* %changelog +* Fri Oct 31 2014 Tomas Hozza - 1.16-1 +- update to 1.16 +- fixes CVE-2014-4877 + * Wed Mar 05 2014 Tomas Hozza - 1.14-12 - Bump release