Commit Graph

19 Commits

Author SHA1 Message Date
cb20de8e01 Remove CR and LF from URLs
* libwget/iri.c (iri_unescape_inline): Remove CR/LF from URL.
* tests/test-base.c: Add CR+LF into URL.

References
https://gitlab.com/gnuwget/wget2/-/issues/522
2020-04-22 13:49:08 +02:00
59d9ecd9c0 * Update copyright year to 2020 2020-01-10 00:33:02 +01:00
5d72533570 Fix license of all tests
All the tests in tests/ are part of Wget2 the binary, not libwget. Fix
the license and copyright information accordingly.

* tests/libtest.c: libwget -> Wget. LGPLv3+ -> GPLv3+
* tests/test--accept.c: Same
* tests/test--filter-mime-type.c: Same
* tests/test--follow-tags.c: Same
* tests/test--https-enforce-hard1.c: Same
* tests/test--https-enforce-hard2.c: Same
* tests/test--https-enforce-hard3.c: Same
* tests/test--https-enforce-soft1.c: Same
* tests/test--https-enforce-soft2.c: Same
* tests/test--https-enforce-soft3.c: Same
* tests/test--page-requisites.c: Same
* tests/test--post-file.c: Same
* tests/test--save-content-on.c: Same
* tests/test--spider-r.c: Same
* tests/test-E-k.c: Same
* tests/test-auth-basic.c: Same
* tests/test-auth-digest.c: Same
* tests/test-bad-chunk.c: Same
* tests/test-base.c: Same
* tests/test-c-r.c: Same
* tests/test-chunked.c: Same
* tests/test-compression.c: Same
* tests/test-cut-dirs.c: Same
* tests/test-cut-get-vars.c: Same
* tests/test-directory-clash.c: Same
* tests/test-ftp.c: Same
* tests/test-ftps.c: Same
* tests/test-gpg-bad.c: Same
* tests/test-gpg-invalid.c: Same
* tests/test-gpg-missing.c: Same
* tests/test-gpg-save-failed.c: Same
* tests/test-gpg-styles.c: Same
* tests/test-gpg-valid.c: Same
* tests/test-gpg-verify-no-file.c: Same
* tests/test-gzip.c: Same
* tests/test-i-http.c: Same
* tests/test-i-https.c: Same
* tests/test-idn-cmd.c: Same
* tests/test-idn-meta.c: Same
* tests/test-idn-robots.c: Same
* tests/test-include-and-exclude-directories.c: Same
* tests/test-iri-disabled.c: Same
* tests/test-iri-forced-remote.c: Same
* tests/test-iri-list.c: Same
* tests/test-iri-percent.c: Same
* tests/test-iri-subdir.c: Same
* tests/test-iri.c: Same
* tests/test-k.c: Same
* tests/test-limit-rate-http2.c: Same
* tests/test-limit-rate.c: Same
* tests/test-meta-robots.c: Same
* tests/test-metalink.c: Same
* tests/test-np.c: Same
* tests/test-ocsp-server.c: Same
* tests/test-ocsp-stap.c: Same
* tests/test-p-nc.c: Same
* tests/test-parse-css.c: Same
* tests/test-parse-html-css.c: Same
* tests/test-parse-rss.c: Same
* tests/test-plugin-dummy.c: Same
* tests/test-plugin-failure.c: Same
* tests/test-plugin-interception.c: Same
* tests/test-plugin-nonexistance.c: Same
* tests/test-plugin.c: Same
* tests/test-post-handhshake-auth.c: Same
* tests/test-redirection.c: Same
* tests/test-restrict-ascii.c: Same
* tests/test-robots.c: Same
* tests/test-stats-dns.c: Same
* tests/test-stats-ocsp.c: Same
* tests/test-stats-server.c: Same
* tests/test-stats-site.c: Same
* tests/test-stats-tls.c: Same
* tests/test-timestamping.c: Same
* tests/test-unlink.c: Same
* tests/test-wget-1.c: Same
2019-11-02 16:10:19 +01:00
4b9edbad2d Update Copyright statements to be compatible with update-copyright module 2019-09-10 23:41:56 +02:00
a4dac96cf3 Update cfg.mk. Add comments for future
* cfg.mk: Multiple changes.
  (sc_GPL_version): Don't exclude all files when only one has a parsing
  issue
  (sc_po_check): Tests should always output English. Their output is for
  developers, not users
  (sc_prohibit_magic_number_exit): tests/test-plugin.c has a parsing
  issue that has been reported to gnulib. Others should be checked.
  (sc_trailing_blank): Fixed the relevant files instead of ignoring them
  (sc_two_space_separator_in_usage): Doesn't seem to trigger on removal
  (sc_prohibit_empty_lines_at_EOF): Same
  (sc_prohibit_sprintf): Same
  (sc_prohibit_printf): Re-arrange within file
  (sc_prohibit_free): Same
  (sc_prohibit_alloc): Same
  (sc_gettext_printf): Same
