Tim Rühsen
b9a190264f
psl.c: Include strings.h only if it is available
2020-03-10 15:16:25 +01:00
Tim Rühsen
fca622f587
Include string.h in src/psl.c
2020-02-01 17:04:36 +01:00
Xavier Claessens
93e3bb3e29
Fix build when langinfo.h is not found
2019-06-03 15:52:48 -04:00
Tim Rühsen
999f28cc15
Use %NULL and %FILE overall in gtk-docs
2019-05-26 18:01:50 +02:00
Jakub Adam
c230a7b48b
Windows: MSVC doesn't define ssize_t
2019-04-05 13:15:34 +02:00
carlo-bramini
7dcb69eb1d
Windows: decrease minimum version to NT2000
...
Use WSAStringToAddressW() instead of inet_pton()
Undefine _WIN32_WINNT before (re)define it.
Fix if this macro is already declared somewhere.
Just add Winsock, no need to test anymore.
The number of characters must be used.
Use countof() macro instead
Improved fixes for Windows
2019-03-26 12:04:22 +01:00
Xavier Claessens
1653897a49
Rename suffixes_dafsa.c to suffixes_dafsa.h
...
It is a generated file that we #include, so it makes more sense to have
.h extension. Also Meson tries to compile that file if it has .c
extension.
2018-12-06 09:11:02 -05:00
Tim Rühsen
9eedf5f246
Fix code broken by 2nd last patch
2018-10-29 14:56:27 +01:00
Tim Rühsen
1e1b9f5748
src/psl.c: Use C99 compliant defines
2018-10-29 13:17:59 +01:00
Tim Rühsen
9dba7e4f4c
Use more C99 compliant file-scope variables
2018-10-29 12:16:52 +01:00
Tim Rühsen
ab893d4e23
Rename _PSL_* macros to be POSIX compliant
...
Reported-by: Marc Lehmann
2018-10-14 20:24:45 +02:00
Tim Rühsen
e87d463d04
Remove NLS / gettext from library code
2018-10-13 22:37:00 +02:00
Tim Rühsen
e1104c58f3
Remove redundant code in _psl_is_public_suffix()
...
Reported-by: Marc Lehmann
2018-10-13 22:24:05 +02:00
Tim Rühsen
9d064cace8
Update to latest Public Suffix List
2018-10-07 21:15:07 +02:00
Tim Rühsen
d691a3b941
Add Windows compatibility to fopen
2018-10-05 20:47:26 +02:00
Tim Rühsen
b220ffb0b9
Fix MinGW cros build on Linux
2018-04-21 11:30:22 +02:00
Chun-wei Fan
859b307593
src/psl.c: Make code compilable on native Windows
...
Include the Windows/Winsock2 counterparts of the networking headers on
Windows and avoid including *NIX-specific headers on Windows.
Also remove the small bits of C99isms from the code.
2018-04-19 09:37:37 +02:00
Tim Rühsen
f7e0d9441a
Fix --disable-builtin configure option
2018-03-05 11:25:06 +01:00
Tim Rühsen
e0c1ed0e7a
Improve docs for PSL_TYPE_NO_STAR_RULE
2018-02-26 11:45:57 +01:00
Tim Rühsen
8fd480584e
Fix PSL_TYPE_NO_STAR_RULE and improve test suite
...
Reported-by: Daniel Kahn Gillmor
2018-02-23 12:09:07 +01:00
Tim Rühsen
43ec750b40
Update copyrights
2018-02-22 10:04:00 +01:00
Tim Rühsen
aaacdae977
Add TLDs to (DAFSA) data to allow skipping the star rule
2018-02-21 20:49:26 +01:00
Claudio Saavedra
9e9341f5b9
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-02-21 17:11:01 +02:00
Tim Rühsen
819486edd1
Remove C99 loop construct
2018-02-21 15:56:58 +01:00
Tim Rühsen
179ca703b2
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-02-13 15:42:17 +01:00
Tim Rühsen
1c44781718
Fix unsigned integer overflow in _mem_is_ascii()
...
Found by OSS-Fuzz. It has no impact.
2017-11-03 12:10:05 +01:00
Tim Rühsen
4e51142022
psl_*_count() return -1 if information is not available
2017-09-15 17:14:32 +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
659ee4391e
Remove compiler warnings
2017-07-20 11:36:13 +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
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
Tim Rühsen
492c884d7d
Fix memory overflow in LIBICU code of psl_str_to_utf8lower()
...
Immediately discovered with the new --enable-asan / --enable-ubsan
configure options, thanks to the fuzz corpora.
2017-06-20 16:30:29 +02:00
Tim Rühsen
d686c1fff7
Fix memleak in _psl_is_public_suffix() (found by fuzzing)
2017-06-13 22:24:18 +02:00
Tim Rühsen
e584007f42
* src/psl.c (psl_str_to_utf8lower): Fix docs
2017-06-12 17:00:53 +02:00
Tim Rühsen
045bf63031
Fix double free in psl_load_fp(), found by fuzzing
2017-06-09 22:53:19 +02:00
Tim Rühsen
a33feb8ff4
Fix typos found by ka7/misspell_fixer
2017-04-19 11:46:27 +02:00
Tim Rühsen
448f6e4564
Fix order of files in psl_latest()
...
If 'dist_filename' and 'filename' are given and both have the same
age, we want 'dist_filename' (expected DAFSA) being loaded.
2017-02-21 12:18:29 +01:00
Tim Rühsen
eda8276b5f
Use NON-TRANSITIONAL toASCII() with libicu
2017-01-16 10:47:21 +01:00
Tim Rühsen
26d0856d0a
Fix typo
2017-01-16 10:26:12 +01:00
Tim Rühsen
526768cc5d
Use TR46 non-transitional with libidn2 >= 0.14
...
I changed my mind after talking with the cURL
maintainer Daniel Stenberg.
See https://github.com/curl/curl/pull/1207
2017-01-14 15:47:44 +01:00
Tim Rühsen
2c17d56234
Use TR46 transitional with libidn2 >= 0.14
2017-01-03 12:30:43 +01:00
Tim Rühsen
ff29f13d8f
Add functions psl_latest() and psl_dist_filename()
...
Also add a new ./configure function to set a distribution wide
PSL file used by psl_latest(): --with-psl-distfile
If possible that filename should point to a DAFSA PSL file that
becomes updated regularly.
2016-12-06 20:16:12 +01:00
Tim Rühsen
deabd4a546
Replace psl2c by psl-make-dafsa
...
Removed --input-format from psl-make-dafsa.
Added --output-format=cxx+ to psl-make-dafsa.
Removed psl2c.
2016-12-06 15:22:18 +01:00
Tim Rühsen
6490b8214b
Don't taint out variable on error in psl_str_to_utf8lower()
...
Fixes #71
2016-12-05 16:28:47 +01:00
Tim Rühsen
2a3a743643
Fix typo Publix -> Public
2016-12-05 15:01:27 +01:00
Frederic Cambus
9f0b09e830
Missing includes for in6_addr / AF_INET*, fixes compilation on OpenBSD
2016-12-02 19:11:18 +01:00
Tim Rühsen
65e785e1ca
Replace NFCK -> NFKC in the docs
2016-11-29 14:49:35 +01:00
Tim Rühsen
5d32b80077
Make API docs more detailed
2016-11-14 12:08:20 +01:00
Tim Rühsen
2c871b1306
Skip conversion in _psl_is_public_suffix() for builtin psl context
2016-11-06 11:59:36 +01:00
Tim Rühsen
4b42762cbf
Skip punycode conversion for _psl_is_public_suffix() if data contains UTF-8 rules
2016-11-05 10:37:01 +01:00