Tobias Brunner
2307bffe56
proposal: Move proposal_t from libcharon to libstrongswan
...
This allows us to use it without having to initialize libcharon, which
was required for the logging (we probably could have included debug.h
instead of daemon.h to workaround that but this seems more correct).
2017-11-17 18:09:54 +01:00
Tobias Brunner
a22316520b
signature-params: Add functions to parse/build ASN.1 RSASSA-PSS params
2017-11-08 16:48:10 +01:00
Tobias Brunner
36e8f43617
android: Enable revocation plugin
2017-07-03 10:27:50 +02:00
Tobias Brunner
ddd4d8b427
android: Use LOCAL_LDLIBS to link libdl
...
Newer NDKs fail otherwise as there is no actual module anymore.
2017-07-03 10:27:50 +02:00
Tobias Brunner
410bdaf654
android: Include ref10 subdirectory for curve25519 plugin
...
Fixes #2201 .
2017-01-16 11:19:35 +01:00
Tobias Brunner
b077a2a71a
android: Optionally build the curve25519 plugin
2016-12-08 16:43:51 +01:00
Tobias Brunner
4d47adb639
android: Optionally build the chapoly plugin
2016-12-08 16:43:50 +01:00
Tobias Brunner
befe6e6c7e
android: MGF1 implementation was moved to a plugin
...
Fixes: 188b190a70
("mgf1: Refactored MGF1 as an XOF")
2016-10-11 15:29:14 +02:00
Tobias Brunner
dc5b05ea18
android: Add missing xof.c file
...
Fixes #2093 .
2016-08-29 10:42:00 +02:00
Tobias Brunner
0f13f719e1
libstrongswan: Updated Android.mk to current Makefile.am
2015-12-14 19:05:41 +01:00
Tobias Brunner
9be6b2e0b5
android: Replace AndroidConfigLocal.h with a header in utils/compat
2015-11-12 14:10:33 +01:00
Tobias Brunner
403acf8614
crypto: Add NULL IV generator
...
This does not actually allocate an IV and only accepts requests
for size == 0.
2015-11-09 11:08:22 +01:00
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
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
717313c542
atomics: Move atomics/recounting support to separate files
2015-04-16 14:49:19 +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
a4549e5525
iv-gen: Add a generic constructor to create an IV gen from an algorithm
2015-04-13 15:06:15 +02:00
Tobias Brunner
48bae7b2ba
android: Sync libstrongswan Makefile.am and Android.mk
2015-03-25 12:00:20 +01:00
Tobias Brunner
1d384bf8aa
hash-algorithm-set: Add class to manage a set of hash algorithms
2015-03-04 13:54:11 +01:00
Martin Willi
1fea589c1f
process: Provide an abstraction to spawn child processes with redirected I/O
2014-10-06 18:24:39 +02:00
Tobias Brunner
5195416d90
android: Update Android.mk files to match changes due to the Windows port
...
Makes them easier to compare to the original Makefile.am.
2014-06-24 15:53:25 +02:00
Martin Willi
aa5b49c037
stream: Separate TCP/Unix stream helpers from stream/service implementations
...
This allows us to disable Unix sockets cleanly on Windows. Replaces some
read/write calls with recv/send counterparts, as Winsock does not like
read/writes.
2014-06-04 15:53:00 +02:00
Tobias Brunner
1f669078ac
settings: Add flex/bison based parser for strongswan.conf
...
This parser features several improvements over the existing one.
For instance, quoted strings (with escape sequences), unlimited includes,
relaxed newline handling (e.g. at the end of files or before/after { and }),
and the difference between empty and unset values (key = vs. key = "").
It also complains a lot more about invalid syntax. The current one accepts
pretty odd stuff (like settings or sections without name) without any
errors or warnings.
2014-05-15 11:28:06 +02:00
Tobias Brunner
f99d1f7ba5
settings: Extract section and key/value pair types and helper functions
...
This allows us to use them in the upcoming parser.
2014-05-15 11:28:06 +02:00
Tobias Brunner
3cb8016f0e
parser-helper: Add utility class for flex/bison based parsers
2014-05-15 11:28:06 +02:00
Tobias Brunner
b9b1114ab1
settings: Move to a separate folder
2014-05-15 11:28:05 +02:00
Tobias Brunner
8064764070
android: Use static version of libcrypto
...
System.loadLibrary() searches in system directories first (at least in
recent releases), that is, our own build wouldn't actually get used.
2014-04-25 14:26:31 +02:00
Martin Willi
a17598bc69
x509: Integrate IETF attribute handling, and obsolete ietf_attributes_t
...
The ietf_attributes_t class is used for attribute certificates only these days,
and integrating them to x509_ac_t simplifies things significantly.
2014-03-31 11:14:58 +02:00
Tobias Brunner
ba10cd3c7f
utils: Move thread-safe strerror replacement to a separate file
...
For some utils _GNU_SOURCE might be needed but that conflicts with the
signature of strerror_r(3).
2014-02-24 12:04:10 +01:00
Tobias Brunner
4cea186b64
unit-tests: Add facility to register testable functions
...
These can be defined in plugins, or other parts of the tested libraries.
They can even be static.
2013-12-04 20:32:59 +01:00
Tobias Brunner
20c99edab9
android: Remove dependency on libvstr
2013-11-13 11:40:47 +01:00
Tobias Brunner
b3e1eb2afe
iv_gen: Add IV generator that allocates IVs sequentially
2013-10-11 15:55:40 +02:00
Tobias Brunner
53d1f2dbfd
iv_gen: Add IV generator that allocates IVs randomly
...
Uses RNG_WEAK as the code currently does elsewhere to allocate IVs.
2013-10-11 15:55:40 +02:00
Martin Willi
243048248b
printf-hook: Move glibc/vstr printf hook backends to separate files
2013-10-11 11:05:30 +02:00
Martin Willi
d6ff53940f
stream: add a manager to dynamically register streams and services
2013-07-18 16:00:28 +02:00
Martin Willi
daf1880b39
stream: add a stream service class abstracting services using BSD sockets
2013-07-18 16:00:27 +02:00
Martin Willi
b6b940001a
stream: add a stream class abstracting BSD sockets
...
Currently only synchronous operation is supported, but this will be extended
with asynchronous methods using the new watcher.
2013-07-18 16:00:27 +02:00
Martin Willi
32b2a5e04b
watcher: add a centralized an generic facility to monitor file descriptors
2013-07-18 16:00:27 +02:00
Martin Willi
2621ff4d40
array: introduce an array collection storing elements very efficiently
...
Currently we use the very versatile linked-list collection to store elements
with variable count. This is fine, but very inefficient: Due to the many
methods in the linked list, on 64-bit platforms an empty list alone is more
than 200 bytes. As we currently have about 50 lists per IKE_SA/CHILD_SA pair,
this takes up to 10KB just for managing the empty lists. This is about the
half of memory used by an IKE_SA/CHILD_SA pair, and obviously way too much.
The new array type is not an object, but a collection of functions on an
abstract type.
The following lists are per IKE_SA and should be considered for a replacement
with more efficient arrays (this uses load-testers on-demand created dynamic
configurations, other scenarios have different lists):
14 -> ike_sa_create() @ src/libcharon/sa/ike_sa.c:2198
10 -> auth_cfg_create() @ src/libstrongswan/credentials/auth_cfg.c:1088
6 -> task_manager_v2_create() @ src/libcharon/sa/ikev2/task_manager_v2.c:1505
6 -> proposal_create() @ src/libcharon/config/proposal.c:592
5 -> peer_cfg_create() @ src/libcharon/config/peer_cfg.c:657
4 -> child_sa_create() @ src/libcharon/sa/child_sa.c:1090
2 -> child_cfg_create() @ src/libcharon/config/child_cfg.c:536
1 -> ike_cfg_create() @ src/libcharon/config/ike_cfg.c:330
1 -> put_connected_peers() @ src/libcharon/sa/ike_sa_manager.c:854
2013-07-17 17:20:17 +02:00
Tobias Brunner
d41e54c68d
Move PKCS#12 key derivation to a separate file
2013-05-08 15:02:39 +02:00
Tobias Brunner
4076e3ee91
Extract PKCS#5 handling from pkcs8 plugin to separate helper class
2013-05-08 14:53:08 +02:00
Tobias Brunner
0ac34e9e6a
Android.mk updated to latest Makefiles
...
Fixes #300 .
2013-02-26 10:11:36 +01:00
Tobias Brunner
37fb404833
Android.mk of libstrongswan updated
2013-01-14 09:16:33 +01:00
Martin Willi
36f2e11c70
Enable pkcs7 plugin when building scepclient on Android
2012-12-19 10:32:08 +01:00
Martin Willi
1865fb929a
Remove unused monolithic PKCS#7 code
2012-12-19 10:32:08 +01:00