strongswan.git
6 years agoconfigure: Fix attribute((packed)) test when using -Werror
Martin Willi [Thu, 8 May 2014 14:37:48 +0000 (16:37 +0200)]
configure: Fix attribute((packed)) test when using -Werror

6 years agoconfigure: Mark conftest variable as unused to pass test with -Werror
Martin Willi [Thu, 8 May 2014 13:12:06 +0000 (15:12 +0200)]
configure: Mark conftest variable as unused to pass test with -Werror

When using -Werror, the warning for the unused variable would let the test fail,
even if in6addr_any is available.

6 years agoconfigure: Don't use -rdynamic with the LLVM toolchain
Martin Willi [Thu, 8 May 2014 14:28:50 +0000 (16:28 +0200)]
configure: Don't use -rdynamic with the LLVM toolchain

6 years agocharon-svc: Register for stop events not before reaching STATUS_RUNNING
Martin Willi [Wed, 28 May 2014 14:14:04 +0000 (16:14 +0200)]
charon-svc: Register for stop events not before reaching STATUS_RUNNING

MSDN SetServiceStatus(): "Do not register to accept controls while the status
is SERVICE_START_PENDING or the service can crash."

6 years agocharon-svc: Check if daemon has been initialized before invoking shutdown alert
Martin Willi [Wed, 28 May 2014 13:55:34 +0000 (15:55 +0200)]
charon-svc: Check if daemon has been initialized before invoking shutdown alert

6 years agoswanctl: Stop logging with Ctrl+C on Windows as well
Martin Willi [Thu, 6 Mar 2014 10:22:19 +0000 (11:22 +0100)]
swanctl: Stop logging with Ctrl+C on Windows as well

6 years agovici: Add Windows support
Martin Willi [Thu, 20 Feb 2014 10:29:35 +0000 (11:29 +0100)]
vici: Add Windows support

6 years agowindows: Provide POSIX supplement errno values missing in MinGW
Martin Willi [Fri, 9 May 2014 08:17:03 +0000 (10:17 +0200)]
windows: Provide POSIX supplement errno values missing in MinGW

MinGW headers do not define these values, but Windows system headers do.
Windows defines them for POSIX compatibility, we do the same locally.

6 years agowindows: Provide shutdown(2) operation aliases mapping to those on Windows
Martin Willi [Wed, 9 Apr 2014 12:21:12 +0000 (14:21 +0200)]
windows: Provide shutdown(2) operation aliases mapping to those on Windows

6 years agox509: Check return value when signing attribute certificates
Martin Willi [Thu, 3 Apr 2014 13:44:02 +0000 (15:44 +0200)]
x509: Check return value when signing attribute certificates

In addition that this lets AC generation fail properly if private key signing
fails, it also fixes an issue when compiling on Windows with MinGW 4.8.1, where
for some reason the attributeCertificateInfo got encoded incorrectly.

6 years agounit-tests: Support testable functions on Windows, avoid weak GCC symbols
Martin Willi [Thu, 3 Apr 2014 10:25:38 +0000 (12:25 +0200)]
unit-tests: Support testable functions on Windows, avoid weak GCC symbols

Instead of using weak symbols, we use dlsym() on Windows to find an arbitrary
symbol in libtest to detect its linkage. Instead of creating the associated
hashtable in the test runner, we maintain it in libstrongswan, making it
significantly simpler.

6 years agounit-tests: Seed chunk_hash() only once, but before creating any hashtables
Martin Willi [Thu, 3 Apr 2014 09:46:09 +0000 (11:46 +0200)]
unit-tests: Seed chunk_hash() only once, but before creating any hashtables

Due to the removal of pthread_once, we manually create the seed for
chunk_hash(). With the new testable functions interface, this won't work for
the hashtable initiated using __attribute__((constructor)). Enforce seeding
before creating that hashtable.

6 years agopki: Provide a fallback if strptime() not supported
Martin Willi [Thu, 3 Apr 2014 09:15:51 +0000 (11:15 +0200)]
pki: Provide a fallback if strptime() not supported

For simplicity, we support the default pki datetime format only, but optionally
accept four digit years for longer lifetimes.

6 years agoopenssl: Don't re-enter FIPS mode if we are already using it
Martin Willi [Wed, 2 Apr 2014 13:16:15 +0000 (15:16 +0200)]
openssl: Don't re-enter FIPS mode if we are already using it

