-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog
28297 lines (18411 loc) · 905 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-11-10 Darshit Shah <[email protected]>
version 1.25.0
* NEWS: Record release date.
2024-11-10 Tim Rühsen <[email protected]>
* NEWS: Update for release 1.25.0
2024-11-10 Tim Rühsen <[email protected]>
Fix CVE-2024-10524 (drop support for shorthand URLs)
* doc/wget.texi: Add documentation for removed support for shorthand URLs.
* src/html-url.c (src/html-url.c): Call maybe_prepend_scheme.
* src/main.c (main): Likewise.
* src/retr.c (getproxy): Likewise.
* src/url.c: Rename definition of rewrite_shorthand_url to maybe_prepend_scheme,
add new function is_valid_port.
* src/url.h: Rename declaration of rewrite_shorthand_url to maybe_prepend_scheme.
Reported-by: Goni Golan <[email protected]>
2024-11-10 Darshit Shah <[email protected]>
* contrib/make-release: Fix missing variables
* doc/wget.texi: Document the new non-blocking read feature
Revert "* configure.ac: Remove searching for makeinfo (breaks doc/ build)"
This reverts commit 04053a7c1e31ec848d503282d510c99545b6ae16.
2024-11-10 Darshit Shah <[email protected]>
Fix a static analysis false positive
Clang's static analyzer believes that it is possible for a realloc
request to return NULL. However, the `xrealloc` implementation used
in Wget will trigger a program crash if enough memory couldn't be
found. I'm not sure why the analyzer isn't able to see that. But let's
pacify it by asserting here that xrealloc will always return a non-null
* src/wget.h (DO_REALLOC): Assert that xrealloc will always return
non-null
2024-11-10 Darshit Shah <[email protected]>
Fix returning uninitialized variable
* src/retr.c (retrieve_from_file): Remove a dead store to status
(retrieve_from_url_list): Initialize status to a default of RETROK
2024-11-10 Tim Rühsen <[email protected]>
* fuzz/wget_options_fuzzer.c: Work around issue "multiple definition of getaddrinfo"
2024-11-10 Darshit Shah <[email protected]>
Fix build error on MingW
Gnulib does not currently implement the `F_GETFL` and `F_SETFL` flags on
mingw. As a result building Wget failed on Windows. We don't currently
have a good solution to this problem and Windows users of Wget will not
get the new functionality of non-blocking file I/O reads. The current
solution is simply to provide a Windows specific no-op stub
* src/mswindows.c (set_fd_nonblocking): Provide an empty stub function
for Windows systems
* src/mswindows.h (set_fd_nonblocking): Export the function so it is
available in util.c where it is needed
* src/util.c (set_fd_nonblocking): New function to set a fd as
O_NONBLOCK on non-Windows, non-MSDOS systems
(wget_read_from_file): Split the O_NONBLOCK code into
set_fd_nonblocking and make all file I/O non-blocking, not just stdin
2024-11-10 Sam James <[email protected]> (tiny change)
init: fix -Warray-bounds in setval_internal_tilde
>= GCC 12 reports an instance of -Warray-bounds in setval_internal_tilde
with the default -DNDEBUG:
```
In function ‘setval_internal_tilde’,
inlined from ‘run_wgetrc’ at init.c:710:16:
init.c:940:17: error: array subscript [0, 167] is outside array bounds of ‘const struct <anonymous>[168]’ [-Werror=array-bounds=]
940 | if (((commands[comind].action == cmd_file) ||
| ~~~~~~~~^~~~~~~~
init.c: In function ‘run_wgetrc’:
init.c:135:3: note: while referencing ‘commands’
135 | } commands[] = {
| ^~~~~~~~
```
setval_internal_tilde calls setval_internal and stores the result in ret;
setval_internal *does* check for if comind is out-of-bounds, but we only
check that *after* dereferencing commands[comind]. Swap the order in the
if() to fix that so we only dereference if we know it's safe.
ChangeLog:
* src/init.c (setval_internal_tilde): Check 'ret' earlier.
2024-11-10 Darshit Shah <[email protected]>
src/utils.h: Include wget.h before stdlib.h
* src/utils.h: wget.h includes config.h which should be included before
any other header files. So swap the order of includes
2024-11-10 Tim Rühsen <[email protected]>
* README: Replace FSF address with URL
* configure.ac: Remove searching for makeinfo (breaks doc/ build)
* bootstrap: Update from gnulib
* gnulib: Update
* src/http.c (http_loop): Remove unused code
* configure.ac: Drop -Wc99-c11-compat and -Wuseless-cast for manywarnings
2024-11-01 Tim Rühsen <[email protected]>
* Makefile.am: Fix check-coverage from tarball
* Makefile.am: Fix creating coverage reports
* .gitlab-ci.yml: Remove tags to fix CI
2024-10-31 Tim Rühsen <[email protected]>
* src/utils.c (compile_posix_regex): Remove redundant casts
2024-10-27 Tim Rühsen <[email protected]>
* src/utils.h (strlcpy): Use restrict keywords
* src/hash.c: Include config.h in STANDALONE mode
2024-06-09 Tim Rühsen <[email protected]>
* src/http.c (http_loop): Fix memory leak
* src/retr.c (retrieve_from_url_list): Fix memory leak
2024-06-02 Tim Rühsen <[email protected]>
* src/retr.c (retrieve_from_file): Fix memleak
* src/warc.c (warc_close): Fix memleak
* src/warc.c (warc_start_new_file): Simplify code
* src/httpc.c (http_loop): Fix memleak
* src/init.c (cleanup): Do not close stdout on exit
* src/iri.c (do_conversion): Initialize memory from realloc()
* src/warc.c (warc_write_end_record): Check warc_write_ok (fix use-after-free)"
* src/wget.h (DO_REALLOC): Initialize realloc'ed memory to help valgrind
* src/utils.c (run_with_timeout): Set SIGALRM handler before setjmp() (reported by valgrind)
* fuzz/wget_options_fuzzer.c: Fix indentation
2024-06-02 Tim Rühsen <[email protected]>
Properly re-implement userinfo parsing (rfc2396)
* src/url.c (url_skip_credentials): Properly re-implement userinfo parsing (rfc2396)
The reason why the implementation is based on RFC 2396, an outdated standard,
is that the whole file is based on that RFC, and mixing standard here might be
dangerous.
2024-05-24 Tim Rühsen <[email protected]>
* fuzz/Makefile.am (oss-fuzz): Add -lgmp
2024-05-12 Darshit Shah <[email protected]>
Support continious reading from stdin pipes
Rather than reading from stdin only once, leave the pipe open until the
other end closes it and keep reading from the file after each set of
URLs is read
* src/html-url.h(get_urls_file): Update prototype to add additional
param
* src/html-url.c(get_urls_file): Pass through read_again to
wget_read_from_file.
* src/retr.c(retrieve_from_file): Split the function into two. Introduce
`retrieve_from_url_list` that actually performs the retrieval.
Also, if `url_list` returns that the fd has been left open, then
continue reading from it until the fd is closed.
(retrieve_from_url_list): New function that does the retrieval from
a list of URLs that was read from a file.
* src/utils.c(wget_read_from_file): Rename old function `wget_read_file`
to this.
Accept an additional output parameter that states whether the fd was
left open and if we should continue reading from it after the current
set of URLs have been processed
(wget_read_file): Write it as a new wrapper function around
`wget_read_from_file` to maintain API comptability across other users
2024-04-27 Tim Rühsen <[email protected]>
* gnulib: Update
2024-04-20 Tim Rühsen <[email protected]>
Update gnulib link libraries
* fuzz/Makefile.am: Update gnulib link libraries.
* src/Makefile.am: Likewise.
* tests/Makefile.am: Likewise.
2024-04-16 Sam James <[email protected]> (tiny change)
Fix libproxy build with --disable-debug
The definition of debug_logprintf in src/log.c is guarded by ENABLE_DEBUG
(although its prototype is unconditionally available in src/log.h).
The uses of debug_logprintf in src/retr.c aren't guarded by ENABLE_DEBUG.
Use the DEBUGP macro which is designed for this purpose.
* src/retr.c (getproxy): Use DEBUGP macro.
Fixes: https://gitlab.com/gnuwget/wget/-/issues/19
2024-03-16 Darshit Shah <[email protected]>
Add a new testcase for pathconf truncation
* testenv/Test-recursive-pathmax.py: Add a new testcase. This test tries
to check that Wget allows downloading long filenames as far as allowed
by the OS and filesystem.
2024-03-11 Darshit Shah <[email protected]>
* contrib/make-release: Automatically build and update online documentation
2024-03-10 Darshit Shah <[email protected]>
* contrib/make-release: More minor fixes
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
version 1.24.5
* NEWS: Record release date.
* contrib/make-release: Some more release management
* NEWS: Update the noteworthy NEWS
* bootstrap.conf: Organize alphabetically
* gnulib: Update to the latest version
2024-03-03 Tim Rühsen <[email protected]>
Remove obsolete Travis CI files
* .travis.yml: Remove.
* contrib/travis-ci: Remove.
2024-02-24 Tim Rühsen <[email protected]>
Fix HSTS matching
* src/hsts.c (hsts_find_entry): Check for includeSubdomains,
(test_hsts_new_entry): Fix test,
(test_hsts_url_rewrite_superdomain): Improve test.
Reported-by: Hanno Böck <[email protected]
2024-02-19 Darshit Shah <[email protected]>
Delete some redundant tests
* tests/Makefile.am: Remove some tests that are redundant with the
Python testenv
* tests/Test-auth-basic.px: Delete file
* tests/Test-auth-no-challenge.px: Same
* tests/Test-auth-no-challenge-url.px: Same
* tests/Test-auth-retcode.px: Same
* tests/Test-auth-with-content-disposition.px: Same
* tests/Test-k.px: Same
* Makefile.am: Ignore some lcov errors, allowing the tests to run through
* README: Add a link to the COPYING file to meet the GNU Coding Standards
* bootstrap: Update script from gnulib
* gnulib: Update gnulib
* Update copyright year to 2024
2024-02-19 Darshit Shah <[email protected]>
Add tests for --convert-links option
* testenv/Makefile.am: Add two new tests, Test-k.py and Test-https-k.py
* testenv/Test-k.py: New file. Add a test based on tests/Test-k.px
* testenv/Test-https-k.py: New file. Add a new test to ensure that the
protocol of the original host URL is retained when creatign absolute
links.
This test is added as a result of an issue reported on StackExchange:
https://superuser.com/questions/1348940/making-wgets-convert-links-respect-http-vs-https
2024-02-19 Darshit Shah <[email protected]>
* testenv/conf/expected_files.py: Aesthetic changes only. Format file with black
* testenv/conf/expected_files.py: Nicer diff printing on error
2024-02-18 Darshit Shah <[email protected]>
* SECURITY.md: Add a file stating how to report security issues
2024-01-27 Tim Rühsen <[email protected]>
Parse 'srcset' HTML attr for 'source' HTML tag.
* src/html-url.c (struct known_tag): Use tag_handle_img() for 'source' tag.
* testenv/Test-recursive-include.py: Extend test.
2023-11-26 Tim Rühsen <[email protected]>
* src/netrc.c (parse_netrc_fp): Add fetchmail compatibility (user and passwd)
Reported-by: Gerald Pfeifer <[email protected]>
2023-10-22 Tim Rühsen <[email protected]>
Fix confusing 'Cannot write to ... (Success)' message
* src/http.c (gethttp): Store/restore errno value.
Reported-by: Christian Rosentreter, Andries E. Brouwer
2023-10-20 Jan-Michael Brummer <[email protected]> (tiny change)
Add libproxy support
Add support for libproxy, which is capable to extract desktop
environment proxy configurations from dozens of systems and platforms.
This also enables wget to handle pac/wpad proxy server.
* configure.ac: Add check for libbproxy.
* src/retr.c (getproxy): Retrieve proxy via libproxy.
2023-08-03 Tim Rühsen <[email protected]>
* src/retr.c: Fix sc_prohibit_empty_lines_at_EOF
2023-08-03 Tim Rühsen <[email protected]>
Fix crash when printing download rate
If the download rate is TB/s, a read buffer overflow happended
that either caused a crash or printed whatever string was pointed to.
* src/retr.c (retr_rate): Add missing array entrie for TB/s and Tb/s,
(test_retr_rate): New test function.
* tests/unit-tests.c (all_tests): Run test 'test_retr_rate'.
* tests/unit-tests.h: Add prototype for test_retr_rate.
Reported-by: Wiebe Cazemier <[email protected]>
2023-08-03 Christian Weisgerber <[email protected]> (tiny change)
* tests/Makefile.am: Remove './' from for portability (OpenBSD)
2023-07-16 Yaakov Selkowitz <[email protected]> (tiny change)
testenv: fix for Python 3.12
* testenv/server/http/http_server.py (HTTPSServer): Update for
ssl.SSLContext APIs instead of deprecated ssl.wrap_socket().
ssl.wrap_socket() was deprecated in 3.7 and removed in 3.12.
This should be compatible back to 3.6 (RHEL 8 and newer).
2023-07-01 Tim Rühsen <[email protected]>
* src/url.c (test_uri_merge): Fix check
Add new unit test test_uri_merge()
* src/url.c: New test function test_uri_merge().
* tests/unit-tests.c (tests/unit-tests.c): Call test_uri_merge().
* tests/unit-tests.h (tests/unit-tests.h): Declare test_uri_merge().
2023-05-16 Darshit Shah <[email protected]>
Ensure that spaces are quoted when converting links
* src/convert.c(convert_links): Print the actual quoted newname when printing DEBUG output
(local_quote_string): Also quote the ' ' charcter as %20. While it is okay
to leave the characted as-is, quoting it covers more edge cases.
And it should resolve a >10 year old bug with CSS url() parameters not being quoted
Bug-Id: 64082
Reported-By: Ethan Gibbs <[email protected]>
Discussed-At: https://stackoverflow.com/q/13300017
2023-05-16 Darshit Shah <[email protected]>
Add new test to ensure CSS url() encoding
url() parameters in CSS cannot have spaces in them. Ensure that Wget does not do that
when using --convert-links
* testenv/test_css_url.py: New file
* testenv/Makefile: Add test_css_url.py to tests
Bug-Id: 64082
2023-05-14 Darshit Shah <[email protected]>
Automatically verify if commit author has assigned copyrights in the past
* contrib/commit-check: Add new script
* .gitlab-ci.yml: Add new test in the CI pipeline
2023-05-14 Jan Palus <[email protected]> (tiny change)
* testenv/conf/expected_files.py: Ignore common.conf
2023-05-14 Darshit Shah <[email protected]>
* AUTHORS: Rework file to prepare for autmated testing
2023-05-11 Darshit Shah <[email protected]>
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
contrib/make-release: Update regexes to match the NEWS file
2023-05-11 Darshit Shah <[email protected]>
cfg.mk: Replace uses of filesystem with file system
Update NEWS
2023-05-10 Darshit Shah <[email protected]>
bootstrap.sh: Update script from gnulib
gnulib: Pull forward
2023-04-09 jinfuchiang <[email protected]> (tiny change)
Update deprecated option '--html-extension' to '--adjust-extension'
* doc/wget.texi: Update option '--html-extension' to '--adjust-extension'.
Renamed in Wget 1.12 to better reflect its behavior.
2023-03-19 Tim Rühsen <[email protected]>
Don't write core dump if --secure-option value isn't suppported.
2023-02-18 Tim Rühsen <[email protected]>
* src/retr.c (fd_read_body): Increase bufsize from 8k to 64k
* src/retr.c (fd_read_body): Simplify gzip initialization
* src/retr.c (fd_read_body): Use MAX instead of max
Simplify url_error function.
* src/url.c (url_error): simplify, remove url arg, return const char *.
* src/url.h (url_error): remove url arg, return const char *.
* src/html-url.c (get_urls_file): Simplify call to url_error(),
remove call to free().
* src/http.c (metalink_from_http): Likewise.
* src/main.c (main): Likewise.
* src/metalink.c (retrieve_from_metalink, fetch_metalink_file): Likewise.
* src/recur.c (retrieve_tree): Likewise.
* src/res.c (res_retrieve_file): Likewise.
* src/retr.c (retrieve_url, retrieve_from_file): Likewise.
* src/url.c: Refactored url_error()
* tests/valgrind-suppressions: Add rule for 'strcmp-sse2.S in libdl.so'
2023-02-17 Tim Rühsen <[email protected]>
* configure.ac: Remove CC flags -Wc90-c99-compat and -Wlong-long
* fuzz/*: Use grep >/dev/null instead of grep -q
* src/retr.c: Don't include hash.h
Update copyright years
* gnulib: Update
2022-12-11 Tim Rühsen <[email protected]>
* configure.ac: Disable nettle if NTLM is explicitly disabled
2022-12-10 Tim Rühsen <[email protected]>
* configure.ac: Allow disabling NTLM if nettle present (Savannah #63431)
2022-09-24 Tim Rühsen <[email protected]>
* fuzz/Makefile.am: Add -lz to fuzzer libs
2022-03-20 Tim Rühsen <[email protected]>
* src/main.c (print_help): Add --retry-on-host-error to help text
Fix HSTS portability by using int64_t instead of time_t.
* src/hsts.c: Use int64_t instead of time_t.
* src/http.c: Use int64_t for parsing Strict-Transport-Security.
src/http.c (time_to_rfc1123): Fix -Wformat-nonliteral
* src/warc.c (warc_process_cdx_line): Fix variable type to idx_t
* src/main.c (secs_to_human_time): Use snprintf instead of sprintf
* src/main.c (main): Remove unused variable
* src/netrc.c (test_parse_netrc): Check if HAVE_FMEMOPEN is defined
2022-02-26 Darshit Shah <[email protected]>
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
* NEWS: Update NEWS items for release
* .gitignore: Remove empty line at EOF
* .gitignore: Update file
* src.hsts.c(hsts_read_database): Use SCNd64 for portable format flags
* configure.ac: Add some warning flags to ignore
* cfg.mk: Remove passing syntax-checks from skip list
Fix issues from syntax-check
* doc/wget.texi: s/time stamp/timestamp/
* src/ftp-ls.c(clean_line): Same
(ftp_parse_vms_ls): Don't cast return value of x*alloc
* src/ftp.c: Don't cast return value of alloca
* src/css-url.c: wget.h should be the first include
* testenv/Makefile.am: Use $(PATH_SEPARATOR) instead of : when declaring
a path
* testenv/Test-no_proxy-env.py: s/can not/cannot/
* Update Copyright years
* bootstrap: Update script
* gnulib: Pull forward
Cleanup some incorrect uses of AM Conditionals
* configure.ac: Replace IRI_IS_ENABLED with WITH_IRI and
METALINK_IS_ENABLED with WITH_METALINK
* src/Makefile.am: Add the .c and .h files for IRI, Metalink and
Xattr support to wget_SOURCES directly when needed instead of
adding them as object files.
* testenv/Makefile.am: Rename METALINK_IS_ENABLED to WITH_METALINK
2022-02-26 Darshit Shah <[email protected]>
Replace incorrect usage of AC_LIBOBJ in configure.ac
AC_LIBOBJ is to be used for providing replacement functions for
compatibility reasons. Not for conditional compilation of entire source
files. Autotools provides other methods for achieving that. However, our
build system has (ab-)used the AC_LIBOBJ macros for doing this for over
15 years. That stops today.
* configure.ac: Replace uses of AC_LIBOBJ with automake conditionals
that can be used in Makefiles
* src/Makefile.am: Use the defined conditionals to select which
files get built.
2022-02-25 Darshit Shah <[email protected]>
Fix case where installed gettext is newer than minimum version
* configure.ac: Use AM_GNU_GETTEXT_REQUIRE_VERSION to specify a minimum
version of gettext needed. This should allow newer versions of gettext
to be copied for autipoint to use when available.
This commit hopefully fixes the annoying issue when building from
source on a system that has a newer version of gettext.
2022-02-13 Tim Rühsen <[email protected]>
* src/netrc.c (test_parse_netrc): Free netrc structure
* .gitlab-ci.yml: Fix path to llvm-symbolizer
* src/netrc.c (test_parse_netrc): New unit test function
2022-01-31 Aarni Koskela <[email protected]> (tiny change)
* src/http.c (parse_strict_transport_security): Fix typo in string
2022-01-23 Tim Rühsen <[email protected]>
* .gitlab-ci.yml (Scan-Build): Allow failure due to two false positives
* configure.ac: Use pkg-config for gpgme, libidn2 and nettle
2022-01-22 Tim Rühsen <[email protected]>
* src/ftp.c: Small cleanups
2022-01-16 Nik Soggia <[email protected]> (tiny change)
Print newline after dot progress bar in non-verbose mode
* src/progress.c (dot_finish): Print new in all progress bar contexts
instead of just verbose
2022-01-12 Tim Rühsen <[email protected]>
* .gitlab-ci.yml: Fix artifact path for the Scan-Build runner
2022-01-09 Tim Rühsen <[email protected]>
* src/main.c (main): Unlink output document when --unlink is given
2021-12-22 Tim Rühsen <[email protected]>
fuzz/*.in: Update fuzzer corpora
* .gitlab-ci.yml (CoverageReports): Fix artifacts paths
* tests/valgrind-suppressions: Fix libidn rule
* .gitlab-ci.yml: Fix artifacts paths
* tests/valgrind-suppressions: Extend libidn rule
* src/log.c (logprintf): Check earlier for verbosity
* src/http.c (http_loop): Fix memleak
2021-12-21 Tim Rühsen <[email protected]>
Switch fuzzing build from C++ to C
* Makefile.am (oss-fuzz): Build with $CC instead of $CXX.
* README.md: Remove CXX and CXXFLAGS exports.
2021-12-01 Darshit Shah <[email protected]>
* src/http.c (http_loop): Hide password when printing status with -nv
Reported-By: Per Lundberg <[email protected]>
Closes: #61492
* gnulib: Pull forward
* src/hsts.c (hsts_read_database): Read time_t values as long long
2021-12-01 Thomas Niederberger <[email protected]>
* src/main.c (print_help): Add command line option for TLS 1.3
2021-10-11 Darshit Shah <[email protected]>
* retr.c (rotate_backups): Non existent files are not errors in this function
2021-10-08 Darshit Shah <[email protected]>
* ftp.c (ftp_loop_internal): Fix computation of total_downloaded_bytes
When continuing a FTP download, or not starting one because the file is
already fully retrieved, don't include the size of the file in the
total_downloaded_bytes. Only the actual amount of data retrieved over
the network should be considered there.
Fixes: #61277
Reported-By: Michal Ruprich <formaiko>
2021-09-08 Darshit Shah <[email protected]>
Remove suprious print statements
* src/gnutls.c: Remove fprintf statements. We should never print to
console directly. Always honor the log levels.
Fixes: #61125
2021-09-07 Darshit Shah <[email protected]>
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
* NEWS: Update NEWS items for release
* cfg.mk: Disable the indent check
* gnulib: Pull forward
2021-08-21 WB <[email protected]>
Fix #60956 (improve --page-requisites)
* src/html_url.c (tag_handle_link): Check for "alternate stylesheet",
"icon" and "manifest".
2021-08-07 Tim Rühsen <[email protected]>
* src/html-url.c (tag_handle_meta): Fix integer overflow
2021-07-05 Tim Rühsen <[email protected]>
* src/recur.c (download_child): Remove temporary robots.txt.tmp
2021-06-14 Josef Moellers <[email protected]>
Long pathnames patch
2021-06-07 Tim Rühsen <[email protected]>
* .gitlab-ci.yml: Remove scan-build deps from pages stage
* .gitlab-ci.yml: Move scan-build/ to public/ only if it exists
2021-06-06 Tim Rühsen <[email protected]>
* .gitlab-ci.yml: Move scan-build results to parent directory
* .gitlab-ci.yml: Move coverage results to parent directory
* .gitlab-ci.yml: Don't allow failure of scan-build
* .gitlab-ci.yml: Pages needs Build-Tarball
* src/url.c (append_uri_pathel): Add cheap extra check to help static analyzers
* src/http.c (gethttp): Add cheap extra check to help static analyzers
* .gitlab-ci.yml: Exclude src/css_.o from scan-build
* src/main.c (main): Removed unused variable
2021-06-06 Tim Rühsen <[email protected]>
Revert "Long pathnames patch"
This reverts commit affad27664afccdedafd94711d350f368e859be4.
Manual tests with very long path names did not work with this patch.
We have to wait for a patch including automated tests.
2021-06-06 Tim Rühsen <[email protected]>
* .lgtm.yml: Add autoconf-archive
* .gitlab-ci.yml: Re-arrange stages
Remove .git/, .gitmodules and gnulib/ from bootstrap artefacts
2021-06-06 Darshit Shah <[email protected]>
Updated Gitlab CI Pipeline
* .gitlab-ci.yml: COmpletely overhauled CI pipeline with dependencies
for a faster and more robust CI.
2021-05-29 jmoellers <[email protected]>
Long pathnames patch
2021-05-22 Tim Rühsen <[email protected]>
* fuzz/wget_read_hunk_fuzzer.c: Add explicit cast for C++ compilation
* fuzz/wget_ntlm_fuzzer.c: Add explicit cast for C++ compilation
2021-05-03 Tim Rühsen <[email protected]>
* src/http.c (initialize_request): Send Host HTTP header first
This solves an issue where the server expects the Host: header
as first one. This seems plausible (ahem) as the Host: header is the
only one that is required.
2021-05-02 Tim Rühsen <[email protected]>
Improve wget_options_fuzzer
* fuzz/fuzzer.h: Ignore -Wunused-parameter.
* fuzz/wget_options_fuzzer.c: Let getaddrinfo() fail in while fuzzing.
* fuzz/wget_options_fuzzer.in/*: Update corpora from OSS-Fuzz.
2021-05-02 Nekun <[email protected]> (tiny change)
Fix typo in VMS support code
* src/utils.c: Remove unpaired brace
2021-04-15 Nils <[email protected]> (tiny change)
Use "nofollow" instead of "no-follow" in messages
* src/html-url.c (get_urls_html_fm): Remove misleading debug message.
* src/recur.c (retrieve_tree): Fix no-follow -> follow in DEBUGP.
The attribute in html is "nofollow" so it is more consistent to call it
so than to hyphenate it.
2021-04-15 Nils <[email protected]> (tiny change)
Print message for no-follow attribute only if norobots respected
* src/html-url.c (get_urls_html_fm): Remove misleading log message.
* src/recur.c (retrieve_tree): Add log message into correct if block.
Commit e39be3283836b8cb7b9ee320456eefb2a2fda173 added a message that
said links will not be followed whenever the nofollow attribute is found
in a page. It didn't take into account that with -e robots=off (and
equivalents) links will still be followed.
This bug has been noticed multiple times:
* https://www.reddit.com/r/DataHoarder/comments/mprq89/wget_respects_nofollow_attribute_despite_e/
* https://gist.github.com/simonw/27e810771137408fd7834ad153750c41#gistcomment-3648191
* https://superuser.com/questions/1494761/wget-wont-ignore-no-follow-attributes
This commits makes it so that this message is only printed when a
nofollow link is found and the norobots convention is respected.
2021-04-15 Tim Rühsen <[email protected]>
* configure.ac: Add AM_GNU_GETTEXT_VERSION
2021-04-11 Tim Rühsen <[email protected]>
* testenv/test/base_test.py: Rename valgrind-suppression-ssl -> valgrind-suppressions-ssl
* testenv/test/base_test.py: Add --show-leak-kinds=all valgrind argument
* tests/WgetTests.pm: Add --show-leak-kinds=all valgrind argument
Fix testenv valgrind suppression
* testenv/Makefile.am: Remove valgrind-suppressions from EXTRA_DIST.
* testenv/valgrind-suppression-ssl: Rename to testenv/valgrind-suppressions-ssl.
2021-04-11 Tim Rühsen <[email protected]>
* bootstrap.conf: Add 'rename' to gnulib modules
The missing module could be a reason for
https://savannah.gnu.org/bugs/?60346.
Reported-by: [email protected]
2021-04-11 Tim Rühsen <[email protected]>
* src/wget.h: Use strtoll() for str_to_wgint
This fixes a regression reported at https://savannah.gnu.org/bugs/?60353.
Reported-by: Michal Ruprich
2021-04-11 Shamil Gumirov <[email protected]> (tiny change)
Minor output fix to use quote_n() instead of quote()
* src/ftp.c (ftp_retrieve_list): change quote to quote_n
* src/iri.c (do_conversion): change quote to quote_n
* src/url.c (convert_fname): change quote to quote_n
The implementation quote() reuses the buffer it returns which
leads to printing the same string for each quote() call in one
output line. Instead, quote_n() should be used as highlighted in
the doc:
https://www.gnu.org/software/gnulib/manual/html_node/Quoting.html
2021-04-05 Tim Rühsen <[email protected]>
* src/Makefile.am: Add metalink.c and xattr.c to EXTRA_wget_SOURCES
* testenv/Makefile.am: Allow tarball build without python3
2021-04-04 Tim Rühsen <[email protected]>
Fix spelling errors
* NEWS: trough -> through.
* README.checkout: Likewise.
* contrib/spell-checker: Add exclusion 'parm'
Remove gettext version requirements
* bootstrap.conf: Remove gettext version requirements
* configure.ac: Likewise.
2021-03-16 Darshit Shah <[email protected]>
Use a LOG_COMPILER for running fuzz tests
This prevents needing a special case in the fuzz tests to detect
valgrind usage and a new exec. Instead, we simply detect the environment
in a shell script and start the test with valgrind in the first place.
* fuzz/test-runner.sh: New script for running the fuzz tests
* fuzz/main.c (main): Remove code for re-running under valgrind
* fuzz/Makefile.am: Set the LOG_COMPILER to test-runner.sh and remember
to add it to the list of extra files for packaging
2021-03-07 Tim Rühsen <[email protected]>
* configure.ac: Add AC_PROG_CC_C99
2021-03-07 Darshit Shah <[email protected]>
Bump gettext version to 0.20
* bootstrap.conf: Increase minimum version of gettext needed to 0.20
* configure.ac: Same
* bootstrap: Update script
* gnulib: Pull forward
2021-03-02 Darshit Shah <[email protected]>
Fix double free in FTP Code
* src/ftp.c(getftp): Don't free `target`. If it is not pointing to
targetbuf, then it still pointing to its original location of u->dir.
This location will be free'd later. Doing so now causes a double free
and hence crashes Wget
* tests/Test-ftp-dir.px: New test to show double free error
* tests/Makefile.am: Add new test
2021-01-31 Tim Rühsen <[email protected]>
* doc/wget.texi: Replace '' with in example
Needed to hide from texi2pod.pl replacement of '' -> ".
Reported-by: Vincent Lefevre
2021-01-23 Tim Rühsen <[email protected]>
Use gnulib's utime.h
* bootstrap.conf: Remove utime-h (included by utime).
* configure.ac: Remove header checks for utime.h and sys/utime.h.
* src/utils.c: Simply #include <utime.h>.
* configure.ac: Detect unresolved AX_ macros
2021-01-16 Tim Rühsen <[email protected]>
* configure.ac: Use noyywrap for AC_PROG_LEX
Fix --quota on systems with 32bit long type
* src/init.c (cmd_bytes_sum): Use WGINT_MIN and WGINT_MAX in check.
* src/options.h (struct options): Make 'quota' of type wgint.
* src/retr.c: Make 'total_downloaded_bytes' of type wgint.
* src/utils.h: Fix comment.
* src/wget.h: Add WGINT_MIN, remove SUM_SIZE_INT.
* configure.ac: Remove obsolete AC_HEADER_STDC
* configure.ac: Replace ` with '
* configure.ac: Use yywrap param for AC_PROG_LEX
2021-01-09 Darshit Shah <[email protected]>
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
* NEWS: Update NEWS items for release
* gnulib: Pull forward
* cfg.mk: Add manual_title for web docs
* contrib/make-release: Update to use maintainer-makefile
* bootstrap.conf: Add gendocs and gnu-web-doc-update modules
* configure.ac(AM_INIT_AUTOMAKE): Create lzip archives when making a distribution
Prepare for making releases
The maintainer makefile provides targets for making a release. They need
these things:
* cfg.mk: Set the hash of the NEWS file as it was at the beginning of
this release
* .prev-version: Create the .prev-version file
Prepare NEWS file for new release
* NEWS: Fix the copyright notice
* NEWS: Add header for new release
2021-01-07 Darshit Shah <[email protected]>
Use PRId64 to correctly identify the format specifier
* src/utils.c: Use PRId64 to correctly identify the format specifier for
wgint values. This fixes a warning on 32-bit systems where wgint is a
long long int instead of the long int that the format specifier
indicated.
Reported-by: Jeffrey Walton
2021-01-03 Darshit Shah <[email protected]>
* src/retr.c(rotate_backups): Simplify logic for handling filename rotation
2021-01-03 Matt Whitlock <[email protected]>
* configure.ac: Don't use Bashisms
2021-01-01 Darshit Shah <[email protected]>
Run make update-copyright
* gnulib: Pull forward
2020-12-31 Darshit Shah <[email protected]>
* NEWS: Finalize release