Martin Willi
3ba3be97d6
utils: Define MAX_(U)INT_TYPE to the maximum size integer type available
2015-04-14 12:03:57 +02:00
Martin Willi
051064ac60
utils: Typedef int128_t and u_int128_t types if supported
2015-04-14 12:03:46 +02:00
Martin Willi
9d6e952201
utils: Add a constant time chunk_equals() variant for cryptographic purposes
2015-04-14 12:02:48 +02:00
Martin Willi
b833963270
utils: Add a constant time memeq() variant for cryptographic purposes
2015-04-14 11:51:54 +02:00
Martin Willi
793851856b
cpu-feature: Support Via Padlock security features
2015-04-13 15:31:58 +02:00
Martin Willi
f155880eda
cpu-feature: Add a common class to query available CPU features
...
Currently supported is x86/x64 via cpuid() for some common features.
2015-04-13 15:31:58 +02:00
Martin Willi
b546a98e0a
utils: Fix enum_flags_to_string parameter name to match Doxygen description
2015-03-19 12:14:30 +01:00
Thomas Egerer
4dc72f5e57
enum: Extend printf hook to print flags
...
Signed-off-by: Thomas Egerer <[email protected] >
2015-03-03 13:41:49 +01:00
Martin Willi
04337fed02
apple: Redefine some additional clashing Mach types
...
While they usually are not included in a normal strongSwan build, the XPC
header indirectly defines these Mach types. To build charon-xpc, which uses
both XPC and strongSwan includes, we have to redefine these types.
2014-12-16 17:22:28 +01:00
Martin Willi
6e4620adfb
apple: Use precancelable poll() to wrap accept/recvmsg calls
...
To make accept/recvmsg cancelable, we wrap them with poll. As poll itself
does not honor pending cancellations when entering the function, we use our
variant that checks for pending cancellation requests before entering poll().
2014-12-12 12:08:34 +01:00
Martin Willi
02fd29acc1
windows: Properly set errno for read/write functions using Winsock
2014-11-28 12:45:58 +01:00
Martin Willi
89f19ef876
windows: Move the compatibility header to the compat subfolder
2014-11-21 12:02:08 +01:00
Martin Willi
aec3d5fb7f
apple: Wrap accept() and recvfrom() with poll(2) instead of select
2014-11-21 12:02:08 +01:00
Martin Willi
f65779dd0f
apple: Introduce a central compatibility header with all __APPLE__ quirks
2014-11-21 12:02:08 +01:00
Martin Willi
a301a9c939
windows: Provide a write(2) wrapper that uses send(2) on sockets
2014-11-21 12:02:08 +01:00
Martin Willi
09624c6cec
windows: Provide a read(2) wrapper that uses recv(2) on sockets
2014-11-21 12:02:08 +01:00
Martin Willi
fc829ec9fb
windows: Provide a poll(2) wrapper calling WSAPoll()
2014-11-21 11:16:48 +01:00
Martin Willi
6528338753
identification: Support custom types in string constructor prefixes
2014-10-30 11:07:08 +01:00
Martin Willi
c0da835a9f
identification: Support prefixes in string constructors for an explicit type
2014-10-30 11:05:44 +01:00
Tobias Brunner
eb218ff80b
chunk: Fix internet checksum calculation on big-endian systems
...
ntohs() might be defined as noop (#define ntohs(x) (x)) so we have
to manually shorten the negated value (gets promoted to an int).
Fixes #747 .
2014-10-23 11:13:28 +02:00
Tobias Brunner
c71e6820ab
backtrace: Fix symbol lookup in dynamic symtab via libbfd
2014-10-14 17:26:48 +02:00
Martin Willi
5b2d89b3c3
process: Include missing <signal.h> for raise(3)
...
Fixes OS X build.
2014-10-14 16:33:10 +02:00
Martin Willi
7dd06d274d
process: Add a wrapper to invoke a command under the system default shell
2014-10-06 18:24:39 +02:00
Martin Willi
02e4dedce5
process: Port child process spawning to the Windows platform
2014-10-06 18:24:39 +02:00
Martin Willi
1fea589c1f
process: Provide an abstraction to spawn child processes with redirected I/O
2014-10-06 18:24:39 +02:00
Martin Willi
6eaec1e349
leak-detective: Whitelist libssl SSL_COMP_get_compression_methods()
...
This function is called by libcurl initialization with SSL, and uses
a static allocation of compression algorithms not freed.
2014-09-24 11:35:59 +02:00
Tobias Brunner
c6e8b5dc2c
chunk: Fix Doxygen comments for chunk_internet_checksum[_inc]
2014-09-11 17:56:12 +02:00
Martin Willi
11bf11c1f5
utils: Check if the parameter passed to countof() is actually an array type
...
This should avoid errors such as the one fixed with 118b2879 .
2014-08-25 09:48:53 +02:00
Martin Willi
bb6be26197
utils: Add some initial build time assertion macros
...
These are useful to assert constants during build time. We evaluate the
expression to 0 when valid, so we can safely use the evaluated value.
2014-08-25 09:48:53 +02:00
Tobias Brunner
b557f4a7cd
chunk: Add function to calculate Internet Checksums according to RFC 1071
2014-07-22 11:10:35 +02:00
Martin Willi
920d466f05
utils: Undefine mem{cpy,move,set} if set before defining them
...
Some platforms, such as OS X, use macros for these functions. Undefine them
to avoid compiler warnings.
2014-07-07 16:14:26 +02:00
Tobias Brunner
831045ef45
optionsfrom: Properly handle errors when determining file size
2014-07-02 12:38:45 +02:00
Tobias Brunner
e44223dbcc
windows: Fix off-by-one error in strerror_s_extended()
2014-07-02 12:38:45 +02:00
Tobias Brunner
0026600bfe
windows: accept() socket handle could theoretically be 0
2014-07-02 12:38:45 +02:00
Tobias Brunner
babe9e4f45
windows: Close correct socket when opening second socket fails in socketpair()
2014-07-02 12:38:44 +02:00
Tobias Brunner
0a26f39a71
windows: Make sure the string returned from ReadConsole() is null terminated
2014-07-02 12:38:44 +02:00
Tobias Brunner
0e48f67562
backtrace: Remove name checks after SymFromAddr() calls
...
The Name member is an array whose address is always defined.
2014-07-02 12:11:59 +02:00
Tobias Brunner
1be2b84124
parser-helper: Ensure file_next() does not remove the sentinel item
2014-07-01 17:58:36 +02:00
Tobias Brunner
e79dbda390
utils: Helper macros to define overloaded macros based on number of arguments
2014-06-30 13:29:26 +02:00
Tobias Brunner
aad072d517
enum: Replace þ with p in Doxygen comments
2014-06-30 13:16:17 +02:00
Tobias Brunner
ed01c1afff
Fixed some typos
2014-06-30 13:16:16 +02:00
Martin Willi
07b57e203b
windows: Include <sys/stat.h> explicitly before overloading memset()/memcpy()
...
fstat() in newer MinGWs is defined as non-static inline. With our new static
inline memset()/memcpy() overloads, this raises a warning. To avoid it,
explicitly include <sys/stat.h> once before defining these overloads.
2014-06-25 16:09:42 +02:00
Tobias Brunner
6d4654b9f9
utils: Add wrappers for memcpy(3), memmove(3) and memset(3)
...
These wrappers guarantee that calls to these functions are noops if the
number of bytes is 0, as calling them with NULL pointers is undefined
according to the C standard, even if the number of bytes is 0 (most
implementations probably ignore the pointers anyway in this case, but
lets make sure).
2014-06-24 15:11:27 +02:00
Tobias Brunner
aba55fdffe
identification: Only use either , or / to separate RDNs
...
If a DN starts with a slash (or whitespace and a slash) slashes will
be used, otherwise commas.
2014-06-18 09:24:03 +02:00
Martin Willi
dff39a4c5b
windows: Declare strerror_s()
...
Older MinGW versions seem to miss this function declaration. Fixes build on
Travis using Ubuntu 12.04.
2014-06-17 15:23:33 +02:00
Martin Willi
1bcf850738
windows: Extend strerror_r/s by extended POSIX errno strings
2014-06-17 15:23:33 +02:00
Martin Willi
c2119cded4
windows: Implement strerror_r using strerror_s
2014-06-17 15:23:33 +02:00
Martin Willi
8b5d41a274
windows: Wrap most Winsock2 Posix functions to set errno
...
While Winsock provides many Posix compatibility functions, they do not set
errno, but use WSAGetLastError() for error reporting. The wrapped functions
derive an errno from WSAGetLastError() on failure.
2014-06-17 15:23:32 +02:00
Martin Willi
8c2c63e09d
backtrace: Use GetModuleInformation/GetModuleFileNameEx directly on Win32
...
The K32 variants are actually needed on 64-bit only.
2014-06-06 16:28:28 +02:00
Martin Willi
cab59c73fc
windows: Use WINAPI call convention for Windows API callbacks
...
For x86_64 it does not actually matter, but for i686 builds the call convention
is different with WINAPI.
2014-06-06 16:28:28 +02:00