If FIPS mode has been enabled by other means, under some environments it can't
be entered again. It fails with "FIPS mode already set". To avoid it, we first
check the mode before changing it.

6 years agounit-tests: Force a CET/CEST timezone Windows understands
Martin Willi [Wed, 2 Apr 2014 10:29:32 +0000 (12:29 +0200)]
unit-tests: Force a CET/CEST timezone Windows understands

As it is currently unclear what the "three-letter-timezone" for CEST is, we
use the German timezone, which actually is CET/CEST. SetEnvironmentVariable()
"TZ" does not seem to affect localtime(), so we use _putenv() instead.

6 years agotravis: Build "all" test without Windows specific charon-svc or dbghelp
Martin Willi [Wed, 2 Apr 2014 09:31:41 +0000 (11:31 +0200)]
travis: Build "all" test without Windows specific charon-svc or dbghelp

6 years agoutils: Add a wait_sigint() function to wait for SIGINT or equivalent
Martin Willi [Mon, 10 Mar 2014 11:12:47 +0000 (12:12 +0100)]
utils: Add a wait_sigint() function to wait for SIGINT or equivalent

6 years agopki: Switch to binary mode on Windows when reading/writing DER to FDs
Martin Willi [Sat, 8 Mar 2014 13:57:54 +0000 (14:57 +0100)]
pki: Switch to binary mode on Windows when reading/writing DER to FDs

6 years agopki: Stop prompting for password when entering empty string
Martin Willi [Mon, 10 Mar 2014 16:35:06 +0000 (17:35 +0100)]
pki: Stop prompting for password when entering empty string

6 years agochunk: On Windows, use binary mode in chunk_write()
Martin Willi [Sat, 8 Mar 2014 13:37:28 +0000 (14:37 +0100)]
chunk: On Windows, use binary mode in chunk_write()

6 years agoimv: Provide database table scheme for MySQL
Martin Willi [Fri, 7 Mar 2014 11:53:19 +0000 (12:53 +0100)]
imv: Provide database table scheme for MySQL

6 years agolibpts: Respect path separators when concatenating database filenames
Martin Willi [Fri, 7 Mar 2014 11:28:07 +0000 (12:28 +0100)]
libpts: Respect path separators when concatenating database filenames

As we can't use the system native directory separator on cross-platform
measurements, we determine the path separator from the base directory format.

6 years agoattest: Properly separate and build absolute path names on Windows
Martin Willi [Fri, 7 Mar 2014 11:27:20 +0000 (12:27 +0100)]
attest: Properly separate and build absolute path names on Windows

6 years agolibimcv: Pass TNC_SESSION_ID as argument instead as a environment variable
Martin Willi [Thu, 6 Mar 2014 18:08:24 +0000 (19:08 +0100)]
libimcv: Pass TNC_SESSION_ID as argument instead as a environment variable

Doing so works on Windows as well.

6 years agolibimcv: Be a little more verbose about the Windows system reported
Martin Willi [Thu, 6 Mar 2014 16:35:51 +0000 (17:35 +0100)]
libimcv: Be a little more verbose about the Windows system reported

6 years agoimv: Return an empty enumerator instead of null, as expected by callers
Martin Willi [Thu, 6 Mar 2014 16:25:21 +0000 (17:25 +0100)]
imv: Return an empty enumerator instead of null, as expected by callers

6 years agoimc-os: Add missing TNC_IMC_API definitions, fixes warnings on Windows
Martin Willi [Thu, 6 Mar 2014 16:24:49 +0000 (17:24 +0100)]
imc-os: Add missing TNC_IMC_API definitions, fixes warnings on Windows

6 years agoimv-os: Don't build pacman on Windows
Martin Willi [Thu, 6 Mar 2014 16:24:27 +0000 (17:24 +0100)]
imv-os: Don't build pacman on Windows

6 years agofile-logger: Emulate setlinebuf() if not supported by using fflush()
Martin Willi [Wed, 5 Mar 2014 15:28:38 +0000 (16:28 +0100)]
file-logger: Emulate setlinebuf() if not supported by using fflush()

6 years agocharon-svc: When running as service, change working directory to executable
Martin Willi [Wed, 5 Mar 2014 14:45:42 +0000 (15:45 +0100)]
charon-svc: When running as service, change working directory to executable

Services get executed with system32 as current working directory. This does
not work for us, as we expect paths to be relative to the executable.

