* pkg-config sets CJSON_FOUND, check for that instead of the paths, which
might be unset or set to <var>-NOTFOUND
* move detection to own file. find_package targets are meant to be used
in same directory or below, but we define the WinPR target one above,
so include it in parent
as we now support cJSON and json-c we need to wrap the functions we use.
also allows drop in replacements for older cJSON versions lacking
certain functions.
* add new C# utility to generate timezone mappings
* update procedure to follow for updating timezones
* remove obsolete TimeZones.csx script
* update generated files with new tool
* add option to use ICU as a fallback mapping (eliminate need for
WindowsZones mapping list)
* extract timezone related settings from localtime_r and eliminate the
need to parse the complex TimeZones table
* Add new TimeZoneNameMap to map IANA to windows names (Id, Standard,
Daylight and Display names)
* Implement GetDynamicTimeZoneInformation
Currently, the opensc-pkcs11.so library is used for ncrypt support.
However, the p11-kit-proxy.so library is able to aggregate more pkcs11
modules at runtime (OpenSC is one of them, but also some third party
modules that are not supported by OpenSC). Let's use preferably
p11-kit-proxy.so if available.
Currently, the module path is hardcoded in the build_pkinit_args function.
Let's obtain the module path from provider as a preparation for the
follow-up changes.
The pkcs11 implementaion contains a list of the standard library paths
for various architectures and distribution. But that list also contains
just the opensc-pkcs11.so basename without path. Therefor I am conviced
that all those other entries can be simply dropped. Let's do that as
a preparation for the follow-up changes.
The TZ variable may either contain a direct timezone representation, or
a reference to a file in tzfile(5) format. Mapping a direct timezone
representation to a Windows timezone would be difficult.
According to tzset(3), a file reference should start with a colon, though
glibc treats it as optional. It may be an absolute path or a path relative
to /usr/share/zoneinfo. Adjust winpr_detect_windows_time_zone to accept
either.