96 Commits

Author SHA1 Message Date
Darshit Shah
40747a11e4 * NEWS: Update NEWS items for release 2022-02-26 17:20:26 +01:00
Darshit Shah
b6f3c6153e * .gitignore: Remove empty line at EOF 2022-02-26 17:02:26 +01:00
Darshit Shah
e1fa51206c * .gitignore: Update file 2022-02-26 16:54:51 +01:00
Darshit Shah
6d4a4e56c8 * src.hsts.c(hsts_read_database): Use SCNd64 for portable format flags 2022-02-26 16:51:21 +01:00
Darshit Shah
14a7f68f46 * configure.ac: Add some warning flags to ignore 2022-02-26 16:50:48 +01:00
Darshit Shah
ccc7866fea * cfg.mk: Remove passing syntax-checks from skip list 2022-02-26 16:24:57 +01:00
Darshit Shah
2730a00c0d Fix issues from syntax-check
* doc/wget.texi: s/time stamp/timestamp/
* src/ftp-ls.c(clean_line): Same
  (ftp_parse_vms_ls): Don't cast return value of x*alloc
* src/ftp.c: Don't cast return value of alloca
* src/css-url.c: wget.h should be the first include
* testenv/Makefile.am: Use $(PATH_SEPARATOR) instead of : when declaring
  a path
* testenv/Test-no_proxy-env.py: s/can not/cannot/
2022-02-26 16:20:30 +01:00
Darshit Shah
be936bda56 * Update Copyright years 2022-02-26 15:49:52 +01:00
Darshit Shah
7ba0a44939 * bootstrap: Update script 2022-02-26 15:45:03 +01:00
Darshit Shah
98c23153a2 * gnulib: Pull forward 2022-02-26 15:45:02 +01:00
Darshit Shah
3a470a90f2 Cleanup some incorrect uses of AM Conditionals
* configure.ac: Replace IRI_IS_ENABLED with WITH_IRI and
      METALINK_IS_ENABLED with WITH_METALINK
    * src/Makefile.am: Add the .c and .h files for IRI, Metalink and
      Xattr support to wget_SOURCES directly when needed instead of
      adding them as object files.
    * testenv/Makefile.am: Rename METALINK_IS_ENABLED to WITH_METALINK
2022-02-26 15:45:02 +01:00
Darshit Shah
f5263969fa Replace incorrect usage of AC_LIBOBJ in configure.ac
AC_LIBOBJ is to be used for providing replacement functions for
compatibility reasons. Not for conditional compilation of entire source
files. Autotools provides other methods for achieving that. However, our
build system has (ab-)used the AC_LIBOBJ macros for doing this for over
15 years. That stops today.

    * configure.ac: Replace uses of AC_LIBOBJ with automake conditionals
      that can be used in Makefiles
    * src/Makefile.am: Use the defined conditionals to select which
      files get built.
2022-02-26 15:20:29 +01:00
Darshit Shah
cc5ec2a158 Fix case where installed gettext is newer than minimum version
* configure.ac: Use AM_GNU_GETTEXT_REQUIRE_VERSION to specify a minimum
  version of gettext needed. This should allow newer versions of gettext
  to be copied for autipoint to use when available.

This commit hopefully fixes the annoying issue when building from
source on a system that has a newer version of gettext.
2022-02-25 17:25:30 +01:00
Tim Rühsen
f7ce79fd85 * src/netrc.c (test_parse_netrc): Free netrc structure 2022-02-13 18:00:07 +01:00
Tim Rühsen
d139fecbe8 * .gitlab-ci.yml: Fix path to llvm-symbolizer 2022-02-13 17:57:39 +01:00
Tim Rühsen
74a9d9e7c4 * src/netrc.c (test_parse_netrc): New unit test function 2022-02-13 17:28:02 +01:00
Aarni Koskela
446afdca21 * src/http.c (parse_strict_transport_security): Fix typo in string
Copyright-paperwork-exempt: Yes
2022-01-31 18:01:51 +01:00
Tim Rühsen
e6fa409a4d * .gitlab-ci.yml (Scan-Build): Allow failure due to two false positives 2022-01-23 14:10:49 +01:00
Tim Rühsen
a24e67e239 * configure.ac: Use pkg-config for gpgme, libidn2 and nettle 2022-01-23 14:10:49 +01:00
Tim Rühsen
c984cb316a * src/ftp.c: Small cleanups 2022-01-22 19:53:26 +01:00
Nik Soggia
35a6317b99 Print newline after dot progress bar in non-verbose mode
* src/progress.c (dot_finish): Print new in all progress bar contexts
  instead of just verbose

