Commit Graph

13187 Commits

Author SHA1 Message Date
Martin Willi 95e67e8d19 travis: Perform build tests with -Werror 2014-06-04 15:53:13 +02:00
Martin Willi 3b7b806d27 windows: Compile with -mno-ms-bitfields if option not set explicitly
-mms-bitfields is the default in newer MinGWs, but it breaks
__attribute__((packed)).
2014-06-04 15:53:13 +02:00
Martin Willi 0ca8541564 configure: Fix attribute((packed)) test when using -Werror 2014-06-04 15:53:13 +02:00
Martin Willi 3ab6082a0f 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.
2014-06-04 15:53:13 +02:00
Martin Willi 2d42dce4a4 configure: Don't use -rdynamic with the LLVM toolchain 2014-06-04 15:53:13 +02:00
Martin Willi 4ce8b0cae6 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."
2014-06-04 15:53:12 +02:00
Martin Willi ef7bfadabb charon-svc: Check if daemon has been initialized before invoking shutdown alert 2014-06-04 15:53:12 +02:00
Martin Willi f59e2b7bb3 swanctl: Stop logging with Ctrl+C on Windows as well 2014-06-04 15:53:12 +02:00
Martin Willi dfb23fa159 vici: Add Windows support 2014-06-04 15:53:12 +02:00
Martin Willi 7659f67af3 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.
2014-06-04 15:53:12 +02:00
Martin Willi 2162e50004 windows: Provide shutdown(2) operation aliases mapping to those on Windows 2014-06-04 15:53:12 +02:00
Martin Willi c079c098c4 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.
2014-06-04 15:53:12 +02:00
Martin Willi 0c34c1b3af 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.
2014-06-04 15:53:12 +02:00
Martin Willi 460adb5d09 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.
2014-06-04 15:53:11 +02:00
Martin Willi 5cd28cd25a 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.
2014-06-04 15:53:11 +02:00
Martin Willi d34d800c6c 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.
2014-06-04 15:53:11 +02:00
Martin Willi 549502bcb2 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.
2014-06-04 15:53:11 +02:00
Martin Willi c2c2c639af travis: Build "all" test without Windows specific charon-svc or dbghelp 2014-06-04 15:53:11 +02:00
Martin Willi 66c0801dc7 utils: Add a wait_sigint() function to wait for SIGINT or equivalent 2014-06-04 15:53:11 +02:00
Martin Willi 13298719e3 pki: Switch to binary mode on Windows when reading/writing DER to FDs 2014-06-04 15:53:11 +02:00
Martin Willi f1e7b9b0d7 pki: Stop prompting for password when entering empty string 2014-06-04 15:53:11 +02:00
Martin Willi 1309cb7b1a chunk: On Windows, use binary mode in chunk_write() 2014-06-04 15:53:10 +02:00
Martin Willi fc50731376 imv: Provide database table scheme for MySQL 2014-06-04 15:53:10 +02:00
Martin Willi 0b78661042 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.
2014-06-04 15:53:10 +02:00
Martin Willi 0731d41ca9 attest: Properly separate and build absolute path names on Windows 2014-06-04 15:53:10 +02:00
Martin Willi ecc6c2e8a4 libimcv: Pass TNC_SESSION_ID as argument instead as a environment variable
Doing so works on Windows as well.
2014-06-04 15:53:10 +02:00
Martin Willi 9b7d1a3b33 libimcv: Be a little more verbose about the Windows system reported 2014-06-04 15:53:10 +02:00
Martin Willi ede10dd974 imv: Return an empty enumerator instead of null, as expected by callers 2014-06-04 15:53:10 +02:00
Martin Willi 5388389bef imc-os: Add missing TNC_IMC_API definitions, fixes warnings on Windows 2014-06-04 15:53:10 +02:00
Martin Willi 0c512610cc imv-os: Don't build pacman on Windows 2014-06-04 15:53:09 +02:00
Martin Willi 55c2b47a90 file-logger: Emulate setlinebuf() if not supported by using fflush() 2014-06-04 15:53:09 +02:00
Martin Willi fc987bea52 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.
2014-06-04 15:53:09 +02:00
Martin Willi 93168c5f1d 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.
2014-06-04 15:53:09 +02:00
Martin Willi 74e14ea547 unit-tests: Adapt settings tests for Windows 2014-06-04 15:53:09 +02:00
Martin Willi b67069b00c swanctl: Concatenate relative certificate paths correctly on Windows 2014-06-04 15:53:09 +02:00
Martin Willi bc9fd3735d parser-helper: Detect absolute pathnames and concatenate paths on Windows 2014-06-04 15:53:09 +02:00
Martin Willi 67b3bcd13d utils: Provide a path_absolute() function to check path for non-relativeness
The usually used trivial '/' check won't work on Windows platforms.
2014-06-04 15:53:09 +02:00
Martin Willi 2496eaffde utils: Return plain drive letter as base/pathname for drive letters on Windows 2014-06-04 15:53:08 +02:00
Martin Willi 8182631bc3 utils: Support Windows path separators in path_basename/dirname 2014-06-04 15:53:08 +02:00
Martin Willi a43f1e5631 utils: Define a platform directory separator character used in paths 2014-06-04 15:53:08 +02:00
Martin Willi b70849ada2 configure: Separate pki from --disable-tools
While pki builds and runs just fine on Windows, this is not true for scepclient.
2014-06-04 15:53:08 +02:00
Martin Willi 41bb8ba5d2 windows: Provide a getpass() implementation 2014-06-04 15:53:08 +02:00
Martin Willi 4161ee6678 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
2014-06-04 15:53:08 +02:00
Martin Willi 37089963b6 libpts: Use chunk_map() to load AIK blob 2014-06-04 15:53:08 +02:00
Martin Willi c5447bc2f5 chunk: On Windows, chunk_map() opens files in binary mode 2014-06-04 15:53:08 +02:00
Martin Willi 2877355408 libpts: Fix PCR read, avoid cast of a pointer to different sized integer 2014-06-04 15:53:07 +02:00
Martin Willi c9891716b8 libpts: Parse TPM version info without TrouSerS helper function
Trspi_UnloadBlob_CAP_VERSION_INFO() is a TrouSerS specific function, not
available on all platforms.
2014-06-04 15:53:07 +02:00
Martin Willi becc382101 libnccs: Fix casts between integers and pointers 2014-06-04 15:53:07 +02:00
Martin Willi ce3e7ac57d tnc-imc/imv: Don't include <dlfcn.h> on Windows 2014-06-04 15:53:07 +02:00
Martin Willi 6d8094ee1f libtnccs: Use a default tnc_config in the current working dir on Windows 2014-06-04 15:53:07 +02:00