mirror of
https://github.com/mirror/wget.git
synced 2026-08-19 17:33:28 +08:00
Compare commits
469 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8775506f63 | ||
|
|
567e67afd2 | ||
|
|
afa979b43f | ||
|
|
cd643458b4 | ||
|
|
b88ad88253 | ||
|
|
62fffab577 | ||
|
|
ecb59f2e02 | ||
|
|
42c83d8972 | ||
|
|
bb0aa299e9 | ||
|
|
0490e301d4 | ||
|
|
a582633c97 | ||
|
|
5fe01167d1 | ||
|
|
ed0c7c7e0e | ||
|
|
bb59ef7fd4 | ||
|
|
196ce0abd6 | ||
|
|
ca10f20aaf | ||
|
|
f6291c33cd | ||
|
|
5f0aa59239 | ||
|
|
1c934e67de | ||
|
|
903373a83c | ||
|
|
480e9d6efd | ||
|
|
637e58ad50 | ||
|
|
dad28423c6 | ||
|
|
fdb4ae8ffe | ||
|
|
999700ac5f | ||
|
|
c9cc2e1d24 | ||
|
|
a3158065a3 | ||
|
|
e54a1f910e | ||
|
|
b32cc7afe0 | ||
|
|
3aa53a6220 | ||
|
|
0e0cdc2409 | ||
|
|
84a75ace88 | ||
|
|
35204ab5d7 | ||
|
|
e377b80863 | ||
|
|
f973f4857a | ||
|
|
f4da5456c2 | ||
|
|
dfb9f65fc3 | ||
|
|
642e740182 | ||
|
|
28009a048f | ||
|
|
4100339a2b | ||
|
|
bedeb7dc27 | ||
|
|
25525f8037 | ||
|
|
8e8900613c | ||
|
|
73d24b2779 | ||
|
|
04ab356669 | ||
|
|
4d99bb1ff1 | ||
|
|
9c8668048d | ||
|
|
3583fa0c61 | ||
|
|
834d090bf6 | ||
|
|
fbbdf9ea01 | ||
|
|
5409cbcee2 | ||
|
|
0fea7bc076 | ||
|
|
6ca59f4d60 | ||
|
|
27a832aee9 | ||
|
|
719ab50a18 | ||
|
|
76ab37bff9 | ||
|
|
774705838f | ||
|
|
e234354080 | ||
|
|
3a5ca80a1a | ||
|
|
c3fadea0a8 | ||
|
|
2b723806a5 | ||
|
|
9a35fe609c | ||
|
|
d96d20630b | ||
|
|
c77c95033a | ||
|
|
af1100f299 | ||
|
|
77929eda1b | ||
|
|
218f6fee30 | ||
|
|
2339d79b05 | ||
|
|
dcd2ed739e | ||
|
|
24e876357a | ||
|
|
8247a34521 | ||
|
|
4223996930 | ||
|
|
27d3fcba33 | ||
|
|
c69030a904 | ||
|
|
485217d0ff | ||
|
|
9835085544 | ||
|
|
aab539bb44 | ||
|
|
cb114fbbf7 | ||
|
|
1cda2bb5d5 | ||
|
|
565f566fab | ||
|
|
c7e6e378e5 | ||
|
|
59d08d3290 | ||
|
|
8d5cdef9a9 | ||
|
|
9f93ffb44b | ||
|
|
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 | ||
|
|
f720bdda9f | ||
|
|
90d43efbea | ||
|
|
0031bdedfc | ||
|
|
72ede7a028 | ||
|
|
473eef671b | ||
|
|
8c35102b37 | ||
|
|
ae203984e8 | ||
|
|
5f6f86aa26 | ||
|
|
e9641d989b | ||
|
|
9f3df123bb | ||
|
|
1e89e5f66c | ||
|
|
5a7f2f7e87 | ||
|
|
2e5d281468 | ||
|
|
8923dcc788 | ||
|
|
c2517256e4 | ||
|
|
37f0dca4e2 | ||
|
|
8af2171a34 | ||
|
|
7ec15b9c92 | ||
|
|
a16149e5bb | ||
|
|
db88ad441e | ||
|
|
8b1aeab783 | ||
|
|
dd2d960ba1 | ||
|
|
5b7d068a4b | ||
|
|
2e4504c553 | ||
|
|
a2f23b30c2 | ||
|
|
73c474edf6 | ||
|
|
4fad8a7e2d | ||
|
|
9718667301 | ||
|
|
733ba71b13 | ||
|
|
010cb79b43 | ||
|
|
7c4d053902 | ||
|
|
13b3bc7f8f | ||
|
|
c80b1271d7 | ||
|
|
6898efd978 | ||
|
|
d82f158e3d | ||
|
|
29917a3052 | ||
|
|
0309d13794 | ||
|
|
5ef6756f0a | ||
|
|
749cfc9717 | ||
|
|
1942eaf409 | ||
|
|
99b5977169 | ||
|
|
0c2a33b5dc | ||
|
|
f4a3c1a35c | ||
|
|
b99d519a57 | ||
|
|
70bacc432d | ||
|
|
a11bfc2d4e | ||
|
|
8d68a6307b | ||
|
|
fd0f21b04c | ||
|
|
7e1bc0de8a | ||
|
|
3396b943e0 | ||
|
|
3636b2a5af | ||
|
|
015afd7cc7 | ||
|
|
794b7b1dbe | ||
|
|
314a4f42be | ||
|
|
8ffebe2160 | ||
|
|
28196b6807 | ||
|
|
1fe9d4cf09 | ||
|
|
1656a1628c | ||
|
|
e830f5f42b | ||
|
|
470a7dfc84 | ||
|
|
c23eaff56f | ||
|
|
5a141065c4 | ||
|
|
7a3a82faf8 | ||
|
|
c12a295496 | ||
|
|
fb5e2e628d | ||
|
|
9dacc2836a | ||
|
|
6e5cf727c5 | ||
|
|
78ef6fab13 | ||
|
|
706e71564c | ||
|
|
103aaf7740 | ||
|
|
4221b5656a | ||
|
|
fe5fbdd947 | ||
|
|
7c017e604c | ||
|
|
0a0177c694 | ||
|
|
238074e2b8 | ||
|
|
6377ae1647 | ||
|
|
4e5a75566a | ||
|
|
2db7fe688d | ||
|
|
87815e223d | ||
|
|
eb02512a40 | ||
|
|
1ac3812e8a | ||
|
|
910c0abe7a | ||
|
|
be51eeceab | ||
|
|
f4a57afd42 | ||
|
|
3e2f450c6a | ||
|
|
fded294d7a | ||
|
|
c0d76ec935 | ||
|
|
472823283c | ||
|
|
b0e94e582b | ||
|
|
8215479ffb | ||
|
|
30139c6745 | ||
|
|
4588045b28 | ||
|
|
765271fdf5 | ||
|
|
e52e418bdd | ||
|
|
a3d3322a48 | ||
|
|
ee187476de | ||
|
|
8cd4dcc278 | ||
|
|
4d8bf37870 | ||
|
|
b209ca91fb | ||
|
|
7146b9dc77 | ||
|
|
b3dc802efb | ||
|
|
6938c84aa4 | ||
|
|
8010507d73 | ||
|
|
f747eea059 | ||
|
|
46a6e2957e | ||
|
|
04b7369490 | ||
|
|
8e130c32ba | ||
|
|
88d841c651 | ||
|
|
d08bdbc878 | ||
|
|
aba6e67eb7 | ||
|
|
e1c4a2705f | ||
|
|
f4dfddfaf3 | ||
|
|
9934e228ac | ||
|
|
c65bddc086 | ||
|
|
c5d0e58d0d | ||
|
|
365c00a4a2 | ||
|
|
4e519f5a80 | ||
|
|
08aa947c9d | ||
|
|
43820b67bf | ||
|
|
b8413cdd3d | ||
|
|
b53c52c4c1 | ||
|
|
ce745c6a08 | ||
|
|
9df2e0d746 | ||
|
|
ada3396c72 | ||
|
|
9b1b9961ef | ||
|
|
79438d4d87 | ||
|
|
1c16819558 | ||
|
|
d3f5311087 | ||
|
|
4d1f6f5c09 | ||
|
|
1dfd1aa1cf | ||
|
|
2b48b50aa5 | ||
|
|
e6c76e84aa | ||
|
|
21bb9d54cb | ||
|
|
8eda2da138 | ||
|
|
fa92fc336b | ||
|
|
e6b76459db | ||
|
|
7aac99d6e5 | ||
|
|
28beee5e75 | ||
|
|
ca56ca94ee | ||
|
|
951bcac6df | ||
|
|
43ad3af58d | ||
|
|
a534d93a5f | ||
|
|
6d1fcd1c48 | ||
|
|
b62956872c | ||
|
|
589b3743fa | ||
|
|
d61d82c43c | ||
|
|
f071030659 | ||
|
|
36ccb62e92 | ||
|
|
e5cf56d7fa | ||
|
|
92c0d39894 | ||
|
|
78a848c69a | ||
|
|
8610b0b355 | ||
|
|
6bd21adabc | ||
|
|
b92b628fd5 | ||
|
|
a274740598 | ||
|
|
94bae4dd18 | ||
|
|
d0695e269f | ||
|
|
6a3e96275b | ||
|
|
6d181cb8ef | ||
|
|
89e09e59f2 | ||
|
|
5505aced03 | ||
|
|
6cc9acfd61 | ||
|
|
e91e96ccb5 | ||
|
|
c3c04ffeba | ||
|
|
cbea3d41dd | ||
|
|
68868bbb37 | ||
|
|
a3f2ba708d | ||
|
|
f1ce7f5bd6 | ||
|
|
704208b766 | ||
|
|
0bc0729bcc | ||
|
|
572f6f9b39 | ||
|
|
e22dbe5af0 | ||
|
|
f460e1d049 | ||
|
|
c0d8cceb93 | ||
|
|
c2d03b6293 | ||
|
|
9adde1e441 | ||
|
|
4dd9dee2e7 | ||
|
|
233f982f9d | ||
|
|
e5d0dda561 | ||
|
|
17fad78290 | ||
|
|
1ebd88063d | ||
|
|
c65c23cfc7 | ||
|
|
94b9332f50 | ||
|
|
fd75f5d986 | ||
|
|
473db08580 | ||
|
|
0bb97fecb7 | ||
|
|
5debe0a96f | ||
|
|
8bc1d1447b | ||
|
|
fe4ade75cf | ||
|
|
928c54d27e | ||
|
|
33bc3aae51 | ||
|
|
d5dc68b1a9 | ||
|
|
68548acf0f | ||
|
|
ec68da677f | ||
|
|
f7a1e6cd7b | ||
|
|
e2c0c2fbe5 | ||
|
|
bc7e82d3e9 | ||
|
|
c1a46e9a3b | ||
|
|
f27daa1c17 | ||
|
|
07eebd2a20 | ||
|
|
34573bdf46 | ||
|
|
221f1ba3ef | ||
|
|
c7fdfe3d60 | ||
|
|
6bd74e33d6 | ||
|
|
042f2727bf | ||
|
|
ce8ce5bfc0 | ||
|
|
61b8078672 | ||
|
|
03a8e59d85 | ||
|
|
abe1ab1916 | ||
|
|
542524855a | ||
|
|
f5d1dcf718 | ||
|
|
1c1cba3a43 | ||
|
|
0179138fe5 | ||
|
|
ed135257b2 | ||
|
|
dd710bde96 | ||
|
|
dc8bbdbb05 | ||
|
|
777049389f | ||
|
|
96d74948a3 | ||
|
|
b1f566719c | ||
|
|
0751d053f5 | ||
|
|
4cdda68752 | ||
|
|
48f762a648 | ||
|
|
feb52bfab7 | ||
|
|
1656255767 | ||
|
|
2ba8da8f22 | ||
|
|
a255d9f0c8 | ||
|
|
823a9c8e0d | ||
|
|
57ac97e6d8 | ||
|
|
bac6fbab6c | ||
|
|
1e4262e98d | ||
|
|
6f3baab02c | ||
|
|
b4dba956ce | ||
|
|
f3b25875ab | ||
|
|
cd21cb3812 | ||
|
|
b3f86f90cc | ||
|
|
60dc09b507 | ||
|
|
02c059a857 | ||
|
|
4ce2f93600 | ||
|
|
0cdbc715a9 | ||
|
|
95a677c7f5 | ||
|
|
96f48bf412 | ||
|
|
95de9cd97f | ||
|
|
fac8f8099d | ||
|
|
7da620c7ce | ||
|
|
e3790ad2a3 | ||
|
|
021458ddf2 | ||
|
|
64618a9852 | ||
|
|
c9fa9d599e | ||
|
|
64f6f6847e | ||
|
|
94e2dd5ecd | ||
|
|
14dc0c6af0 | ||
|
|
6edf7a30b6 | ||
|
|
c34e9a8c47 | ||
|
|
370b778db2 | ||
|
|
14e3712b8c | ||
|
|
263546473f | ||
|
|
4574771a6a | ||
|
|
562eacb76a | ||
|
|
a220ead435 | ||
|
|
692d5c5215 | ||
|
|
2ae601a719 | ||
|
|
0eaa5f1771 | ||
|
|
39f17b3555 | ||
|
|
4c89c85a28 | ||
|
|
5d87635c66 | ||
|
|
4046cd2a71 | ||
|
|
ae6636a28f | ||
|
|
acef0fb4c6 | ||
|
|
7c1c8eb3b1 | ||
|
|
19661f1d9a | ||
|
|
e39be32838 | ||
|
|
8d8abcffdf | ||
|
|
93d21e4217 | ||
|
|
07f9fbd0b3 | ||
|
|
74866d9ea0 | ||
|
|
1098de2b49 | ||
|
|
c7f31d62b2 | ||
|
|
c53552e8cd | ||
|
|
8b975e83d3 | ||
|
|
9e7c1554bd | ||
|
|
caf30fbe28 | ||
|
|
f1eda916a6 | ||
|
|
5dceb6626b | ||
|
|
fc65b4521a | ||
|
|
fdb7fe613c | ||
|
|
c0427ebf3c | ||
|
|
af16b0f38f | ||
|
|
6ba1cb587c | ||
|
|
5811c2222b |
21
.gitignore
vendored
21
.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
|
||||
@@ -14,7 +14,10 @@
|
||||
/config.status
|
||||
/configure
|
||||
/lib/
|
||||
!/lib/Makefile.am
|
||||
/maint.mk
|
||||
/gnulib_po/
|
||||
/aminclude_static.am
|
||||
# Wildcard Ignores
|
||||
*~
|
||||
po/*.gmo*
|
||||
@@ -24,6 +27,11 @@ tests/*.log
|
||||
tests/*.trs
|
||||
testenv/*.log
|
||||
testenv/*.trs
|
||||
fuzz/*
|
||||
!fuzz/*.*
|
||||
fuzz/*.o
|
||||
fuzz/*.log
|
||||
fuzz/*.trs
|
||||
# build-aux/
|
||||
build-aux/.gitignore
|
||||
build-aux/ar-lib
|
||||
@@ -46,6 +54,7 @@ doc/version.texi
|
||||
doc/wget.1
|
||||
doc/wget.info
|
||||
doc/wget.pod
|
||||
doc/.gitignore
|
||||
# m4/
|
||||
m4/.gitignore
|
||||
m4/gnulib-cache.m4
|
||||
@@ -59,6 +68,7 @@ po/Makevars
|
||||
po/POTFILES
|
||||
po/wget.pot
|
||||
po/stamp-po
|
||||
po/remove-potcdate.sed
|
||||
# src/
|
||||
src/.deps/
|
||||
src/Makefile
|
||||
@@ -87,9 +97,16 @@ testenv/Makefile.in
|
||||
tests/Makefile
|
||||
tests/Makefile.in
|
||||
tests/unit-tests
|
||||
tests/unit-tests.o
|
||||
tests/.deps/
|
||||
tests/certs/interca.conf
|
||||
tests/certs/rootca.conf
|
||||
# util/
|
||||
util/Makefile
|
||||
util/Makefile.in
|
||||
# fuzz/
|
||||
fuzz/.deps/
|
||||
fuzz/Makefile.in
|
||||
# others
|
||||
/tags
|
||||
/cscope.out
|
||||
|
||||
626
.gitlab-ci.yml
626
.gitlab-ci.yml
@@ -1,10 +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:
|
||||
- test-from-git
|
||||
- test-from-tarball
|
||||
- deploy
|
||||
|
||||
cache:
|
||||
key: "$CI_JOB_NAME-ver5"
|
||||
key: "$CI_JOB_NAME"
|
||||
paths:
|
||||
- cache/
|
||||
|
||||
@@ -20,170 +24,484 @@ after_script:
|
||||
# somehow after_script loses environment
|
||||
- export CCACHE_BASEDIR=${PWD}
|
||||
- export CCACHE_DIR=${PWD}/cache
|
||||
- ccache -s
|
||||
- if type -p ccache >/dev/null; then ccache -s; fi
|
||||
|
||||
variables:
|
||||
BUILD_IMAGES_PROJECT: gnuwget/build-images
|
||||
DEBIAN_BUILD: buildenv-debian-stretch
|
||||
FEDORA_BUILD: buildenv-f27
|
||||
CENTOS7_BUILD: buildenv-centos7
|
||||
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
|
||||
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 -Wall -Wextra
|
||||
CFLAGS_DEFAULT: -O0 -g -ggdb3
|
||||
|
||||
|
||||
VPATH/Debian:
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||
CommitCheck:
|
||||
stage: test-from-git
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
script:
|
||||
- cp -a /builds/common/gnulib .
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- ./bootstrap --skip-po
|
||||
- mkdir vpath && cd vpath
|
||||
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make -j$(nproc)
|
||||
- make -j$(nproc) distcheck
|
||||
tags:
|
||||
- shared
|
||||
- docker
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- ./*.log
|
||||
- fuzz/*.log
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
- ./contrib/commit-check
|
||||
allow_failure: true
|
||||
cache:
|
||||
paths:
|
||||
policy: push
|
||||
|
||||
# In this build we combine
|
||||
# * syntax-check
|
||||
# * abi-check
|
||||
# * build/valgrind-check
|
||||
# * build/asan-check
|
||||
# * build w/Werror and ubsan-check
|
||||
OpenSSL/Debian:
|
||||
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
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=gnutls
|
||||
- make syntax-check
|
||||
- make check
|
||||
- make distcheck
|
||||
- make check-valgrind
|
||||
tags:
|
||||
- shared
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- ./*.log
|
||||
- fuzz/*.log
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
|
||||
GnuTLS/Debian:
|
||||
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
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=openssl
|
||||
- make syntax-check
|
||||
- make check
|
||||
- make distcheck
|
||||
- make check-valgrind
|
||||
tags:
|
||||
- shared
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- ./*.log
|
||||
- fuzz/*.log
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
# 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
|
||||
|
||||
#Centos7 build:
|
||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
|
||||
# script:
|
||||
# - sed -i 's/AM_GNU_GETTEXT_VERSION(0.19.3)/AM_GNU_GETTEXT_VERSION(0.18.2)/g' configure.ac
|
||||
# - ./bootstrap && ./configure --enable-gcc-warnings --disable-doc && make -j$(nproc) check
|
||||
# tags:
|
||||
# - shared
|
||||
# artifacts:
|
||||
# expire_in: 2 weeks
|
||||
# when: on_failure
|
||||
# paths:
|
||||
# - tests/*.log
|
||||
# - compat_reports/
|
||||
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
|
||||
|
||||
#clang-analyzer/Fedora:
|
||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
||||
# script:
|
||||
# - ./bootstrap
|
||||
# - scan-build ./configure --disable-doc --enable-gcc-warnings
|
||||
# - make -j$(nproc) -C gl
|
||||
# - scan-build --status-bugs -o scan-build-lib make -j$(nproc) -C lib
|
||||
# tags:
|
||||
# - shared
|
||||
# except:
|
||||
# - tags
|
||||
# artifacts:
|
||||
# expire_in: 2 weeks
|
||||
# when: on_failure
|
||||
# paths:
|
||||
# - scan-build-lib/*
|
||||
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
|
||||
|
||||
#pages:
|
||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||
# script:
|
||||
# - ./bootstrap
|
||||
# - CFLAGS="-g -O0" ./configure --enable-gtk-doc --enable-code-coverage --disable-gcc-warnings
|
||||
# - make -j$(nproc) check
|
||||
# - make local-code-coverage-output
|
||||
# - mkdir -p public
|
||||
# - rm -rf public/coverage
|
||||
# - mv libidn2-*-coverage public/coverage
|
||||
# - rm -rf public/reference
|
||||
# - mv doc/reference/html public/reference
|
||||
# - make -C doc manual
|
||||
# - rm -rf public/manual
|
||||
# - mv doc/manual public/manual
|
||||
# tags:
|
||||
# - shared
|
||||
# artifacts:
|
||||
# when: on_success
|
||||
# paths:
|
||||
# - public
|
||||
# only:
|
||||
# - master
|
||||
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
|
||||
|
||||
#MinGW64:
|
||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
||||
# before_script:
|
||||
# - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc &&
|
||||
# echo ':DOSWin:M::MZ::/usr/bin/wine64:' > /proc/sys/fs/binfmt_misc/register
|
||||
# script:
|
||||
# - ./bootstrap
|
||||
# - mingw64-configure --disable-valgrind-tests --disable-doc
|
||||
# - mingw64-make -j$(nproc)
|
||||
# - mingw64-make -j$(nproc) check
|
||||
# tags:
|
||||
# - shared
|
||||
# - docker
|
||||
# except:
|
||||
# - tags
|
||||
# artifacts:
|
||||
# expire_in: 2 weeks
|
||||
# when: on_failure
|
||||
# paths:
|
||||
# - ./*.log
|
||||
# - tests/*.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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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: 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 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
|
||||
|
||||
|
||||
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 && ./configure
|
||||
command: ./bootstrap && autoreconf -ivf && ./configure
|
||||
|
||||
13
.mailmap
Normal file
13
.mailmap
Normal file
@@ -0,0 +1,13 @@
|
||||
Tim Rühsen <tim.ruehsen@gmx.de> Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
Tim Rühsen <tim.ruehsen@gmx.de> rockdaboot <tim.ruehsen@gmx.de>
|
||||
Darshit Shah <darnir@gnu.org> <darnir@gmail.com>
|
||||
Darshit Shah <darnir@gnu.org> <darnir@reniac.com>
|
||||
Ander Juaristi <ajuaristi@gmx.es> <a@juaristi.eus>
|
||||
Ander Juaristi <ajuaristi@gmx.es> Ander Juaristi Alamos <ajuaristi@gmx.es>
|
||||
Micah Cowan <micah@cowan.name> micah <devnull@localhost>
|
||||
Steven Schubiger <stsc@members.fsf.org> Steven Schubiger <stsc@member.fsf.org>
|
||||
Steven Schubiger <stsc@members.fsf.org> <schubiger@gmail.com>
|
||||
Giuseppe Scrivano <gscrivano@gnu.org> <gscrivan@redhat.com>
|
||||
Gisle Vanem <gisle.vanem@gmail.com> <gvanem@yahoo.no>
|
||||
Gisle Vanem <gisle.vanem@gmail.com> <gvanem@broadpark.no>
|
||||
Gisle Vanem <gisle.vanem@gmail.com> <giva@bgnett.no>
|
||||
1
.prev-version
Normal file
1
.prev-version
Normal file
@@ -0,0 +1 @@
|
||||
1.24.5
|
||||
51
.travis.yml
51
.travis.yml
@@ -1,51 +0,0 @@
|
||||
sudo: no
|
||||
dist: trusty
|
||||
|
||||
language: c
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- darnir@gmail.com
|
||||
- wget-dev@gnu.org
|
||||
on_success: change
|
||||
on_failure: always
|
||||
|
||||
env:
|
||||
global:
|
||||
- PERLLIB=$PERLLIB:../../tests
|
||||
- PERL5LIB=$PERL5LIB:../../tests
|
||||
matrix:
|
||||
- SSL=""
|
||||
- SSL="openssl"
|
||||
- SSL="gnutls"
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- automake
|
||||
- autoconf
|
||||
- autopoint
|
||||
- flex
|
||||
- texinfo
|
||||
- pkg-config
|
||||
- libgnutls-dev
|
||||
- libssl-dev
|
||||
- make
|
||||
- libhttp-daemon-perl
|
||||
- libio-socket-ssl-perl
|
||||
- libidn2-dev
|
||||
- gettext
|
||||
- texlive
|
||||
- python3
|
||||
- valgrind
|
||||
- language-pack-tr
|
||||
- language-pack-ru
|
||||
|
||||
script:
|
||||
- make distclean || true
|
||||
- ./bootstrap
|
||||
- ./contrib/travis-ci $SSL
|
||||
406
AUTHORS
406
AUTHORS
@@ -1,58 +1,366 @@
|
||||
Authors of GNU Wget.
|
||||
Thank you very much for spending your time !
|
||||
|
||||
[ Note that this file does not attempt to list all the contributors to
|
||||
Wget; look at the ChangeLogs for that. This is a list of people who
|
||||
contributed sizeable amounts of code and assigned the copyright to
|
||||
the FSF. ]
|
||||
|
||||
Hrvoje Niksic. Designed and implemented Wget.
|
||||
This list of contributors is maintained in
|
||||
(more or less) the order of date of first commit.
|
||||
Those with the "ASSGN" tag have assigned the copyrights
|
||||
of their patches to the FSF.
|
||||
|
||||
Gordon Matzigkeit. Wrote netrc.c and netrc.h.
|
||||
The list was generated on 14.05.23 by parsing the ChangeLog
|
||||
file until 2014 and the git commit history after that.
|
||||
|
||||
Darko Budor. Wrote initial support for Windows, wrote wsstartup.c,
|
||||
wsstartup.h and windecl.h. (The files were later renamed, but his
|
||||
code and ideas remained present.)
|
||||
Current Maintainers:
|
||||
|
||||
Junio Hamano. Added support for FTP Opie and HTTP digest
|
||||
authentication.
|
||||
[ASSGN] Darshit Shah *darnir [at] gnu.org*
|
||||
[ASSGN] Tim Rühsen *tim.ruehsen [at] gmx.de*
|
||||
|
||||
Dan Harkless. Added --backup-converted, --follow-tags, --html-extension,
|
||||
--ignore-tags, and --page-requisites; improved documentation; etc. Was
|
||||
the principle maintainer of GNU Wget for some time.
|
||||
Contributors:
|
||||
|
||||
Christian Fraenkel. Initially implemented SSL support.
|
||||
|
||||
Thomas Lussnig. Initially implemented IPv6 support.
|
||||
|
||||
Ian Abbott. Contributed bugfixes, Windows-related fixes, provided a
|
||||
prototype implementation of the new recursive code, and more.
|
||||
Co-maintained Wget during the 1.8 release cycle.
|
||||
|
||||
Gisle Vanem. Contributed Windows and MS-DOS improvements, including a
|
||||
port of run_with_timeout to Windows, additions to Makefiles, and many
|
||||
bug reports and fixes.
|
||||
|
||||
Mauro Tortonesi. Improved IPv6 support, adding support for dual
|
||||
family systems. Refactored and enhanced FTP IPv6 code. Maintained GNU
|
||||
Wget from 2004-2007.
|
||||
|
||||
Nicolas Schodet. Contributed to cookie code and documentation.
|
||||
|
||||
Daniel Stenberg. NTLM authentication in http-ntlm.c and http-ntlm.h
|
||||
originally written for curl donated for use in GNU Wget.
|
||||
|
||||
Micah Cowan. Maintained Wget from mid-2007 to mid-2010.
|
||||
|
||||
Ralf Wildenhues. Contributed patches to convert Wget to use Automake as
|
||||
part of its build process, and various bugfixes.
|
||||
|
||||
Steven Schubiger. Many helpful patches, bugfixes and improvements.
|
||||
Notably, conversion of Wget to use the Gnulib quotes and quoteargs
|
||||
modules, and the addition of password prompts at the console, via the
|
||||
Gnulib getpasswd-gnu module.
|
||||
|
||||
Ted Mielczarek. Support for parsing links from CSS.
|
||||
|
||||
Saint Xavier. Support for IRIs (RFC 3987).
|
||||
|
||||
Giuseppe Scrivano. Added support for HTTP/1.1. Current Wget maintainer.
|
||||
[ASSGN] Hrvoje Niksic *hniksic [at] srce.hr*
|
||||
Designed and implemented Wget.
|
||||
[ ] Hrvoje Lacko *hlacko [at] fly.cc.fer.hr*
|
||||
[ ] Antonio Rosella *antonio.rosella [at] agip.it*
|
||||
[ ] Drazen Kacar *dave [at] fly.cc.fer.hr*
|
||||
[ ] Tage Stabell-Kulo *tage [at] acm.org*
|
||||
[ ] Shawn McHorse *riffraff [at] txdirect.net*
|
||||
[ ] Mark Boyns *boyns [at] sdsu.edu*
|
||||
[ ] Dieter Baron *dillo [at] danbala.tuwien.ac.at*
|
||||
[ ] Gregor Hoffleit *flight [at] mathi.uni-heidelberg.DE*
|
||||
[ ] Kaveh R. Ghazi *ghazi [at] caip.rutgers.edu*
|
||||
[ASSGN] Gordon Matzigkeit *gord [at] gnu.ai.mit.edu*
|
||||
Wrote netrc.c and netrc.h.
|
||||
[ASSGN] Darko Budor *dbudor [at] zems.fer.hr*
|
||||
Wrote initial support for Windows, wrote wsstartup.c,
|
||||
wsstartup.h and windecl.h.(The files were later renamed,
|
||||
but his code and ideas remained present.)
|
||||
[ ] Roger Beeman *beeman [at] cisco.com*
|
||||
[ ] Marin Purgar *pmc [at] asgard.hr*
|
||||
[ ] gilles Cedoc *gilles [at] cedocar.fr*
|
||||
[ ] Karl Eichwalder *ke [at] ke.Central.DE*
|
||||
[ ] Fila Kolodny *fila [at] ibi.com*
|
||||
[ ] Andreas Schwab *schwab [at] issan.informatik.uni-dortmund.de*
|
||||
[ ] Mike Thomas *mthomas [at] reality.ctron.com*
|
||||
[ ] Francois Pinard *pinard [at] iro.umontreal.ca*
|
||||
[ ] Jordan Mendelson *jordy [at] wserv.com*
|
||||
[ ] Karl Heuer *kwzh [at] gnu.org*
|
||||
[ ] Andy Eskilsson *andy.eskilsson [at] telelogic.se*
|
||||
[ ] Karl Eichwalder *ke [at] suse.de*
|
||||
[ ] Simon Josefsson *jas [at] pdc.kth.se*
|
||||
[ ] Karl Eichwalder *karl [at] suse.de*
|
||||
[ASSGN] Junio Hamano *junio [at] twinsun.com*
|
||||
Added support for FTP Opie and HTTP digest authentication.
|
||||
[ ] Tim Adam *tma [at] osa.com.au*
|
||||
[ ] Wanderlei Cavassin *cavassin [at] conectiva.com.br*
|
||||
[ASSGN] Jan Prikryl *prikryl [at] cg.tuwien.ac.at*
|
||||
[ ] John *john [at] futuresguide.com*
|
||||
[ ] Tim Charron *tcharron [at] interlog.com*
|
||||
[ ] Robert Schmidt *rsc [at] vingmed.no*
|
||||
[ ] Stefan Hornburg *racke [at] gundel.han.de*
|
||||
[ ] Giovanni Bortolozzo *borto [at] dei.unipd.it*
|
||||
[ ] Gregor Hoffleit *flight [at] mathi.uni-heidelberg.de*
|
||||
[ ] Douglas E. Wegscheid *wegscd [at] whirlpool.com*
|
||||
[ ] Toomas Soome *tsoome [at] ut.ee*
|
||||
[ ] Simos KSenitellis *simos [at] teiath.gr*
|
||||
[ ] Juan Jose Rodriguez *jcnsoft [at] jal1.telmex.net.mx*
|
||||
[ ] Dominique Delamarre *dominique.delamarre [at] hol.fr*
|
||||
[ ] Martin Kraemer *Martin.Kraemer [at] mch.sni.de*
|
||||
[ ] Mathieu Guillaume *mat [at] cythere.com*
|
||||
[ ] Alexander Kourakos *awk [at] bnt.com*
|
||||
[ ] Dave Love *d.love [at] dl.ac.uk*
|
||||
[ ] Heinz Salzmann *heinz.salzmann [at] intermetall.de*
|
||||
[ ] Adam D. Moss *adam [at] foxbox.org*
|
||||
[ ] Howard Gayle *howard [at] fjst.com*
|
||||
[ ] Hans Grobler *grobh [at] conde.ee.sun.ac.za*
|
||||
[ ] Szakacsits Szabolcs *szaka [at] sienet.hu*
|
||||
[ ] Simon Munton *simonm [at] m4data.co.uk*
|
||||
[ ] Edward J. Sabol *sabol [at] alderaan.gsfc.nasa.gov*
|
||||
[ ] "R. K. Owen" *rkowen [at] Nersc.GOV*
|
||||
[ ] Alexander V. Lukyanov *lav [at] yars.free.net*
|
||||
[ ] andrew deryabin *djsf [at] softhome.net*
|
||||
[ ] Heiko Herold *Heiko.Herold [at] previnet.it*
|
||||
[ ] Dan Berger *dberger [at] ix.netcom.com*
|
||||
[ ] Charles G Waldman *cgw [at] fnal.gov*
|
||||
[ ] Damir Dzeko *ddzeko [at] zesoi.fer.hr*
|
||||
[ASSGN] Dan Harkless *wget [at] harkless.org*
|
||||
Added --backup-converted, --follow-tags, --html-extension,
|
||||
--ignore-tags, and --page-requisites;
|
||||
improved documentation; etc. Was the principle maintainer
|
||||
of GNU Wget for some time.
|
||||
[ ] Daniel S. Lewart *d-lewart [at] uiuc.edu*
|
||||
[ ] HIROSE Masaaki *hirose31 [at] t3.rim.or.jp*
|
||||
[ ] Const Kaplinsky *const [at] ce.cctpu.edu.ru*
|
||||
[ ] John Daily *jdaily [at] cyberdude.com*
|
||||
[ ] Adrian Aichner *adrian [at] xemacs.org*
|
||||
[ ] Matthew Seaman *m.seaman [at] inpharmatica.co.uk*
|
||||
[ ] Tyler Riddle *triddle [at] liquidmarket.com*
|
||||
[ ] John Summerfield *summer [at] OS2.ami.com.au*
|
||||
[ ] Csaba Raduly *csaba.raduly [at] sophos.com*
|
||||
[ ] Igor Khristophorov *igor [at] atdot.org*
|
||||
[ ] Adrian Aichner *Adrian.Aichner [at] t-online.de*
|
||||
[ ] Jonas Jensen *bones [at] huleboer.dk*
|
||||
[ ] Tim Mooney *mooney [at] dogbert.cc.ndsu.NoDak.edu*
|
||||
[ ] Hack Kampbjørn *hack [at] hackdata.com*
|
||||
[ ] Philipp Thomas *pthomas [at] suse.de*
|
||||
[ ] Nicolas Lichtmaier *nick [at] debian.org*
|
||||
[ ] KOJIMA Hajime *kjm [at] rins.ryukoku.ac.jp*
|
||||
[ ] Paul Bludov *paul [at] ozero.net*
|
||||
[ ] Trond Eivind Glomsrod *teg [at] redhat.com*
|
||||
[ASSGN] Ian Abbott *abbotti [at] mev.co.uk*
|
||||
Contributed bugfixes, Windows-related fixes, provided a
|
||||
prototype implementation of the new recursive code, and more.
|
||||
Co-maintained Wget during the 1.8 release cycle.
|
||||
[ASSGN] Maciej W. Rozycki *macro [at] ds2.pg.gda.pl*
|
||||
[ ] R.I.P. Deaddog *maddog [at] linuxhall.org*
|
||||
[ ] Adam J. Richter *adam [at] yggdrasil.com*
|
||||
[ ] Dave Turner *dct25 [at] hermes.cam.ac.uk*
|
||||
[ASSGN] Christian Fraenkel *c.fraenkel [at] gmx.net*
|
||||
Initially implemented SSL support.
|
||||
[ ] Daniel BODEA *dali [at] dali-designs.com*
|
||||
[ ] Alan Eldridge *alane [at] geeksrus.net*
|
||||
[ ] Chris Seawood *cls [at] seawood.org*
|
||||
[ ] Peter Farmer *peter.farmer [at] zveno.com*
|
||||
[ ] Jochen Hein *jochen [at] jochen.org*
|
||||
[ ] Lemble Gregory *gregory.lemble [at] st.com*
|
||||
[ ] Ingo T. Storm *tux-sparc [at] computerbild.de*
|
||||
[ ] T. Bharath *TBharath [at] responsenetworks.com*
|
||||
[ ] Andre Majorel *amajorel [at] teaser.fr*
|
||||
[ ] Christian Lackas *delta [at] lackas.net*
|
||||
[ ] Andreas Damm *andreas-sourceforge [at] radab.org*
|
||||
[ ] Chin-yuan Kuo *sr1111111 [at] yahoo.com.tw*
|
||||
[ASSGN] Thomas Lussnig *thomas.lussnig [at] bewegungsmelder.de*
|
||||
Initially implemented IPv6 support.
|
||||
[ ] Bill Richardson *bill [at] riverstonenet.com*
|
||||
[ASSGN] Nicolas Schodet *contact [at] ni.fr.eu.org*
|
||||
Contributed to cookie code and documentation.
|
||||
[ ] Ahmon Dancy *dancy [at] dancysoft.com*
|
||||
[ ] Noel Kothe *noel [at] debian.org*
|
||||
[ ] Aurelien Marchand *artaxerxes [at] users.sf.net*
|
||||
[ ] Aaron S. Hawley *Aaron.Hawley [at] uvm.edu*
|
||||
[ ] Bertrand Demiddelaer *bert [at] b3rt.org*
|
||||
[ ] Matthew J. Mellon *mellon [at] tymenet.com*
|
||||
[ASSGN] Gisle Vanem *giva [at] bgnett.no*
|
||||
Contributed Windows and MS-DOS improvements, including a
|
||||
port of run_with_timeout to Windows, additions to Makefiles,
|
||||
and many bug reports and fixes.
|
||||
[ ] Philip Stadermann *philip.stadermann [at] credativ.de*
|
||||
[ ] Dennis Smit *ds [at] nerds-incorporated.org*
|
||||
[ ] Christian Biere *christianbiere [at] gmx.de*
|
||||
[ ] David Fritz *zeroxdf [at] att.net*
|
||||
[ ] Jens Roesner *jens.roesner [at] gmx.de*
|
||||
[ ] Nico R. *n-roeser [at] gmx.net*
|
||||
[ ] Larry Jones *lawrence.jones [at] ugsplm.com*
|
||||
[ ] YAMAZAKI Makoto *Yamazaki.Makoto [at] fujixerox.co.jp*
|
||||
[ ] Hans-Andreas Engel *engel [at] node.ch*
|
||||
[ ] Leonid Petrov *nouser [at] lpetrov.net*
|
||||
[ ] Ulf Harnhammar *ulf.harnhammar.9485 [at] student.uu.se*
|
||||
[ASSGN] Mauro Tortonesi *mauro [at] ferrara.linux.it*
|
||||
Improved IPv6 support, adding support for dual
|
||||
family systems. Refactored and enhanced FTP IPv6 code.
|
||||
Maintained GNU Wget from 2004-2007.
|
||||
[ ] Marco Colombo *m.colombo [at] ed.ac.uk*
|
||||
[ ] Joseph Caretto *jcaretto [at] pitt.edu*
|
||||
[ ] FUJISHIMA Satsuki *sf [at] FreeBSD.org*
|
||||
[ ] Charles C.Fu *ccwf [at] bacchus.com*
|
||||
[ ] Andreas Beckmann *debian [at] abeckmann.de*
|
||||
[ ] Keith Moore *keithmo [at] exmsft.com*
|
||||
[ ] Benno Schulenberg *benno [at] nietvergeten.nl*
|
||||
[ ] Giuseppe Bonacci *g.bonacci [at] libero.it*
|
||||
[ ] Vasil Dimov *vd [at] datamax.bg*
|
||||
[ ] Albert Chin *wget [at] mlists.thewrittenword.com*
|
||||
[ ] Jeremy Shapiro *jnshapiro [at] gmail.com*
|
||||
[ ] Stepan Kasal *kasal [at] ucw.cz*
|
||||
[ ] Russ Allbery *rra [at] stanford.edu*
|
||||
[ASSGN] Daniel Stenberg *daniel [at] haxx.se*
|
||||
NTLM authentication in http-ntlm.c and http-ntlm.h
|
||||
originally written for curl donated for use in GNU Wget.
|
||||
[ ] Lawrence Jones *lawrence.jones [at] ugs.com*
|
||||
[ ] CHEN Peng *chenpeng [at] alumni.nus.edu.sg*
|
||||
[ASSGN] Tony Lewis *tlewis [at] exelana.com*
|
||||
[ ] KJKHyperion *hackbunny [at] reactos.com*
|
||||
[ ] Daniel Richard G. *skunk [at] iSKUNK.ORG*
|
||||
[ ] Mike Grant *mggr [at] pml.ac.uk*
|
||||
[ASSGN] Micah Cowan *micah [at] cowan.name*
|
||||
Maintained Wget from mid-2007 to mid-2010.
|
||||
[ASSGN] Joshua David Williams *yurimxpxman [at] gmail.com*
|
||||
[ASSGN] Ralf Wildenhues *Ralf.Wildenhues [at] gmx.de*
|
||||
Contributed patches to convert Wget to use Automake as
|
||||
part of its build process, and various bugfixes.
|
||||
[ ] Jochen Roderburg *roderburg [at] uni-koeln.de*
|
||||
[ ] Stephen Gildea *stepheng+wget [at] gildea.com*
|
||||
[ ] Benno Schulenberg *bensberg [at] justemail.net*
|
||||
[ ] Alexander Dergachev *cy6erbr4in [at] gmail.com*
|
||||
[ASSGN] Rabin Vincent *rabin [at] rab.in*
|
||||
[ASSGN] Steven Schubiger *schubiger [at] gmail.com*
|
||||
Many helpful patches, bugfixes and improvements.
|
||||
Notably, conversion of Wget to use the Gnulib quotes and
|
||||
quoteargs modules, and the addition of password prompts
|
||||
at the console, via the Gnulib getpasswd-gnu module.
|
||||
[ ] Alain Guibert *alguibert+bts [at] free.fr*
|
||||
[ ] Jim Paris *jim [at] jtan.com*
|
||||
[ASSGN] Mike Frysinger *vapier [at] gentoo.org*
|
||||
[ ] Pranab Shenoy *pranab.loosinit.shenoy [at] gmail.com*
|
||||
[ASSGN] Ted Mielczarek *ted.mielczarek [at] gmail.com*
|
||||
Support for parsing links from CSS.
|
||||
[ASSGN] Joao Ferreira *joao [at] joaoff.com*
|
||||
[ ] Kenny Parnell *k.parnell [at] gmail.com*
|
||||
[ ] Henri Häkkinen *henux [at] users.sourceforge.net*
|
||||
[ASSGN] Madhusudan Hosaagrahara *com.gmail.hrmadhu*
|
||||
[ASSGN] Xavier Saint *wget [at] sxav.eu*
|
||||
Support for IRIs (RFC 3987).
|
||||
[ ] Michael Kessler *kessler.michael [at] aon.at*
|
||||
[ ] Alexander Drozdov *dzal_mail [at] mtu-net.ru*
|
||||
[ ] Alexander Belopolsky *alexander.belopolsky [at] gmail.com*
|
||||
[ASSGN] Gerardo E. Gidoni *gerel [at] gnu.org*
|
||||
[ ] Benjamin Wolsey *bwy [at] benjaminwolsey.de*
|
||||
[ ] Xin Zou *zouxin2008 [at] gmail.com*
|
||||
[ ] Julien Pichon *julienpichon7 [at] gmail.com*
|
||||
[ ] Phil Pennock *mutt-dev [at] spodhuis.org*
|
||||
[ ] Jay Krell *jay.krell [at] cornell.edu*
|
||||
[ASSGN] Steven Schweda *sms [at] antinode.info*
|
||||
[ASSGN] Petr Pisar *petr.pisar [at] atlas.cz*
|
||||
[ ] Marcel Telka *marcel [at] telka.sk*
|
||||
[ ] Michael Baeuerle *michael.baeuerle [at] gmx.net*
|
||||
[ASSGN] Arvind Jamuna Dixit *ardsrk [at] gmail.com*
|
||||
[ ] Peter Rosin *peda [at] lysator.liu.se*
|
||||
[ ] David Holman *holman.david [at] gmail.com*
|
||||
[ ] Jeremy Olexa *darkside [at] gentoo.org*
|
||||
[ ] Paul Townsend *aab [at] purdue.edu*
|
||||
[ASSGN] Giuseppe Scrivano *gscrivano [at] gnu.org*
|
||||
Added support for HTTP/1.1.
|
||||
Active Wget Maintainer from 2010-2015.
|
||||
[ ] Muthu Subramanian K *muthusuba [at] gmail.com*
|
||||
[ ] Alan Jenkins *alan-jenkins [at] tuffmail.co.uk*
|
||||
[ ] John Trengrove *jtrengrove [at] gmail.com*
|
||||
[ ] Alon Bar-Lev *alon.barlev [at] gmail.com*
|
||||
[ASSGN] Reza Snowdon *vivi [at] mage.me.uk*
|
||||
[ASSGN] Dennis, CHENG Renquan *crquan [at] fedoraproject.org*
|
||||
[ASSGN] Merinov Nikolay *kim.roader [at] gmail.com*
|
||||
[ ] Ivanov Anton *x86mail [at] gmail.com*
|
||||
[ ] Manfred Koizar *mkoi-pg [at] aon.at*
|
||||
[ASSGN] Jessica McKellar *jesstess [at] mit.edu*
|
||||
[ ] Filipe Brandenburger *filbranden [at] gmail.com*
|
||||
[ ] Evgeniy Philippov *egphilippov [at] googlemail.com*
|
||||
[ ] Adrien Nader *adrien [at] notk.org*
|
||||
[ ] Gilles Carry *gilles.carry [at] st.com*
|
||||
[ ] Tomasz Buchert *tomek.buchert [at] gmail.com*
|
||||
[ASSGN] Ray Satiro *raysatiro [at] yahoo.com*
|
||||
[ ] Cristian Rodríguez *crrodriguez [at] opensuse.org*
|
||||
[ASSGN] Daniel Manrique *roadmr [at] tomechangosubanana.com*
|
||||
[ ] Carlos Martín Nieto *carlos [at] cmartin.tk*
|
||||
[ ] Jochen Roderburg *Roderburg [at] Uni-Koeln.DE*
|
||||
[ ] Mojca Miklavec *mojca.miklavec.lists [at] gmail.com*
|
||||
[ ] Alan Hourihane *alanh [at] fairlite.co.uk*
|
||||
[ ] Christian Jullien *eligis [at] orange.fr*
|
||||
[ ] Jakob Matthes *jakob.matthes [at] gmail.com*
|
||||
[ ] Karl Berry *karl [at] freefriends.org*
|
||||
[ ] Henrik Holst *henrik.holst [at] millistream.com*
|
||||
[ASSGN] Gijs van Tulder *gvtulder [at] gmail.com*
|
||||
[ASSGN] Sasikantha Babu *sasikanth.v19 [at] gmail.com*
|
||||
[ ] Ángel González *keisial [at] gmail.com*
|
||||
[ ] Daniel Kahn Gillmor *dkg [at] fifthhorseman.net*
|
||||
[ ] illusionoflife *illusion.of.life92 [at] gmail.com*
|
||||
[ ] mancha *mancha [at] mac.hush.com*
|
||||
[ ] *y-iida [at] secom.co.jp*
|
||||
[ ] Rohit Mathulla *rohit_mathulla [at] yahoo.com*
|
||||
[ ] Nguyễn Thái Ngọc Duy *pclouds [at] gmail.com*
|
||||
[ ] Stefano Lattarini *stefano.lattarini [at] gmail.com*
|
||||
[ ] Michael Stapelberg *michael [at] stapelberg.de*
|
||||
[ ] Pavel Mateja *pavel [at] netsafe.cz*
|
||||
[ASSGN] Darshit Shah *darnir [at] gnu.org*
|
||||
[ ] Tomas Hozza *thozza [at] redhat.com*
|
||||
[ ] mancha *mancha1 [at] hush.com*
|
||||
[ASSGN] Bykov Aleksey *gnfalex [at] rambler.ru*
|
||||
[ ] Dave Reisner *dreisner [at] archlinux.org*
|
||||
[ ] Ciprian Vieru *devel.php [at] gmail.com*
|
||||
[ ] Karsten Hopp *karsten [at] redhat.com*
|
||||
[ ] Will Dietz *w [at] wdtz.org*
|
||||
[ ] Andrea Urbani *matfanjol [at] mail.com*
|
||||
[ ] Håkon Vågsether *hauk142 [at] gmail.com*
|
||||
[ ] Lars Wendler *polynomial-c [at] gentoo.org*
|
||||
[ASSGN] Yousong Zhou *yszhou4tech [at] gmail.com*
|
||||
[ ] Vladimír Pýcha *vpycha [at] gmail.com*
|
||||
[ASSGN] Zihang Chen *chsc4698 [at] gmail.com*
|
||||
[ ] Benjamin Goose *gans+wget [at] tngtech.com*
|
||||
[ ] Nikita Vetrov *admin [at] kanaria.ru*
|
||||
[ ] Nikolay Morozov *n.morozov [at] securitycode.ru*
|
||||
[ ] Matthew Atkinson *mutley456 [at] ntlworld.com*
|
||||
[ ] Peter Meiser *meiser [at] gmx-topmail.de*
|
||||
[ ] Pär Karlsson *feinorgh [at] gmail.com*
|
||||
[ ] Jakub Čajka *jcajka [at] redhat.com*
|
||||
[ ] Witchakorn Kamolpornwijit *witchakk [at] mit.edu*
|
||||
[ ] Tom Li *biergaizi2009 [at] gmail.com*
|
||||
[ ] Jérémie Courrèges-Anglas *jca [at] wxcvbn.org*
|
||||
[ ] Cong Ma *cma [at] pmo.ac.cn*
|
||||
[ ] Yuriy M. Kaminskiy *yumkam [at] gmail.com*
|
||||
[ASSGN] Eli Zaretskii *eliz [at] gnu.org*
|
||||
[ ] Mathieu Parent *math.parent [at] gmail.com*
|
||||
[ ] Dagobert Michelsen *dam [at] opencsw.org*
|
||||
[ ] Gisle Vanem *gvanem [at] yahoo.no*
|
||||
[ ] Anderson Goulart *global [at] kokre.com*
|
||||
[ASSGN] Ander Juaristi Alamos *ajuaristi [at] gmx.es*
|
||||
[ ] Rohan Prinja *rohan.prinja [at] gmail.com*
|
||||
[ASSGN] Hubert Tarasiuk *hubert.tarasiuk [at] gmail.com*
|
||||
[ASSGN] Miquel Llobet *mllobet.cm [at] gmail.com*
|
||||
[ ] Romain Bentz *romain.bentz [at] dataiku.com*
|
||||
[ ] Alex Henrie *alexhenrie24 [at] gmail.com*
|
||||
[ASSGN] Jookia *166291 [at] gmail.com*
|
||||
[ ] Daniele Calore *daniele.calore [at] tin.it*
|
||||
[ ] Christian Neukirchen *chneukirchen [at] gmail.com*
|
||||
[ ] christian fafard *cfaf [at] hotmail.com*
|
||||
[ ] Ikey Doherty *michael.i.doherty [at] intel.com*
|
||||
[ ] Ygal Blum *ygal.blum [at] technicolor.com*
|
||||
[ ] Jernej Simončič *jernej|s-wget [at] eternallybored.org*
|
||||
[ ] Maks Orlovich *morlovich [at] google.com*
|
||||
[ASSGN] moparisthebest *admin [at] moparisthebest.com*
|
||||
[ ] Sergio Gelato *sergio.gelato [at] astro.su.se*
|
||||
[ ] Sean Burford *sburford [at] google.com*
|
||||
[ASSGN] Matthew White *mehw.is.me [at] inventati.org*
|
||||
[ ] Jeffery To *jeffery.to [at] gmail.com*
|
||||
[ ] Tobias Stoeckmann *tobias [at] stoeckmann.org*
|
||||
[ASSGN] Dale R. Worley *worley [at] ariadne.com*
|
||||
[ ] Liam R. Howlett *Liam.Howlett [at] WindRiver.com*
|
||||
[ ] losgrandes *pwajda [at] gmail.net.pl*
|
||||
[ ] Rahul Bedarkar *rahul.bedarkar [at] imgtec.com*
|
||||
[ ] Nikos Mavrogiannopoulos *nmav [at] gnutls.org*
|
||||
[ASSGN] vijeth-aradhya *vijthaaa [at] gmail.com*
|
||||
[ASSGN] Tom Szilagyi *tomszilagyi [at] gmail.com*
|
||||
[ASSGN] YX Hao *lifenjoiner [at] 163.com*
|
||||
[ ] Benjamin Esham *benjamin [at] esham.io*
|
||||
[ ] Christof Horschitz *christof [at] nimbusec.com*
|
||||
[ASSGN] Vijo Cherian *codervijo [at] gmail.com*
|
||||
[ ] klemens *ka7 [at] github.com*
|
||||
[ ] Anton Yuzhaninov *citrin+github [at] citrin.ru*
|
||||
[ASSGN] Tim Schlueter *schlueter.tim [at] linux.com*
|
||||
[ASSGN] Josef Moellers *jmoellers [at] suse.de*
|
||||
[ ] Peter Wu *peter [at] lekensteyn.nl*
|
||||
[ ] Reiji *gey3dr [at] gmail.com*
|
||||
[ ] Loganaden Velvindron *logan [at] hackers.mu*
|
||||
[ ] ethus3h *kolubat [at] gmail.com*
|
||||
[ ] Tomas Korbar *tkorbar [at] redhat.com*
|
||||
[ ] Nikos Mavrogiannopoulos *nmav [at] redhat.com*
|
||||
[ ] Luiz Angelo Daros de Luca *luizluca [at] gmail.com*
|
||||
[ ] Kapus, Timotej *timotej.kapus13 [at] imperial.ac.uk*
|
||||
[ ] Rosen Penev *rosenp [at] gmail.com*
|
||||
[ ] André Wolski *andre [at] dena-design.de*
|
||||
[ ] Leon Klingele *git [at] leonklingele.de*
|
||||
[ASSGN] Jeffrey Walton *noloader [at] gmail.com*
|
||||
[ ] raminfp *ramin.blackhat [at] gmail.com*
|
||||
[ ] Leif Ryge *leif [at] synthesize.us*
|
||||
[ ] Eneas U de Queiroz *cote2004-github [at] yahoo.com*
|
||||
[ ] AviSoomirtee *avi [at] cyberstorm.mu*
|
||||
[ASSGN] sulfastor *torresmoisesa [at] gmail.com*
|
||||
[ ] Lauri Nurmi *lanurmi [at] iki.fi*
|
||||
[ASSGN] Вячеслав Петрищев *vyachemail [at] gmail.com*
|
||||
[ ] Matt Whitlock *gentoo [at] mattwhitlock.name*
|
||||
[ ] Shamil Gumirov *shamil [at] gumirov.com*
|
||||
[ ] Nils *nils [at] nilsand.re*
|
||||
[ ] Nekun *nekokun [at] firemail.cc*
|
||||
[ ] jmoellers *josef.moellers [at] suse.com*
|
||||
[ ] WB *3572564-wadersgeek [at] users.noreply.gitlab.com*
|
||||
[ ] Thomas Niederberger *thomas [at] niederb.ch*
|
||||
[ ] Nik Soggia *wget [at] niksoggia.it*
|
||||
[ ] Aarni Koskela *akx [at] iki.fi*
|
||||
[ ] jinfuchiang *jinfuchiang [at] outlook.com*
|
||||
[ ] Jan-Michael Brummer *jan-michael.brummer1 [at] volkswagen.de*
|
||||
|
||||
65
CONTRIBUTING.md
Normal file
65
CONTRIBUTING.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Wget Contribution Guidelines
|
||||
|
||||
1. [Guidelines For Patch
|
||||
Submissions](#Guidelines_For_Patch_Submissions)
|
||||
1. [What is a patch ?](#What_is_a_patch.3F)
|
||||
2. [Where to send the patches](#Where_to_send_the_patches)
|
||||
3. [Standards and coding style](#Standards_and_coding_style)
|
||||
|
||||
|
||||
Guidelines For Patch Submissions {#Guidelines_For_Patch_Submissions}
|
||||
================================
|
||||
|
||||
What is a patch ? {#What_is_a_patch.3F}
|
||||
-----------------
|
||||
|
||||
A patch file, also known as a \"diff\", is a textual representation of
|
||||
changes to source code. Patches are readable enough
|
||||
to be reviewed by []{#line-9 .anchor}humans and at the same time regular
|
||||
enough to be processed by programs. The `patch`
|
||||
utility is used to change the source code in the
|
||||
manner that the patch describes, this being called \"applying\" the
|
||||
patch. Patches work even on files that have been
|
||||
modified independently of the modifications in the
|
||||
patch, as long as those other changes do not
|
||||
conflict with the patch.
|
||||
|
||||
Because of these properties, patches are the preferred means of
|
||||
distributing the changes to a free software project.
|
||||
If you have made a change to Wget and would like to
|
||||
contribute it, you will need to create a patch and
|
||||
send it to the developers; please read on.
|
||||
|
||||
Where to send the patches {#Where_to_send_the_patches}
|
||||
-------------------------
|
||||
|
||||
Patches intended to be applied to Wget should be mailed to
|
||||
bug-wget@gnu.org. Each patch will be reviewed by the
|
||||
developers, and will be acked and added to the
|
||||
distribution, or rejected with an explanation.
|
||||
Unfortunately, the developers are often busy with
|
||||
their day jobs, so the review process can take a while.
|
||||
|
||||
*Every* patch should be accompanied by an explanation of what the patch
|
||||
changes, and why the change is desirable or
|
||||
necessary. The explanation need not be long, but
|
||||
please don\'t just send a patch without any
|
||||
accompanying text.
|
||||
|
||||
Please send your patches as email attachments. It is important that the
|
||||
patch survives the travel unchanged so that we can feed it to
|
||||
the `patch` utility or `git am/apply` after or while reviewing it.
|
||||
|
||||
|
||||
Standards and coding style {#Standards_and_coding_style}
|
||||
--------------------------
|
||||
|
||||
Wget abides by the GNU coding standards, available at:
|
||||
|
||||
- https://www.gnu.org/prep/standards.html
|
||||
|
||||
But maybe even better is to stay with the surrounding coding style.
|
||||
|
||||
When working with git: The commit messages needs a certain GNU style
|
||||
format. Please check `git log` for examples. The maintainers might
|
||||
correct small issues here before pushing / applying without asking.
|
||||
2
COPYING
2
COPYING
@@ -1,7 +1,7 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007, 2023 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
34
Makefile.am
34
Makefile.am
@@ -1,6 +1,5 @@
|
||||
# Makefile for `Wget' utility
|
||||
# Copyright (C) 1995-1997, 2006-2018 Free Software Foundation,
|
||||
# Inc.
|
||||
# Copyright (C) 1995-1997, 2006-2024 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
|
||||
@@ -41,7 +40,7 @@ distuninstallcheck_listfiles = find . -type f | \
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
# subdirectories in the distribution
|
||||
SUBDIRS = lib src doc po util fuzz tests testenv
|
||||
SUBDIRS = lib src doc po gnulib_po util fuzz tests testenv
|
||||
|
||||
EXTRA_DIST = MAILING-LIST \
|
||||
msdos/config.h msdos/Makefile.DJ \
|
||||
@@ -49,7 +48,7 @@ EXTRA_DIST = MAILING-LIST \
|
||||
build-aux/build_info.pl build-aux/git-version-gen .version
|
||||
|
||||
CLEANFILES = *~ *.bak $(DISTNAME).tar.gz
|
||||
DISTCLEANFILES = po/stamp-po
|
||||
DISTCLEANFILES = po/stamp-po gnulib_po/stamp-po
|
||||
|
||||
BUILT_SOURCES = .version
|
||||
|
||||
@@ -81,3 +80,30 @@ gen-ChangeLog:
|
||||
|
||||
check-valgrind:
|
||||
TESTS_ENVIRONMENT="VALGRIND_TESTS=1" $(MAKE) check
|
||||
|
||||
LCOV_INFO=wget.info
|
||||
|
||||
clean-lcov:
|
||||
rm -rf $(LCOV_INFO) */*.gc?? */.libs/*.gc?? lcov/
|
||||
lcov --zerocounters --directory src/
|
||||
|
||||
check-coverage: clean clean-lcov
|
||||
$(MAKE) CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage"
|
||||
lcov --capture --initial --directory src/ --output-file $(LCOV_INFO)
|
||||
$(MAKE) CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage" VALGRIND_TESTS=0 check
|
||||
lcov --capture --directory src/ --output-file $(LCOV_INFO)
|
||||
lcov --remove $(LCOV_INFO) --ignore-errors unused '/usr/include/*' '*/lib/*' -o $(LCOV_INFO)
|
||||
genhtml --prefix . --ignore-errors source --ignore-errors unmapped $(LCOV_INFO) --legend --title "Wget" --output-directory=lcov
|
||||
@echo
|
||||
@echo "You can now view the coverage report with 'xdg-open lcov/index.html'"
|
||||
|
||||
fuzz-coverage: clean clean-lcov
|
||||
$(MAKE) -C lib
|
||||
$(MAKE) -C src CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage"
|
||||
$(MAKE) -C fuzz check CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage"
|
||||
lcov --capture --initial --directory fuzz --directory src --output-file $(LCOV_INFO)
|
||||
lcov --capture --directory fuzz --directory src --output-file $(LCOV_INFO)
|
||||
lcov --remove $(LCOV_INFO) '/usr/include/*' '*/lib/*' -o $(LCOV_INFO)
|
||||
genhtml --prefix . --ignore-errors source $(LCOV_INFO) --legend --title "Wget-fuzz" --output-directory=lcov
|
||||
@echo
|
||||
@echo "You can now view the coverage report with 'xdg-open lcov/index.html'"
|
||||
|
||||
111
NEWS
111
NEWS
@@ -1,9 +1,108 @@
|
||||
GNU Wget NEWS -- history of user-visible changes.
|
||||
|
||||
Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
* Noteworthy changes in release ?.? (????-??-??) [?]
|
||||
|
||||
|
||||
* Noteworthy changes in release 1.24.5 (2024-03-10) [stable]
|
||||
|
||||
** Fix how subdomain matches are checked for HSTS.
|
||||
Fixes a minor issue where cookies may be leaked to the wrong domain
|
||||
|
||||
** Wget will now also parse the srcset attribute in <source> HTML tags
|
||||
|
||||
** Support reading fetchmail style "user" and "passwd" fields from netrc
|
||||
|
||||
** In some cases, prevent the confusing "Cannot write to... (success)" error messages
|
||||
|
||||
** Support extremely fast download speeds (TB/s).
|
||||
Previously this would cause Wget to crash when printing the speed
|
||||
|
||||
** Improve portability on OpenBSD to run the test suite
|
||||
|
||||
** Ensure that CSS URLs are corectly quoted (Bug: 64082)
|
||||
|
||||
|
||||
* Noteworthy changes in release 1.21.4 (2023-05-11)
|
||||
|
||||
** Document --retry-on-host-error in help text
|
||||
|
||||
** Increase read buffer size to 64k. This should speed up downloads on gigabit and faster connections
|
||||
|
||||
** Update deprecated option '--html-extension' to '--adjust-extension' in documentation
|
||||
|
||||
** Update gnulib compatibility layer.
|
||||
Fixes HSTS test failures on i686. (Thanks to Andreas Enge for ponting it out)
|
||||
|
||||
|
||||
* 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
|
||||
|
||||
** Resove bashism from configure.ac
|
||||
|
||||
** Fix a compilation warning on 32-bit systems
|
||||
|
||||
|
||||
* Changes in Wget 1.21
|
||||
|
||||
** Improve the number of translated strings
|
||||
|
||||
** Remove all uses of alloca
|
||||
In some places the length of untrusted strings has been used, e.g.
|
||||
strings from the command line or from remote.
|
||||
|
||||
** Fix buffer overflows in progress bar code in some locales
|
||||
|
||||
** Fix two null pointer accesses
|
||||
|
||||
** Amend cookie file header to be recognized by the 'file' command
|
||||
|
||||
** Post Handshake Authentication for OpenSSL
|
||||
|
||||
** Require gettext version 0.19.3+
|
||||
|
||||
** Add configure flags --enable-fsanitize-ubsan, --enable-fsanitize-asan
|
||||
and --enable-fsanitize-msan for gcc and clang
|
||||
|
||||
** Make several smaller fixes, enhance fuzzing, enhance building
|
||||
|
||||
|
||||
* Changes in Wget 1.20.3
|
||||
|
||||
** Fixed a buffer overflow vulnerability
|
||||
|
||||
|
||||
* Changes in Wget 1.20.2
|
||||
|
||||
** NTLM authentication will retry under certain cases
|
||||
|
||||
Please send GNU Wget bug reports to <bug-wget@gnu.org>.
|
||||
|
||||
* Changes in Wget 1.20.1
|
||||
|
||||
@@ -381,7 +480,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
|
||||
@@ -391,7 +490,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'
|
||||
@@ -1119,7 +1218,7 @@ geturl -vo log http://fly.cc.fer.hr/
|
||||
----------------------------------------------------------------------
|
||||
Copyright information:
|
||||
|
||||
Copyright (C) 1997-2005 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2024 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
|
||||
|
||||
10
README
10
README
@@ -14,7 +14,7 @@ While doing that, Wget respects the Robot Exclusion Standard
|
||||
(/robots.txt). Wget can be instructed to convert the links in
|
||||
downloaded HTML files to the local files for offline viewing.
|
||||
|
||||
Recursive downloading also works with FTP, where Wget can retrieves a
|
||||
Recursive downloading also works with FTP, where Wget can retrieve a
|
||||
hierarchy of directories and files.
|
||||
|
||||
With both HTTP and FTP, Wget can check whether a remote file has
|
||||
@@ -53,15 +53,17 @@ See the file `MAILING-LIST' for information about Wget mailing lists.
|
||||
Wget's home page is at <https://www.gnu.org/software/wget/>.
|
||||
|
||||
If you would like to contribute code for Wget, please read
|
||||
https://wget.addictivecode.org/PatchGuidelines.
|
||||
CONTRIBUTING.md.
|
||||
|
||||
Wget is offered under the terms of the GNU GPLv3 license. Please see the
|
||||
COPYING file for a full text of the license terms.
|
||||
|
||||
Wget was originally written and mainained by Hrvoje Niksic. Please see
|
||||
the file AUTHORS for a list of major contributors, and the ChangeLogs
|
||||
for a detailed listing of all contributions.
|
||||
|
||||
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-2024 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
|
||||
|
||||
@@ -8,7 +8,7 @@ Compiling From Repository Sources
|
||||
libiconv, libpsl, libpcre, pkg-config, libmetalink and GnuPG are not
|
||||
absolutely required):
|
||||
|
||||
* [20]autoconf (currently, GNU Wget requires version 2.61). This is
|
||||
* [20]autoconf (currently, GNU Wget requires version 2.64). This is
|
||||
needed to generate the configure script from configure.in. This is
|
||||
not required when building from a tarball distribution; only when
|
||||
building from repository sources.
|
||||
@@ -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.
|
||||
@@ -104,8 +104,8 @@ Compiling From Repository Sources
|
||||
The command line options --dns-servers and --bind-dns-address are
|
||||
only available when configured with --with-cares.
|
||||
|
||||
* [49]Gpef is required by some gnulib modules, most notably "unicase". You
|
||||
need the application installed on the machine to compile Wget from git.
|
||||
* [49]gperf is required by some gnulib modules, most notably "unicase". You
|
||||
need the application installed on the machine to compile Wget from git.
|
||||
|
||||
|
||||
For those who might be confused as to what to do once they check out
|
||||
@@ -161,8 +161,8 @@ 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 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2008, 2010, 2014-2015, 2018-2024 Free Software
|
||||
Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later
|
||||
<https://www.gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
|
||||
84
SECURITY.md
Normal file
84
SECURITY.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
At GNU Wget, we take security seriously and appreciate the efforts of security
|
||||
researchers in identifying and disclosing vulnerabilities responsibly. If you
|
||||
believe you've discovered a security vulnerability in GNU Wget, we encourage you
|
||||
to disclose it to us privately and work with us to ensure it is addressed
|
||||
promptly and appropriately.
|
||||
|
||||
To report a vulnerability, please contact the maintainers directly via email.
|
||||
The names and contact details of the current maintainers is always available via
|
||||
the AUTHORS file in this repository. In order to send an encrypted email,
|
||||
please use the keyring available at the following URL:
|
||||
https://savannah.gnu.org/project/release-gpgkeys.php?group=wget
|
||||
|
||||
|
||||
Please include the following information in your report:
|
||||
|
||||
- A detailed description of the vulnerability
|
||||
- The version(s) of GNU Wget that are affected.
|
||||
- Steps to reproduce the vulnerability.
|
||||
- Any proof-of-concept or exploit code, if applicable.
|
||||
- Your contact information for coordination and follow-up.
|
||||
|
||||
Once we receive your report, we will acknowledge receipt and work with you to
|
||||
investigate the issue. We work on GNU Wget on a volunteer basis and as such may
|
||||
face delays in responding immediately. We aim to respond to initial reports
|
||||
within 5 working days and will keep you informed of our progress throughout the
|
||||
resolution process.
|
||||
|
||||
Please refrain from disclosing the vulnerability publicly until we have had an
|
||||
opportunity to investigate and address it. We appreciate your cooperation in
|
||||
helping to keep GNU Wget and its users secure.
|
||||
|
||||
## Vulnerability Disclosure Policy
|
||||
|
||||
Once a security vulnerability has been identified and confirmed, we will take
|
||||
the following steps:
|
||||
|
||||
1. **Investigation**: We will promptly investigate the reported vulnerability to
|
||||
verify its authenticity and determine its scope and impact.
|
||||
|
||||
2. **Resolution**: Once validated, we will develop and test a fix for the
|
||||
vulnerability. We will strive to address the issue as quickly as possible and
|
||||
prepare a patch for release.
|
||||
|
||||
3. **Coordination**: We will work with the reporter to ensure that the
|
||||
vulnerability is disclosed responsibly and coordinated with the release of
|
||||
the fix.
|
||||
|
||||
4. **Release**: Upon completion of the fix and any necessary testing, we will
|
||||
release a new version of GNU Wget that addresses the vulnerability. We will
|
||||
provide appropriate credit to the reporter in the release notes, unless
|
||||
otherwise requested.
|
||||
|
||||
5. **Public Disclosure**: We will coordinate the public disclosure of the
|
||||
vulnerability with the reporter and other relevant stakeholders. Once the fix
|
||||
is widely available, we will publish an advisory detailing the vulnerability
|
||||
and its resolution.
|
||||
|
||||
We strive to follow these steps in a timely and transparent manner, while
|
||||
prioritizing the security and stability of GNU Wget and its users.
|
||||
|
||||
## Responsible Disclosure Guidelines
|
||||
|
||||
In order to protect our users and systems, we ask that security researchers
|
||||
adhere to the following guidelines when reporting vulnerabilities to GNU Wget:
|
||||
|
||||
- **Responsible Disclosure**: Please disclose vulnerabilities to us privately
|
||||
and allow us a reasonable amount of time to investigate and address them
|
||||
before disclosing them publicly.
|
||||
|
||||
- **Cooperation**: We appreciate your cooperation and collaboration throughout
|
||||
the disclosure process. We will do our best to keep you informed of our
|
||||
progress and coordinate the release of information with you.
|
||||
|
||||
- **Respect**: Please respect our users' privacy and refrain from any actions
|
||||
that could cause harm or disrupt our systems. We ask that you do not exploit
|
||||
or disclose vulnerabilities before they have been resolved.
|
||||
|
||||
By following these guidelines, you can help us maintain the security and
|
||||
integrity of GNU Wget for the benefit of all users. We thank you for your
|
||||
contributions to our project and for helping to make the internet a safer place.
|
||||
@@ -1,5 +1,5 @@
|
||||
# bootstrap.conf - Bootstrap configuration.
|
||||
# Copyright (C) 2007-2012, 2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-2012, 2018-2024 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Wget.
|
||||
#
|
||||
@@ -17,15 +17,16 @@
|
||||
# along with this program. If not, see `https://www.gnu.org/licenses/'.
|
||||
|
||||
# gnulib library name
|
||||
source_base=lib
|
||||
tests_base=lib/tests
|
||||
gnulib_name=libgnu
|
||||
gnulib_tool_option_extras=
|
||||
gnulib_tool_option_extras="--makefile-name=gnulib.mk --po-base=gnulib_po --po-domain=wget"
|
||||
use_libtool=0
|
||||
checkout_only_file=
|
||||
|
||||
# gnulib modules used by this package.
|
||||
gnulib_modules="
|
||||
accept
|
||||
alloca
|
||||
announce-gen
|
||||
base32
|
||||
bind
|
||||
@@ -35,13 +36,21 @@ c-strcasestr
|
||||
clock-time
|
||||
close
|
||||
connect
|
||||
crypto/md2
|
||||
crypto/md4
|
||||
crypto/md5
|
||||
crypto/sha1
|
||||
crypto/sha256
|
||||
crypto/sha512
|
||||
dirname
|
||||
do-release-commit-and-tag
|
||||
fcntl
|
||||
flock
|
||||
fnmatch
|
||||
fnmatch-gnu
|
||||
fopen
|
||||
futimens
|
||||
ftello
|
||||
futimens
|
||||
gendocs
|
||||
getaddrinfo
|
||||
getline
|
||||
getopt-gnu
|
||||
@@ -49,18 +58,20 @@ getpass-gnu
|
||||
getpeername
|
||||
getsockname
|
||||
gettext-h
|
||||
gitlog-to-changelog
|
||||
git-version-gen
|
||||
gitlog-to-changelog
|
||||
gnu-web-doc-update
|
||||
gnupload
|
||||
group-member
|
||||
hostent
|
||||
ioctl
|
||||
iconv
|
||||
iconv-h
|
||||
inet_ntop
|
||||
intprops
|
||||
inttypes
|
||||
ioctl
|
||||
langinfo
|
||||
libunistring-optional
|
||||
limits-h
|
||||
link
|
||||
listen
|
||||
@@ -69,15 +80,9 @@ mbiter
|
||||
mbtowc
|
||||
memrchr
|
||||
mkdir
|
||||
mkstemp
|
||||
mkostemp
|
||||
mkstemp
|
||||
nanosleep
|
||||
crypto/md2
|
||||
crypto/md4
|
||||
crypto/md5
|
||||
crypto/sha1
|
||||
crypto/sha256
|
||||
crypto/sha512
|
||||
open
|
||||
pipe-posix
|
||||
posix_spawn
|
||||
@@ -85,12 +90,13 @@ quote
|
||||
quotearg
|
||||
recv
|
||||
regex
|
||||
rename
|
||||
select
|
||||
send
|
||||
setsockopt
|
||||
signal-h
|
||||
sigprocmask
|
||||
sigpipe
|
||||
sigprocmask
|
||||
snprintf
|
||||
socket
|
||||
spawn-pipe
|
||||
@@ -108,46 +114,33 @@ symlink
|
||||
sys_types
|
||||
timegm
|
||||
tmpdir
|
||||
unicase/u8-tolower
|
||||
unistr/u8-strlen
|
||||
unlink
|
||||
unlocked-io
|
||||
update-copyright
|
||||
libunistring-optional
|
||||
unistr/u8-strlen
|
||||
unicase/u8-tolower
|
||||
utime
|
||||
utime-h
|
||||
utimens
|
||||
vasprintf
|
||||
vsnprintf
|
||||
warnings
|
||||
wcwidth
|
||||
write
|
||||
xmemdup0
|
||||
xstrndup
|
||||
"
|
||||
|
||||
gnulib_extra_files="
|
||||
$build_aux/install-sh
|
||||
$build_aux/mdate-sh
|
||||
$build_aux/texinfo.tex
|
||||
$build_aux/depcomp
|
||||
$build_aux/config.guess
|
||||
$build_aux/config.sub
|
||||
$build_aux/config.rpath
|
||||
doc/INSTALL
|
||||
"
|
||||
|
||||
# Build prerequisites
|
||||
buildreq="\
|
||||
autoconf 2.62
|
||||
autoconf 2.64
|
||||
automake 1.11.1
|
||||
autopoint -
|
||||
gettext 0.17
|
||||
gettext -
|
||||
git 1.4.4
|
||||
makeinfo -
|
||||
perl 5.5
|
||||
rsync -
|
||||
tar -
|
||||
xz -
|
||||
gzip -
|
||||
flex -
|
||||
gperf -
|
||||
"
|
||||
@@ -166,4 +159,10 @@ bootstrap_post_import_hook ()
|
||||
sed -e "s/gl_unicase_special_lookup.*/gl_unicase_special_lookup\ \(const char \*str, size_t len\)/g" \
|
||||
> lib/unicase/special-casing-table.h
|
||||
fi
|
||||
|
||||
# ./bootstrap calls 'autopoint --force' which will overwrite
|
||||
# po/Makevars.template. So here we add what we need for a VPATH
|
||||
# build. ./bootstrap will create po/Makevars from po/Makevars.template
|
||||
# after our change.
|
||||
echo 'PACKAGE_GNU = yes' >> po/Makevars.template
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Generate build_info.c.
|
||||
|
||||
# Copyright (C) 2009-2011, 2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2011, 2018-2024 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
|
||||
|
||||
26
cfg.mk
26
cfg.mk
@@ -1,37 +1,37 @@
|
||||
# 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_file_system = ^(NEWS|testenv/server/ftp/ftp_server.py)$$
|
||||
|
||||
|
||||
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_indent
|
||||
|
||||
#SHELL=bash -x
|
||||
show-vc-list-except:
|
||||
@$(VC_LIST_EXCEPT)
|
||||
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^ABOUT-NLS|((msdos|vms)/.*)|ChangeLog-2014-12-10|/.*\.der|^tests/certs/.*|^fuzz/.*\.(in|repro)/.*$$
|
||||
|
||||
update-copyright-env = UPDATE_COPYRIGHT_USE_INTERVALS=1
|
||||
generated_files =
|
||||
|
||||
old_NEWS_hash = b80dbf02602654e200d7cbce7aeda8d2
|
||||
manual_title = $(VERSION)
|
||||
|
||||
416
configure.ac
416
configure.ac
@@ -1,5 +1,5 @@
|
||||
dnl Template file for GNU Autoconf
|
||||
dnl Copyright (C) 1995-1997, 2001, 2007-2014, 2018 Free Software
|
||||
dnl Copyright (C) 1995-1997, 2001, 2007-2014, 2018-2024 Free Software
|
||||
dnl Foundation, Inc.
|
||||
|
||||
dnl This program is free software; you can redistribute it and/or modify
|
||||
@@ -30,10 +30,13 @@ dnl
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
|
||||
AC_INIT([wget],
|
||||
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
||||
[bug-wget@gnu.org])
|
||||
AC_PREREQ(2.63)
|
||||
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])
|
||||
|
||||
dnl
|
||||
dnl What version of Wget are we building?
|
||||
@@ -48,10 +51,13 @@ AC_CONFIG_SRCDIR([src/wget.h])
|
||||
dnl
|
||||
dnl Automake setup
|
||||
dnl
|
||||
AM_INIT_AUTOMAKE([1.9])
|
||||
AM_INIT_AUTOMAKE([subdir-objects dist-lzip])
|
||||
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_PROG_CC
|
||||
|
||||
dnl
|
||||
dnl Get cannonical host
|
||||
dnl Get canonical host
|
||||
dnl
|
||||
AC_CANONICAL_HOST
|
||||
AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
|
||||
@@ -70,7 +76,7 @@ AC_ARG_WITH([libpsl],
|
||||
|
||||
dnl SSL: Configure SSL backend to use
|
||||
AC_ARG_WITH([ssl],
|
||||
[AS_HELP_STRING([--with-ssl={gnutls,openssl}], [specify SSL backend. GNU TLS is the default.])])
|
||||
[AS_HELP_STRING([--with-ssl={gnutls,openssl,no}], [specify SSL backend. GNU TLS is the default.])])
|
||||
|
||||
dnl Zlib: Configure use of zlib for compression
|
||||
AC_ARG_WITH([zlib],
|
||||
@@ -93,16 +99,69 @@ AC_ARG_ENABLE([fuzzing],
|
||||
AC_SUBST([LIB_FUZZING_ENGINE])
|
||||
AC_DEFINE([FUZZING], 1, [Define to 1 if this is a fuzzing build])
|
||||
], [enable_fuzzing=no; LIB_FUZZING_ENGINE=""])
|
||||
#FUZZ_LIBS=$LIBS
|
||||
#if test $enable_fuzzing = "yes"; then
|
||||
# OLD_LIBS=$LIBS
|
||||
# AC_SEARCH_LIBS([dlsym], [dl dld])
|
||||
# FUZZ_LIBS=$LIBS
|
||||
# LIBS=$OLD_LIBS
|
||||
#fi
|
||||
#AC_SUBST([FUZZ_LIBS])
|
||||
AM_CONDITIONAL([FUZZING], [test "$enable_fuzzing" = "yes"])
|
||||
|
||||
dnl needed for some fuzzers
|
||||
OLD_LIBS="$LIBS"
|
||||
AC_SEARCH_LIBS([dlopen], [dl dld])
|
||||
if [[ "${ac_cv_search_dlopen#-l}" != "${ac_cv_search_dlopen}" ]]; then
|
||||
FUZZ_LIBS="${ac_cv_search_dlopen}"
|
||||
AC_SUBST([FUZZ_LIBS])
|
||||
fi
|
||||
LIBS="$OLD_LIBS"
|
||||
|
||||
|
||||
AC_ARG_ENABLE([fsanitize-ubsan],
|
||||
[AS_HELP_STRING([--enable-fsanitize-ubsan], [Turn on Undefined Behavior Sanitizer (for developers)])],
|
||||
[gl_cc_sanitize_ubsan=yes], [gl_cc_sanitize_ubsan=no])
|
||||
|
||||
AC_ARG_ENABLE([fsanitize-asan],
|
||||
[AS_HELP_STRING([--enable-fsanitize-asan], [Turn on Address Sanitizer (for developers) (mutually exclusive with Memory/Thread sanitizer or Valgrind tests)])],
|
||||
[gl_cc_sanitize_asan=yes], [gl_cc_sanitize_asan=no])
|
||||
|
||||
AC_ARG_ENABLE([fsanitize-msan],
|
||||
[AS_HELP_STRING([--enable-fsanitize-msan], [Turn on Memory Sanitizer (for developers) (mutually exclusive with Address/Thread sanitizer or Valgrind tests)])],
|
||||
[gl_cc_sanitize_msan=yes], [gl_cc_sanitize_msan=no])
|
||||
|
||||
if test "$gl_cc_sanitize_asan" = yes; then
|
||||
if test "$gl_cc_sanitize_msan" = yes; then
|
||||
AC_MSG_ERROR([Address Sanitizer and Memory Sanitizer are mutually exclusive])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$gl_cc_sanitize_ubsan" = yes; then
|
||||
gl_WARN_ADD([-fsanitize=undefined])
|
||||
gl_WARN_ADD([-fno-sanitize-recover=undefined])
|
||||
|
||||
# additional clang options
|
||||
gl_WARN_ADD([-fsanitize=integer])
|
||||
gl_WARN_ADD([-fsanitize=nullability])
|
||||
gl_WARN_ADD([-fno-sanitize-recover=nullability])
|
||||
fi
|
||||
|
||||
if test "$gl_cc_sanitize_asan" = yes; then
|
||||
gl_WARN_ADD([-fsanitize=address])
|
||||
gl_WARN_ADD([-fno-omit-frame-pointer])
|
||||
|
||||
# additional clang option
|
||||
gl_WARN_ADD([-fsanitize-address-use-after-scope])
|
||||
fi
|
||||
|
||||
if test "$gl_cc_sanitize_msan" = yes; then
|
||||
# clang options
|
||||
gl_WARN_ADD([-fsanitize=memory])
|
||||
gl_WARN_ADD([-fsanitize-memory-track-origins])
|
||||
|
||||
# gcc options
|
||||
if test "$CCNAME" = "gcc"; then
|
||||
gl_WARN_ADD([-fsanitize=leak])
|
||||
fi
|
||||
|
||||
gl_WARN_ADD([-fno-omit-frame-pointer])
|
||||
gl_WARN_ADD([-fPIE])
|
||||
fi
|
||||
|
||||
|
||||
dnl Opie: Support for opie s/key FTP logins
|
||||
AC_ARG_ENABLE([opie],
|
||||
[AS_HELP_STRING([--disable-opie], [disable support for opie or s/key FTP login])],
|
||||
@@ -155,6 +214,12 @@ AC_ARG_ENABLE(valgrind-tests,
|
||||
AS_IF([test "x$ENABLE_VALGRIND" != xno], [
|
||||
AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no)
|
||||
AS_IF([test "x$HAVE_VALGRIND" = xyes], [
|
||||
if test "$gl_cc_sanitize_asan" = yes; then
|
||||
AC_MSG_ERROR([Valgrind and Address Sanitizer are mutually exclusive])
|
||||
elif test "$gl_cc_sanitize_msan" = yes; then
|
||||
AC_MSG_ERROR([Valgrind and Memory Sanitizer are mutually exclusive])
|
||||
fi
|
||||
|
||||
VALGRIND_TESTS="1"
|
||||
AC_SUBST(VALGRIND_TESTS)
|
||||
VALGRIND_INFO="Test suite will be run under Valgrind"
|
||||
@@ -184,10 +249,6 @@ dnl We want these before the checks, so the checks can modify their values.
|
||||
test -z "$CFLAGS" && CFLAGS= auto_cflags=1
|
||||
test -z "$CC" && cc_specified=yes
|
||||
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
AC_AIX
|
||||
|
||||
gl_EARLY
|
||||
|
||||
dnl
|
||||
@@ -200,11 +261,12 @@ dnl
|
||||
dnl Gettext
|
||||
dnl
|
||||
AM_GNU_GETTEXT([external],[need-ngettext])
|
||||
AM_GNU_GETTEXT_VERSION([0.17])
|
||||
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
|
||||
@@ -234,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.
|
||||
@@ -252,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>])
|
||||
@@ -262,11 +317,7 @@ dnl Check sizes of integer types. These are used to find n-bit
|
||||
dnl integral types on older systems that fail to provide intN_t and
|
||||
dnl uintN_t typedefs.
|
||||
dnl
|
||||
AC_CHECK_SIZEOF([short])
|
||||
AC_CHECK_SIZEOF([int])
|
||||
AC_CHECK_SIZEOF([long])
|
||||
AC_CHECK_SIZEOF([long long])
|
||||
AC_CHECK_SIZEOF([void *])
|
||||
|
||||
dnl
|
||||
dnl Checks for non-universal or system-specific types.
|
||||
@@ -281,9 +332,12 @@ AC_CHECK_TYPES(sig_atomic_t, [], [], [
|
||||
#include <signal.h>
|
||||
])
|
||||
|
||||
# gnulib
|
||||
# gnulib, AM_ICONV should be placed before gl_INIT
|
||||
AM_ICONV
|
||||
gl_INIT
|
||||
|
||||
AX_CODE_COVERAGE
|
||||
|
||||
dnl
|
||||
dnl Checks for library functions.
|
||||
dnl
|
||||
@@ -293,26 +347,137 @@ 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_STRCASECMP], 1, [Define to 1 if you have the `strcasecmp' function.])
|
||||
AC_DEFINE([HAVE_STRNCASECMP], 1, [Define to 1 if you have the `strncasecmp' 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.])
|
||||
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
|
||||
#
|
||||
# to enable by default: create a file '.manywarnings'
|
||||
# enable explicitly : ./configure --enable-manywarnings
|
||||
# disable explicitly: ./configure --disable-manywarnings
|
||||
sanitizer_flags="$WARN_CFLAGS"
|
||||
wget_MANYWARNINGS(WARN_CFLAGS, C)
|
||||
WARN_CFLAGS="$WARN_CFLAGS $sanitizer_flags"
|
||||
|
||||
if test -n "$WARN_CFLAGS"; then
|
||||
if test "$CCNAME" = "gcc"; then
|
||||
# Set up list of unwanted warnings
|
||||
nw=
|
||||
nw="$nw -Wsystem-headers" # System headers may trigger lot's of useless warnings
|
||||
nw="$nw -Wvla" # This project is C99
|
||||
nw="$nw -Wstack-protector"
|
||||
nw="$nw -Wmissing-field-initializer"
|
||||
nw="$nw -Wtraditional"
|
||||
nw="$nw -Wtraditional-conversion"
|
||||
nw="$nw -Wc++-compat"
|
||||
nw="$nw -Wcast-qual"
|
||||
nw="$nw -Wconversion"
|
||||
nw="$nw -Wsign-conversion"
|
||||
nw="$nw -Wunsuffixed-float-constants"
|
||||
nw="$nw -Wdeclaration-after-statement" # C89 only, messing up gcc < 5
|
||||
nw="$nw -Wcast-function-type" # gcc 8, very noisy
|
||||
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
|
||||
nw="$nw -Wc90-c99-compat" # gcc-12, we use C99
|
||||
nw="$nw -Wlong-long" # gcc-12, we use C99
|
||||
if test "$cross_compiling" = yes; then
|
||||
nw="$nw -Wformat"
|
||||
fi
|
||||
|
||||
# remove unwanted warn flags
|
||||
wget_WORD_REMOVE([WARN_CFLAGS], [$WARN_CFLAGS], [$nw])
|
||||
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-undef -Wno-float-equal"
|
||||
|
||||
# add more flags as you like
|
||||
if test $GCC_VERSION -ge 5; then
|
||||
WARN_CFLAGS="$WARN_CFLAGS -fdiagnostics-color=always"
|
||||
fi
|
||||
if test "$cross_compiling" = yes; then
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-format"
|
||||
fi
|
||||
if test $GCC_VERSION -ge 8; then
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-cast-function-type"
|
||||
fi
|
||||
# WARN_CFLAGS="$WARN_CFLAGS -Werror"
|
||||
|
||||
# We use a slightly smaller set of warning options for lib/.
|
||||
# Remove the following and save the result in GNULIB_WARN_CFLAGS.
|
||||
# Removing is not enough if these switches are implicitly set by other
|
||||
# flags like -Wall or -Wextra. We have to explicitly unset them
|
||||
# with -Wno-....
|
||||
nw=
|
||||
nw="$nw -Wpedantic"
|
||||
nw="$nw -Wsign-compare"
|
||||
nw="$nw -Wunused-parameter"
|
||||
nw="$nw -Wswitch-default"
|
||||
nw="$nw -Wformat-nonliteral"
|
||||
nw="$nw -Wsuggest-attribute=pure"
|
||||
nw="$nw -Wunsafe-loop-optimizations"
|
||||
nw="$nw -Wundef"
|
||||
nw="$nw -Wswitch-enum"
|
||||
nw="$nw -Wbad-function-cast"
|
||||
nw="$nw -Wredundant-decls"
|
||||
nw="$nw -Werror"
|
||||
wget_WORD_REMOVE([GNULIB_WARN_CFLAGS], [$WARN_CFLAGS], [$nw])
|
||||
wget_WORD_REMOVE([CFLAGS], [$CFLAGS], [-Werror])
|
||||
|
||||
# disable options implicitly set by other options
|
||||
GNULIB_WARN_CFLAGS="-Wno-error $GNULIB_WARN_CFLAGS"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-sign-compare -Wno-unused-parameter -Wno-alloca"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-float-conversion -Wno-cast-function-type"
|
||||
if test "$cross_compiling" = yes; then
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-incompatible-pointer-types"
|
||||
fi
|
||||
|
||||
elif test "$CCNAME" = "clang"; then
|
||||
# setup flags for this project
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-system-headers -Wno-vla -Wno-cast-qual -Wno-padded"
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-reserved-id-macro -Wno-sign-conversion -Wno-disabled-macro-expansion"
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-documentation -Wno-documentation-unknown-command"
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-covered-switch-default -Wno-unused-macros"
|
||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-missing-field-initializers"
|
||||
|
||||
# remove all flags from WARN_FLAGS that are already in CFLAGS
|
||||
# wget_WORD_REMOVE([WARN_CFLAGS], [$WARN_CFLAGS], [$CFLAGS])
|
||||
|
||||
wget_WORD_REMOVE([CFLAGS], [$CFLAGS], [-Werror])
|
||||
|
||||
# disable verbose options
|
||||
GNULIB_WARN_CFLAGS="-Wno-error $GNULIB_WARN_CFLAGS"
|
||||
GNULIB_WARN_CFLAGS="$WARN_CFLAGS -Wno-sign-compare -Wno-unused-parameter -Wno-undef -Wno-format-nonliteral"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-conversion -Wno-disabled-macro-expansion -Wno-c++98-compat"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-gnu-statement-expression -Wno-shorten-64-to-32 -Wno-switch-enum"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-unused-macros -Wno-missing-field-initializers"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-gnu-zero-variadic-macro-arguments -Wno-conditional-uninitialized"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-comma -Wno-assign-enum -Wno-unreachable-code -Wno-error"
|
||||
GNULIB_WARN_CFLAGS="$GNULIB_WARN_CFLAGS -Wno-missing-field-initializers"
|
||||
|
||||
# remove all flags from GNULIB_WARN_FLAGS that are already in CFLAGS
|
||||
# wget_WORD_REMOVE([GNULIB_WARN_CFLAGS], [$GNULIB_WARN_CFLAGS], [$CFLAGS])
|
||||
fi
|
||||
|
||||
AC_SUBST([WARN_CFLAGS])
|
||||
AC_SUBST([GNULIB_WARN_CFLAGS])
|
||||
fi
|
||||
|
||||
|
||||
dnl
|
||||
@@ -355,7 +520,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
|
||||
@@ -384,9 +549,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]))
|
||||
|
||||
@@ -413,7 +578,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
|
||||
@@ -432,7 +597,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.])
|
||||
@@ -447,7 +612,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.])
|
||||
@@ -459,36 +624,33 @@ AS_IF([test x"$with_ssl" = xopenssl], [
|
||||
]) # endif: --with-ssl == openssl?
|
||||
|
||||
dnl Enable NTLM if requested and if SSL is available.
|
||||
if test x"$LIBSSL" != x || test "$ac_cv_lib_ssl32_SSL_connect" = yes
|
||||
if test x"$ENABLE_NTLM" != xno
|
||||
then
|
||||
if test x"$ENABLE_NTLM" != xno
|
||||
if test x"$LIBSSL" != x || test "$ac_cv_lib_ssl32_SSL_connect" = yes
|
||||
then
|
||||
ENABLE_NTLM=yes
|
||||
AC_DEFINE([ENABLE_NTLM], 1,
|
||||
[Define if you want the NTLM authorization support compiled in.])
|
||||
AC_LIBOBJ([http-ntlm])
|
||||
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])
|
||||
LIBS="$NETTLE_LIBS $LIBS"
|
||||
fi
|
||||
AC_DEFINE([ENABLE_NTLM], 1, [Define if you want the NTLM authorization support compiled in.])
|
||||
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])
|
||||
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
|
||||
])
|
||||
|
||||
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
|
||||
fi
|
||||
@@ -510,7 +672,7 @@ dnl is to autodetect IPv6 and use it where available.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(ipv6,
|
||||
AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
|
||||
AS_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
|
||||
[case "${enable_ipv6}" in
|
||||
no)
|
||||
AC_MSG_NOTICE([disabling IPv6 at user request])
|
||||
@@ -527,7 +689,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
|
||||
], [
|
||||
@@ -545,7 +707,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
|
||||
@@ -563,9 +725,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
|
||||
|
||||
@@ -591,7 +753,7 @@ dnl Check for IDN/IRIs
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(iri,
|
||||
AC_HELP_STRING([--disable-iri],[disable IDN/IRIs support]),
|
||||
AS_HELP_STRING([--disable-iri],[disable IDN/IRIs support]),
|
||||
[case "${enable_iri}" in
|
||||
no)
|
||||
dnl Disable IRIs checking
|
||||
@@ -608,7 +770,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
|
||||
], [
|
||||
@@ -618,8 +780,6 @@ AC_ARG_ENABLE(iri,
|
||||
)
|
||||
|
||||
AS_IF([test "X$iri" != "Xno"],[
|
||||
AM_ICONV
|
||||
|
||||
if test "X$am_cv_func_iconv" != "Xyes"; then
|
||||
iri=no
|
||||
if test "X$force_iri" = "Xyes"; then
|
||||
@@ -630,20 +790,18 @@ AS_IF([test "X$iri" != "Xno"],[
|
||||
fi
|
||||
])
|
||||
|
||||
AC_ARG_WITH(libidn, AC_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
|
||||
|
||||
@@ -651,8 +809,7 @@ dnl
|
||||
dnl Check for UUID
|
||||
dnl
|
||||
|
||||
AC_ARG_WITH(libuuid, AC_HELP_STRING([--without-libuuid],
|
||||
[Generate UUIDs for WARC files via libuuid]))
|
||||
AC_ARG_WITH(libuuid, AS_HELP_STRING([--without-libuuid],[Generate UUIDs for WARC files via libuuid]))
|
||||
|
||||
AS_IF([test "x$with_libuuid" = xyes], [
|
||||
# libuuid was explicitly requested
|
||||
@@ -689,10 +846,8 @@ dnl
|
||||
dnl Check for PCRE2 / PCRE
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(pcre2, AC_HELP_STRING([--disable-pcre2],
|
||||
[Disable PCRE2 style regular expressions]))
|
||||
AC_ARG_ENABLE(pcre, AC_HELP_STRING([--disable-pcre],
|
||||
[Disable PCRE style regular expressions]))
|
||||
AC_ARG_ENABLE(pcre2, AS_HELP_STRING([--disable-pcre2],[Disable PCRE2 style regular expressions]))
|
||||
AC_ARG_ENABLE(pcre, AS_HELP_STRING([--disable-pcre],[Disable PCRE style regular expressions]))
|
||||
|
||||
AS_IF([test "X$enable_pcre2" != "Xno"],[
|
||||
enable_pcre2=no
|
||||
@@ -775,20 +930,42 @@ 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
|
||||
])
|
||||
])
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl libproxy support
|
||||
dnl
|
||||
with_libproxy=no
|
||||
AC_ARG_ENABLE(libproxy,
|
||||
[ --enable-libproxy libproxy support for system wide proxy configuration])
|
||||
AS_IF([test "${enable_libproxy}" = "yes"], [
|
||||
with_libproxy=yes
|
||||
PKG_CHECK_MODULES([LIBPROXY], [libproxy-1.0], [
|
||||
LIBS="$LIBPROXY_LIBS $LIBS"
|
||||
CFLAGS="$LIBPROXY_CFLAGS $CFLAGS"
|
||||
AC_DEFINE([HAVE_LIBPROXY], [1], [Define if using libproxy.])
|
||||
])
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Extended Attribute support
|
||||
dnl
|
||||
@@ -816,17 +993,21 @@ 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
|
||||
dnl
|
||||
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile util/Makefile
|
||||
po/Makefile.in tests/Makefile fuzz/Makefile
|
||||
lib/Makefile testenv/Makefile
|
||||
po/Makefile.in gnulib_po/Makefile.in tests/Makefile
|
||||
fuzz/Makefile lib/Makefile testenv/Makefile
|
||||
tests/certs/interca.conf tests/certs/rootca.conf])
|
||||
AC_CONFIG_HEADERS([src/config.h])
|
||||
AC_OUTPUT
|
||||
@@ -837,7 +1018,7 @@ AC_MSG_NOTICE([Summary of build options:
|
||||
Host OS: $host_os
|
||||
Install prefix: $prefix
|
||||
Compiler: $CC
|
||||
CFlags: $CFLAGS $CPPFLAGS
|
||||
CFlags: $CFLAGS $CPPFLAGS $WARN_CFLAGS
|
||||
LDFlags: $LDFLAGS
|
||||
Libs: $LIBS
|
||||
SSL: $with_ssl
|
||||
@@ -856,4 +1037,5 @@ AC_MSG_NOTICE([Summary of build options:
|
||||
GPGME: $have_gpg
|
||||
IRI: $iri
|
||||
Fuzzing build: $enable_fuzzing, $LIB_FUZZING_ENGINE
|
||||
libproxy: $with_libproxy
|
||||
])
|
||||
|
||||
48
contrib/commit-check
Executable file
48
contrib/commit-check
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Copyright (c) 2018-2022, 2024 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
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
AUTHOR=$(git log -n1 --format='%aN')
|
||||
EMAIL=$(git log -n1 --format='%aE')
|
||||
DOMAIN=$(echo "$EMAIL" | cut -d'@' -f2)
|
||||
EMAIL_PARSE=$(echo "$EMAIL" | sed 's/@/ \\[at\\] /g')
|
||||
|
||||
retval=0
|
||||
|
||||
echo "The last commit is made by $AUTHOR: $EMAIL_PARSE"
|
||||
|
||||
if git cat-file -p HEAD | grep "^Copyright-paperwork-exempt: Yes"; then
|
||||
echo "This work is copyright paperwork exempt."
|
||||
elif ! grep -E -q "^\\[ASSGN\\] .* \\*($EMAIL_PARSE|$DOMAIN)\\*$" AUTHORS; then
|
||||
if grep -E -q "^\\[ *\\] .* \\*($EMAIL_PARSE|$DOMAIN)\\*$" AUTHORS; then
|
||||
echo "The author is known, but did not yet complete the FSF Copyright Assignment."
|
||||
else
|
||||
echo "The author was not found in the AUTHORS file."
|
||||
echo "Has the author completed the FSF Copyright Assignment?"
|
||||
fi
|
||||
echo
|
||||
echo "If the commit is minor, please add this to the commit message:"
|
||||
echo "Copyright-paperwork-exempt: Yes"
|
||||
retval=1
|
||||
else
|
||||
echo "The author or company was found in the AUTHORS file."
|
||||
echo "This work may be merged into master"
|
||||
fi
|
||||
|
||||
exit $retval
|
||||
@@ -1,32 +1,56 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# GNU Wget: Make a new release
|
||||
#
|
||||
# This is a helper script to make a new release of GNU Wget
|
||||
#
|
||||
# Make sure that
|
||||
# Author: Darshit Shah <darnir@gnu.org>
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
set -u
|
||||
|
||||
export CFLAGS="-g -O2 -Wall"
|
||||
export LC_ALL=C
|
||||
|
||||
EXTENSIONS="gzip lzip"
|
||||
|
||||
ask_continue() {
|
||||
printf "Continue? [y/N]: "
|
||||
read inp
|
||||
read -r inp
|
||||
[ "$inp" != "y" ] && [ "$inp" != "Y" ] && exit 1
|
||||
# For some completely weird reason, this set +x is required. Else, the test
|
||||
# *ALWAYS* fails
|
||||
set +x
|
||||
}
|
||||
|
||||
REQUIRED_PROGRAMS="ncftpput sponge cvs ssh rsync rsh"
|
||||
for prog in $REQUIRED_PROGRAMS; do
|
||||
if ! command -v "$prog" >/dev/null 2>&1; then
|
||||
2>&1 echo "Required program $prog not found. Please install before proceeding"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -d ".git" ]; then
|
||||
echo "Please run this script from the root of the git repository"
|
||||
2>&1 echo "Please run this script from the root of the git repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
2>&1 echo "Usage: $0 [version] [release-type]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
readonly VERSION="$1" && shift
|
||||
readonly REL_TYPE_IN="$1" && shift
|
||||
REL_TYPE=
|
||||
case $REL_TYPE_IN in
|
||||
a|A|alpha|Alpha) REL_TYPE=alpha;;
|
||||
b|B|beta|Beta) REL_TYPE=beta;;
|
||||
s|S|stable|Stable) REL_TYPE=stable;;
|
||||
esac
|
||||
|
||||
echo "This script will make a new release and upload it to the GNU FTP Servers"
|
||||
echo "Will run git clean -dxf to get a clean dir"
|
||||
ask_continue
|
||||
@@ -36,51 +60,27 @@ git clean -dxfq
|
||||
|
||||
echo "=> Bootstrap"
|
||||
./bootstrap > /dev/null 2>&1
|
||||
autoreconf -ivf
|
||||
|
||||
echo "=> Configure"
|
||||
./configure -q
|
||||
|
||||
APP_NAME=$(grep "^PACKAGE_NAME='" configure | cut -d "'" -f2)
|
||||
APP_VER=$(grep "^PACKAGE_VERSION='" configure | cut -d "'" -f2)
|
||||
|
||||
echo "Making release for $APP_NAME $APP_VER"
|
||||
echo "Building $APP_NAME v$VERSION $REL_TYPE"
|
||||
ask_continue
|
||||
|
||||
NEWS_VERSION=$(grep -i "Changes in $APP_NAME" NEWS | head -1 | awk '{print $5}')
|
||||
if [ "$NEWS_VERSION" != "$APP_VER" ]; then
|
||||
echo "Latest version in NEWS file does not match latest tag"
|
||||
exit 1
|
||||
fi
|
||||
CUR_VER=$(git describe | sed 's/^v//')
|
||||
PREV_VER=$(git describe --abbrev=0 --tags $(git rev-list --tags --skip=1 --max-count=1) | sed 's/^v//')
|
||||
LNO_CVER=$(grep -in "Changes in $APP_NAME" NEWS | head -1 | cut -f1 -d:)
|
||||
LNO_PVER=$(grep -in "Changes in $APP_NAME" NEWS | head -2 | tail -1 | cut -f1 -d:)
|
||||
LNO_CVER=$(grep -in "Noteworthy changes in release" NEWS | head -1 | tail -1 | cut -f1 -d:)
|
||||
LNO_PVER=$(grep -in "Noteworthy changes in release" NEWS | head -2 | tail -1 | cut -f1 -d:)
|
||||
sed -n "${LNO_CVER},${LNO_PVER}p" NEWS
|
||||
echo "This is the current contents of your NEWS"
|
||||
ask_continue
|
||||
|
||||
echo "=> Make distcheck"
|
||||
make -s distcheck > /dev/null 2>&1
|
||||
export RELEASE="$VERSION $REL_TYPE"
|
||||
|
||||
for ext in $EXTENSIONS; do
|
||||
[ "$ext" = 'gz' ] && ext="gzip"
|
||||
[ "$ext" = 'lz' ] && ext="lzip"
|
||||
echo "=> Making $APP_NAME-$CUR_VER.tar.$ext"
|
||||
make -s "dist-$ext" > /dev/null
|
||||
done
|
||||
echo "=> Making release-commit"
|
||||
make -s release-commit
|
||||
|
||||
echo ""
|
||||
REL_TYPE=
|
||||
REL_LOC=
|
||||
while [ -z $REL_TYPE ]; do
|
||||
printf "Enter release type (alpha, beta, stable): "
|
||||
read x
|
||||
case $x in
|
||||
a|A|alpha|Alpha) REL_TYPE=alpha && REL_LOC="alpha.gnu.org";;
|
||||
b|B|beta|Beta) REL_TYPE=beta && REL_LOC="alpha.gnu.org";;
|
||||
s|S|stable|Stable) REL_TYPE=stable && REL_LOC="ftp.gnu.org";;
|
||||
esac
|
||||
done
|
||||
echo "=> Make release"
|
||||
make -s release
|
||||
|
||||
GPG_KEY=
|
||||
while [ -z $GPG_KEY ]; do
|
||||
@@ -94,27 +94,30 @@ done
|
||||
|
||||
echo ""
|
||||
|
||||
APP_LOWER="$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]')"
|
||||
./build-aux/gnupload --to "$REL_LOC:$APP_LOWER" --user "$GPG_KEY" --symlink-regex "$APP_LOWER-$CUR_VER".tar.*
|
||||
upload_command=$(make -s emit_upload_commands \
|
||||
| sponge \
|
||||
| head -n3 \
|
||||
| tail -1 \
|
||||
| sed "s/--to/--user $GPG_KEY --symlink-regex --to/g"
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "=> Uploading"
|
||||
echo "Upload tarballs?"
|
||||
echo "$upload_command"
|
||||
ask_continue
|
||||
$upload_command
|
||||
|
||||
build-aux/announce-gen --release-type "$REL_TYPE" --package-name "$APP_LOWER" --previous-version="$PREV_VER" --current-version "$CUR_VER" --gpg-key-id="$GPG_KEY" --url-directory "https://${REL_LOC}/gnu/${APP_LOWER}" --news=NEWS > "$APP_NAME-$APP_VER.announce"
|
||||
if [[ $REL_TYPE == "stable" ]]; then
|
||||
export CVSROOT=:ext:${CVSUSER:-${USER}}@cvs.savannah.gnu.org:/web/wget
|
||||
export CVS_RSH=/usr/bin/ssh
|
||||
export gendocs_options_=-I ../build-aux
|
||||
make web-manual-update
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Remaining Release Checklist:
|
||||
1. Send a mail to coordinator@translationproject.org with the subject
|
||||
\"Requesting Translations for $APP_NAME-$APP_VER.POT\"
|
||||
2. Announce email template placed at $APP_NAME-$APP_VER.announce.
|
||||
\"Requesting Translations for $APP_NAME-$VERSION.POT\"
|
||||
2. Announce email template placed at ~/announce-$APP_NAME-$VERSION
|
||||
Send an announce mail to info-gnu@gnu.org
|
||||
"
|
||||
|
||||
echo ""
|
||||
|
||||
prev_tag=$(git tag | tail -2 | head -1)
|
||||
echo ""
|
||||
echo "Don't forget to mention the following contributors in the announcement:"
|
||||
(
|
||||
git log "${prev_tag}.." --format="%aN" --reverse
|
||||
git log "${prev_tag}.." --reverse | grep -i reported | cut -d':' -f2 | cut -d'<' -f1 | cut -d' ' -f2- | tr -d '"'
|
||||
) | sort -u
|
||||
|
||||
25
contrib/mk_authors
Executable file
25
contrib/mk_authors
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
prev_tag=`git tag --sort=taggerdate|tail -1`
|
||||
|
||||
echo -e "The authors list is autogenerated from the git history; sorted by number of commits\n"
|
||||
|
||||
(
|
||||
if [ -z $prev_tag ]; then
|
||||
git shortlog -sen
|
||||
else
|
||||
git shortlog -sen ${prev_tag}..
|
||||
fi
|
||||
) | cut -f 2 | sed 's/@/ at /g'
|
||||
|
||||
#(
|
||||
#if [ -z $prev_tag ]; then
|
||||
# git log --reverse|grep -i reported|cut -d':' -f2|cut -d'<' -f1|cut -d' ' -f2-|tr -d '"'
|
||||
#else
|
||||
# git log ${prev_tag}.. --reverse|grep -i reported|cut -d':' -f2|cut -d'<' -f1|cut -d' ' -f2-|tr -d '"'
|
||||
#fi
|
||||
#) | sort -u
|
||||
|
||||
echo -e "\n\nThe translators list is autogenerated from po file history\n"
|
||||
|
||||
sed -n 's/.*Last-Translator: *\(.*\) *<.*/\1/p' po/*.po | sort -u
|
||||
14
contrib/spell-checker
Executable file
14
contrib/spell-checker
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# see https://github.com/codespell-project/codespell
|
||||
#
|
||||
# in short:
|
||||
# - pip install codespell
|
||||
# - add ~/.local/bin to PATH
|
||||
|
||||
set -e
|
||||
|
||||
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,60 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set a stricter bash mode
|
||||
set -e
|
||||
set -u
|
||||
|
||||
# Set up the subset of tests this Matrix instance will run.
|
||||
|
||||
# One instance is forked for each of the SSL library possibilities
|
||||
SSL=${1:-""}
|
||||
case $SSL in
|
||||
"") SSL_LIB="--without-ssl";;
|
||||
"openssl") SSL_LIB="--with-ssl=openssl";;
|
||||
"gnutls") SSL_LIB="--with-ssl=gnutls";;
|
||||
esac
|
||||
|
||||
# For some reason. /proc/cpuinfo reports 16 cores on Travis, while the docs
|
||||
# claim that each instance has only 2 cores. We believe the docs and force a
|
||||
# value of n+1 here.
|
||||
CORES=3
|
||||
|
||||
# Define a large number of Warning flags for the compiler. Hopefully, someone
|
||||
# will sit and analyze the output to clean the warnings from the codebase.
|
||||
CFLAGS="-std=c89 -pedantic -O0 -Wall -Wextra -Wstrict-prototypes -Wold-style-definition -Wwrite-strings -Wshadow -Wformat -Wformat-security -Wunreachable-code -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition"
|
||||
|
||||
# A cachefile for ./configure. Saves significant time when reconfiguring
|
||||
CACHEFILE=$PWD/config_check.cache
|
||||
|
||||
# measure time consumed and print it at the end of the script
|
||||
START=$(date +%s)
|
||||
|
||||
# Test different Permutations of Wget. Always under Valgrind
|
||||
#
|
||||
# Options:
|
||||
# - All Features Enabled
|
||||
# - C [Default Locale]
|
||||
# - Russian [Multibyte / Multicolumn Locale]
|
||||
# - Turkish [Special Test due to issues with language]
|
||||
# - IPv6 Disabled
|
||||
# - C
|
||||
for options in "" "--disable-ipv6"; do
|
||||
export DISTCHECK_CONFIGURE_FLAGS="-C --cache-file=$CACHEFILE --enable-assert --enable-valgrind-tests $SSL_LIB $options"
|
||||
echo " ./configure $DISTCHECK_CONFIGURE_FLAGS CFLAGS=\"$CFLAGS\""
|
||||
./configure $DISTCHECK_CONFIGURE_FLAGS CFLAGS="$CFLAGS"
|
||||
|
||||
if [[ -z $options ]]; then
|
||||
LANG_ARR=("ru_RU.UTF-8" "tr_TR.UTF-8" "C")
|
||||
else
|
||||
LANG_ARR=("C")
|
||||
fi
|
||||
|
||||
for xLCALL in "${LANG_ARR[@]}"; do
|
||||
export TESTS_ENVIRONMENT="LC_ALL=$xLCALL VALGRIND_TESTS=1"
|
||||
echo " TESTS_ENVIRONMENT=\"$TESTS_ENVIRONMENT\" make distcheck CFLAGS=$CFLAGS -j$CORES"
|
||||
make distcheck CFLAGS="$CFLAGS" -j$CORES
|
||||
done
|
||||
done
|
||||
|
||||
END=$(date +%s)
|
||||
echo "Duration: $((END-START))"
|
||||
@@ -1,5 +1,5 @@
|
||||
# Makefile for `wget' utility
|
||||
# Copyright (C) 1995-1997, 2007-2011, 2015, 2018 Free Software
|
||||
# Copyright (C) 1995-1997, 2007-2011, 2015, 2018-2024 Free Software
|
||||
# Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
@c hence no sectioning command or @node.
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000-2002, 2007-2008, 2015, 2018 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright @copyright{} 2000--2002, 2007--2008, 2015, 2018--2024 Free
|
||||
Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
|
||||
@@ -106,7 +106,7 @@ found unsafe too, the file is not downloaded.
|
||||
|
||||
See [1 #section-1.1].
|
||||
|
||||
cat > bugus.meta4 << EOF
|
||||
cat > bogus.meta4 << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metalink xmlns="urn:ietf:params:xml:ns:metalink">
|
||||
<file name="/dir/A/File1">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#! /usr/bin/env perl
|
||||
|
||||
# Copyright (C) 1999-2001, 2003, 2007, 2009-2011, 2015, 2018 Free
|
||||
# Copyright (C) 1999-2001, 2003, 2007, 2009-2011, 2015, 2018-2024 Free
|
||||
# Software Foundation, Inc.
|
||||
|
||||
# This file is part of GCC.
|
||||
|
||||
@@ -31,8 +31,8 @@ This file documents the GNU Wget utility for downloading network
|
||||
data.
|
||||
|
||||
@c man begin COPYRIGHT
|
||||
Copyright @copyright{} 1996-2011, 2015, 2018 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright @copyright{} 1996--2011, 2015, 2018--2024 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
@iftex
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
@@ -64,6 +64,8 @@ Texts. A copy of the license is included in the section entitled
|
||||
@ignore
|
||||
@c man begin AUTHOR
|
||||
Originally written by Hrvoje Nikšić <hniksic@xemacs.org>.
|
||||
Currently maintained by Darshit Shah <darnir@gnu.org> and
|
||||
Tim Rühsen <tim.ruehsen@gmx.de>.
|
||||
@c man end
|
||||
@c man begin SEEALSO
|
||||
This is @strong{not} the complete manual for GNU Wget.
|
||||
@@ -71,6 +73,9 @@ For more complete information, including more detailed explanations of
|
||||
some of the options, and a number of commands available
|
||||
for use with @file{.wgetrc} files and the @samp{-e} option, see the GNU
|
||||
Info entry for @file{wget}.
|
||||
|
||||
Also see wget2(1), the updated version of GNU Wget with even better
|
||||
support for recursive downloading and modern protocols like HTTP/2.
|
||||
@c man end
|
||||
@end ignore
|
||||
|
||||
@@ -379,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,
|
||||
@@ -863,7 +868,7 @@ files. In such a case, wget could simply be invoked with this parameter to get
|
||||
a much cleaner output on the screen.
|
||||
|
||||
This option will also force the progress bar to be printed to @file{stderr} when
|
||||
used alongside the @samp{--logfile} option.
|
||||
used alongside the @samp{--output-file} option.
|
||||
|
||||
@item -N
|
||||
@itemx --timestamping
|
||||
@@ -1038,10 +1043,11 @@ megabytes (with @samp{m} suffix).
|
||||
Note that quota will never affect downloading a single file. So if you
|
||||
specify @samp{wget -Q10k https://example.com/ls-lR.gz}, all of the
|
||||
@file{ls-lR.gz} will be downloaded. The same goes even when several
|
||||
@sc{url}s are specified on the command-line. However, quota is
|
||||
respected when retrieving either recursively, or from an input file.
|
||||
Thus you may safely type @samp{wget -Q2m -i sites}---download will be
|
||||
aborted when the quota is exceeded.
|
||||
@sc{url}s are specified on the command-line. The quota is checked only
|
||||
at the end of each downloaded file, so it will never result in a partially
|
||||
downloaded file. Thus you may safely type @samp{wget -Q2m -i sites}---download
|
||||
will be aborted after the file that exhausts the quota is completely
|
||||
downloaded.
|
||||
|
||||
Setting quota to 0 or to @samp{inf} unlimits the download quota.
|
||||
|
||||
@@ -1402,10 +1408,10 @@ to the inability of server-side scripts to cope with the connections.
|
||||
@cindex cache
|
||||
@item --no-cache
|
||||
Disable server-side cache. In this case, Wget will send the remote
|
||||
server an appropriate directive (@samp{Pragma: no-cache}) to get the
|
||||
file from the remote service, rather than returning the cached version.
|
||||
This is especially useful for retrieving and flushing out-of-date
|
||||
documents on proxy servers.
|
||||
server appropriate directives (@samp{Cache-Control: no-cache} and
|
||||
@samp{Pragma: no-cache}) to get the file from the remote service,
|
||||
rather than returning the cached version. This is especially useful
|
||||
for retrieving and flushing out-of-date documents on proxy servers.
|
||||
|
||||
Caching is allowed by default.
|
||||
|
||||
@@ -1817,7 +1823,7 @@ Set the cipher list string. Typically this string sets the
|
||||
cipher suites and other SSL/TLS options that the user wish should be used, in a
|
||||
set order of preference (GnuTLS calls it 'priority string'). This string
|
||||
will be fed verbatim to the SSL/TLS engine (OpenSSL or GnuTLS) and hence
|
||||
its format and syntax is dependant on that. Wget will not process or manipulate it
|
||||
its format and syntax is dependent on that. Wget will not process or manipulate it
|
||||
in any way. Refer to the OpenSSL or GnuTLS documentation for more information.
|
||||
|
||||
@cindex SSL certificate, check
|
||||
@@ -1991,7 +1997,7 @@ from the database.
|
||||
|
||||
If you supply your own HSTS database via @samp{--hsts-file}, be aware that Wget
|
||||
may modify the provided file if any change occurs between the HSTS policies
|
||||
requested by the remote servers and those in the file. When Wget exists,
|
||||
requested by the remote servers and those in the file. When Wget exits,
|
||||
it effectively updates the HSTS database by rewriting the database file with the new entries.
|
||||
|
||||
If the supplied file does not exist, Wget will create one. This file will contain the new HSTS
|
||||
@@ -2005,7 +2011,7 @@ the same time over the HSTS database. Before dumping the updated HSTS entries
|
||||
on the file, Wget will re-read it and merge the changes.
|
||||
|
||||
Using a custom HSTS database and/or modifying an existing one is discouraged.
|
||||
For more information about the potential security threats arised from such practice,
|
||||
For more information about the potential security threats arose from such practice,
|
||||
see section 14 "Security Considerations" of RFC 6797, specially section 14.9
|
||||
"Creative Manipulation of HSTS Policy Store".
|
||||
@end table
|
||||
@@ -2138,7 +2144,7 @@ download them recursively, though this feature may be added in the future.
|
||||
|
||||
When @samp{--retr-symlinks=no} is specified, the linked-to file is not
|
||||
downloaded. Instead, a matching symbolic link is created on the local
|
||||
filesystem. The pointed-to file will not be retrieved unless this recursive
|
||||
file system. The pointed-to file will not be retrieved unless this recursive
|
||||
retrieval would have encountered it separately and downloaded it anyway. This
|
||||
option poses a security risk where a malicious FTP Server may cause Wget to
|
||||
write to files outside of the intended directories through a specially crafted
|
||||
@@ -2198,8 +2204,21 @@ details. The default maximum depth is 5.
|
||||
|
||||
@item -l @var{depth}
|
||||
@itemx --level=@var{depth}
|
||||
Specify recursion maximum depth level @var{depth} (@pxref{Recursive
|
||||
Download}).
|
||||
Set the maximum number of subdirectories that Wget will recurse into to @var{depth}.
|
||||
In order to prevent one from accidentally downloading very large websites when using recursion
|
||||
this is limited to a depth of 5 by default, i.e., it will traverse at most 5 directories deep
|
||||
starting from the provided URL.
|
||||
Set @samp{-l 0} or @samp{-l inf} for infinite recursion depth.
|
||||
|
||||
@example
|
||||
wget -r -l 0 http://@var{site}/1.html
|
||||
@end example
|
||||
|
||||
Ideally, one would expect this to download just @file{1.html}.
|
||||
but unfortunately this is not the case, because @samp{-l 0} is equivalent to
|
||||
@samp{-l inf}---that is, infinite recursion. To download a single @sc{html}
|
||||
page (or a handful of them), specify them all on the command line and leave away @samp{-r}
|
||||
and @samp{-l}. To download the essential items to view a single @sc{html} page, see @samp{page requisites}.
|
||||
|
||||
@cindex proxy filling
|
||||
@cindex delete after retrieval
|
||||
@@ -3027,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}).
|
||||
@@ -3963,7 +3982,7 @@ or @samp{application/xhtml+xml} to @file{@var{name}.html}.
|
||||
|
||||
@example
|
||||
wget --mirror --convert-links --backup-converted \
|
||||
--html-extension -o /home/me/weeklog \
|
||||
--adjust-extension -o /home/me/weeklog \
|
||||
https://www.gnu.org/
|
||||
@end example
|
||||
|
||||
@@ -4198,7 +4217,7 @@ from the debug log before sending it to the bug address. The
|
||||
@code{-d} won't go out of its way to collect sensitive information,
|
||||
but the log @emph{will} contain a fairly complete transcript of Wget's
|
||||
communication with the server, which may include passwords and pieces
|
||||
of downloaded data. Since the bug address is publically archived, you
|
||||
of downloaded data. Since the bug address is publicly archived, you
|
||||
may assume that all bug reports are visible to the public.
|
||||
|
||||
@item
|
||||
@@ -4447,7 +4466,7 @@ Tomislav Petrović, Mario Mikočević---many bug reports and
|
||||
suggestions.
|
||||
|
||||
@item
|
||||
François Pinard---many thorough bug reports and discussions.
|
||||
Françis Pinard---many thorough bug reports and discussions.
|
||||
|
||||
@item
|
||||
Karl Eichwalder---lots of help with internationalization, Makefile
|
||||
@@ -4485,6 +4504,14 @@ Ted Mielczarek---donated support for CSS.
|
||||
@item
|
||||
Saint Xavier---Support for IRIs (RFC 3987).
|
||||
|
||||
@item
|
||||
Tim Rühsen---Loads of helpful patches, especially fuzzing support and
|
||||
Continuous Integration. Maintainer since 2014.
|
||||
|
||||
@item
|
||||
Darshit Shah---Many helpful patches. Community support on various platforms.
|
||||
Maintainer since 2014.
|
||||
|
||||
@item
|
||||
People who provided donations for development---including Brian Gough.
|
||||
@end itemize
|
||||
|
||||
@@ -1,23 +1,48 @@
|
||||
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) -Wno-unused-parameter -Wno-pedantic
|
||||
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) $(CODE_COVERAGE_CFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) -I$(top_builddir)/lib -I$(top_srcdir)/lib \
|
||||
$(CODE_COVERAGE_CPPFLAGS) \
|
||||
-DSRCDIR=\"$(abs_srcdir)\"
|
||||
LDADD = ../lib/libgnu.a \
|
||||
$(GETADDRINFO_LIB) $(HOSTENT_LIB) $(INET_NTOP_LIB) $(INET_PTON_LIB) \
|
||||
$(LIBSOCKET) $(LIB_CLOCK_GETTIME) $(LIB_CRYPTO) $(LIB_GETLOGIN) $(LIB_NANOSLEEP) $(LIB_POLL) \
|
||||
$(LIB_POSIX_SPAWN) $(LIB_PTHREAD_SIGMASK) $(LIB_SELECT) $(LIBICONV) $(LIBINTL) \
|
||||
$(LIBMULTITHREAD) $(LIBTHREAD) $(SERVENT_LIB) @INTL_MACOSX_LIBS@ \
|
||||
-ldl
|
||||
$(CLOCK_TIME_LIB) \
|
||||
$(GETADDRINFO_LIB) \
|
||||
$(GETRANDOM_LIB) \
|
||||
$(HARD_LOCALE_LIB) \
|
||||
$(HOSTENT_LIB) \
|
||||
$(INET_NTOP_LIB) \
|
||||
$(LIBSOCKET) \
|
||||
$(LIBTHREAD) \
|
||||
$(LIB_CRYPTO) \
|
||||
$(LIBC32CONV) \
|
||||
$(LIBICONV) \
|
||||
$(LIBINTL) \
|
||||
$(LIBUNISTRING) \
|
||||
$(MBRTOWC_LIB) \
|
||||
$(NANOSLEEP_LIB) \
|
||||
$(POSIX_SPAWN_LIB) \
|
||||
$(PTHREAD_SIGMASK_LIB) \
|
||||
$(SELECT_LIB) \
|
||||
$(SERVENT_LIB) \
|
||||
$(SETLOCALE_NULL_LIB) \
|
||||
$(FUZZ_LIBS) $(CODE_COVERAGE_LIBS)
|
||||
|
||||
WGET_TESTS = \
|
||||
wget_css_fuzzer$(EXEEXT) \
|
||||
wget_cookie_fuzzer$(EXEEXT) \
|
||||
wget_css_fuzzer$(EXEEXT) \
|
||||
wget_ftpls_fuzzer$(EXEEXT) \
|
||||
wget_html_fuzzer$(EXEEXT) \
|
||||
wget_netrc_fuzzer$(EXEEXT) \
|
||||
wget_options_fuzzer$(EXEEXT) \
|
||||
wget_progress_fuzzer$(EXEEXT) \
|
||||
wget_read_hunk_fuzzer$(EXEEXT) \
|
||||
wget_robots_fuzzer$(EXEEXT) \
|
||||
wget_url_fuzzer$(EXEEXT)
|
||||
|
||||
EXTRA_DIST = test-runner.sh
|
||||
|
||||
if WITH_NTLM
|
||||
WGET_TESTS += wget_ntlm_fuzzer$(EXEEXT)
|
||||
endif
|
||||
|
||||
if FUZZING
|
||||
bin_PROGRAMS = $(WGET_TESTS)
|
||||
LDADD += $(LIB_FUZZING_ENGINE)
|
||||
@@ -26,6 +51,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
|
||||
@@ -36,12 +62,12 @@ endif
|
||||
../src/libunittest.a:
|
||||
$(MAKE) $(AM_MAKEFLAGS) -C ../src libunittest.a
|
||||
|
||||
wget_css_fuzzer_SOURCES = wget_css_fuzzer.c $(MAIN)
|
||||
wget_css_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_cookie_fuzzer_SOURCES = wget_cookie_fuzzer.c $(MAIN)
|
||||
wget_cookie_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_css_fuzzer_SOURCES = wget_css_fuzzer.c $(MAIN)
|
||||
wget_css_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_ftpls_fuzzer_SOURCES = wget_ftpls_fuzzer.c $(MAIN)
|
||||
wget_ftpls_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
@@ -51,9 +77,18 @@ wget_html_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
wget_netrc_fuzzer_SOURCES = wget_netrc_fuzzer.c $(MAIN)
|
||||
wget_netrc_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_ntlm_fuzzer_SOURCES = wget_ntlm_fuzzer.c $(MAIN)
|
||||
wget_ntlm_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_options_fuzzer_SOURCES = wget_options_fuzzer.c $(MAIN)
|
||||
wget_options_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_progress_fuzzer_SOURCES = wget_progress_fuzzer.c $(MAIN)
|
||||
wget_progress_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_read_hunk_fuzzer_SOURCES = wget_read_hunk_fuzzer.c $(MAIN)
|
||||
wget_read_hunk_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
wget_robots_fuzzer_SOURCES = wget_robots_fuzzer.c $(MAIN)
|
||||
wget_robots_fuzzer_LDADD = ../src/libunittest.a $(LDADD)
|
||||
|
||||
@@ -74,10 +109,10 @@ clean-local:
|
||||
|
||||
oss-fuzz:
|
||||
if test "$$OUT" != ""; then \
|
||||
XLIBS="-lpsl -lgnutls -lnettle -lhogweed -lidn2 -lunistring"; \
|
||||
XLIBS="-lpsl -lgnutls -lhogweed -lnettle -lgmp -lidn2 -lunistring -lz"; \
|
||||
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; \
|
||||
|
||||
@@ -14,21 +14,20 @@ regression testing with top dir 'make check' or 'make check-valgrind'.
|
||||
|
||||
Use the following commands on top dir:
|
||||
```
|
||||
export CC=clang-6.0
|
||||
export CXX=clang++-6.0
|
||||
export CC=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 -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++"
|
||||
./configure --enable-fuzzing --without-metalink --without-zlib --disable-pcre --without-libuuid
|
||||
export LIB_FUZZING_ENGINE="-lFuzzer -lstdc++"
|
||||
./configure --enable-fuzzing --without-metalink --without-zlib --disable-pcre --without-libuuid --enable-assert
|
||||
make clean
|
||||
make -j$(nproc)
|
||||
cd fuzz
|
||||
|
||||
# run wget_options_fuzzer
|
||||
UBSAN_OPTIONS=print_stacktrace=1 ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-6.0/bin/llvm-symbolizer \
|
||||
UBSAN_OPTIONS=print_stacktrace=1 ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer \
|
||||
./run-clang.sh wget_options_fuzzer
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright(c) 2017-2018 Free Software Foundation, Inc.
|
||||
* Copyright (c) 2017-2024 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GNU Wget.
|
||||
*
|
||||
@@ -20,6 +20,22 @@
|
||||
#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); \
|
||||
dup2(fd, STDERR_FILENO); \
|
||||
close(fd);
|
||||
|
||||
#define RESTORE_STDERR \
|
||||
dup2(bak, STDERR_FILENO); \
|
||||
close(bak);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
if ! grep -q FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile; then
|
||||
if ! grep FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile >/dev/null; then
|
||||
echo "The fuzzers haven't been built for fuzzing (maybe for regression testing !?)"
|
||||
echo "Please built regarding README.md and try again."
|
||||
exit 1
|
||||
|
||||
@@ -13,7 +13,7 @@ if test -z "$1"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile; then
|
||||
if ! grep FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile >/dev/null; then
|
||||
echo "The fuzzers haven't been built for fuzzing (maybe for regression testing !?)"
|
||||
echo "Please built regarding README.md and try again."
|
||||
exit 1
|
||||
@@ -23,10 +23,10 @@ fuzzer=$1
|
||||
project=wget
|
||||
|
||||
# sync/copy the OSS-Fuzz corpora into the .new directory
|
||||
mkdir -p ${fuzzer}.new
|
||||
cp -fp ${fuzzer}.in/* ${fuzzer}.new
|
||||
gsutil cp $(gsutil ls gs://${project}-backup.clusterfuzz-external.appspot.com/corpus/libFuzzer/${fuzzer}|tail -n 1) ${fuzzer}.new
|
||||
(cd ${fuzzer}.new && unzip -q -f -o *.zip && rm *.zip)
|
||||
mkdir -p ${fuzzer}.in ${fuzzer}.new
|
||||
cp -fp ${fuzzer}.in/* ${fuzzer}.new 2>/dev/null || true
|
||||
gsutil cp $(gsutil ls gs://${project}-backup.clusterfuzz-external.appspot.com/corpus/libFuzzer/${fuzzer}|tail -n 1) ${fuzzer}.new/
|
||||
(cd ${fuzzer}.new && unzip -q -o *.zip && rm *.zip)
|
||||
|
||||
# create fuzzer target
|
||||
BUILD_ONLY=1 ./run-clang.sh ${fuzzer}
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2024 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GNU Wget.
|
||||
*
|
||||
* GNU Wget is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GNU Wget is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Wget. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
* Created 19.10.2017 by Tim Rühsen
|
||||
*
|
||||
* Call glob() using data from fuzzer crash file
|
||||
|
||||
32
fuzz/main.c
32
fuzz/main.c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright(c) 2017-2018 Free Software Foundation, Inc.
|
||||
* Copyright (c) 2017-2024 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GNU Wget.
|
||||
*
|
||||
@@ -51,11 +51,12 @@ static int test_all_from(const char *dirname)
|
||||
char fname[strlen(dirname) + strlen(dp->d_name) + 2];
|
||||
snprintf(fname, sizeof(fname), "%s/%s", dirname, dp->d_name);
|
||||
|
||||
struct file_memory *fmem;
|
||||
struct file_memory *fmem;
|
||||
if ((fmem = wget_read_file(fname))) {
|
||||
printf("testing %ld bytes from '%s'\n", fmem->length, fname);
|
||||
fflush(stdout);
|
||||
LLVMFuzzerTestOneInput((uint8_t *)fmem->content, fmem->length);
|
||||
wget_read_file_free(fmem);
|
||||
wget_read_file_free(fmem);
|
||||
}
|
||||
}
|
||||
closedir(dirp);
|
||||
@@ -67,30 +68,15 @@ 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)))
|
||||
target = strrchr(target, '/');
|
||||
else
|
||||
if ((target = strrchr(argv[0], SLASH))) {
|
||||
if (strrchr(target, '/'))
|
||||
target = strrchr(target, '/');
|
||||
} else
|
||||
target = strrchr(argv[0], '/');
|
||||
|
||||
target = target ? target + 1 : argv[0];
|
||||
|
||||
if (strncmp(target, "lt-", 3) == 0)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
# Copyright(c) 2017 Free Software Foundation, Inc.
|
||||
# Copyright (c) 2017, 2019-2024 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Wget.
|
||||
#
|
||||
@@ -17,7 +17,7 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with GNU Wget. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
if ! grep -q '^CC=.afl-clang-fast' ../config.log; then
|
||||
if ! grep '^CC=.afl-clang-fast' ../config.log >/dev/null; then
|
||||
echo "compile first library as:"
|
||||
echo "CC=afl-clang-fast ./configure"
|
||||
exit 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash -e
|
||||
#
|
||||
# Copyright(c) 2017 Free Software Foundation, Inc.
|
||||
# Copyright (c) 2017, 2019-2024 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Wget.
|
||||
#
|
||||
@@ -30,7 +30,7 @@ if test -z "$1"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile; then
|
||||
if ! grep FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION Makefile >/dev/null; then
|
||||
echo "The fuzzers haven't been built for fuzzing (maybe for regression testing !?)"
|
||||
echo "Please built regarding README.md and try again."
|
||||
exit 1
|
||||
|
||||
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-2018 Free Software Foundation, Inc.
|
||||
* Copyright (c) 2017-2024 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GNU Wget.
|
||||
*
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <stdio.h> // fmemopen
|
||||
#include <string.h> // strncmp
|
||||
#include <stdlib.h> // free
|
||||
#include <fcntl.h> // open flags
|
||||
#include <unistd.h> // close
|
||||
|
||||
#include "wget.h"
|
||||
#undef fopen_wgetrc
|
||||
@@ -60,15 +62,10 @@ FILE *fopen_wgetrc(const char *pathname, const char *mode)
|
||||
void exit_wget(int status)
|
||||
{
|
||||
}
|
||||
#else
|
||||
void exit(int status)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
{
|
||||
FILE *bak;
|
||||
struct cookie_jar *cookie_jar;
|
||||
char *set_cookie;
|
||||
|
||||
@@ -79,8 +76,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
memcpy(set_cookie, data, size);
|
||||
set_cookie[size] = 0;
|
||||
|
||||
bak = stderr;
|
||||
stderr = fopen("/dev/null", "w");
|
||||
CLOSE_STDERR
|
||||
|
||||
cookie_jar = cookie_jar_new();
|
||||
cookie_handle_set_cookie(cookie_jar, "x", 81, "p", set_cookie);
|
||||
@@ -88,10 +84,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
cookie_handle_set_cookie(cookie_jar, "x", 80, "p/d/", set_cookie);
|
||||
cookie_jar_delete(cookie_jar);
|
||||
|
||||
fclose(stderr);
|
||||
stderr = bak;
|
||||
RESTORE_STDERR
|
||||
|
||||
free(set_cookie);
|
||||
free(set_cookie);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
??????
|
||||
@@ -1 +0,0 @@
|
||||
__Host-ID=x; expires=MoHos__Host-ID=x; expires=Mon, 29 Feb 2016 07:48:97 GMT; mh=/; domain=x.y; httponly; sec__Host-ID=x; expires=Mon, 29 Feb 2016 07:48:97 GMT; mh=/; domain=x.y; htut-ID=x; expires=Mon, 29 Feb 2016 07:48:97 GMT; mh=/; domain=x.y; hture
|
||||
@@ -0,0 +1 @@
|
||||
AAAAAAAAAAA
|
||||
@@ -1 +0,0 @@
|
||||
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNDDDDD廛max-ageDDDDDD'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD僖DDDDDhttponlyDDDDDDDDDDDDDDDDDDD;
|
||||
@@ -0,0 +1 @@
|
||||
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
|
||||
@@ -0,0 +1 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -0,0 +1 @@
|
||||
¦=;e;x;Õ;e;e;r;s;„;A;r;y
|
||||
@@ -1 +0,0 @@
|
||||
__Hos_o=;;yõ=m;tmID=m;=;y=m;y=m;<;yõ=‚m;tmID=m;
|
||||
@@ -0,0 +1 @@
|
||||
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
@@ -1 +0,0 @@
|
||||
__expires=x; expires=Mon, 14 4032 07:48Mon, 14 4032 07:48:5$ GMT; stmID=x; expires=Mon, 14 4000 07:48:54 GMT; matp=x; expires=Mon, 43 4032 07:48:5$ G032 07:48:27 GMT; stm 14 4000 07ÅË8:54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%GMT; m:48:54 GMT; stmI»D=x; e|pires=Mon, 14 4000 07ID=x; expires=Mon, 07 4032 07:48:5$ GMT; stmID=x; expin, 14 4032 07:48:5$ GMT; stmID=x; expires=Mon, 14 4000 07:48:54 GMT; matp=x; expires=Mon, 14 4032 07:48:5$ G!32 07:48:54 GMT; stm 14 4000 07ÅË8:54 GMT; m:48:54 GMT; stmI»n4 1, 4032 07:48:5$ GMT; stmID=x; expcure
|
||||
@@ -0,0 +1 @@
|
||||
]=;max-age=3;max-age=4;max-age=8;max-age=3;max-age=4;max-age=8
|
||||
@@ -1,2 +0,0 @@
|
||||
__H@=xqqqqqqqqqqqqqqqqq*qqqqqqFpath=; secure
|
||||
x-age; secure
|
||||
@@ -1 +0,0 @@
|
||||
_dict=libwget_cookie_fuzzer.dmutate_depth _e=;Ä;Ø;;;;Ø;;;;Ä;=;;Ø;;;;Ä;=;__Host-I@=x; expires=Mon, 29 Feb@=x; expir st-016 07:48es=Mon, 28 Feb 2016 07::54 GMT;"max-48:
|
||||
@@ -0,0 +1 @@
|
||||
xxxxxx
|
||||
@@ -0,0 +1 @@
|
||||
```````````````````````````````````````````
|
||||
@@ -0,0 +1 @@
|
||||
***************************************************************************************************************************************************************************
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
_use¡’<>šÂÊà pa<70>h=_Host-ID=xGMT; max-age=5; pa<70>h=ÑÄß›<C39F>’ž•n=x.y; httpomax-agecure
|
||||
@@ -1 +0,0 @@
|
||||
*=';:n*='d
|
||||
@@ -1 +0,0 @@
|
||||
__Host-ID=x; expires=29 Feb 2016 07:48:54 GMT;t-ID=x; expires=29 Feb 2016 10:48:54 GMT; max-age=5; p; expires=29 Feb 2016 07:48:54 GMT;t-ID=x; expires=58 Feb 2016 10:48:54 GMT; max-age=5; pathomt-ID=x; expires=29 Feb 2016 07:48:54 GMT;t-IDBx; exp=x.y; athomt-ID=x; expires=29 Feb 2016 07:48:54 GMT;t-IDBx; expires=29 Feb 2016 07:48:54 GMT; max-age=5; pathomai;ost-ID=x; expires=29 Feb 2016 07:48:54 GMT;t-ID=x; expires=2; Feb 2016 10:48:5: GMT; max-age=5; pathomt-ID=x; expires=29 Feb 2016 07:48:54 GMT;t-ID=x; expires=29 Feb 2096 07:48:54 GMT; max-age=5; pathomai;=x.y; httponly
|
||||
@@ -0,0 +1 @@
|
||||
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
||||
@@ -0,0 +1 @@
|
||||
*=;*=;*!=;*#=;*_=;*_=;*!=;*#=;*_=;*ヒ=;*_=;*_=;*ヒ=;*ェ=;*_=;*!=;*#=;*#=;*_=;*=;*ヒ=;*_=;*!=;*#=;*_=;*@=;*W=;*!=;*#=;*_=;*ヒ=;*_=;*_=;*p=;*_=;*レ=;*@=;*_=;*!=;*#=;*_=;*ヒ=;*_=;*_=;*p=;*_=;*レ=;*_=;*!=;*#=;*_=;*ヒ=;*_=;*_=;*p=;*_=;*_=;*ヒ=;*_=;*p=;*_=;*_=;*ヒ=;*_=;*ヒ=;*_=;*!=;*_=;*ヒ=;*_=;*!=;*#=;*_=;*レ=;*_=;*!=;*#=;*_=;*ヒ=;*_=;*_=;*p=;*_=;*_=;*#=;*ス=
|
||||
@@ -0,0 +1 @@
|
||||
S
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
xexpires= domain==/; domain==/; domain=th=/; domain=th=/; domain=th=/; domain==/; domain=th=/; domain==/; domain=th=/; domain==/; domain=ht=/; domain==/; domain=th=/; domain==/; domain=th=/expires=; domain==/; domain=th=/;omain==/;*=/; >domain=h=/; domain==/; doamin==/; doiain=th=/; domain=th=/:; domain=th=/; domain==/; domain=th=/; dom'ain==/; domain=th=/; domain==/; domain=th=/; ƒƒƒƒƒƒƒdomain==/; domain=th=/; domai=th=/; domain ==/; domain=th=/expires=; domain==/; domain=th=/;omain==/; domain=th=/; domain==/; domain=th=/expires=; domainy=
|
||||
@@ -0,0 +1 @@
|
||||
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
@@ -1 +0,0 @@
|
||||
_httpominimize_crash16 07:48??¿??????????????????????????????????,,,,,,,,,,6:48??¿????????????????????????expires=??????????,,,,,,,,,,,,,,ŠŠŠŠŠŠŠŠŠŠŠ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,???????54 GMT;‹ max-age=5; paagominimize_crash16 07:48??¿????????????;?????????????????????,,,,,,,,,,7:48??¿????????????????????????expires=??????????,,,,,,,,,,,,,,ŠŠŠŠŠŠŠŠŠŠŠ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,???????5path=2 GMT;‹ max-age=5; paagŠŠŠŠŠŠŠŠŠŠ,,,,,,,,,,,,,,,,,,,,,,,,,l,,,???????54 GMT;‹ ŠŠŠ,,,,,,,,,,,,,,,,,,,,,,,,,l,,,???????54 GMT;‹ge=5=x.ÿÿÿly; sñcure
|
||||
@@ -0,0 +1 @@
|
||||
oo
|
||||
@@ -1,2 +0,0 @@
|
||||
_ÿÿÿÿÿÿ
|
||||
ä=x; expi!res=-86148:54 =x; expires=-43855 Feb 6119 07:48:0Tx; expires=-437708 Feb 6120 07:48:54 8:54 =x; expires=-86148:54 =x; expires=-43855 Feb 6119 07:48:5Tx; expires=-437708 Feb 6120 07:48:54 8:54 =x; expires=-43855 Feb 6119 07:48:5TxC; expires=-437708 Feb 120 07:48:54 =b 6119 07:48:5Tx; expires=-218854 Feb 6120 07:48:54 =_axost-ID=x; 6120 07:48:54 =st-ID=x; expires=-87708 Feb 6119 07:48:54 =x; expires=3-4855 Feb 6119 07:48:5Tx; emax-age43855 Feb 6119 07:48:5Tx; expires=-437708 Feb 6120 07:48:54 =b 6119 07:48:5Tx; expires=-437708 Feb 6120 07:48:54 48:5Tx; expires=-437708 Feb 6120 07:48:54 =_axost-ID=x; ex88888888888888888888888888888888888888888pires=-c87708 Feb 6119 07:48:54 =x; expires=-43855 Feb 6119 07:48:5Tx; expires=-43855 Feb 611907:48:5T
|
||||
@@ -1 +0,0 @@
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
@@ -0,0 +1 @@
|
||||
(=;expires==;expires=i;expires=M;expires=*;expires=*;expires==;expires=M;expires=M;expires=3;expires==;expires=M;expires=*;expires=*;expires==;expires=M;expires=M;expires=MonFeB1 7:4:83¹;expires==;expires=M;expires=*;expires=*;expires=x;expires=M;expires=ª;expires=*;expires==;expires=M;expires=M;expires=3;expires==;expires=M;expires=*;expires=*;expires==;expires=*;expires=M;expires=M;expires=4;expires=<;expires=M;expires=M;expires=E;expires=e
|
||||
@@ -0,0 +1 @@
|
||||
i
|
||||
@@ -1 +0,0 @@
|
||||
ě=;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;D;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;mai;Dmaa;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;Dmai;=
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
PPP
|
||||
@@ -0,0 +1 @@
|
||||
4444444444444444444444444444444444444444444
|
||||
@@ -0,0 +1 @@
|
||||
^^
|
||||
@@ -0,0 +1 @@
|
||||
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222
|
||||
@@ -1 +0,0 @@
|
||||
_ÿÿÿÿÿÿ ¤seedANShttponly.;domain=.;_;D=_;domain=.;domain=.;_;;domain=.;domain=.;;;doma=o;id;n.main=.;;d(o'main=.;domainn=.;domain=.;_;Domain=.;(;domain=.=_;domain=.;domain=.;_;;domain=.;domaiQQQQQQQQQQQQQQQQQQQQQQQQQQQQomain=.;;domain=.;domain=.;domain=.;(;domain=.;;;domain=.;domain=.;;;domain=.;d_D=_;domain=.;domain=.;_;n=.;domain=.;;;domain=.;;domain=.;;domain=.;domainain=.;domain=.;_;;domain=.;domain=.;;;domain=.;;domain=.;;domain=.;domain=.;domain=.;(;domain=.;;;domain=.;domain=.;om
|
||||
@@ -1,3 +0,0 @@
|
||||
__Host-ID=x; 4032 age=2;HHHHHHdomain=HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHh=l; domain=x.y; httpohttponly; sñcurnly;ýly; seceur
|
||||
e
|
||||
securd
|
||||
@@ -0,0 +1 @@
|
||||
RRRRRRRRRRR
|
||||
@@ -1 +0,0 @@
|
||||
_o=;=;=;y=;;=;=;;<3B>y=_e=';˙˙ qa<71>h=_Host-ID=xGMT; <20>h=_Host-ID=xGMT; domain=˙˙˙˙˙˙˙httponly; securSSSSSSSSSSSSSSSSnly; securSSSSSÓSSSSSSSSSSSSSSSSSSSSSSSSSSSS;=;=;=SSSSSSSSSS;;=;=;=;y=;=;=;=;;y=;=;=;=;=;=;=;==;=SSSS;=;==SSSSSSSSSSSSSSSSSSSS:SSSe
|
||||
@@ -1 +0,0 @@
|
||||
_D=_;domain=.;domain=.;domain=.;;;do“ž–“=.;;domain=.;;domain=.;domTTT(TTTTTTTTTTTTTTT*************************************************************************************TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTainn=.;domainin=.;domain=.;;;doman;=o;i.dmain=.;;domain=.;domain=.;domain=.;(;domain=.;;;domain=.;domain=.;om
|
||||
@@ -1 +0,0 @@
|
||||
WWhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
|
||||
@@ -1 +0,0 @@
|
||||
__Host-KDFeec)ure
|
||||
@@ -0,0 +1 @@
|
||||
R
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
.=;max-age=˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙=-˛
|
||||
@@ -0,0 +1,24 @@
|
||||
J="/ path=pires=
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Jpath=
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
™
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
|
||||
@@ -0,0 +1 @@
|
||||
nn
|
||||
@@ -0,0 +1 @@
|
||||
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|
||||
@@ -1,2 +0,0 @@
|
||||
__Hos__Host-ID__Host-ID=x; expires=Mon, 5=x.y; httpontsecure-IDmain=ontsecureontsecure-ID=x; expires=Mon, 29 Feb 2016UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU«ªªªªªªªUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUax-age=2; pat$=/; x.y; httponly; ly; secure
|
||||
secure
|
||||
@@ -0,0 +1 @@
|
||||
l
|
||||
@@ -1,2 +0,0 @@
|
||||
__H@=x@=x; expires=Mon, 29 Femmmmmmmmmmmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq*qqqqqqFpath=; secure
|
||||
x-age; secure
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
ggg
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user