6 years agoopenssl: Be less verbose about FIPS mode when not running as daemon
Martin Willi [Wed, 5 Mar 2014 11:18:33 +0000 (12:18 +0100)]
openssl: Be less verbose about FIPS mode when not running as daemon

While this is valuable information, printing it for pki and other tools is
annoying.

6 years agounit-tests: Adapt settings tests for Windows
Martin Willi [Tue, 4 Mar 2014 13:00:11 +0000 (14:00 +0100)]
unit-tests: Adapt settings tests for Windows

6 years agoswanctl: Concatenate relative certificate paths correctly on Windows
Martin Willi [Thu, 15 May 2014 13:12:35 +0000 (15:12 +0200)]
swanctl: Concatenate relative certificate paths correctly on Windows

6 years agoparser-helper: Detect absolute pathnames and concatenate paths on Windows
Martin Willi [Tue, 4 Mar 2014 12:59:04 +0000 (13:59 +0100)]
parser-helper: Detect absolute pathnames and concatenate paths on Windows

6 years agoutils: Provide a path_absolute() function to check path for non-relativeness
Martin Willi [Fri, 7 Mar 2014 11:25:31 +0000 (12:25 +0100)]
utils: Provide a path_absolute() function to check path for non-relativeness

The usually used trivial '/' check won't work on Windows platforms.

6 years agoutils: Return plain drive letter as base/pathname for drive letters on Windows
Martin Willi [Fri, 7 Mar 2014 13:16:50 +0000 (14:16 +0100)]
utils: Return plain drive letter as base/pathname for drive letters on Windows

6 years agoutils: Support Windows path separators in path_basename/dirname
Martin Willi [Fri, 7 Mar 2014 11:12:55 +0000 (12:12 +0100)]
utils: Support Windows path separators in path_basename/dirname

6 years agoutils: Define a platform directory separator character used in paths
Martin Willi [Tue, 4 Mar 2014 12:58:20 +0000 (13:58 +0100)]
utils: Define a platform directory separator character used in paths

6 years agoconfigure: Separate pki from --disable-tools
Martin Willi [Tue, 4 Mar 2014 11:24:52 +0000 (12:24 +0100)]
configure: Separate pki from --disable-tools

While pki builds and runs just fine on Windows, this is not true for scepclient.

6 years agowindows: Provide a getpass() implementation
Martin Willi [Thu, 20 Feb 2014 10:30:17 +0000 (11:30 +0100)]
windows: Provide a getpass() implementation

6 years agoconfigure: Check if __attribute__((packed)) works as expected
Martin Willi [Wed, 15 Jan 2014 16:01:24 +0000 (17:01 +0100)]
configure: Check if __attribute__((packed)) works as expected

This is really hard to detect if not, and is not unlikely. If -mms-bitfields
is given, the attribute does not work. Even worse, that switch is by default
on with GCC/MinGW 4.7+ for Windows targets.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991

6 years agolibpts: Use chunk_map() to load AIK blob
Martin Willi [Mon, 13 Jan 2014 15:21:36 +0000 (16:21 +0100)]
libpts: Use chunk_map() to load AIK blob

6 years agochunk: On Windows, chunk_map() opens files in binary mode
Martin Willi [Mon, 13 Jan 2014 15:20:19 +0000 (16:20 +0100)]
chunk: On Windows, chunk_map() opens files in binary mode

6 years agolibpts: Fix PCR read, avoid cast of a pointer to different sized integer
Martin Willi [Thu, 9 Jan 2014 16:29:35 +0000 (17:29 +0100)]
libpts: Fix PCR read, avoid cast of a pointer to different sized integer

6 years agolibpts: Parse TPM version info without TrouSerS helper function
Martin Willi [Thu, 9 Jan 2014 16:25:37 +0000 (17:25 +0100)]
libpts: Parse TPM version info without TrouSerS helper function

Trspi_UnloadBlob_CAP_VERSION_INFO() is a TrouSerS specific function, not
available on all platforms.

6 years agolibnccs: Fix casts between integers and pointers
Martin Willi [Thu, 9 Jan 2014 14:00:09 +0000 (15:00 +0100)]
libnccs: Fix casts between integers and pointers

6 years agotnc-imc/imv: Don't include <dlfcn.h> on Windows
Martin Willi [Thu, 9 Jan 2014 13:59:25 +0000 (14:59 +0100)]
tnc-imc/imv: Don't include <dlfcn.h> on Windows

