Commit Graph

479 Commits

Author SHA1 Message Date
Tim Rühsen a19acd4299 Release v0.20.1 2018-04-27 15:51:59 +02:00
Tim Rühsen e901f5321f Fix PSL_TYPE_NO_STAR_RULE and improve test suite
Reported-by: Daniel Kahn Gillmor
2018-04-27 15:51:58 +02:00
Tim Rühsen dec2485114 Release v0.20.0 2018-04-27 15:51:57 +02:00
Tim Rühsen 3c28595151 Update copyrights 2018-04-27 15:51:57 +02:00
Tim Rühsen b42ca62b9c Update fuzzer to use PSL_TYPE_NO_STAR_RULE 2018-04-27 15:51:56 +02:00
Tim Rühsen 83fc0431e4 Update PSL submodule 2018-04-27 15:51:55 +02:00
Tim Rühsen c0cd25178b Add TLDs to (DAFSA) data to allow skipping the star rule 2018-04-27 15:51:54 +02:00
Claudio Saavedra db6f7b971c Add tests for PSL_TYPE_NO_STAR_RULE 2018-04-27 15:51:53 +02:00
Claudio Saavedra 737246856e psl_is_public_suffix2(): allow checking for suffixes not in the list
Add a PSL_TYPE_NO_STAR_RULE type to check for suffixes without the '*'
rule. This allows checking for suffixes that are not in the PSL.
2018-04-27 15:51:52 +02:00
Tim Rühsen 58ff15ca2c Remove C99 loop construct 2018-04-27 15:51:52 +02:00
Tim Rühsen 5c9e7e74ee Limit CPU wasting on large inputs
Large inputs on psl_registrable_domain() and psl_unregistrable_domain()
suffer from a O(N^2) behavior. This change limits N to avoid excessive
CPU usage.

At the same time we limit the fuzz corpora size to 64k which is far more
then we expect any real life domain to be.

Reported-by: OSS-Fuzz
2018-04-27 15:51:51 +02:00
Dagobert Michelsen 1f5db700ec Remove unconditional setting of GCC-specific flag 2018-04-27 15:51:50 +02:00
Tim Rühsen 5995c12be6 Update PSL submodule 2018-04-27 15:51:49 +02:00
Jeffrey Walton af2dbb83ec Expand defintion of PSL; add ICANN reference 2018-04-27 15:51:48 +02:00
Tim Rühsen 01a878ac88 Add missing include alloca.h in fuzz/main.c 2018-04-27 15:51:48 +02:00
Tim Rühsen fb29a889e4 Fix printf warnings in fuzz/main.c 2018-04-27 15:51:47 +02:00
Tim Rühsen 4fede219a1 Release v0.19.1 2018-04-27 15:51:46 +02:00
Tim Rühsen 8530d396c1 Fix unsigned integer overflow in _mem_is_ascii()
Found by OSS-Fuzz. It has no impact.
2018-04-27 15:51:45 +02:00
Tim Rühsen fa59acdeb8 Update corpora from oss-fuzz 2018-04-27 15:51:44 +02:00
Tim Rühsen a48169e6da psl_*_count() return -1 if information is not available 2018-04-27 15:51:43 +02:00
Tim Rühsen 4bfb18af61 Add psl_free_string to libpsl-sections.txt 2018-04-27 15:51:42 +02:00
Tim Rühsen 7785d6edb2 Amend start of comments in lookup_string_in_fixed_set.c 2018-04-27 15:51:41 +02:00
Tim Rühsen 4bcbb57936 Fix input encoding for python3 2018-04-27 15:51:41 +02:00
Darshit Shah 4d5982ed98 Add new function psl_free_string()
When writing a wrapper around LibPSL in a different language it is
important that libpsl provide functions to free any memory that it
allocates. Without this, it is impossible to correctly free the memory
allocated by psl_str_to_utf8lower() function since in other languages
one may not have access to the same free() call from libc.
2017-08-30 11:07:04 +02:00
Tim Rühsen d6c1051b37 Add m4/ax_check_compile_flag.m4 2017-07-27 11:55:29 +02:00
Tim Rühsen 0ff626f6b6 Update corpora from oss-fuzz 2017-07-27 11:36:18 +02:00
Tim Rühsen 4abb701b2c Improve fuzz/get_all_corpora 2017-07-27 11:29:29 +02:00
Tim Rühsen c1bf52dbc3 Add -fsanitize-address-use-after-scope to --enable-asan if available 2017-07-27 11:29:02 +02:00
Tim Rühsen c10ef083d6 Cleanup .travis_coveralls.sh 2017-07-27 11:07:00 +02:00
Tim Rühsen 05d957ffae Update .travis_coveralls.sh 2017-07-20 16:40:40 +02:00
Tim Rühsen 0d2649684f Release v0.18.0 2017-07-20 14:48:12 +02:00
Tim Rühsen 0e0ddc4cec Update contrib/check-hard 2017-07-20 14:46:55 +02:00
Tim Rühsen 659ee4391e Remove compiler warnings 2017-07-20 11:36:13 +02:00
Tim Rühsen 9ec54644d0 Update PSL submodule 2017-07-19 16:54:35 +02:00
Tim Rühsen 280c130f73 Add fuzz/git_all_corpora 2017-07-19 15:02:03 +02:00
Tim Rühsen bf0f1cda52 Update fuzzer corpora 2017-07-19 15:01:40 +02:00
Tim Rühsen ecc3914172 Fix link libraries for oss-fuzz static building 2017-07-15 12:31:53 +02:00
Tim Rühsen 4306c0cfc0 Fix pkg-config support for libidn and libidn2 2017-07-15 12:31:01 +02:00
Tim Rühsen 0a48980efc Use libidn2 as default 2017-07-14 15:53:31 +02:00
Tim Rühsen 083c8c6801 Fix a few C89 issues 2017-07-14 15:53:31 +02:00
Tim Rühsen 1076ec178c Update internal IDNA corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 2cb2266cb1 Update libidn corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 5f1176485e Update libidn2 corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 9015ae5fc0 Update libicu corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 3541a7cb80 Update libicu corpora from OSS-Fuzz 2017-07-13 15:50:04 +02:00
Tim Rühsen a6e4703318 Fix oss-fuzz issue #2600 (buffer overflow in libicu code)
Added a reproducer corpus and fixed the broken libicu code.
The buffer overflow could be triggered by psl_load(), psl_load_fp(),
psl_is_public_suffix(), psl_is_public_suffix2(), psl_unregistrable_domain(),
and psl_registrable_domain().
2017-07-13 15:40:58 +02:00
Tim Rühsen 3f03987897 Fix fuzz/ regression tester building 2017-07-13 15:39:46 +02:00
Tim Rühsen 631362d3d0 Fuzz all types of builds (idn2, idn, icu, none) 2017-07-12 15:37:35 +02:00
Tim Rühsen 2abce22058 Add UBSAN testing for Travis CI 2017-07-09 20:53:56 +02:00
Tim Rühsen 926cc34ade Fix uninitialised value created by stack allocation
Using valgrind testing the fuzz corpora revealed a missing
check in _add_punycode_if_needed() which lead to a
"Uninitialised value was created by a stack allocation".

Thanks to OSS-fuzz for the corpora, thanks valgrind to find this
issue (asan and ubsan didn't find it).
2017-07-09 20:21:55 +02:00