* docs/DoxygenLayout.xml: Remove trailing whitespaces
* docs/libwget.doxy.in: Same
* tests/libtest.c: Don't internationalize test suite strings
* tests/test-*.c: Use EXIT_FAILURE and EXIT_SUCCESS instead of 1 and 0
2019-09-10 23:02:05 +02:00
8df8100af9 Add basic HTML entity decoding
* libwget/iri.c (_iri_unescape_inline): Decode basic HTML entities
* tests/test-base.c: Add test for &, #ddd; and #xHH;

This only cares for the basic HTML entities mentioned in RFC1866.
This commit closes Gitlab issue 44, though it is not a full handling
of entities. But not sure if anyone ever requests it.

Fixes #44
2019-04-23 11:33:49 +02:00
cdb3600791 Update copyrigght to 2019 2019-01-02 12:42:53 +01:00
3688ffb941 Update copyright to 2018 2018-04-30 20:52:11 +02:00
863338764a Dont't recognize %3A as colon in relative URLs
* include/wget/wget.h: New function wget_iri_unescape_url_inline()
* libwget/iri.c: Likewise
* src/wget.c (_normalize_uri): Use wget_iri_unescape_url_inline()
* examples/check_url_types.c: Likewise
* tests/test-base.c: Add test case
* unit-tests/test.c (test_iri_relative_to_absolute): Add test case

Relative URLS like in href='foo%3A/' have been detected and parsed
as absolute URL with (unknown) scheme 'foo:'.
This commit fixes it.
2018-04-13 19:23:11 +02:00
615bef51e9 Use Feature Flags to SKIP unsupported tests
* tests/libtest.{c,h}: Add support for feature flags during test
startup. Check if Wget2 is compiled with the feature and conditionally
SKIP the tests
* tests/test-*.c: Pass the right feature flags for each test. MHD for
HTTP, FTP for FTP, IDN and PLUGIN when applicable
2017-09-18 11:28:40 +02:00
c6ee3d79ad Fix syntax-check 'sc_prohibit_have_config_h'
* cfg.mk: Remove sc_prohibit_have_config_h from local-checks-to-skip
* libwget/*.c: Include <config.h> unconditionally
* src/*.c: Likewise
* tests/*.c: Likewise
2017-04-30 22:01:34 +02:00
d7385604b5 Check for invalid 'BASE' URLs in HTML
* src/wget.c (html_parse): Check if 'base' parses correctly
* tests/test-base.c: Add test with invalid base URL
2017-03-09 11:37:49 +01:00
07b4c4623e Fix URL encoding issue in requests
* libwget/iri.c (wget_iri_escape_query): Do not escape ampersand,
  (wget_iri_get_escaped_resource): Use wget_iri_escape_query()
* tests/test-base.c: Add test URLs with spacing in path, query and param
2017-02-28 17:02:35 +01:00
ec396c577f Fix URLs to HTTPS where possible 2017-02-28 15:31:30 +01:00
00f126c585 Fix following relative links
* src/wget.c (html_parse): Add only absolute URLs to 'known_urls'.
* tests/test-base.c: Test that the changes work.

Reported-by: Jaaap@github.com
2016-09-16 16:14:08 +02:00
dd3c2f63b2 Updated copyright year for all relevant files 2016-01-25 13:06:21 +01:00
fba1ad1a63 Fix the /dev/null usage
* src/wget.c: do not create the directory if the first character is
'/'.
* tests/test-base.c: add test for -O/dev/null.
2016-01-19 12:17:27 +01:00
954136e2df Do not percent unescape query
* tests/test.c: Test query parsing in API
* tests/test-base.c: Test query handling of wget2
* include/libwget.h: Add flags to wget_iri_t,
  add function wget_iri_unescape_inline()
* libwget/iri.c: Add function wget_iri_unescape_inline(),
  fix wget_iri_parse() to not percent unescape query
  do not add fragment in wget_iri_get_escaped_resource()
2016-01-06 11:27:07 +01:00
48543621ab Fix HTML BASE with absolute path
* src/wget.c (html_parse): Fix HTML BASE with absolute path
* tests/Makefile.am: Add test-base.c
* tests/test-base.c: New file
2015-10-25 21:02:33 +01:00