6 years agolibtnccs: Use a default tnc_config in the current working dir on Windows
Martin Willi [Thu, 9 Jan 2014 13:58:32 +0000 (14:58 +0100)]
libtnccs: Use a default tnc_config in the current working dir on Windows

6 years agolibpts: Work around BASETSD_H define mismatch between MinGW and TSS
Martin Willi [Wed, 8 Jan 2014 15:45:09 +0000 (16:45 +0100)]
libpts: Work around BASETSD_H define mismatch between MinGW and TSS

6 years agoimc-attestation: Use TNC_IMV_API prefix on TNC functions for correct declspec
Martin Willi [Wed, 8 Jan 2014 11:24:37 +0000 (12:24 +0100)]
imc-attestation: Use TNC_IMV_API prefix on TNC functions for correct declspec

6 years agolibimcv: Use TNC_IMV_API prefix on TNC functions for correct declspec
Martin Willi [Wed, 8 Jan 2014 11:23:13 +0000 (12:23 +0100)]
libimcv: Use TNC_IMV_API prefix on TNC functions for correct declspec

6 years agolibimcv: Silence integer to pointer cast warnings
Martin Willi [Wed, 8 Jan 2014 11:17:01 +0000 (12:17 +0100)]
libimcv: Silence integer to pointer cast warnings

6 years agopt-tls-client: Support platforms not having syslog()
Martin Willi [Mon, 2 Jun 2014 09:55:59 +0000 (11:55 +0200)]
pt-tls-client: Support platforms not having syslog()

6 years agopt-tls-client: Remove unneeded socket.h include, fixing Windows build
Martin Willi [Wed, 8 Jan 2014 11:04:31 +0000 (12:04 +0100)]
pt-tls-client: Remove unneeded socket.h include, fixing Windows build

6 years agoattest: Disable syslog logging if syslog() missing
Martin Willi [Wed, 8 Jan 2014 11:03:58 +0000 (12:03 +0100)]
attest: Disable syslog logging if syslog() missing

6 years agolibpts: Fix build on Windows
Martin Willi [Wed, 8 Jan 2014 11:00:06 +0000 (12:00 +0100)]
libpts: Fix build on Windows

6 years agolibpts: Link against ws_w32 on Windows
Martin Willi [Wed, 8 Jan 2014 10:59:50 +0000 (11:59 +0100)]
libpts: Link against ws_w32 on Windows

6 years agolibimcv: Port os_info (partially) to Windows
Martin Willi [Wed, 8 Jan 2014 10:56:55 +0000 (11:56 +0100)]
libimcv: Port os_info (partially) to Windows

6 years agolibimcv: Disable default syslog() logging if not supported
Martin Willi [Wed, 8 Jan 2014 10:29:41 +0000 (11:29 +0100)]
libimcv: Disable default syslog() logging if not supported

6 years agolibimcv: Link against ws_w32 on Windows
Martin Willi [Wed, 8 Jan 2014 10:56:44 +0000 (11:56 +0100)]
libimcv: Link against ws_w32 on Windows

6 years agolibpttls: Link against ws_w32 on Windows
Martin Willi [Wed, 8 Jan 2014 10:07:01 +0000 (11:07 +0100)]
libpttls: Link against ws_w32 on Windows

6 years agolibtnccs: Link against ws_w32 on Windows
Martin Willi [Wed, 8 Jan 2014 10:06:50 +0000 (11:06 +0100)]
libtnccs: Link against ws_w32 on Windows

6 years agolibtls: Link against ws_w32 on Windows
Martin Willi [Wed, 8 Jan 2014 10:06:18 +0000 (11:06 +0100)]
libtls: Link against ws_w32 on Windows

6 years agobus: Build syslog logger depending on syslog() availability
Martin Willi [Wed, 8 Jan 2014 10:28:49 +0000 (11:28 +0100)]
bus: Build syslog logger depending on syslog() availability

6 years agowindows: Include for Vista instead of defining CondVar/SRWLock functions ourself
Martin Willi [Thu, 2 Jan 2014 17:14:51 +0000 (18:14 +0100)]
windows: Include for Vista instead of defining CondVar/SRWLock functions ourself