Copyright-paperwork-exempt: Yes
2022-01-16 00:01:39 +01:00
Tim Rühsen
9474a2c6f4 * .gitlab-ci.yml: Fix artifact path for the Scan-Build runner 2022-01-12 22:10:01 +01:00
Tim Rühsen
e7a4d818fa * src/main.c (main): Unlink output document when --unlink is given 2022-01-09 18:58:41 +01:00
Tim Rühsen
f354529708 fuzz/*.in: Update fuzzer corpora 2021-12-22 19:49:24 +01:00
Tim Rühsen
67d4cb3ab6 * .gitlab-ci.yml (CoverageReports): Fix artifacts paths 2021-12-22 17:00:47 +01:00
Tim Rühsen
d2af84fbb3 * tests/valgrind-suppressions: Fix libidn rule 2021-12-22 14:32:50 +01:00
Tim Rühsen
bfb5bedf7d * .gitlab-ci.yml: Fix artifacts paths 2021-12-22 14:29:00 +01:00
Tim Rühsen
8c5a620f0f * tests/valgrind-suppressions: Extend libidn rule 2021-12-22 14:01:47 +01:00
Tim Rühsen
c34c2529dc * src/log.c (logprintf): Check earlier for verbosity 2021-12-22 13:07:23 +01:00
Tim Rühsen
c7a37d82ee * src/http.c (http_loop): Fix memleak 2021-12-22 13:06:34 +01:00
Tim Rühsen
c81042295e Switch fuzzing build from C++ to C
* Makefile.am (oss-fuzz): Build with $CC instead of $CXX.
* README.md: Remove CXX and CXXFLAGS exports.
2021-12-21 19:20:52 +01:00
Darshit Shah
f75fcf2985 * src/http.c (http_loop): Hide password when printing status with -nv
Reported-By: Per Lundberg <perlun@gmail.com>
Closes: #61492
2021-12-01 23:38:52 +01:00
Darshit Shah
22611a77ba * gnulib: Pull forward 2021-12-01 23:03:56 +01:00
Darshit Shah
e1bacd2fa5 * src/hsts.c (hsts_read_database): Read time_t values as long long 2021-12-01 22:42:42 +01:00
Thomas Niederberger
faeb4d90c2 * src/main.c (print_help): Add command line option for TLS 1.3 2021-12-01 22:17:11 +01:00
Darshit Shah
65e6d5b3b8 * retr.c (rotate_backups): Non existent files are not errors in this function 2021-10-11 23:06:38 +02:00
Darshit Shah
aecf5fbf1b * ftp.c (ftp_loop_internal): Fix computation of total_downloaded_bytes
When continuing a FTP download, or not starting one because the file is
already fully retrieved, don't include the size of the file in the
total_downloaded_bytes. Only the actual amount of data retrieved over
the network should be considered there.

Fixes: #61277
Reported-By: Michal Ruprich <formaiko>
2021-10-08 20:37:51 +02:00
Darshit Shah
3ea9658c07 Remove suprious print statements
* src/gnutls.c: Remove fprintf statements. We should never print to
  console directly. Always honor the log levels.
  Fixes: #61125
2021-09-08 17:52:32 +02:00
Darshit Shah
31b82825a2 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2021-09-07 21:04:48 +02:00
Darshit Shah
d5588ac221 * NEWS: Update NEWS items for release 2021-09-07 20:57:24 +02:00
Darshit Shah
204a4bccf4 * cfg.mk: Disable the indent check 2021-09-07 20:57:24 +02:00
Darshit Shah
5a79362a56 * gnulib: Pull forward 2021-09-07 20:12:55 +02:00
WB
ebb96761f5 Fix #60956 (improve --page-requisites)
* src/html_url.c (tag_handle_link): Check for "alternate stylesheet",
  "icon" and "manifest".
2021-08-21 19:51:12 +02:00
Tim Rühsen
7899e1d17b * src/html-url.c (tag_handle_meta): Fix integer overflow 2021-08-07 14:29:02 +02:00
Tim Rühsen
254b2d3c7c * src/recur.c (download_child): Remove temporary robots.txt.tmp 2021-07-05 15:43:13 +02:00
Josef Moellers
718ab3f79b Long pathnames patch 2021-06-14 08:33:57 +02:00
Tim Rühsen
d73e8b42f7 * .gitlab-ci.yml: Remove scan-build deps from pages stage 2021-06-07 20:32:41 +02:00
Tim Rühsen
4a5a010eb3 * .gitlab-ci.yml: Move scan-build/ to public/ only if it exists 2021-06-07 00:11:11 +02:00
Tim Rühsen
89fc8d84b7 * .gitlab-ci.yml: Move scan-build results to parent directory 2021-06-06 23:48:42 +02:00
Tim Rühsen
a0e0965d1e * .gitlab-ci.yml: Move coverage results to parent directory 2021-06-06 23:34:46 +02:00
Tim Rühsen
96971867ea * .gitlab-ci.yml: Don't allow failure of scan-build 2021-06-06 23:26:33 +02:00
Tim Rühsen
5192dddbdd * .gitlab-ci.yml: Pages needs Build-Tarball 2021-06-06 23:18:24 +02:00
Tim Rühsen
91c42c799a * src/url.c (append_uri_pathel): Add cheap extra check to help static analyzers 2021-06-06 15:34:12 +02:00
Tim Rühsen
c778ac20b4 * src/http.c (gethttp): Add cheap extra check to help static analyzers 2021-06-06 15:34:06 +02:00
Tim Rühsen
4d3ee1604a * .gitlab-ci.yml: Exclude src/css_.o from scan-build 2021-06-06 15:34:03 +02:00
Tim Rühsen
a209bb1fac * src/main.c (main): Removed unused variable 2021-06-06 15:33:59 +02:00
Tim Rühsen
36e250e09a Revert "Long pathnames patch"
This reverts commit affad27664.

Manual tests with very long path names did not work with this patch.
We have to wait for a patch including automated tests.
2021-06-06 14:10:22 +02:00
Tim Rühsen
f3299cc606 * .lgtm.yml: Add autoconf-archive 2021-06-06 02:39:28 +02:00
Tim Rühsen
de4b94a5ae * .gitlab-ci.yml: Re-arrange stages 2021-06-06 02:39:28 +02:00
Tim Rühsen
c1599deb1f Remove .git/, .gitmodules and gnulib/ from bootstrap artefacts 2021-06-06 02:39:28 +02:00
Darshit Shah
61df89eb91 Updated Gitlab CI Pipeline
* .gitlab-ci.yml: COmpletely overhauled CI pipeline with dependencies
  for a faster and more robust CI.
2021-06-06 02:39:17 +02:00
jmoellers
affad27664 Long pathnames patch 2021-05-29 17:17:27 +00:00
Tim Rühsen
170896a76a * fuzz/wget_read_hunk_fuzzer.c: Add explicit cast for C++ compilation 2021-05-22 16:48:19 +02:00
Tim Rühsen
d4431a0b97 * fuzz/wget_ntlm_fuzzer.c: Add explicit cast for C++ compilation 2021-05-22 16:48:14 +02:00
Tim Rühsen
027d294114 * src/http.c (initialize_request): Send Host HTTP header first
This solves an issue where the server expects the Host: header
as first one. This seems plausible (ahem) as the Host: header is the
only one that is required.
2021-05-03 17:49:58 +02:00
Tim Rühsen
5fe8d26904 Improve wget_options_fuzzer
* fuzz/fuzzer.h: Ignore -Wunused-parameter.
* fuzz/wget_options_fuzzer.c: Let getaddrinfo() fail in while fuzzing.
* fuzz/wget_options_fuzzer.in/*: Update corpora from OSS-Fuzz.
2021-05-02 19:43:06 +02:00
Nekun
aabdf6eb66 Fix typo in VMS support code
* src/utils.c: Remove unpaired brace

Copyright-paperwork-exempt: Yes
2021-05-02 14:19:01 +02:00
Nils
1aada296dd Use "nofollow" instead of "no-follow" in messages
* src/html-url.c (get_urls_html_fm): Remove misleading debug message.
* src/recur.c (retrieve_tree): Fix no-follow -> follow in DEBUGP.

The attribute in html is "nofollow" so it is more consistent to call it
so than to hyphenate it.

Copyright-paperwork-exempt: Yes
2021-04-15 21:03:56 +02:00
Nils
f1cccd2c45 Print message for no-follow attribute only if norobots respected
* src/html-url.c (get_urls_html_fm): Remove misleading log message.
* src/recur.c (retrieve_tree): Add log message into correct if block.

Commit e39be32838 added a message that
said links will not be followed whenever the nofollow attribute is found
in a page. It didn't take into account that with -e robots=off (and
equivalents) links will still be followed.

This bug has been noticed multiple times:
* https://www.reddit.com/r/DataHoarder/comments/mprq89/wget_respects_nofollow_attribute_despite_e/
* https://gist.github.com/simonw/27e810771137408fd7834ad153750c41#gistcomment-3648191
* https://superuser.com/questions/1494761/wget-wont-ignore-no-follow-attributes

This commits makes it so that this message is only printed when a
nofollow link is found and the norobots convention is respected.

Copyright-paperwork-exempt: Yes
2021-04-15 21:02:28 +02:00
Tim Rühsen
11c626efc4 * configure.ac: Add AM_GNU_GETTEXT_VERSION 2021-04-15 20:56:27 +02:00
Tim Rühsen
db6166d011 * testenv/test/base_test.py: Rename valgrind-suppression-ssl -> valgrind-suppressions-ssl 2021-04-11 19:41:03 +02:00
Tim Rühsen
a65bc7c0e8 * testenv/test/base_test.py: Add --show-leak-kinds=all valgrind argument 2021-04-11 19:41:00 +02:00
Tim Rühsen
3a1ac38f00 * tests/WgetTests.pm: Add --show-leak-kinds=all valgrind argument 2021-04-11 19:40:56 +02:00
Tim Rühsen
d745ea0eb6 Fix testenv valgrind suppression
* testenv/Makefile.am: Remove valgrind-suppressions from EXTRA_DIST.
* testenv/valgrind-suppression-ssl: Rename to testenv/valgrind-suppressions-ssl.
2021-04-11 19:09:45 +02:00
Tim Rühsen
82afc6e6f0 * bootstrap.conf: Add 'rename' to gnulib modules
The missing module could be a reason for
https://savannah.gnu.org/bugs/?60346.

Reported-by: jrharris42@gmail.com
2021-04-11 13:16:21 +02:00
Tim Rühsen
90631a6fe5 * src/wget.h: Use strtoll() for str_to_wgint
This fixes a regression reported at https://savannah.gnu.org/bugs/?60353.

Reported-by: Michal Ruprich
2021-04-11 12:53:20 +02:00
Shamil Gumirov
fd2a061f6a Minor output fix to use quote_n() instead of quote()
* src/ftp.c (ftp_retrieve_list): change quote to quote_n
* src/iri.c (do_conversion): change quote to quote_n
* src/url.c (convert_fname): change quote to quote_n

The implementation quote() reuses the buffer it returns which
leads to printing the same string for each quote() call in one
output line. Instead, quote_n() should be used as highlighted in
the doc:
https://www.gnu.org/software/gnulib/manual/html_node/Quoting.html

Copyright-paperwork-exempt: Yes
2021-04-11 12:42:07 +02:00
Tim Rühsen
27b12dad12 * src/Makefile.am: Add metalink.c and xattr.c to EXTRA_wget_SOURCES 2021-04-05 12:37:28 +02:00
Tim Rühsen
c8d7a66217 * testenv/Makefile.am: Allow tarball build without python3 2021-04-05 12:37:15 +02:00
Tim Rühsen
6d58a04682 Fix spelling errors
* NEWS: trough -> through.
* README.checkout: Likewise.
* contrib/spell-checker: Add exclusion 'parm'
2021-04-04 17:14:57 +02:00
Tim Rühsen
7840db6c0b Remove gettext version requirements
* bootstrap.conf: Remove gettext version requirements
* configure.ac: Likewise.
2021-04-04 17:14:54 +02:00
Darshit Shah
cf788d60e4 Use a LOG_COMPILER for running fuzz tests
This prevents needing a special case in the fuzz tests to detect
valgrind usage and a new exec. Instead, we simply detect the environment
in a shell script and start the test with valgrind in the first place.

* fuzz/test-runner.sh: New script for running the fuzz tests
* fuzz/main.c (main): Remove code for re-running under valgrind
* fuzz/Makefile.am: Set the LOG_COMPILER to test-runner.sh and remember
  to add it to the list of extra files for packaging
2021-03-16 21:48:13 +01:00
Tim Rühsen
db4d5b6eb3 * configure.ac: Add AC_PROG_CC_C99 2021-03-07 19:56:36 +01:00
Darshit Shah
e9cf8da1a6 Bump gettext version to 0.20
* bootstrap.conf: Increase minimum version of gettext needed to 0.20
* configure.ac: Same
2021-03-07 14:50:11 +01:00
Darshit Shah
b743178b9d * bootstrap: Update script 2021-03-07 14:40:41 +01:00
Darshit Shah
65cc47b504 * gnulib: Pull forward 2021-03-07 14:39:53 +01:00
Darshit Shah
f7835691b4 Fix double free in FTP Code
* src/ftp.c(getftp): Don't free `target`. If it is not pointing to
  targetbuf, then it still pointing to its original location of u->dir.
  This location will be free'd later. Doing so now causes a double free
  and hence crashes Wget
* tests/Test-ftp-dir.px: New test to show double free error
* tests/Makefile.am: Add new test
2021-03-02 12:03:14 +01:00
Tim Rühsen
51ee45f017 * doc/wget.texi: Replace '' with in example
Needed to hide from texi2pod.pl replacement of '' -> ".

Reported-by: Vincent Lefevre
2021-01-31 18:23:36 +01:00
Tim Rühsen
7d9ed223fc Use gnulib's utime.h
* bootstrap.conf: Remove utime-h (included by utime).
* configure.ac: Remove header checks for utime.h and sys/utime.h.
* src/utils.c: Simply #include <utime.h>.
2021-01-23 19:28:58 +01:00
Tim Rühsen
f81191951a * configure.ac: Detect unresolved AX_ macros 2021-01-23 19:09:36 +01:00
Tim Rühsen
ea6143d56c * configure.ac: Use noyywrap for AC_PROG_LEX 2021-01-16 20:09:07 +01:00
Tim Rühsen
ad36a467ac Fix --quota on systems with 32bit long type
* src/init.c (cmd_bytes_sum): Use WGINT_MIN and WGINT_MAX in check.
* src/options.h (struct options): Make 'quota' of type wgint.
* src/retr.c: Make 'total_downloaded_bytes' of type wgint.
* src/utils.h: Fix comment.
* src/wget.h: Add WGINT_MIN, remove SUM_SIZE_INT.
2021-01-16 20:00:39 +01:00
Tim Rühsen
adc5aa0196 * configure.ac: Remove obsolete AC_HEADER_STDC 2021-01-16 19:34:53 +01:00
Tim Rühsen
5c8569ba5d * configure.ac: Replace ` with ' 2021-01-16 19:31:04 +01:00
Tim Rühsen
9f1c8dac77 * configure.ac: Use yywrap param for AC_PROG_LEX 2021-01-16 19:19:01 +01:00
Darshit Shah
6c84dc38bc maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2021-01-09 11:01:24 +01:00
3573 changed files with 15912 additions and 4724 deletions

6
.gitignore vendored
View File

@@ -1,6 +1,6 @@
/ABOUT-NLS~
# Project Root
/.sc-start-sc_bindtextdomain
/.sc-start-sc_prohibit_HAVE_MBRTOWC
/.sc-start-*
/.version
/ABOUT-NLS
/GNUmakefile
@@ -17,6 +17,7 @@
!/lib/Makefile.am
/maint.mk
/gnulib_po/
/aminclude_static.am
# Wildcard Ignores
*~
po/*.gmo*
@@ -53,6 +54,7 @@ doc/version.texi
doc/wget.1
doc/wget.info
doc/wget.pod
doc/.gitignore
# m4/
m4/.gitignore
m4/gnulib-cache.m4

View File

@@ -1,14 +1,14 @@
# we utilize the images generated by the build-images project, to
# speed up CI runs. We also use ccache and store config.cache
# to speed up compilation. We include a version number in cache
# name to allow expiration of old caches.
# to speed up compilation.
stages:
- stage1-testing
- stage2-tarball
- test-from-git
- test-from-tarball
- deploy
cache:
key: "$CI_JOB_NAME-ver5"
key: "$CI_JOB_NAME"
paths:
- cache/
@@ -24,436 +24,473 @@ after_script:
# somehow after_script loses environment
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/cache
- if which ccache >/dev/null; then ccache -s; fi
- if type -p ccache >/dev/null; then ccache -s; fi
variables:
BUILD_IMAGES_PROJECT: gnuwget/build-images
DEBIAN_BUILD: buildenv-debian-stretch
CI_BASE_PATH: $CI_REGISTRY/$BUILD_IMAGES_PROJECT/wget
DEBIAN_OLDSTABLE_BUILD: buildenv-debian-oldstable
DEBIAN_TESTING_BUILD: buildenv-debian-testing
DEBIAN_STABLE_BUILD: buildenv-debian-stable
CENTOS_OLDLTS_BUILD: buildenv-centos7
FEDORA_BUILD: buildenv-fedora
CENTOS7_BUILD: buildenv-centos7
MINGW_BUILD: buildenv-mingw
ALPINE_BUILD: buildenv-alpine
ARCH_BUILD: buildenv-arch
BASIC_BUILD: buildenv-basic
GET_SOURCES_ATTEMPTS: "3"
GIT_DEPTH: "5"
CONFIGURE_BASE_FLAGS: --enable-assert --cache-file cache/config.cache
CFLAGS_DEFAULT: -O0 -g -ggdb3
# Create the tarball in a separate build directory (VPATH).
Build-Tarball:
stage: test-from-git
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
script:
- export CFLAGS=$CFLAGS_DEFAULT
- ./bootstrap
- autoreconf -fi
- mkdir vpath && cd vpath
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
--without-ssl --enable-ipv6 --without-zlib --without-libiconv-prefix
--disable-iri --disable-ntlm --disable-pcre --without-libpsl --without-libuuid
--without-libintl-prefix
- make -j$(nproc)
- make -j$(nproc) syntax-check
- make -j$(nproc) dist
- mv wget-*.gz ..
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- vpath/*.log
- vpath/fuzz/*.log
- vpath/tests/*.log
- vpath/testenv/*.log
artifacts:
expire_in: 2 weeks
when: on_success
paths:
- wget-*.gz
VPATH/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- contrib/spell-checker
- export CFLAGS=$CFLAGS_DEFAULT
- ./bootstrap --skip-po && touch .manywarnings
- autoreconf -ivf
- mkdir vpath && cd vpath
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make -j$(nproc)
- make -j$(nproc) distcheck
- mv wget-*.gz ..
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
artifacts:
expire_in: 2 weeks
when: on_success
paths:
- wget-*.gz
Valgrind:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
# In this build we combine
# * syntax-check
# * abi-check
# * build/valgrind-check
# * build/asan-check
# * build w/Werror and ubsan-check
OpenSSL/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
- cat /etc/hosts
- alias make="make -j$(nproc)"
- ./bootstrap --skip-po
- autoreconf -ivf
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=openssl
- make syntax-check
- make check
- make distcheck
- make check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
Minimal:
stage: test-from-tarball
image: $CI_BASE_PATH/debian:testing-minimal
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
--disable-nls --without-ssl --enable-ipv6 --without-zlib --without-libiconv-prefix
--disable-iri --disable-ntlm --disable-pcre --without-libpsl --without-libuuid
--without-libintl-prefix
- make -j$(nproc) check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
GnuTLS/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
- cat /etc/hosts
- alias make="make -j$(nproc)"
- ./bootstrap --skip-po
- autoreconf -ivf
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=gnutls
- make syntax-check
- make check
- make distcheck
- make check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
Debian-OldStable:
stage: test-from-tarball
image: $CI_BASE_PATH/debian:oldstable
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
Minimal/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- export CFLAGS=$CFLAGS_DEFAULT
- ./bootstrap --skip-po
- autoreconf -ivf
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
--disable-nls --without-ssl --enable-ipv6 --without-zlib --without-libiconv-prefix
--disable-iri --disable-ntlm --disable-pcre --without-libpsl --without-libuuid
--without-libintl-prefix
- make -j$(nproc)
- make -j$(nproc) check
- make check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
Debian-Stable:
stage: test-from-tarball
image: $CI_BASE_PATH/debian:stable
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
# In this build we combine
# * clang
# * ASan, UBSan
# * check, syntax-check
Sanitizers/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
script:
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
- export CFLAGS="$CFLAGS_DEFAULT"
- ./bootstrap --skip-po && touch .manywarnings
- autoreconf -ivf
- export CC="ccache clang"
- export UBSAN_OPTIONS=print_stacktrace=1
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-8/bin/llvm-symbolizer
# - export LSAN_OPTIONS=suppressions="$PWD/tests/clang-asan-suppressions"
- ./configure $CONFIGURE_BASE_FLAGS --enable-fsanitize-asan --enable-fsanitize-ubsan
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
CentOS-OldLTS:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS_OLDLTS_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make -j$(nproc)
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
# The test suite is currently broken, so a temporary allowance
allow_failure: true
Scan-Build/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- export CFLAGS=$CFLAGS_DEFAULT
- ./bootstrap --skip-po
- scan-build ./configure $CONFIGURE_BASE_FLAGS
- make -C lib -j$(nproc)
- scan-build -v -enable-checker nullability --status-bugs -o scan-build make -j$(nproc)
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
allow_failure: true
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- scan-build/*
TLS/OpenSSL:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
- cat /etc/hosts
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache --with-ssl=openssl
- make -j$(nproc)
- make -j$(nproc) check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
Valgrind/Debian:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
script:
- export CFLAGS=$CFLAGS_DEFAULT
- ./bootstrap --skip-po
- autoreconf -ivf
- ./configure $CONFIGURE_BASE_FLAGS --enable-valgrind-tests
- make -j$(nproc)
- make check -j$(nproc)
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
allow_failure: true
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
TLS/GnuTLS:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
- cat /etc/hosts
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache --with-ssl=gnutls
- make -j$(nproc)
- make -j$(nproc) check-valgrind
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
Simple/Fedora:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
- export CFLAGS="$CFLAGS_DEFAULT"
- ./bootstrap --skip-po && touch .manywarnings
- autoreconf -ivf
- ./configure $CONFIGURE_BASE_FLAGS
- make -j$(nproc) check
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
Sanitizers:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
- export CFLAGS="$CFLAGS_DEFAULT"
- export CC="ccache clang"
- export UBSAN_OPTIONS=print_stacktrace=1
- export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
# - export LSAN_OPTIONS=suppressions="$PWD/tests/clang-asan-suppressions"
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
--enable-fsanitize-asan --enable-fsanitize-ubsan
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
#Alpine:
# stage: stage1-testing
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$ALPINE_BUILD
# script:
# - export CFLAGS="$CFLAGS_DEFAULT"
# - ./bootstrap --skip-po
# - ./configure $CONFIGURE_BASE_FLAGS
# - make -j$(nproc) check
# tags:
# - shared
# except:
# - tags
# - linux
# artifacts:
# expire_in: 2 weeks
# when: on_failure
# paths:
# - ./*.log
# - fuzz/*.log
# - tests/*.log
# - testenv/*.log
pages:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- mkdir -p public
- ./bootstrap --skip-po
- autoreconf -ivf
- export CFLAGS="$CFLAGS_DEFAULT"
- ./configure $CONFIGURE_BASE_FLAGS
- make -j$(nproc) check-coverage
# Tarball
- make dist
- mv wget-*.gz public/wget-latest.tar.gz
# Test suite coverage report
- rm -rf public/coverage
- mv lcov public/coverage
# Online Documentation
- make -C doc html
- rm -rf public/reference
- mv doc/wget.html public/reference
# Coverage report for all our fuzz corpora
- make -j$(nproc) fuzz-coverage
- rm -rf public/fuzz-coverage
- mv lcov public/fuzz-coverage
tags:
- shared
- linux
artifacts:
when: on_success
paths:
- public
only:
- master
Scan-Build:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- scan-build ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make -C lib -j$(nproc)
- make -C src css_.o
- scan-build -v -enable-checker nullability --keep-empty --status-bugs -o ../scan-build make -j$(nproc)
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- scan-build/
# scan-build reports two false positives that we can't suppress
allow_failure: true
CoverageReports:
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
- make -j$(nproc) check-coverage
- mv lcov ../test-coverage
- make -C doc html
- make -j$(nproc) fuzz-coverage
- mv lcov ../fuzz-coverage
- make dist
tags:
- shared
- linux
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
when: on_success
paths:
- test-coverage/
- fuzz-coverage/
only:
- master
MinGW64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
script:
# - apt-get install libhttp-daemon-perl libio-socket-ssl-perl python3
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc &&
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- ./bootstrap --skip-po
- autoreconf -ivf
# - cp pthread_sigmask.c.mingw lib/pthread_sigmask.c
- export CC="ccache $PREFIX-gcc"
- export GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|grep posix))
- export WINEPATH="$WINEPATH;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
- echo "WINEPATH=$WINEPATH"
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared
- make -j$(nproc)
- make clean
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared --disable-threads
- make -j$(nproc)
- cp -p src/wget.exe src/wget
- make check -j$(nproc) LOG_COMPILER=wine
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
allow_failure: true
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./config.h
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
stage: test-from-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
variables:
GIT_STRATEGY: none
script:
- export CFLAGS=$CFLAGS_DEFAULT
- tar xvf wget-*.gz
- cd wget-*/
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- export CC="ccache $PREFIX-gcc"
- export GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|grep posix))
- export WINEPATH="$WINEPATH;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
- echo "WINEPATH=$WINEPATH"
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
--build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared
- make -j$(nproc)
- cp -p src/wget.exe src/wget
- make check -j$(nproc) LOG_COMPILER=wine
tags:
- shared
- linux
except:
- tags
- coverity-scan@gnuwget/wget
dependencies:
- Build-Tarball
needs: ["Build-Tarball"]
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/./config.h
- wget-*/./*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
# The MinGW64 build breaks quite often, mostly due to dependencies.
allow_failure: true
Build/Arch:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$ARCH_BUILD
script:
- export CFLAGS="$CFLAGS_DEFAULT"
- ./bootstrap --skip-po && touch .manywarnings
- autoreconf -vif
- ./configure $CONFIGURE_BASE_FLAGS
- make -j$(nproc)
- make check -j$(nproc)
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
# Build from git should work on Arch.
ArchLinux:
stage: test-from-git
image: $CI_BASE_PATH/archlinux
script:
- export CFLAGS="$CFLAGS_DEFAULT"
- ./bootstrap
- autoreconf -fi
- touch .manywarnings
- ./configure $CONFIGURE_BASE_FLAGS
- make -j$(nproc)
- make check -j$(nproc)
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
needs: []
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
# Build from git should work on Fedora.
Fedora:
stage: test-from-git
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- export CFLAGS="$CFLAGS_DEFAULT"
- ./bootstrap
- autoreconf -fi
- touch .manywarnings
- ./configure $CONFIGURE_BASE_FLAGS
- make -j$(nproc) check
tags:
- shared
- linux
except:
- coverity-scan@gnuwget/wget
needs: []
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- testenv/*.log
# Test building from tarball in a minimal non-dev environment
Tarball:
stage: stage2-tarball
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$BASIC_BUILD
variables:
GIT_STRATEGY: none
script:
- apk add perl
# remove all files from git repo
- mv wget-*.gz /tmp
- rm -rf * .git* .travis*
- mv /tmp/wget-*.gz .
# unpack and build from tarball
- tar xvf wget-*.gz
- cd wget-*
- unset CC
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=no
- make -j$(nproc)
# make check doesn't work due to incomplete perl installation
# - make -j$(nproc) check
# check if essential files are accidentally cleaned
- make clean
- make -j$(nproc)
tags:
- shared
- linux
dependencies:
- VPATH/Debian
except:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 2 weeks
when: on_failure
paths:
- wget-*/*.log
- wget-*/fuzz/*.log
- wget-*/tests/*.log
- wget-*/testenv/*.log
coverity:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- wget https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$COVERITY_SCAN_PROJECT_NAME" -O /tmp/coverity_tool.tgz
- tar xfz /tmp/coverity_tool.tgz
- ./bootstrap --skip-po
- autoreconf -ivf
- CFLAGS="-g -Og" ./configure --cache-file cache/config.cache --disable-doc
- cov-analysis-linux64-*/bin/cov-build --dir cov-int make -j$(nproc)
- tar cfz cov-int.tar.gz cov-int
- curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
--form token=$COVERITY_SCAN_TOKEN --form email=tim.ruehsen@gmx.de
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
--form description="CI build"
tags:
- shared
- linux
only:
- coverity-scan@gnuwget/wget
artifacts:
expire_in: 1 week
when: on_failure
paths:
- cov-int/*.txt
pages:
stage: deploy
script:
- mkdir -p public
- rm -rf public/reference public/coverage public/fuzz-coverage
- mv wget-*.gz public/wget-latest.tar.gz
- mv test-coverage public/coverage
- mv fuzz-coverage public/fuzz-coverage
dependencies:
- CoverageReports
- Build-Tarball
artifacts:
when: on_success
paths:
- public
only:
- master

View File

@@ -3,5 +3,6 @@ extraction:
prepare:
packages:
- libgpgme11-dev
- autoconf-archive
configure:
command: ./bootstrap && autoreconf -ivf && ./configure

View File

@@ -1 +1 @@
1.21
1.21.2

View File

@@ -1,5 +1,5 @@
# Makefile for `Wget' utility
# Copyright (C) 1995-1997, 2006-2021 Free Software Foundation, Inc.
# Copyright (C) 1995-1997, 2006-2022 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

33
NEWS
View File

@@ -1,5 +1,32 @@
GNU Wget NEWS -- history of user-visible changes.
* Noteworthy changes in release 1.21.3 (2022-02-26)
** Fix computation of total bytes downloaded during FTP trasnfers (#61277)
** Add option to select TLS 1.3 on the command line
** Fix HSTS build issues on some 64-bit big-endian systems
** Hide password during status report in --no-verbose
** Remove a sprurious print statement that showed up even during --quiet
** Some more cleanups and bug-fixes
* Noteworthy changes in release 1.21.2 (2021-09-07)
** Support for autoconf 2.71
** Fix a double free in FTP when using an absolute path
** Release tarballs no longer have a dependency on Python.
** --page-requisites will now also download links marked as "alternate
stylesheet" or "icon"
* Noteworthy changes in release 1.21.1 (2021-01-09)
** Fix compilation on MacOS and Solaris 9
@@ -419,7 +446,7 @@ Building from the Tarballs works as it used to.
backward-incompatibility; any script that relies on the old
behaviour must use --trust-server-names.
** Fix a problem when -k is used and some URLs are specified trough
** Fix a problem when -k is used and some URLs are specified through
CSS.
** Convert correctly URLs that need to be encoded to local files when following
@@ -429,7 +456,7 @@ Building from the Tarballs works as it used to.
** Print the total download time as part of the summary for recursive downloads.
** Now it is possible to specify a different startup configuration file trough
** Now it is possible to specify a different startup configuration file through
the --config option.
** Fix an infinite loop with the error '<filename> has sprung into existence'
@@ -1157,7 +1184,7 @@ geturl -vo log http://fly.cc.fer.hr/
----------------------------------------------------------------------
Copyright information:
Copyright (C) 1997-2021 Free Software Foundation, Inc.
Copyright (C) 1997-2022 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim
copies of this document as received, in any medium, provided that

2
README
View File

@@ -60,7 +60,7 @@ the file AUTHORS for a list of major contributors, and the ChangeLogs
for a detailed listing of all contributions.
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Copyright (C) 1995-2022 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -76,7 +76,7 @@ Compiling From Repository Sources
On GNU systems, the functionality provided by libiconv is already
present in the system libraries.
* [33]git is used to fetch gnulib files trough the bootstrap.sh script.
* [33]git is used to fetch gnulib files through the bootstrap.sh script.
* [34]libpsl is required for using a public suffix list to check for valid
cookie domains. You need the header files and the library installed.
@@ -161,7 +161,7 @@ Testing and development
that bug, which might be tedious. Tests should only be run through GDB for that purpose.
Copyright (C) 2008, 2010, 2014-2015, 2018-2021 Free Software
Copyright (C) 2008, 2010, 2014-2015, 2018-2022 Free Software
Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<https://www.gnu.org/licenses/gpl.html>.

319
bootstrap
View File

@@ -1,10 +1,10 @@
#! /bin/sh
# Print a version string.
scriptversion=2019-01-04.17; # UTC
scriptversion=2022-01-26.05; # UTC
# Bootstrap this package from checked-out sources.
# Copyright (C) 2003-2021 Free Software Foundation, Inc.
# Copyright (C) 2003-2022 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ PERL="${PERL-perl}"
me=$0
default_gnulib_url=git://git.sv.gnu.org/gnulib
default_gnulib_url=https://git.savannah.gnu.org/git/gnulib.git
usage() {
cat <<EOF
@@ -71,7 +71,9 @@ Options:
--no-git do not use git to update gnulib. Requires that
--gnulib-srcdir point to a correct gnulib snapshot
--skip-po do not download po files
EOF
bootstrap_print_option_usage_hook
cat <<EOF
If the file $me.conf exists in the same directory as this script, its
contents are read as shell variables to configure the bootstrap.
@@ -113,6 +115,12 @@ Running without arguments will suffice in most cases.
EOF
}
copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'`
copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
# warnf_ FORMAT-STRING ARG1...
warnf_ ()
{
@@ -154,6 +162,18 @@ gnulib_files=
: ${AUTOPOINT=autopoint}
: ${AUTORECONF=autoreconf}
# A function to be called for each unrecognized option. Returns 0 if
# the option in $1 has been processed by the function. Returns 1 if
# the option has not been processed by the function. Override it via
# your own definition in bootstrap.conf
bootstrap_option_hook() { return 1; }
# A function to be called in order to print the --help information
# corresponding to user-defined command-line options.
bootstrap_print_option_usage_hook() { :; }
# A function to be called right after gnulib-tool is run.
# Override it via your own definition in bootstrap.conf.
bootstrap_post_import_hook() { :; }
@@ -166,11 +186,11 @@ bootstrap_epilogue() { :; }
# specified directory. Fill in the first %s with the destination
# directory and the second with the domain name.
po_download_command_format=\
"wget --mirror --level=1 -nd -q -A.po -P '%s' \
"wget --mirror --level=1 -nd -nv -A.po -P '%s' \
https://translationproject.org/latest/%s/"
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
# fall back to the package name (1st argument with munging)
# fall back to the package name (1st argument with munging).
extract_package_name='
/^AC_INIT(\[*/{
s///
@@ -187,8 +207,11 @@ extract_package_name='
p
}
'
package=$(sed -n "$extract_package_name" configure.ac) \
|| die 'cannot find package name in configure.ac'
package=$(${AUTOCONF:-autoconf} --trace AC_INIT:\$4 configure.ac 2>/dev/null)
if test -z "$package"; then
package=$(sed -n "$extract_package_name" configure.ac) \
|| die 'cannot find package name in configure.ac'
fi
gnulib_name=lib$package
build_aux=build-aux
@@ -290,62 +313,6 @@ find_tool ()
eval "export $find_tool_envvar"
}
# Override the default configuration, if necessary.
# Make sure that bootstrap.conf is sourced from the current directory
# if we were invoked as "sh bootstrap".
case "$0" in
*/*) test -r "$0.conf" && . "$0.conf" ;;
*) test -r "$0.conf" && . ./"$0.conf" ;;
esac
if test "$vc_ignore" = auto; then
vc_ignore=
test -d .git && vc_ignore=.gitignore
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
fi
if test x"$gnulib_modules$gnulib_files$gnulib_extra_files" = x; then
use_gnulib=false
else
use_gnulib=true
fi
# Translate configuration into internal form.
# Parse options.
for option
do
case $option in
--help)
usage
exit;;
--gnulib-srcdir=*)
GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
--skip-po)
SKIP_PO=t;;
--force)
checkout_only_file=;;
--copy)
copy=true;;
--bootstrap-sync)
bootstrap_sync=true;;
--no-bootstrap-sync)
bootstrap_sync=false;;
--no-git)
use_git=false;;
*)
die "$option: unknown option";;
esac
done
$use_git || test -d "$GNULIB_SRCDIR" \
|| die "Error: --no-git requires --gnulib-srcdir"
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
die "Bootstrapping from a non-checked-out distribution is risky."
fi
# Strip blank and comment lines to leave significant entries.
gitignore_entries() {
sed '/^#/d; /^$/d' "$@"
@@ -387,6 +354,137 @@ insert_vc_ignore() {
insert_if_absent "$vc_ignore_file" "$pattern"
}
symlink_to_dir()
{
src=$1/$2
dst=${3-$2}
test -f "$src" && {
# If the destination directory doesn't exist, create it.
# This is required at least for "lib/uniwidth/cjk.h".
dst_dir=$(dirname "$dst")
if ! test -d "$dst_dir"; then
mkdir -p "$dst_dir"
# If we've just created a directory like lib/uniwidth,
# tell version control system(s) it's ignorable.
# FIXME: for now, this does only one level
parent=$(dirname "$dst_dir")
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$parent/$dot_ig
insert_vc_ignore $ig "${dst_dir##*/}"
done
fi
if $copy; then
{
test ! -h "$dst" || {
echo "$me: rm -f $dst" &&
rm -f "$dst"
}
} &&
test -f "$dst" &&
cmp -s "$src" "$dst" || {
echo "$me: cp -fp $src $dst" &&
cp -fp "$src" "$dst"
}
else
# Leave any existing symlink alone, if it already points to the source,
# so that broken build tools that care about symlink times
# aren't confused into doing unnecessary builds. Conversely, if the
# existing symlink's timestamp is older than the source, make it afresh,
# so that broken tools aren't confused into skipping needed builds. See
# <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00326.html>.
test -h "$dst" &&
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
test "$src_i" = "$dst_i" &&
both_ls=$(ls -dt "$src" "$dst") &&
test "X$both_ls" = "X$dst$nl$src" || {
dot_dots=
case $src in
/*) ;;
*)
case /$dst/ in
*//* | */../* | */./* | /*/*/*/*/*/)
die "invalid symlink calculation: $src -> $dst";;
/*/*/*/*/) dot_dots=../../../;;
/*/*/*/) dot_dots=../../;;
/*/*/) dot_dots=../;;
esac;;
esac
echo "$me: ln -fs $dot_dots$src $dst" &&
ln -fs "$dot_dots$src" "$dst"
}
fi
}
}
# Override the default configuration, if necessary.
# Make sure that bootstrap.conf is sourced from the current directory
# if we were invoked as "sh bootstrap".
case "$0" in
*/*) test -r "$0.conf" && . "$0.conf" ;;
*) test -r "$0.conf" && . ./"$0.conf" ;;
esac
if test "$vc_ignore" = auto; then
vc_ignore=
test -d .git && vc_ignore=.gitignore
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
fi
if test x"$gnulib_modules$gnulib_files$gnulib_extra_files" = x; then
use_gnulib=false
else
use_gnulib=true
fi
# Translate configuration into internal form.
# Parse options.
for option
do
case $option in
--help)
usage
exit;;
--version)
set -e
echo "bootstrap $scriptversion"
echo "$copyright"
exit 0
;;
--gnulib-srcdir=*)
GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
--skip-po)
SKIP_PO=t;;
--force)
checkout_only_file=;;
--copy)
copy=true;;
--bootstrap-sync)
bootstrap_sync=true;;
--no-bootstrap-sync)
bootstrap_sync=false;;
--no-git)
use_git=false;;
*)
bootstrap_option_hook $option || die "$option: unknown option";;
esac
done
$use_git || test -d "$GNULIB_SRCDIR" \
|| die "Error: --no-git requires --gnulib-srcdir"
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
die "Bootstrapping from a non-checked-out distribution is risky."
fi
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
found_aux_dir=no
grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
@@ -665,9 +763,25 @@ if $use_gnulib; then
shallow=
if test -z "$GNULIB_REVISION"; then
git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \
|| cleanup_gnulib
else
git fetch -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
mkdir -p "$gnulib_path"
# Only want a shallow checkout of $GNULIB_REVISION, but git does not
# support cloning by commit hash. So attempt a shallow fetch by commit
# hash to minimize the amount of data downloaded and changes needed to
# be processed, which can drastically reduce download and processing
# time for checkout. If the fetch by commit fails, a shallow fetch can
# not be performed because we do not know what the depth of the commit
# is without fetching all commits. So fallback to fetching all commits.
git -C "$gnulib_path" init
git -C "$gnulib_path" remote add origin ${GNULIB_URL:-$default_gnulib_url}
git -C "$gnulib_path" fetch $shallow origin "$GNULIB_REVISION" \
|| git -C "$gnulib_path" fetch origin \
|| cleanup_gnulib
git -C "$gnulib_path" reset --hard FETCH_HEAD
fi
git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \
|| cleanup_gnulib
trap - 1 2 13 15
fi
@@ -784,75 +898,6 @@ case $SKIP_PO in
fi;;
esac
symlink_to_dir()
{
src=$1/$2
dst=${3-$2}
test -f "$src" && {
# If the destination directory doesn't exist, create it.
# This is required at least for "lib/uniwidth/cjk.h".
dst_dir=$(dirname "$dst")
if ! test -d "$dst_dir"; then
mkdir -p "$dst_dir"
# If we've just created a directory like lib/uniwidth,
# tell version control system(s) it's ignorable.
# FIXME: for now, this does only one level
parent=$(dirname "$dst_dir")
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$parent/$dot_ig
insert_vc_ignore $ig "${dst_dir##*/}"
done
fi
if $copy; then
{
test ! -h "$dst" || {
echo "$me: rm -f $dst" &&
rm -f "$dst"
}
} &&
test -f "$dst" &&
cmp -s "$src" "$dst" || {
echo "$me: cp -fp $src $dst" &&
cp -fp "$src" "$dst"
}
else
# Leave any existing symlink alone, if it already points to the source,
# so that broken build tools that care about symlink times
# aren't confused into doing unnecessary builds. Conversely, if the
# existing symlink's timestamp is older than the source, make it afresh,
# so that broken tools aren't confused into skipping needed builds. See
# <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00326.html>.
test -h "$dst" &&
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
test "$src_i" = "$dst_i" &&
both_ls=$(ls -dt "$src" "$dst") &&
test "X$both_ls" = "X$dst$nl$src" || {
dot_dots=
case $src in
/*) ;;
*)
case /$dst/ in
*//* | */../* | */./* | /*/*/*/*/*/)
die "invalid symlink calculation: $src -> $dst";;
/*/*/*/*/) dot_dots=../../../;;
/*/*/*/) dot_dots=../../;;
/*/*/) dot_dots=../;;
esac;;
esac
echo "$me: ln -fs $dot_dots$src $dst" &&
ln -fs "$dot_dots$src" "$dst"
}
fi
}
}
version_controlled_file() {
parent=$1
file=$2
@@ -970,7 +1015,7 @@ bootstrap_post_import_hook \
# Uninitialized submodules are listed with an initial dash.
if $use_git && git submodule | grep '^-' >/dev/null; then
die "some git submodules are not initialized. " \
"Run 'git submodule init' and bootstrap again."
"Run 'git submodule update --init' and bootstrap again."
fi
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
@@ -1064,7 +1109,7 @@ bootstrap_epilogue
echo "$0: done. Now you can run './configure'."
# Local variables:
# Local Variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"

View File

@@ -1,5 +1,5 @@
# bootstrap.conf - Bootstrap configuration.
# Copyright (C) 2007-2012, 2018-2021 Free Software Foundation, Inc.
# Copyright (C) 2007-2012, 2018-2022 Free Software Foundation, Inc.
#
# This file is part of GNU Wget.
#
@@ -88,6 +88,7 @@ quote
quotearg
recv
regex
rename
select
send
setsockopt
@@ -118,7 +119,6 @@ libunistring-optional
unistr/u8-strlen
unicase/u8-tolower
utime
utime-h
utimens
vasprintf
vsnprintf
@@ -134,7 +134,7 @@ buildreq="\
autoconf 2.64
automake 1.11.1
autopoint -
gettext 0.17
gettext -
git 1.4.4
makeinfo -
perl 5.5

View File

@@ -2,7 +2,7 @@
# Generate build_info.c.
# Copyright (C) 2009-2011, 2018-2021 Free Software Foundation, Inc.
# Copyright (C) 2009-2011, 2018-2022 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

21
cfg.mk
View File

@@ -1,36 +1,29 @@
# Explicit syntax-check exceptions.
exclude_file_name_regexp--sc_trailing_blank = ^doc/annou.*$$
exclude_file_name_regexp--sc_bindtextdomain = ^fuzz/.*.c$$
exclude_file_name_regexp--sc_require_config_h = fuzz/main.c$$
exclude_file_name_regexp--sc_require_config_h_first = fuzz/main.c$$
exclude_file_name_regexp--sc_require_config_h = (fuzz/.*.c|src/decc_ver.c|util/trunc.c)$$
exclude_file_name_regexp--sc_require_config_h_first = (fuzz/.*.c|src/decc_ver.c|src/vms.c|util/trunc.c)$$
# exclude_file_name_regexp--sc_po_
export VC_LIST_EXCEPT_DEFAULT=^(lib/.*|m4/.*|md5/.*|build-aux/.*|src/gettext\.h|.*ChangeLog|tests/certs/.*)$$
config_h_header = "wget\.h"
local-checks-to-skip = \
sc_const_long_option \
sc_error_message_uppercase \
sc_file_system \
sc_immutable_NEWS \
sc_copyright_check \
sc_makefile_path_separator_check \
sc_require_config_h \
sc_require_config_h_first \
sc_two_space_separator_in_usage \
sc_useless_cpp_parens \
\
sc_prohibit_atoi_atof \
sc_prohibit_strcmp \
sc_cast_of_alloca_return_value \
sc_cast_of_x_alloc_return_value \
sc_prohibit_S_IS_definition \
\
sc_program_name \
sc_makefile_at_at_check \
sc_cast_of_argument_to_free \
sc_prohibit_undesirable_word_seq \
sc_prohibit_gnu_make_extensions
sc_prohibit_gnu_make_extensions \
\
sc_indent
#SHELL=bash -x
show-vc-list-except:
@@ -41,5 +34,5 @@ VC_LIST_ALWAYS_EXCLUDE_REGEX = ^ABOUT-NLS|((msdos|vms)/.*)|ChangeLog-2014-12-10|
update-copyright-env = UPDATE_COPYRIGHT_USE_INTERVALS=1
generated_files =
old_NEWS_hash = d41d8cd98f00b204e9800998ecf8427e
old_NEWS_hash = aeb5129a870c3e8b8186045387b19715
manual_title = $(VERSION)

View File

@@ -1,5 +1,5 @@
dnl Template file for GNU Autoconf
dnl Copyright (C) 1995-1997, 2001, 2007-2014, 2018-2021 Free Software
dnl Copyright (C) 1995-1997, 2001, 2007-2014, 2018-2022 Free Software
dnl Foundation, Inc.
dnl This program is free software; you can redistribute it and/or modify
@@ -30,6 +30,11 @@ dnl
dnl Process this file with autoconf to produce a configure script.
dnl
dnl Error if AX_CODE_COVERAGE if missing (like on the 1.21 release).
m4_pattern_forbid([^_?AX_])
m4_pattern_allow([AX_CHECK_GNU_MAKE_HEADLINE])
m4_pattern_allow([_AX_CODE_COVERAGE_GCOV_PROG_WITH])
AC_INIT([wget],[m4_esyscmd(build-aux/git-version-gen .tarball-version)],[bug-wget@gnu.org])
AC_PREREQ([2.64])
@@ -50,7 +55,6 @@ AM_INIT_AUTOMAKE([subdir-objects dist-lzip])
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AM_PROG_CC_C_O
dnl
dnl Get canonical host
@@ -258,10 +262,11 @@ dnl Gettext
dnl
AM_GNU_GETTEXT([external],[need-ngettext])
AM_GNU_GETTEXT_VERSION([0.19.3])
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.3])
AC_PROG_RANLIB
AC_PROG_LEX
AC_PROG_LEX([noyywrap])
dnl Turn on optimization by default. Specifically:
dnl
@@ -291,13 +296,6 @@ AC_C_CONST
AC_C_INLINE
AC_C_VOLATILE
dnl Check for basic headers, even though we expect them to exist and
dnl #include them unconditionally in the code. Their detection is
dnl still needed because test programs used by Autoconf macros check.
dnl Without the checks they will fail to be included in test programs,
dnl which will subsequently fail.
AC_HEADER_STDC
dnl Check for large file support. This check needs to come fairly
dnl early because it could (in principle) affect whether functions and
dnl headers are available, whether they work, etc.
@@ -309,7 +307,7 @@ dnl Checks for system header files that might be missing.
dnl
AC_HEADER_STDBOOL
AC_CHECK_HEADERS(unistd.h sys/time.h)
AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h)
AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h)
AC_CHECK_HEADERS(stdint.h inttypes.h pwd.h wchar.h dlfcn.h)
AC_CHECK_DECLS(h_errno,,,[#include <netdb.h>])
@@ -349,24 +347,21 @@ AC_CHECK_FUNCS(strptime timegm vsnprintf vasprintf drand48 pathconf)
AC_CHECK_FUNCS(strtoll usleep ftello sigblock sigsetjmp memrchr wcwidth mbtowc)
AC_CHECK_FUNCS(sleep symlink utime strlcpy random fmemopen)
if test x"$ENABLE_OPIE" = xyes; then
AC_LIBOBJ([ftp-opie])
fi
dnl We expect to have these functions on Unix-like systems configure
dnl runs on. The defines are provided to get them in config.h.in so
dnl Wget can still be ported to non-Unix systems (such as Windows)
dnl that lack some of these functions.
AC_DEFINE([HAVE_STRDUP], 1, [Define to 1 if you have the `strdup' function.])
AC_DEFINE([HAVE_ISATTY], 1, [Define to 1 if you have the `isatty' function.])
AC_DEFINE([HAVE_STRDUP], 1, [Define to 1 if you have the 'strdup' function.])
AC_DEFINE([HAVE_ISATTY], 1, [Define to 1 if you have the 'isatty' function.])
dnl Deal with specific hosts
case $host_os in
*mingw32* )
LIBS+=' -lws2_32'
AC_LIBOBJ([mswindows])
OS_USED="mswindows"
;;
esac
AM_CONDITIONAL([OS_MSWINDOWS], [test x"$OS_USED" = x"mswindows"])
# enable all possible compiler warnings in WARN_FLAGS
#
@@ -397,6 +392,10 @@ if test -n "$WARN_CFLAGS"; then
nw="$nw -Wabi" # gcc 8, very noisy
nw="$nw -Wunused-macros" # triggers in auto-generated lex css parser, #pragma doesn't work, conflicts with -Werror
nw="$nw -Wchkp" # Deprecated option
nw="$nw -Wswitch-enum" # Too noisy
nw="$nw -Wswitch-default" # TODO: Enable someday. Too noisy for now
nw="$nw -Wpedantic" # GCC 11. Too noisy, will never be supported
nw="$nw -Wnested-externs" # Stylistic choice and we do use it in hsts code
if test "$cross_compiling" = yes; then
nw="$nw -Wformat"
fi
@@ -519,7 +518,7 @@ AS_IF([test x"$with_ssl" = xopenssl], [
if [test x"$with_libssl_prefix" = x]; then
PKG_CHECK_MODULES([OPENSSL], [openssl], [
AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
AC_LIBOBJ([openssl])
ssl_library="openssl"
LIBS="$OPENSSL_LIBS $LIBS"
CFLAGS="$OPENSSL_CFLAGS -DHAVE_LIBSSL $CFLAGS"
LIBSSL=" " # ntlm check below wants this
@@ -548,9 +547,9 @@ AS_IF([test x"$with_ssl" = xopenssl], [
AC_CHECK_LIB(ssl32, SSL_connect, [
ssl_found=yes
AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (shared)])
AC_LIBOBJ([openssl])
ssl_library="openssl"
LIBS="${LIBS} -lssl32"
AC_DEFINE([HAVE_LIBSSL32], [1], [Define to 1 if you have the `ssl32' library (-lssl32).])
AC_DEFINE([HAVE_LIBSSL32], [1], [Define to 1 if you have the 'ssl32' library (-lssl32).])
],
AC_MSG_ERROR([openssl not found: shared lib eay32 found but ssl32 not found]))
@@ -577,7 +576,7 @@ AS_IF([test x"$with_ssl" = xopenssl], [
then
ssl_found=yes
AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
AC_LIBOBJ([openssl])
ssl_library="openssl"
LIBS="$LIBSSL $LIBS"
AC_CHECK_FUNCS([RAND_egd])
elif test x"$with_ssl" != x
@@ -596,7 +595,7 @@ AS_IF([test x"$with_ssl" = xopenssl], [
if [test x"$with_libgnutls_prefix" = x]; then
PKG_CHECK_MODULES([GNUTLS], [gnutls], [
AC_MSG_NOTICE([compiling in support for SSL via GnuTLS])
AC_LIBOBJ([gnutls])
ssl_library="gnutls"
LIBS="$GNUTLS_LIBS $LIBS"
CFLAGS="$GNUTLS_CFLAGS -DHAVE_LIBGNUTLS $CFLAGS"
AC_DEFINE([HAVE_LIBGNUTLS], [1], [Define if using gnutls.])
@@ -611,7 +610,7 @@ AS_IF([test x"$with_ssl" = xopenssl], [
then
ssl_found=yes
AC_MSG_NOTICE([compiling in support for SSL via GnuTLS])
AC_LIBOBJ([gnutls])
ssl_library="gnutls"
LIBS="$LIBGNUTLS $LIBS"
else
AC_MSG_ERROR([GnuTLS has not been found. Use --with-ssl=openssl if you explicitly want OpenSSL.])
@@ -628,32 +627,29 @@ then
if test x"$ENABLE_NTLM" != xno
then
ENABLE_NTLM=yes
AC_DEFINE([ENABLE_NTLM], 1,
[Define if you want the NTLM authorization support compiled in.])
AC_LIBOBJ([http-ntlm])
AC_DEFINE([ENABLE_NTLM], 1, [Define if you want the NTLM authorization support compiled in.])
fi
else
AC_CHECK_LIB(nettle, nettle_md4_init, [HAVE_NETTLE=yes], [HAVE_NETTLE=no; AC_MSG_WARN(*** libnettle was not found. You will not be able to use NTLM)])
if test x"$HAVE_NETTLE" = xyes
then
AC_SUBST(NETTLE_LIBS, "-lnettle")
AC_DEFINE([HAVE_NETTLE], [1], [Use libnettle])
if test x"$ENABLE_NTLM" != xno
then
ENABLE_NTLM=yes
AC_DEFINE([ENABLE_NTLM], 1,
[Define if you want the NTLM authorization support compiled in.])
AC_LIBOBJ([http-ntlm])
PKG_CHECK_MODULES([NETTLE], nettle, [
HAVE_NETTLE=yes
LIBS="$NETTLE_LIBS $LIBS"
CFLAGS="$NETTLE_CFLAGS $CFLAGS"
], [
AC_CHECK_LIB(nettle, nettle_md4_init, [HAVE_NETTLE=yes], [HAVE_NETTLE=no; AC_MSG_WARN(*** libnettle was not found. You will not be able to use NTLM)])
if test x"$HAVE_NETTLE" != xyes; then
if test x"$ENABLE_NTLM" = xyes; then
AC_MSG_ERROR([NTLM authorization requested and SSL not enabled; aborting])
fi
else
AC_SUBST(NETTLE_LIBS, "-lnettle")
LIBS="$NETTLE_LIBS $LIBS"
fi
else
dnl If SSL is unavailable and the user explicitly requested NTLM,
dnl abort.
if test x"$ENABLE_NTLM" = xyes
then
AC_MSG_ERROR([NTLM authorization requested and SSL not enabled; aborting])
fi
])
if test x"$HAVE_NETTLE" = xyes; then
AC_DEFINE([HAVE_NETTLE], [1], [Use libnettle])
ENABLE_NTLM=yes
AC_DEFINE([ENABLE_NTLM], 1, [Define if you want the NTLM authorization support compiled in.])
fi
fi
@@ -691,7 +687,7 @@ AC_ARG_ENABLE(ipv6,
ipv6=yes
;;
*)
AC_MSG_ERROR([Invalid --enable-ipv6 argument \`$enable_ipv6'])
AC_MSG_ERROR([Invalid --enable-ipv6 argument '$enable_ipv6'])
;;
esac
], [
@@ -709,7 +705,7 @@ fi
if test "X$ipv6" = "Xyes"; then
TYPE_STRUCT_SOCKADDR_IN6([],[
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support \`struct sockaddr_in6'])
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support 'struct sockaddr_in6'])
ipv6=no
])
if test "X$ipv6" = "Xyes"; then
@@ -727,9 +723,9 @@ fi
dnl
dnl Find makeinfo. We used to provide support for Emacs processing
dnl Texinfo using `emacs -batch -eval ...' where makeinfo is
dnl Texinfo using 'emacs -batch -eval ...' where makeinfo is
dnl unavailable, but that broke with the addition of makeinfo-specific
dnl command-line options, such as `-I'. Now we depend on makeinfo to
dnl command-line options, such as '-I'. Now we depend on makeinfo to
dnl build the Info documentation.
dnl
@@ -772,7 +768,7 @@ AC_ARG_ENABLE(iri,
iri=yes
;;
*)
AC_MSG_ERROR([Invalid --enable-iri argument \`$enable_iri'])
AC_MSG_ERROR([Invalid --enable-iri argument '$enable_iri'])
;;
esac
], [
@@ -792,19 +788,18 @@ AS_IF([test "X$iri" != "Xno"],[
fi
])
AC_ARG_WITH(libidn, AS_HELP_STRING([--with-libidn=[DIR]],[Support IDN2008/IRIs (needs GNU libidn2 + libunicode)]),
libidn=$withval, libidn="")
if test "X$iri" != "Xno"; then
AS_IF([test "x$with_libidn2" != xno], [
AC_SEARCH_LIBS(idn2_lookup_u8, idn2,
[with_libidn2=yes; AC_DEFINE([ENABLE_IRI], 1, [Define if IRI support is enabled.])],
[with_libidn2=no; iri=no; AC_MSG_WARN(*** LIBIDN2 was not found. You will not be able to use IDN2008 support)])
# AS_IF([test "x$with_libidn2" = xyes], [
# AC_SEARCH_LIBS(u8_tolower, unistring,
# [AC_DEFINE([ENABLE_IRI], 1, [Define if IRI support is enabled.])],
# [iri=no; AC_MSG_WARN(*** LIBUNISTRING was not found. You will not be able to use IDN2008 support)])
# ])
PKG_CHECK_MODULES([LIBIDN2], [libidn2 >= 0.14.0], [
with_libidn2=yes
LIBS="$LIBIDN2_LIBS $LIBS"
CFLAGS="$LIBIDN2_CFLAGS $CFLAGS"
AC_DEFINE([ENABLE_IRI], 1, [Define if IRI support is enabled.])
], [
AC_SEARCH_LIBS(idn2_lookup_u8, idn2,
[with_libidn2=yes; AC_DEFINE([ENABLE_IRI], 1, [Define if IRI support is enabled.])],
[with_libidn2=no; iri=no; AC_MSG_WARN(*** LIBIDN2 was not found. You will not be able to use IDN2008 support)])
])
])
fi
@@ -933,15 +928,22 @@ AS_IF([test x"$with_metalink" != xno], [
dnl
dnl Check for GPGME
dnl
m4_ifdef([AM_PATH_GPGME], [
AM_PATH_GPGME([], [
# Put libgpgme to the end of the library list since it introduces a -L linker flags.
# That -L might break the build if there are two different version of
# a library (e.g. GnuTLS) in /usr/local and in the system directory.
LIBS="$LIBS $GPGME_LIBS"
CFLAGS="$GPGME_CFLAGS $CFLAGS"
AC_DEFINE([HAVE_GPGME], [1], [Define if GPGME is available.])
have_gpg=yes
PKG_CHECK_MODULES([GPGME], gpgme, [
LIBS="$LIBS $GPGME_LIBS"
CFLAGS="$GPGME_CFLAGS $CFLAGS"
AC_DEFINE([HAVE_GPGME], [1], [Define if GPGME is available.])
have_gpg=yes
], [
m4_ifdef([AM_PATH_GPGME], [
AM_PATH_GPGME([], [
# Put libgpgme to the end of the library list since it introduces a -L linker flags.
# That -L might break the build if there are two different version of
# a library (e.g. GnuTLS) in /usr/local and in the system directory.
LIBS="$LIBS $GPGME_LIBS"
CFLAGS="$GPGME_CFLAGS $CFLAGS"
AC_DEFINE([HAVE_GPGME], [1], [Define if GPGME is available.])
have_gpg=yes
])
])
])
])
@@ -974,11 +976,14 @@ test "X${ENABLE_XATTR}" = "Xyes" && AC_DEFINE([ENABLE_XATTR], 1,
[Define if you want file meta-data storing into POSIX Extended Attributes compiled in.])
dnl Needed by src/Makefile.am
AM_CONDITIONAL([IRI_IS_ENABLED], [test "X$iri" != "Xno"])
AM_CONDITIONAL([WITH_IRI], [test "X$iri" != "Xno"])
AM_CONDITIONAL([WITH_SSL], [test "X$with_ssl" != "Xno"])
AM_CONDITIONAL([METALINK_IS_ENABLED], [test "X$with_metalink" != "Xno"])
AM_CONDITIONAL([WITH_METALINK], [test "X$with_metalink" != "Xno"])
AM_CONDITIONAL([WITH_XATTR], [test "X$ENABLE_XATTR" != "Xno"])
AM_CONDITIONAL([WITH_NTLM], [test "X$ENABLE_NTLM" = "Xyes"])
AM_CONDITIONAL([WITH_OPIE], [test x"$ENABLE_OPIE" = x"yes"])
AM_CONDITIONAL([WITH_OPENSSL], [test x"$ssl_library" = x"openssl"])
AM_CONDITIONAL([WITH_GNUTLS], [test x"$ssl_library" = x"gnutls"])
dnl
dnl Create output

View File

@@ -8,7 +8,7 @@
set -e
codespell $* -L "tim,gonna,cas,referer,fpr,vas,msdos,ifset,ba,tage,tolen,files',hist,lightening,wither" `git ls-files|\
codespell $* -L "tim,gonna,cas,referer,fpr,vas,msdos,ifset,ba,tage,tolen,files',hist,lightening,wither,parm" `git ls-files|\
egrep -v '_fuzzer.in|_fuzzer.repro|\.der$|\.pem$|gnulib|ChangeLog|tests/gpg|\.png$|\.dat$|contrib/spell-checker|tests/certs/.*\.crt'`
#codespell $* -L "tim,gonna,cas,te,referer,ist,fpr,vas" src/wget.c contrib/spell-checker

View File

@@ -1,5 +1,5 @@
# Makefile for `wget' utility
# Copyright (C) 1995-1997, 2007-2011, 2015, 2018-2021 Free Software
# Copyright (C) 1995-1997, 2007-2011, 2015, 2018-2022 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify

View File

@@ -5,7 +5,7 @@
@c hence no sectioning command or @node.
@display
Copyright @copyright{} 2000--2002, 2007--2008, 2015, 2018--2021 Free
Copyright @copyright{} 2000--2002, 2007--2008, 2015, 2018--2022 Free
Software Foundation, Inc.
@uref{http://fsf.org/}

View File

@@ -1,6 +1,6 @@
#! /usr/bin/env perl
# Copyright (C) 1999-2001, 2003, 2007, 2009-2011, 2015, 2018-2021 Free
# Copyright (C) 1999-2001, 2003, 2007, 2009-2011, 2015, 2018-2022 Free
# Software Foundation, Inc.
# This file is part of GCC.

View File

@@ -31,7 +31,7 @@ This file documents the GNU Wget utility for downloading network
data.
@c man begin COPYRIGHT
Copyright @copyright{} 1996--2011, 2015, 2018--2021 Free Software
Copyright @copyright{} 1996--2011, 2015, 2018--2022 Free Software
Foundation, Inc.
@iftex
@@ -384,7 +384,7 @@ and @file{/~somebody}. You can also clear the lists in @file{.wgetrc}
(@pxref{Wgetrc Syntax}).
@example
wget -X '' -X /~nobody,/~somebody
wget -X "" -X /~nobody,/~somebody
@end example
Most options that do not accept arguments are @dfn{boolean} options,
@@ -3046,7 +3046,7 @@ file so that it keeps its date of modification.
wget -S http://www.gnu.ai.mit.edu/
@end example
A simple @code{ls -l} shows that the time stamp on the local file equals
A simple @code{ls -l} shows that the timestamp on the local file equals
the state of the @code{Last-Modified} header, as returned by the server.
As you can see, the time-stamping info is preserved locally, even
without @samp{-N} (at least for @sc{http}).

View File

@@ -21,6 +21,8 @@ WGET_TESTS = \
wget_robots_fuzzer$(EXEEXT) \
wget_url_fuzzer$(EXEEXT)
EXTRA_DIST = test-runner.sh
if WITH_NTLM
WGET_TESTS += wget_ntlm_fuzzer$(EXEEXT)
endif
@@ -33,6 +35,7 @@ if FUZZING
else
AM_CPPFLAGS += -DTEST_RUN
AM_TESTS_ENVIRONMENT = export VALGRIND_TESTS"=@VALGRIND_TESTS@";
LOG_COMPILER = $(top_srcdir)/fuzz/test-runner.sh
TESTS = $(WGET_TESTS)
check_PROGRAMS = $(WGET_TESTS)
MAIN = main.c fuzzer.h
@@ -93,7 +96,7 @@ oss-fuzz:
XLIBS="-lpsl -lgnutls -lhogweed -lnettle -lidn2 -lunistring"; \
for ccfile in wget*_fuzzer.c; do \
fuzzer=$$(basename $$ccfile .c); \
$$CXX $$CXXFLAGS -I$(top_srcdir)/src -I$(top_srcdir) -I$(top_srcdir)/lib \
$$CC $$CFLAGS -I$(top_srcdir)/src -I$(top_srcdir) -I$(top_srcdir)/lib \
"$${fuzzer}.c" -o "$${fuzzer}" \
../src/libunittest.a ../lib/libgnu.a $${LIB_FUZZING_ENGINE} \
-Wl,-Bstatic $${XLIBS} -Wl,-Bdynamic; \

View File

@@ -15,14 +15,12 @@ regression testing with top dir 'make check' or 'make check-valgrind'.
Use the following commands on top dir:
```
export CC=clang
export CXX=clang++
# address sanitizer:
#export CFLAGS="-O1 -g -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined,integer,nullability -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp"
export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link"
# undefined sanitizer;
export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr -fno-sanitize-recover=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr -fsanitize=fuzzer-no-link"
export CXXFLAGS="$CFLAGS -stdlib=libc++"
export LIB_FUZZING_ENGINE="-lFuzzer -lstdc++"
export LIB_FUZZING_ENGINE="-lFuzzer -lstdc++"
./configure --enable-fuzzing --without-metalink --without-zlib --disable-pcre --without-libuuid --enable-assert
make clean
make -j$(nproc)

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2021 Free Software Foundation, Inc.
* Copyright (c) 2017-2022 Free Software Foundation, Inc.
*
* This file is part of GNU Wget.
*
@@ -20,6 +20,12 @@
#include <stddef.h> // size_t
#include <stdint.h> // uint8_t
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
#pragma GCC diagnostic ignored "-Wunused"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
#define CLOSE_STDERR \
int bak = dup(STDERR_FILENO); \
int fd = open("/dev/null", O_WRONLY); \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2021 Free Software Foundation, Inc.
* Copyright (c) 2017-2022 Free Software Foundation, Inc.
*
* This file is part of GNU Wget.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2021 Free Software Foundation, Inc.
* Copyright (c) 2017-2022 Free Software Foundation, Inc.
*
* This file is part of GNU Wget.
*
@@ -68,26 +68,9 @@ static int test_all_from(const char *dirname)
int main(int argc, char **argv)
{
// if VALGRIND testing is enabled, we have to call ourselves with valgrind checking
const char *valgrind = getenv("VALGRIND_TESTS");
const char *target;
size_t target_len;
if (!valgrind || !*valgrind || !strcmp(valgrind, "0")) {
// fallthrough
}
else if (!strcmp(valgrind, "1")) {
char cmd[strlen(argv[0]) + 256];
snprintf(cmd, sizeof(cmd), "VALGRIND_TESTS=\"\" valgrind --error-exitcode=301 --leak-check=yes --show-reachable=yes --track-origins=yes %s", argv[0]);
return system(cmd) != 0;
} else {
char cmd[strlen(valgrind) + strlen(argv[0]) + 32];
snprintf(cmd, sizeof(cmd), "VALGRIND_TESTS="" %s %s", valgrind, argv[0]);
return system(cmd) != 0;
}
if ((target = strrchr(argv[0], SLASH))) {
if (strrchr(target, '/'))
target = strrchr(target, '/');

View File

@@ -1,6 +1,6 @@
#!/bin/sh -eu
# Copyright (c) 2017, 2019-2021 Free Software Foundation, Inc.
# Copyright (c) 2017, 2019-2022 Free Software Foundation, Inc.
#
# This file is part of GNU Wget.
#

View File

@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (c) 2017, 2019-2021 Free Software Foundation, Inc.
# Copyright (c) 2017, 2019-2022 Free Software Foundation, Inc.
#
# This file is part of GNU Wget.
#

9
fuzz/test-runner.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env sh
WRAPPER=""
if [ -n "$VALGRIND_TESTS" ]; then
WRAPPER="valgrind --error-exitcode=301 --leak-check=yes --show-reachable=yes --track-origins=yes"
fi
exec $WRAPPER "$@"

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2021 Free Software Foundation, Inc.
* Copyright (c) 2017-2022 Free Software Foundation, Inc.
*
* This file is part of GNU Wget.
*

View File

@@ -1,18 +0,0 @@
 =;
;
;
;
;
;; ;
;
;
;
;;
;
;
; 
;
;
;
; 
;

View File

@@ -0,0 +1 @@
.=;max-age=˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙=-˛

View File

@@ -1 +0,0 @@
*=;expires=M;expires=*;expires=*;expires=M;expires=*;expires=M;expires=M;expires=M;expires=E;expires=*;expires=*;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=E;expires=*;expires=*;expires=M;expires=M;expires=E;expires=*;expires=*;expires=M;expires=*;expires==M;expires=M;expires=M;expires=M;expires=M;expires=M;max-age=t

View File

@@ -1 +0,0 @@
¦=;e;x;s;e;ò;s;`;s;<3B>;„;A;r;s;e;ò;s;`;s;<3B>;„;A;r;s;e;s;c;e;e;s;„;,;s;ò;`;s;<3B>;„;A;r;w;e;;

View File

@@ -1 +0,0 @@
E=;expireS=Mon,2-FeB-0 7:4:2 

View File

@@ -1 +0,0 @@
x=;path=/;path=/;path=/;path=/;path=û;path=0;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=û;path=1;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=/;path=a;path=û;path=/;path=a;path=û;path=/;path=û;path=~;path=a;path=/;path=/;path=0;path=/;path=û;path=0;path=/

View File

@@ -1 +0,0 @@
(=;expires=M;expires=M;expires=*;expires=*;expires=p;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=M;expires=M;expires=*;expires=*;expires==;expires=*;expires=es=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=p;expires=M;expires=*;ees=M;expires=*;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;max-age=t

View File

@@ -0,0 +1 @@
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=

View File

@@ -0,0 +1 @@
s=;expires=o;expires=r;expires=M;expires=R;expires=o;expires=r;expires=M;expires=*;expires=*;expIres==;expires=M;expires=M;expires=M;expires=E;expires=M;expires=M;expires=*;expires=*;expires==;expires=M;expires=~;expires=M;expires=E;eXpiRes=M;expires=o;expires=r;expires=0;expires=*;expires=p;expires=*;expires=*;expires==;expires==;expireS=Mon,9-FeB-129 0:0:8;expires=M;expires=*;expires=M;expires=*;expires=*;expires=M;expires=r;expires=E;expires=2

View File

@@ -1 +0,0 @@
g=;max-age=0;max-age=0;[=

View File

@@ -0,0 +1 @@
x=;path=/;path=û;path=a;path=/;path=/;path=/;path=/;path=a;path=û;path=0;path=/;path=/;path=a;path=û;path=1;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=/;path=a;path=û;path=/;path=a;path=û;path=a;path=û;path=0;path=/;path=a;path=/;path=/;path=0;path=/;path=/;path=0;path=/;path=0;path=/;path=û;path=a;path=/;path=/;path=/;path=/;path=a;path=û;path=1;path=/;path=/;path=a;path=û;path=0;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=a;path=û;path=/;path=a;path=û;path=a;path=û;path=0;path=/;path=a;path=/;path=/;path=0;path=/;path=/;path=0;path=/;path=0;path=/;path=t

View File

@@ -1 +0,0 @@
o=;domain=....X

View File

@@ -1 +0,0 @@
*=;expires=M;expires=M;expires=*;expires=M;expires=*;expires=*;expires=M;expires=M;expires=i;expires=E;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1 +0,0 @@
(=;expires==;expires=e;expires=M;expires=*;expires=*;expires==;expires=M;expires=M;expires=4;expires==;expires=M;expires=*;expires=*;expires==;expires=*;expires=M;expires=MonFeB1 7:4:83;expires==;expires=M;expires=*;expires=*;expires=i;expires=M;expires=ª;expires=*;expires==;expires=M;expires=x;expires=4;expires==;expires=M;expires=*;expires=*;expires==;expires=*;expires=M;expires=M;expires=6;expires=<;expires=M;expires=M;expires=E;expires=M

View File

@@ -1 +0,0 @@
_=;max-age=2;max-age=9;max-age=9;max-age=8;max-age=E

View File

@@ -1 +0,0 @@
*=;expires=M;expires=*;expires=*;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=E;expires=*;expires=*;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=E;expires=*;expires=*;expires=M;expires=*;expires=*;expires=M;expires=E;expires=*;expires=*;expires=M;expires=*;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=M;max-age=t

View File

@@ -1 +0,0 @@
_==x;max-age=4; max-age=8; max-agage=8; max-age=8ag; max-age=9; max-age=8; max-age=8ag ;ax-age=8ag; max-age=9; max-age=8; max-age=8ag; max-age=9; max-age=83; max-age=9;max-age=8_;max-age=4=898

View File

@@ -1 +0,0 @@
*=;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1 +0,0 @@
U=;e;r;|;„;£;s;ò;`;s;„;A;r;w;e;s;ÿ;c;e;e;r;„;£;s;<3B>;„;A;r;w;ò;s;`;s;<3B>;„;s;<3B>;s;„;A;r;w;e;s;ÿ;c;e;e;r;„;£;s;<3B>;„;A;r;w;ò;s;`;s;<3B>;„;s;<3B>;„;I;<3B>;„;A;r;s;e;„;I;š;„;A;r;s;e;s;c;e;e;;

View File

@@ -1 +0,0 @@
W=;e;<3B>;s;e;ò;s;`;<3B>;ÿ=

View File

@@ -0,0 +1 @@
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=

View File

@@ -0,0 +1 @@
s=;expireS=Mon<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-5 7:4:2 \ +

View File

@@ -1 +0,0 @@
w=;domain=..x;patH=/p/

View File

@@ -1 +0,0 @@
*=;expires=M;expires=M;expires=M;expires=i;expires=E;expires=M;expires=M;expires=M;expires=M;expires=E;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=i;expires=E;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1 +0,0 @@
=;expireS=Mon,2-FeB-0 7:4:1];expireS=Mon,4-FeB-0 7:4:9=;expireS=Mon,2-FeB-0 7:4:1];expireS=Mon,4-FeB-0 7:4:9=;expireS=Mon,2-FeB-0 2:4:93;expireS=Mon,2-FeB-0 2:4:93

View File

@@ -1 +0,0 @@
(=;expires=M;expires=pp;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=*;expires=E;expires=M;expires=E;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=*;e=E;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1,9 +0,0 @@
 =;
;
;
;
;;
;
;
; 
;

View File

@@ -1 +0,0 @@
ø=;domain=..................x

View File

@@ -0,0 +1 @@
´=;DOMAQM;DOMAIW;DOMAIX;DOMAIX;DOMAYX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAYX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIM;DOMAII;DOMAIX;DOMAIX;DOMAIX;DOMAQM;DOMAIX;DOMAIX

View File

@@ -0,0 +1 @@
__Host=-ID__Host=-IDx; expires=Mon, 28 FeB 2016 07:48:9+++++st=-ID__Host=-IDx; expires=Mon, 28 FeB 2016 07:48:9++++++;+++++++;œŠ((:97 8:97 x; expires=Mon;, 25 F 20ÏÉpoßD=

View File

@@ -0,0 +1 @@
**=;**=;**=;**=;**=;**=

View File

@@ -0,0 +1 @@
´=;DOMAIW;DOMAIX;DOMAIX;FOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX

View File

@@ -1 +0,0 @@
n=;EXpiRes=MonFeB73:1:84<38>

View File

@@ -0,0 +1 @@
}=;domain=

View File

@@ -0,0 +1 @@
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=

View File

@@ -0,0 +1 @@
u=;domain=X;path=/p/

View File

@@ -0,0 +1 @@
**=;**=;**=

View File

@@ -1 +0,0 @@
,=;{;A;,;e;;E;e;!;};=

View File

@@ -0,0 +1 @@
X=;domaIn=X

View File

@@ -1 +0,0 @@
(=;expires=M;expires=M;expires=*;expires=*;expires=p;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=M;expires=M;expires=*;expires=*;expires==;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=*;expires=*;expires==p;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=p;expires=M;expires=*;expires=*;expires==;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;max-age=t

View File

@@ -0,0 +1 @@
**=

View File

@@ -1 +0,0 @@
a=;path=/;path=/;path=/;path=5;path=/;path=/;path=5

View File

@@ -1 +0,0 @@
¦=;e;x;s;e;ò;e;x;s;e;ò;s;`;s;<3B>;„;[;r;s;se;ÿ

View File

@@ -0,0 +1 @@
**=;**=

View File

@@ -1 +0,0 @@
x=;path=.;path=/;path=/;path=/;path=a;path=û;path=0;path=/;path==;path=a;path=û;path=0;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=/;path=a;path=û;path=/;path=a;path=û;path=û;path=/;path=a;path=û;path=/;path=û;path=1;path=/;path=a;path=.;path=/;path=/;path=/;path=a;path=û;path=0;path=/;path=-;path=/;path=û;path=0;path=/;path=a;path=/;path=/;path=a;path=û;path=0;path=/;path=a;path=û;path=/;path=a;path=û;path=û;path=/;path=a;path=û;path=/;path=û;path=5;path=/;path=a;path=/;path=/;path=0;path=/;path=û;path=/;path=0;path=/;path=û;path=0;path=/;path=5;path=/;path=t

View File

@@ -0,0 +1 @@
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=

View File

@@ -1 +0,0 @@
c=;domain=......x

View File

@@ -1 +0,0 @@
¿=;dOm ×.;dOmain=........................x

View File

@@ -1 +0,0 @@
+=;path=/p/;domain=....x

View File

@@ -1 +0,0 @@
(=;expires=M;expires=M;expires=*;expires=*;expires=p;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=Mp;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;max-age=t

View File

@@ -0,0 +1 @@
ð=;pAtH=

View File

@@ -1,7 +0,0 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
]

View File

@@ -1 +0,0 @@
(=;expires=M;expires=pp;expires=M;expires=*;expires=*;expires==;expires=M;expires=*;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M;expires=E;expires=M;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=M;expires=*;expires=E;expires=M;expires=E;expires=M;expires=*;expires==;expires=M;expires=*;expires=*;expires=M;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1 +0,0 @@
=;expireS=Mon,2-FeB-0 7:4:9t

View File

@@ -1 +0,0 @@
*=;expires=M;expires=M;expires=M;expires=i;expires=E;expires=M;expires=E;expires=M;max-age=t

View File

@@ -1 +0,0 @@
+=;path=/p/;domain=...x

View File

@@ -1 +0,0 @@
Ö=;skre;sece;w•r;ec/š;skre;sece

View File

@@ -1 +0,0 @@
\=;expireS=Mon,2-FeB-0 7:4:9M;expireS=Mon,2-FeB-0 7:4:6”;expireS=Mon,2-FeB-0 7:4:6”;expireS=Mon,2-FeB-0 7:4:9e;expireS=Mon,2-FeB-0 7:4:4:;expireS=Mon,2-FeB-0 7:4:9M;expireS=Mon,2-FeB-0 7:4:9M;expireS=Mon,2-FeB-0 7:4:6e;expireS=Mon,2-FeB-0 7:4:9O;expireS=Mon,2-FeB-0 7:4:3:;expireS=Mon,1-FeB-0 7:4:9O;expireS=Mon,2-FeB-0 7:4:9%;expireS=Mon,2-FeB-0 7:4:9 r;expireS=Mon,2-FeB-0 7:8:4:;expireS=Mon,2-FeB-0 7:4:9o;expireS=Mon,2-FeB-0 7:4:9M;expireS=Mon,2-FeB-0 7:4:6e;expireS=Mon,2-FeB-0 7:4:9O;expireS=Mon,2-FeB-0 7:4:4:;expireS=Mon,3-FeB-0 7:4:9o;expireS=Mon,2-FeB-0 7:4:9%;expireS=Mon,1-FeB-0 7:4:9%

View File

@@ -1 +0,0 @@
e=;expireS=Mon,1FeB0 7:4:9

View File

@@ -1 +0,0 @@
(=;expires=M;expires=MonFeB1 7:4:83;expires==;expires=M;expires=*;expires=*;expires==;expires=*;expires=M;expires=MonFeB1 7:3:83;expires==;expires=M;expires=*;expires=*;expires==;expires=M;expires=M;expires=M;expires=M;expires=M;expires=E;expires=M

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2021 Free Software Foundation, Inc.
* Copyright (c) 2017-2022 Free Software Foundation, Inc.
*
* This file is part of GNU Wget.
*

View File

@@ -0,0 +1 @@
url(%E)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)Url(%l)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%E)url(%l)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)url(%l)url(%E)url(%l)url(%E)url(%l)url(%l)

View File

@@ -0,0 +1 @@
url(%/)url(%/)url(%/)

View File

@@ -0,0 +1 @@
url(//%:%%%%@%)

View File

@@ -0,0 +1 @@
url(//*:%00%00@1)

View File

@@ -0,0 +1 @@
url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:r)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)url(-:)

View File

@@ -0,0 +1 @@
url(//%:%fc%bc%cc%cc%cf%bc%bc%cf%bc%cf%bc%cc%cf%bc%cc%cf%bc%cf%bc%cc%cf%bc%cc%cf%cc%cf%bc%bc%bc%fc%ac%cc%bc%cf%bc%cc%cf%bc%bc%cf%bc%cf%bc%cc%cf%bc%bc%bc%fc%bc%cc%bc%cf%bc%cc%cf%bc%bc%cf%bc%cc%cf%bc%cc%cf%bc%cc%cc%cf%bc%bc%bc%fc%bc%cc%bc%cf%bc%cc%cf%bc%bc%cf%bc%cc%cf%bc%cc%cf%bc%cc%cf%bc%cf%bc%cf%bc%cc%cf%bc%cc%cf%cc%cf%bc%bc%bc%fc%ac%cc%bc%cf%bc%cc%cf%bc%bc%cf%bc%cf%bc%cc%cf%bc%cc%bf%bc%bc@])

View File

@@ -1 +0,0 @@
uRl(+////..//..//..//../..//..//..////..//../..//..//../../..//..//..)

Some files were not shown because too many files have changed in this diff Show More