mirror of
https://github.com/mirror/wget.git
synced 2026-08-23 11:33:29 +08:00
Compare commits
96 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40747a11e4 | ||
|
|
b6f3c6153e | ||
|
|
e1fa51206c | ||
|
|
6d4a4e56c8 | ||
|
|
14a7f68f46 | ||
|
|
ccc7866fea | ||
|
|
2730a00c0d | ||
|
|
be936bda56 | ||
|
|
7ba0a44939 | ||
|
|
98c23153a2 | ||
|
|
3a470a90f2 | ||
|
|
f5263969fa | ||
|
|
cc5ec2a158 | ||
|
|
f7ce79fd85 | ||
|
|
d139fecbe8 | ||
|
|
74a9d9e7c4 | ||
|
|
446afdca21 | ||
|
|
e6fa409a4d | ||
|
|
a24e67e239 | ||
|
|
c984cb316a | ||
|
|
35a6317b99 | ||
|
|
9474a2c6f4 | ||
|
|
e7a4d818fa | ||
|
|
f354529708 | ||
|
|
67d4cb3ab6 | ||
|
|
d2af84fbb3 | ||
|
|
bfb5bedf7d | ||
|
|
8c5a620f0f | ||
|
|
c34c2529dc | ||
|
|
c7a37d82ee | ||
|
|
c81042295e | ||
|
|
f75fcf2985 | ||
|
|
22611a77ba | ||
|
|
e1bacd2fa5 | ||
|
|
faeb4d90c2 | ||
|
|
65e6d5b3b8 | ||
|
|
aecf5fbf1b | ||
|
|
3ea9658c07 | ||
|
|
31b82825a2 | ||
|
|
d5588ac221 | ||
|
|
204a4bccf4 | ||
|
|
5a79362a56 | ||
|
|
ebb96761f5 | ||
|
|
7899e1d17b | ||
|
|
254b2d3c7c | ||
|
|
718ab3f79b | ||
|
|
d73e8b42f7 | ||
|
|
4a5a010eb3 | ||
|
|
89fc8d84b7 | ||
|
|
a0e0965d1e | ||
|
|
96971867ea | ||
|
|
5192dddbdd | ||
|
|
91c42c799a | ||
|
|
c778ac20b4 | ||
|
|
4d3ee1604a | ||
|
|
a209bb1fac | ||
|
|
36e250e09a | ||
|
|
f3299cc606 | ||
|
|
de4b94a5ae | ||
|
|
c1599deb1f | ||
|
|
61df89eb91 | ||
|
|
affad27664 | ||
|
|
170896a76a | ||
|
|
d4431a0b97 | ||
|
|
027d294114 | ||
|
|
5fe8d26904 | ||
|
|
aabdf6eb66 | ||
|
|
1aada296dd | ||
|
|
f1cccd2c45 | ||
|
|
11c626efc4 | ||
|
|
db6166d011 | ||
|
|
a65bc7c0e8 | ||
|
|
3a1ac38f00 | ||
|
|
d745ea0eb6 | ||
|
|
82afc6e6f0 | ||
|
|
90631a6fe5 | ||
|
|
fd2a061f6a | ||
|
|
27b12dad12 | ||
|
|
c8d7a66217 | ||
|
|
6d58a04682 | ||
|
|
7840db6c0b | ||
|
|
cf788d60e4 | ||
|
|
db4d5b6eb3 | ||
|
|
e9cf8da1a6 | ||
|
|
b743178b9d | ||
|
|
65cc47b504 | ||
|
|
f7835691b4 | ||
|
|
51ee45f017 | ||
|
|
7d9ed223fc | ||
|
|
f81191951a | ||
|
|
ea6143d56c | ||
|
|
ad36a467ac | ||
|
|
adc5aa0196 | ||
|
|
5c8569ba5d | ||
|
|
9f1c8dac77 | ||
|
|
6c84dc38bc |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -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
|
||||
|
||||
859
.gitlab-ci.yml
859
.gitlab-ci.yml
@@ -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
|
||||
|
||||
@@ -3,5 +3,6 @@ extraction:
|
||||
prepare:
|
||||
packages:
|
||||
- libgpgme11-dev
|
||||
- autoconf-archive
|
||||
configure:
|
||||
command: ./bootstrap && autoreconf -ivf && ./configure
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.21
|
||||
1.21.2
|
||||
|
||||
@@ -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
33
NEWS
@@ -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
2
README
@@ -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
|
||||
|
||||
@@ -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
319
bootstrap
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
21
cfg.mk
@@ -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)
|
||||
|
||||
151
configure.ac
151
configure.ac
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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}).
|
||||
|
||||
@@ -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; \
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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); \
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
19
fuzz/main.c
19
fuzz/main.c
@@ -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, '/');
|
||||
|
||||
@@ -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.
|
||||
#
|
||||
|
||||
@@ -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
9
fuzz/test-runner.sh
Executable 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 "$@"
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
=;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;; ;
|
||||
;
|
||||
;
|
||||
;
|
||||
;;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
@@ -0,0 +1 @@
|
||||
.=;max-age=˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙=-˛
|
||||
@@ -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
|
||||
@@ -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;;
|
||||
@@ -1 +0,0 @@
|
||||
E=;expireS=Mon,2-FeB-0 7:4:2
|
||||
@@ -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=/
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
g=;max-age=0;max-age=0;[=
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
o=;domain=....X
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
_=;max-age=2;max-age=9;max-age=9;max-age=8;max-age=E
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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;;
|
||||
@@ -1 +0,0 @@
|
||||
>=;Domain=..X
|
||||
@@ -1 +0,0 @@
|
||||
W=;e;<3B>;s;e;ò;s;`;<3B>;ÿ=
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=
|
||||
@@ -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\+
|
||||
@@ -1 +0,0 @@
|
||||
w=;domain=..x;patH=/p/
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,9 +0,0 @@
|
||||
=;
|
||||
;
|
||||
;
|
||||
;
|
||||
;;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
@@ -1 +0,0 @@
|
||||
ø=;domain=..................x
|
||||
@@ -1 +0,0 @@
|
||||
I=;domain=...x
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
Î=;W;;
|
||||
@@ -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=
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=;**=;**=;**=
|
||||
@@ -0,0 +1 @@
|
||||
´=;DOMAIW;DOMAIX;DOMAIX;FOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX;DOMAIX
|
||||
@@ -1 +0,0 @@
|
||||
n=;EXpiRes=MonFeB73:1:84<38>
|
||||
@@ -0,0 +1 @@
|
||||
}=;domain=
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=
|
||||
@@ -0,0 +1 @@
|
||||
u=;domain=X;path=/p/
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=
|
||||
@@ -1 +0,0 @@
|
||||
,=;{;A;,;e;;E;e;!;};=
|
||||
@@ -0,0 +1 @@
|
||||
X=;domaIn=X
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
**=
|
||||
@@ -1 +0,0 @@
|
||||
a=;path=/;path=/;path=/;path=5;path=/;path=/;path=5
|
||||
@@ -1,2 +0,0 @@
|
||||
=
|
||||
;
|
||||
@@ -1 +0,0 @@
|
||||
¦=;e;x;s;e;ò;e;x;s;e;ò;s;`;s;<3B>;„;[;r;s;se;ÿ
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=;**=
|
||||
@@ -1 +0,0 @@
|
||||
c=;domain=......x
|
||||
@@ -1 +0,0 @@
|
||||
¿=;dOm ×.;dOmain=........................x
|
||||
@@ -1 +0,0 @@
|
||||
+=;path=/p/;domain=....x
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
ð=;pAtH=
|
||||
@@ -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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
=;expireS=Mon,2-FeB-0 7:4:9t
|
||||
@@ -1 +0,0 @@
|
||||
Ã=;patã
|
||||
@@ -1 +0,0 @@
|
||||
*=;expires=M;expires=M;expires=M;expires=i;expires=E;expires=M;expires=E;expires=M;max-age=t
|
||||
@@ -1 +0,0 @@
|
||||
+=;path=/p/;domain=...x
|
||||
@@ -1 +0,0 @@
|
||||
Ö=;skre;sece;w•r‘;ec/š;skre;sece
|
||||
@@ -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%
|
||||
@@ -1 +0,0 @@
|
||||
e=;expireS=Mon,1FeB0 7:4:9
|
||||
@@ -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
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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)
|
||||
@@ -0,0 +1 @@
|
||||
url(%/)url(%/)url(%/)
|
||||
@@ -0,0 +1 @@
|
||||
url(//%:%%%%@%)
|
||||
@@ -0,0 +1 @@
|
||||
url(//*:%00%00@1)
|
||||
@@ -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(-:)
|
||||
@@ -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@])
|
||||
@@ -1 +0,0 @@
|
||||
uRl(+////..//..//..//../..//..//..////..//../..//..//../../..//..//..)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user