6 years agowindows: Don't redeclare inet_ntop/pton if already defined
Martin Willi [Thu, 2 Jan 2014 14:20:14 +0000 (15:20 +0100)]
windows: Don't redeclare inet_ntop/pton if already defined

6 years agowindows: Check for existence of error codes before defining them
Martin Willi [Thu, 2 Jan 2014 13:34:00 +0000 (14:34 +0100)]
windows: Check for existence of error codes before defining them

6 years agowindows: Check for clock_gettime() function itself as well
Martin Willi [Thu, 2 Jan 2014 13:30:45 +0000 (14:30 +0100)]
windows: Check for clock_gettime() function itself as well

CLOCK_THREAD_CPUTIME_ID seems to be defined sometimes even if clock_gettime() is
missing.

6 years agowindows: Overload sleep() cancellable when it is defined in <unistd.h>
Martin Willi [Thu, 2 Jan 2014 13:29:35 +0000 (14:29 +0100)]
windows: Overload sleep() cancellable when it is defined in <unistd.h>

6 years agosqlite: Avoid name clash when building on Windows
Martin Willi [Mon, 2 Dec 2013 10:36:34 +0000 (11:36 +0100)]
sqlite: Avoid name clash when building on Windows

6 years agomysql: Add Windows support
Martin Willi [Fri, 22 Nov 2013 08:08:09 +0000 (09:08 +0100)]
mysql: Add Windows support

As the mysql_config script is not available for Windows, we use a hardcoded
library name and no additional CFLAGS. This builds fine against the binary
MySQL Connector/C distribution.

6 years agocharon-svc: Implement a Windows IKE service using libcharon
Martin Willi [Tue, 29 Oct 2013 16:33:33 +0000 (17:33 +0100)]
charon-svc: Implement a Windows IKE service using libcharon

The resulting binary can be either run as Windows service or directly as
console application.

6 years agolibcharon: Link against Winsock2 on Windows
Martin Willi [Tue, 29 Oct 2013 09:59:08 +0000 (10:59 +0100)]
libcharon: Link against Winsock2 on Windows

6 years agofilelog: Ignore flush_line option if setlinebuf() not supported
Martin Willi [Tue, 29 Oct 2013 09:58:39 +0000 (10:58 +0100)]
filelog: Ignore flush_line option if setlinebuf() not supported

6 years agowindows: Provide a close(2) that can close both file handles and sockets
Martin Willi [Thu, 21 Nov 2013 15:27:21 +0000 (16:27 +0100)]
windows: Provide a close(2) that can close both file handles and sockets

6 years agochunk: Fallback to recv() on Windows chunk_from_fd() when operating on socket
Martin Willi [Thu, 21 Nov 2013 15:27:50 +0000 (16:27 +0100)]
chunk: Fallback to recv() on Windows chunk_from_fd() when operating on socket

6 years agowindows: Don't use function macros to overload send/recv() and friends
Martin Willi [Tue, 29 Oct 2013 09:48:09 +0000 (10:48 +0100)]
windows: Don't use function macros to overload send/recv() and friends

While the macro versions would not catch non-function invocations, we actually
have to use catch all to support the sender_t.send() function.

6 years agocontroller: Remove unused <dlfcn.h> include
Martin Willi [Tue, 29 Oct 2013 09:47:36 +0000 (10:47 +0100)]
controller: Remove unused <dlfcn.h> include

6 years agocharon: Don't use syslog() if not supported
Martin Willi [Tue, 29 Oct 2013 09:46:30 +0000 (10:46 +0100)]
charon: Don't use syslog() if not supported

6 years agoencoding: Don't explicitly include <arpa/inet.h>
Martin Willi [Tue, 29 Oct 2013 09:45:43 +0000 (10:45 +0100)]
encoding: Don't explicitly include <arpa/inet.h>

6 years agopayload: Use common prefixes for all payload type identifiers
Martin Willi [Tue, 29 Oct 2013 09:09:39 +0000 (10:09 +0100)]
payload: Use common prefixes for all payload type identifiers

The old identifiers did not use a proper namespace and often clashed with
other defines.

6 years agowindows: Never link to libpthread
Martin Willi [Wed, 6 Nov 2013 10:17:01 +0000 (11:17 +0100)]
windows: Never link to libpthread

6 years agoopenssl: Fix includes to prevent <winsock2.h> to complain about include order
Martin Willi [Fri, 25 Oct 2013 15:30:27 +0000 (17:30 +0200)]
openssl: Fix includes to prevent <winsock2.h> to complain about include order

