Tobias Brunner
c0d39c205c
Implemented AES-CMAC based PRF and signer.
...
The cmac plugin implements AES-CMAC as defined in RFC 4493 and the
signer and PRF based on it as defined in RFC 4494 and RFC 4615,
respectively.
2012-04-03 10:40:47 +02:00
Tobias Brunner
9a6b1cb412
Fixed GNU license header in hmac and xcbc plugins.
2012-04-03 10:33:59 +02:00
Tobias Brunner
ef511fc03d
Add support for dnQualifier in DNs.
2012-03-29 10:01:55 +02:00
Tobias Brunner
817ab8a8d4
Don't cast second argument of mem_printf_hook (%b) to size_t.
...
Also treat the given number as unsigned int.
Due to the printf hook registration the second argument of
mem_printf_hook (if called via printf etc.) is always of type int*.
Casting this to a size_t pointer and then dereferencing that as int does
not work on big endian machines if int is smaller than size_t (e.g. on ppc64).
In order to make this change work if the argument is of a type larger
than int, size_t for instance, the second argument for %b has to be casted
to (u_)int.
2012-03-27 09:10:34 +02:00
Martin Willi
b1f2f05c92
Merge branch 'ikev1-clean' into ikev1-master
...
Conflicts:
configure.in
man/ipsec.conf.5.in
src/libcharon/daemon.c
src/libcharon/plugins/eap_ttls/eap_ttls_peer.c
src/libcharon/plugins/eap_radius/eap_radius_accounting.c
src/libcharon/plugins/eap_radius/eap_radius_forward.c
src/libcharon/plugins/farp/farp_listener.c
src/libcharon/sa/ike_sa.c
src/libcharon/sa/keymat.c
src/libcharon/sa/task_manager.c
src/libcharon/sa/trap_manager.c
src/libstrongswan/plugins/x509/x509_cert.c
src/libstrongswan/utils.h
Applied lost changes of moved files keymat.c and task_manager.c.
Updated listener_t.message hook signature in new plugins.
2012-03-20 17:57:53 +01:00
Tobias Brunner
68611395dc
chunk_equals_ptr added to compare chunks given as pointers.
2012-03-20 17:31:40 +01:00
Martin Willi
35852af7b1
Use a single set of FDs for all random plugin RNG instances
2012-03-20 17:31:40 +01:00
Martin Willi
5aef6bd0f3
Accept NULL auth_cfg_t passed to credential_manager_t.get_private()
2012-03-20 17:31:39 +01:00
Martin Willi
3d86d76b86
Fixed create_shared_enumerator method description
2012-03-20 17:31:31 +01:00
Martin Willi
747f837cce
Added a flag to register local credential sets exclusively, disabling all others
2012-03-20 17:31:28 +01:00
Martin Willi
5d1677f52d
Added missing XAuth plugin feature enum names
2012-03-20 17:31:28 +01:00
Martin Willi
26a758ffcb
Fixed fix for XAuth plugin feature matching
2012-03-20 17:31:25 +01:00
Martin Willi
2ee83c2778
Fix XAuth plugin feature matching
2012-03-20 17:31:25 +01:00
Tobias Brunner
f29a4f1c64
Added support for iKEIntermediate X.509 extended key usage flag.
...
Mac OS X requires server certificates to have this flag set.
2012-03-20 17:31:24 +01:00
Tobias Brunner
00cc2188d4
Some whitespace fixes.
2012-03-20 17:31:24 +01:00
Martin Willi
f5e5c5edbd
Added an XAUTH identity to use or require for XAuth authentication
2012-03-20 17:31:23 +01:00
Martin Willi
fd2a491b31
Stop checking once a key size constraint is not fulfilled
2012-03-20 17:31:23 +01:00
Martin Willi
7b1e15ac4e
Fixed IKEv1 prf+ keymat expansion beyond 320 bits
2012-03-20 17:31:22 +01:00
Martin Willi
3ba15819ed
Remove executable flag from source code files
2012-03-20 17:31:22 +01:00
Martin Willi
45956d15ea
Free list after removing the last local credential set, fixes a leak report
2012-03-20 17:31:19 +01:00
Martin Willi
1477ab157c
Remove unused status type
2012-03-20 17:31:18 +01:00
Martin Willi
21c916886d
Added missing XAuth auth_class enum name
2012-03-20 17:31:16 +01:00
Martin Willi
f223a28ae7
Be less verbose if plugin dependecy not satisfied
2012-03-20 17:31:16 +01:00
Martin Willi
6ebcbc654c
Added auth_cfg option to select XAUTH backend to use
2012-03-20 17:31:15 +01:00
Martin Willi
1fe6cdfac2
Use a string to identify xauth backends, no need for integer types
2012-03-20 17:31:15 +01:00
Martin Willi
96c9159d96
Use a second authentication config to configure XAUTH authentication
2012-03-20 17:31:15 +01:00
Martin Willi
69adeb5bf2
Replace xauth_request task with a new stub where we reimplement it
2012-03-20 17:31:15 +01:00
Clavister OpenSource
1390daae15
Added status code to status_t
...
New status_t enum to allow packets to be sent to peer in task_manager->process
2012-03-20 17:31:14 +01:00
Martin Willi
f4e25e602b
Implement htoun/untoh64 with potentially faster htobe64/be64toh macros, if available
2012-03-20 17:31:12 +01:00
Andreas Steffen
65840cc462
fixed copy-and-paste error
2012-03-20 17:31:12 +01:00
Andreas Steffen
cd419ae446
extended bio_reader and bio_writer to handle u_int64_t
2012-03-20 17:31:12 +01:00
Clavister OpenSource
4394d96844
IKEv1 XAuth: Added a "NULL" XAuth plugin which sends a hardcoded user/pass, and blindly accepts whatever user/pass is sent it. Changed the xauth_request task to use this new plugin. Add --enable-xauth-null to your configure line to build with the new plugin.
2012-03-20 17:31:11 +01:00
Clavister OpenSource
9c5366446a
IKEv1 XAuth: Added plugin support for XAuth, which allows us to have plugins to talk to servers with different quirks for XAuth authentication.
2012-03-20 17:31:11 +01:00
Clavister OpenSource
781f4c8898
IKEv1 XAuth: Add XAuth defines for plugin types.
2012-03-20 17:31:11 +01:00
Clavister OpenSource
0ea77083bb
Revert "IKEv1 XAuth: Added new MIGRATE status type to status_t."
...
This reverts commit b57df8310a867a0a65abf17279bf1b6e6bb2f5d3.
Conflicts:
src/libcharon/sa/task_manager_v1.c
2012-03-20 17:31:09 +01:00
Tobias Brunner
38d189eee9
Compiler warning fixed in prf_plus_t.
2012-03-20 17:31:07 +01:00
Martin Willi
b4e815354c
Map auth_class to auth method and IKEv1 proposal attribute
2012-03-20 17:30:53 +01:00
Clavister OpenSource
b94f248ea9
IKEv1 XAuth: Added new MIGRATE status type to status_t.
...
When a task returns this status from a build or process method, it is a signal to the task manager that it should treat it as if the task returned SUCCESS.
Additionally it will migrate all remaining tasks from the current queue to a different one, calling swap_initiator for each applicable task.
Finally, the task manager will call "initiate", if applicable, to kick off tasks in the "queued_tasks" queue.
Task queue relocation mapping:
passive_tasks moves to queued_tasks (which is then fed to active by the initiate call).
active_tasks moves to passive_tasks
2012-03-20 17:30:52 +01:00
Clavister OpenSource
23f4e4b42d
IKEv1 XAUTH: Added ability to configure XAUTH+PSK. Added task to handle XAUTH requests. Modified task_manager_v1 to enable it to initiate new tasks immediately after finishing a response.
2012-03-20 17:30:49 +01:00
Martin Willi
d4f6686c69
Extended PRF+ by a non-counting variant as used by IKEv1
2012-03-20 17:30:48 +01:00
Martin Willi
764ee21d83
ts.get_subnet() returns TRUE if the selector actually is a subnet
2012-03-20 17:30:44 +01:00
Tobias Brunner
686cfd4e34
Added support for untruncated MD5 and SHA1 HMACs in ESP as used in RFC 4595.
...
This requires a Linux kernel >= 2.6.33.
2012-02-27 14:31:19 +01:00
Tobias Brunner
a190ec0ac5
Compiler warnings fixed.
2012-02-14 16:09:44 +01:00
Tobias Brunner
e81260d426
Moved log message for unexpected ASN.1 objects to level 2.
...
This avoids error messages if later builders can successfully decode something.
2012-02-01 18:27:46 +01:00
Tobias Brunner
fd1ff46f61
Added support for PKCS#5 v2 schemes when decrypting PKCS#8 files.
2012-02-01 18:27:46 +01:00
Tobias Brunner
cab127cba6
Added support for encrypted PKCS#8 files (for some PKCS#5 v1.5 schemes).
2012-02-01 18:27:46 +01:00
Tobias Brunner
db3334dc32
Added support to parse PKCS#8 encoded ECDSA private keys.
2012-02-01 18:27:45 +01:00
Tobias Brunner
27f8a61df3
OpenSSL plugin parses ECDSA private keys with explicitly specified EC parameters.
...
This is needed in case the key itself does not contain the parameters,
which is the case for PKCS#8.
2012-02-01 18:27:45 +01:00
Tobias Brunner
b20c54ff3f
Add builder part for parameters from algorithmIdentifier.
2012-02-01 18:27:45 +01:00
Tobias Brunner
25c6d26c1d
Return parsed parameters from algorithmIdentifier if they are an OID (aka EC named curve).
...
Explicit EC parameters are not supported with this function, but before this
change no parameters were actually ever returned.
2012-02-01 18:27:45 +01:00