Commit Graph

47 Commits

Author SHA1 Message Date
Don 02648135c9 Use __has_declspec_attribute for shared builds
Clang compilation targets may support `__declspec` attributes. Because of that it has a `__has_declspec_attribute` [check](https://clang.llvm.org/docs/LanguageExtensions.html#has-declspec-attribute).

Currently libpsl just assumes that `__declspec` is Windows only. This adds a compatibility macro and checks whether `dllimport` and `dllexport` are available.
2018-10-07 11:32:45 +02:00
Tim Rühsen 01b6cba78f Remove leading _ from header guard 2018-04-19 10:16:45 +02:00
Tim Rühsen 6244c731b9 Extend visibility support
Also renamed PSL_PUBLIC -> PSL_API (conforming to other known libraries).
2018-04-19 10:07:10 +02:00
Chun-wei Fan 8e91838fd5 libpsl.h.in: Decorate public symbols for export
Introduce a macro, PSL_PUBLIC, which is defined as nothing by default,
which can be used by the compiler to instruct the linker to export the
public symbols, such as __declspec (dllexport) on Visual Studio.
2018-04-19 09:37:57 +02:00
Tim Rühsen 43ec750b40 Update copyrights 2018-02-22 10:04:00 +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
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 a33feb8ff4 Fix typos found by ka7/misspell_fixer 2017-04-19 11:46:27 +02: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 1ab7be5641 Check malloc/realloc results in src/psl.c
Fixes #57
Reported-by: https://github.com/daurnimator
2016-09-21 11:15:43 +02:00
Daniel Kahn Gillmor dc9cc02982 s/publix/public/ 2016-07-06 15:32:51 +02:00
Tim Rühsen 95a5152e56 Update copyright year to 2016 2016-01-02 13:36:49 +01:00
Tim Rühsen cde5e53ea6 Remove psl_builtin_compile_time() for reproducable builds 2016-01-01 15:44:24 +01:00
Tim Rühsen 9d2e93f0b8 New function psl_is_public_suffix2()
The current PSL has two sections, ICANN and PRIVATE.
This new function allows to limit the check for one or both
of these sections.
2015-12-06 21:55:56 +01:00
Tim Rühsen 53c2fe31a8 Update copyright years 2015-09-23 14:50:01 +02:00
Tim Rühsen 00b9cfb119 Add function psl_check_version_number() 2015-09-23 14:04:17 +02:00
Tim Rühsen eabf39c174 Add version numbers to libpsl.h 2015-09-23 12:38:34 +02:00
Tim Rühsen 6a8f33ee39 Add new function psl_builtin_outdated() 2015-09-19 14:00:49 +02:00
Tim Rühsen 34289fa59b Add function psl_suffix_wildcard_count() 2015-09-19 10:55:09 +02:00
Tim Rühsen acf34becf9 fixed typos in comments 2014-07-07 11:45:24 +02:00
Tim Ruehsen 7b3f4cf012 fixed psl_str_to_utf8lower prototype 2014-06-23 12:50:02 +02:00
Tim Ruehsen 29a74ebe3a added docs for psl_error_t 2014-06-20 17:12:17 +02:00
Tim Ruehsen 1c20931896 introduced defines for error codes 2014-06-20 12:36:51 +02:00
Tim Ruehsen 8c0e8a9283 fixed psl_str_to_utf8lower prototype 2014-06-18 14:50:26 +02:00
Tim Ruehsen 57394eb1f8 added psl_str_to_utf8lower() 2014-06-17 17:14:02 +02:00
Tim Ruehsen ecdadf76e5 added psl_get_version(), bumped version to 0.2.5 2014-05-31 19:33:30 +02:00
Tim Ruehsen 1efb6b75f4 changed code to C89 standard 2014-05-12 12:20:59 +02:00
Tim Ruehsen ee0064532c added psl_builtin_filename() 2014-04-17 12:31:06 +02:00
Tim Ruehsen 2c7c11d8a6 added psl_is_cookie_domain_acceptable() 2014-04-16 10:52:35 +02:00
Tim Ruehsen b49e681d8f renamed psl_is_public() to psl_is_public_suffix() 2014-04-12 16:04:42 +02:00
Tim Ruehsen 9d18b46ed9 moved gettext defines away from header file 2014-04-02 10:26:40 +02:00
Tim Ruehsen 51daebd295 include time.h to have time_t 2014-03-30 12:10:45 +02:00
Daniel Kahn Gillmor fb9ccbf88e change psl_free() to take a psl_ctx_t *psl
This uses the more common convention where the variable freed is the
thing returned from the constructor directly, rather than having the
deallocator also zero out the pointer itself.
2014-03-27 20:01:29 +01:00
Tim Ruehsen fd0ff2023b added psl_registrable_domain(), renamed psl_registered_domain -> psl_unregistrable_domain 2014-03-26 22:27:31 +01:00
Tim Ruehsen a18777c2e3 new function psl_registered_domain() 2014-03-26 17:14:25 +01:00
Tim Ruehsen fd6320db9e removed init/deinit function declarations 2014-03-26 09:09:22 +01:00
Daniel Kahn Gillmor 6e7e58aa38 builtin should be returned const
callers should never try to do any non-const operation with the
builtin public suffix list.
2014-03-24 18:18:45 -04:00
Tim Ruehsen 8b096a5eda LGPL->MIT license, some cleanups 2014-03-24 20:41:46 +01:00
Tim Ruehsen 9d1c62eb07 merged libpsl and libpsl-inline 2014-03-24 17:29:56 +01:00
Tim Ruehsen e379ba90cf replaced md5 by sha1 checksumming 2014-03-24 09:48:01 +01:00
Tim Ruehsen 0771255742 added info functions 2014-03-23 21:49:19 +01:00
Tim Ruehsen 3998137fd0 added PSL inline library 2014-03-22 20:35:56 +01:00
Tim Ruehsen a707b267c9 new function psl_load_fp() 2014-03-22 14:28:55 +01:00
Tim Ruehsen 577fd14bb4 renamed psl_is_tld() to psl_is_public() 2014-03-22 10:26:59 +01:00
Daniel Kahn Gillmor 2d99b964ff avoid a printf in the library
In general, we don't want libraries to send data to the standard file
descriptors.  There are more that need fixing.

Note: this introduces a new API (psl_suffix_count() and
psl_suffix_exception_count) to enable the same sort of output from the
test.  But this new API seems to imply the internal structure of the
public suffix list.

Do we want to expose this API?  There could be some other PSL
mechanism (e.g. DBOUND) that doesn't have these counts, and a drop-in
replacement would not know what to return here.
2014-03-21 14:38:30 -04:00
Tim Ruehsen dc05276515 autoconf first version 2014-03-20 22:43:04 +01:00
Tim Ruehsen 6563469fc1 inital commit 2014-03-20 17:17:24 +01:00