6 years agoopenssl: Undef OpenSSLs X509_NAME defined by <wincrypt.h>
Martin Willi [Fri, 25 Oct 2013 15:29:31 +0000 (17:29 +0200)]
openssl: Undef OpenSSLs X509_NAME defined by <wincrypt.h>

6 years agoopenssl: Check and link against libeay32 instead of libcrypto on Windows
Martin Willi [Fri, 25 Oct 2013 15:28:13 +0000 (17:28 +0200)]
openssl: Check and link against libeay32 instead of libcrypto on Windows

Most Windows OpenSSL builds come with the crypto library named libeay32.

6 years agowindows: Provide a strndup(3) replacement
Martin Willi [Fri, 25 Oct 2013 14:41:48 +0000 (16:41 +0200)]
windows: Provide a strndup(3) replacement

6 years agosha1: Include <library.h> instead of directly including <arpa/inet.h>
Martin Willi [Fri, 25 Oct 2013 14:41:04 +0000 (16:41 +0200)]
sha1: Include <library.h> instead of directly including <arpa/inet.h>

On Windows we don't have <arpa/inet.h>

6 years agox509: Undef OCSP_RESPONSE from <wincrypt.h> before using it
Martin Willi [Fri, 25 Oct 2013 14:40:32 +0000 (16:40 +0200)]
x509: Undef OCSP_RESPONSE from <wincrypt.h> before using it

6 years agoplugins: Don't link with -rdynamic on Windows
Martin Willi [Fri, 25 Oct 2013 14:03:47 +0000 (16:03 +0200)]
plugins: Don't link with -rdynamic on Windows

6 years agounit-tests: Uninline dlopen() and friends, make more dynamic, fix dlerror()
Martin Willi [Fri, 25 Oct 2013 14:03:07 +0000 (16:03 +0200)]
unit-tests: Uninline dlopen() and friends, make more dynamic, fix dlerror()

As the error string contains a newline, we have to remove that before
returning the string.

6 years agothread-value: Immediately cleanup all Windows TLS values on destroy
Martin Willi [Fri, 6 Dec 2013 10:33:40 +0000 (11:33 +0100)]
thread-value: Immediately cleanup all Windows TLS values on destroy

6 years agowindows: Prevent queueing of multiple thread cancel APCs
Martin Willi [Wed, 28 May 2014 15:34:48 +0000 (17:34 +0200)]
windows: Prevent queueing of multiple thread cancel APCs

This avoids any races during cleanup invocation if multiple cancel() requests
come in.

6 years agowindows: Provide a complete native Windows threading backend
Martin Willi [Mon, 21 Oct 2013 16:07:51 +0000 (18:07 +0200)]
windows: Provide a complete native Windows threading backend

6 years agowindows: Provide a cancellable usleep(), but with ms resolution only
Martin Willi [Wed, 23 Oct 2013 13:50:10 +0000 (15:50 +0200)]
windows: Provide a cancellable usleep(), but with ms resolution only

6 years agowindows: Add a sleep function acting as cancellation point
Martin Willi [Mon, 21 Oct 2013 14:58:54 +0000 (16:58 +0200)]
windows: Add a sleep function acting as cancellation point

6 years agowindows: Provide a sched_yield() implementation
Martin Willi [Wed, 23 Oct 2013 14:44:14 +0000 (16:44 +0200)]
windows: Provide a sched_yield() implementation

6 years agolibipsec: Avoid name clash with sched.h clone()
Martin Willi [Mon, 10 Mar 2014 16:06:57 +0000 (17:06 +0100)]
libipsec: Avoid name clash with sched.h clone()

6 years agowindows: Provide a time_monotonic() based on GetTickCount64()
Martin Willi [Fri, 18 Oct 2013 12:19:32 +0000 (14:19 +0200)]
windows: Provide a time_monotonic() based on GetTickCount64()

6 years agolibrary: Change init/deinit order to allow utils to depend on threading
Martin Willi [Mon, 21 Oct 2013 11:00:29 +0000 (13:00 +0200)]
library: Change init/deinit order to allow utils to depend on threading

6 years agochunk: Don't depend on pthread directly
Martin Willi [Fri, 18 Oct 2013 13:04:55 +0000 (15:04 +0200)]
chunk: Don't depend on pthread directly