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