Martin Willi
04f12ecd29
align: Move min/max/padding/alignment functions to separate files
2015-04-16 14:50:40 +02:00
Martin Willi
eaa02bc925
time: Move time related functions to separate files
2015-04-16 14:50:24 +02:00
Martin Willi
1f2326ce58
object: Move OO programming helper macros to a separate header file
2015-04-16 14:50:05 +02:00
Martin Willi
1e02eddb72
status: Move status_t type and functions to separate files
2015-04-16 14:50:05 +02:00
Martin Willi
001a22e2c1
path: Move path related utility functions to separate files
2015-04-16 14:50:04 +02:00
Martin Willi
7585a85f1a
tty: Move tty related functions to separate files
2015-04-16 14:50:04 +02:00
Martin Willi
7802ab88a1
memory: Move memory manipulation related functions to separate files
2015-04-16 14:50:02 +02:00
Martin Willi
bbfe7a80b1
string: Move string related utility functions to separate files
2015-04-16 14:49:19 +02:00
Martin Willi
03cf888277
byteorder: Move byte order related functions to separate header file
2015-04-16 14:49:19 +02:00
Martin Willi
95726f7617
types: Use generic type definitions to separate header file
2015-04-16 14:49:19 +02:00
Martin Willi
717313c542
atomics: Move atomics/recounting support to separate files
2015-04-16 14:49:19 +02:00
Martin Willi
de1c492a0f
enum-names: Fail gracefully when passing a NULL value as enum names
2015-04-15 14:38:43 +02:00
Martin Willi
d72817491d
leak-detective: Whitelist gcrypt_plugin_create()
...
gcry_check_version() does not free statically allocated resources. However,
we can't whitelist it in some versions, as it is not a resolvable symbol name.
Instead, whitelist our own plugin constructor function.
2015-04-15 14:38:42 +02:00
Martin Willi
0c83225883
utils: Provide aligning variants of INIT/INIT_EXTRA macros
2015-04-15 13:44:40 +02:00
Martin Willi
f206bb7444
utils: Add malloc/free wrappers returning aligned data
...
While we could use posix_memalign(3), that is not fully portable. Further, it
might be difficult on some platforms to properly catch it in leak-detective,
which results in invalid free()s when releasing such memory.
We instead use a simple wrapper, which allocates larger data, and saves the
padding size in the allocated header. This requires that memory is released
using a dedicated function.
To reduce the risk of invalid free() when working on corrupted data, we fill up
all the padding with the padding length, and verify it during free_align().
2015-04-15 13:44:40 +02:00
Martin Willi
1ef6c0ef06
utils: Provide an INIT_EXTRA() macro, that allocates extra data to INIT()
2015-04-15 11:35:26 +02:00
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