Martin Willi
9191e5e11a
TNCCS plugins don't depend on EAP-TNC, but can be used by other transports, too
2013-01-15 17:43:05 +01:00
Tobias Brunner
66bb4f63b2
Properly send IKEv1 packets if no ike_cfg is known yet
...
This applies for error notifies.
2013-01-14 12:14:16 +01:00
Martin Willi
c4a49008e8
Don't handle right=%any6 as "loose" identity, but as %any
2013-01-14 10:33:14 +01:00
Tobias Brunner
21235e1ec2
Merge branch 'ikev1-fragmentation'
...
This adds support for the proprietary IKEv1 fragmentation extension.
Conflicts:
NEWS
2013-01-12 11:58:26 +01:00
Tobias Brunner
ee6902ef7f
Added an option to configure the maximum size of a fragment
2013-01-12 11:54:58 +01:00
Tobias Brunner
7ae245f685
Properly detect fragmentation capabilities
...
Cisco sends 0xc0000000 so we check that part of the VID separately.
2013-01-12 11:54:54 +01:00
Tobias Brunner
365d9a6f67
Added an option that allows to force IKEv1 fragmentation
2013-01-12 11:54:32 +01:00
Martin Willi
54a1a75b2f
Don't use bio_writer_t.skip() to write length field when appending more data
...
If the writer reallocates its buffer, the length pointer might not be valid
anymore, or even worse, point to an arbitrary allocation.
2013-01-11 14:57:08 +01:00
Martin Willi
1954cc7720
Streamline debug output when receiving intermediate CA certificates in IKEv1
2013-01-11 10:24:23 +01:00
Martin Willi
cde6a9ec9f
Refactored IKEv2 cert/certreq payload processing to multiple functions
2013-01-11 10:21:56 +01:00
Martin Willi
bf10ee9495
Refactored IKEv1 cert payload processing to multiple functions
2013-01-11 10:21:56 +01:00
Volker Rümelin
6d3e7a64a0
IKEv1 support for PKCS#7 wrapped certificates
2013-01-11 10:21:56 +01:00
Volker Rümelin
10eee5fcba
Fixed some typos in comments
2013-01-11 10:21:51 +01:00
Tobias Brunner
97973f8609
Use a connection specific option to en-/disable IKEv1 fragmentation
2012-12-24 13:00:01 +01:00
Tobias Brunner
e645c15b9c
Include source port in init hash for fragmented messages
2012-12-24 12:29:31 +01:00
Tobias Brunner
2f62bb1549
Add an option to en-/disable IKE fragmentation
...
Fragments are always accepted but will not be sent if disabled. The
vendor ID is only sent if the option is enabled.
2012-12-24 12:29:31 +01:00
Tobias Brunner
5cafefcd5d
Split larger messages into fragments if IKE fragmentation is supported by peer
2012-12-24 12:29:31 +01:00
Tobias Brunner
c849305ad7
Log message size for in- and outbound IKE messages
2012-12-24 12:29:30 +01:00
Tobias Brunner
07df944c9c
Add support to create IKE fragments
...
All fragments currently use the same fragment ID (1) as that's what
other implementations are doing.
2012-12-24 12:29:30 +01:00
Tobias Brunner
c4daac2c0b
Log added NAT-T vendor IDs
2012-12-24 12:29:27 +01:00
Tobias Brunner
667720c801
Detect a peer's support for IKE fragmentation
...
Fragments are accepted even if this vendor ID is not seen.
2012-12-24 12:29:27 +01:00
Tobias Brunner
fe26ddada9
Map fragmented initial initial Main or Aggressive Mode messages to the same IKE_SA
2012-12-24 12:29:27 +01:00
Tobias Brunner
b816037739
Allow ID_PROT/AGGRESSIVE messages for established IKE_SAs if they contain fragments
...
Other implementations send fragments always in an initial message type
even for transaction or quick mode exchanges.
2012-12-24 12:29:27 +01:00
Tobias Brunner
8fc8383439
Don't handle fragmented messages larger than charon.max_packet
2012-12-24 12:29:27 +01:00
Tobias Brunner
7d85f94165
Don't update an IKE_SA-entry's cached message ID when handling fragments
2012-12-24 12:29:26 +01:00
Tobias Brunner
30216000d3
Store inbound IKE fragments and reassemble the message when all fragments are received
2012-12-24 12:29:26 +01:00
Tobias Brunner
9b1659f52c
Add message rules to properly handle IKE fragments
...
These are sent in unencrypted messages and are the only payload
contained in such messages.
2012-12-24 10:24:48 +01:00
Tobias Brunner
ddfad8b67e
Reset the encrypted flag when handling IKE messages that contain a fragment
...
Racoon sets the encrypted bit for messages containing a fragment, but these
messages are not really encrypted (the fragmented message is though).
2012-12-24 10:24:48 +01:00
Tobias Brunner
8f0ab6dd36
Payload added to handle IKE fragments
2012-12-24 10:24:48 +01:00
Martin Willi
656e01eab3
Add parantheses to avoid compiler warning
2012-12-24 10:12:23 +01:00
Andreas Steffen
9787b9f2e0
Send empty CDATA batch if TNC client has no data to send
2012-12-23 22:16:30 +01:00
Tobias Brunner
ef33a4ab82
Fixed some typos, courtesy of codespell
2012-12-20 09:35:26 +01:00
Adrian-Ken Rueegsegger
ba8b28b67f
Raise an alert if IKE SA is kept
...
This alert is raised when the establishment of a child SA fails but the
IKE SA is kept.
2012-12-20 09:15:07 +01:00
Volker Rümelin
0ff8d20a89
Add support for draft-ietf-ipsec-nat-t-ike-03 and earlier
...
This adds support for early versions of the draft that eventually
resulted in RFC 3947.
2012-12-19 11:03:42 +01:00
Martin Willi
32c3ac95e4
Add missing error_notify_msg.h to distribution tarball
2012-12-19 10:40:33 +01:00
Martin Willi
3044085006
Add an error-notify sample application to listen to error notifications
2012-12-19 10:40:33 +01:00
Martin Willi
0aaf5ccfa6
Add an error-notify plugin to send catched alerts to listening applications
2012-12-19 10:40:33 +01:00
Martin Willi
578f72ceb0
Raise an alert if half-open timeout limit reached
2012-12-19 10:40:33 +01:00
Martin Willi
c57fe7ac6f
Raise an alert if an authorize() hook fails
2012-12-19 10:40:33 +01:00
Martin Willi
45d6134218
Raise an alert if allocating virtual IPs fails
2012-12-19 10:40:33 +01:00
Martin Willi
f285b9efc8
Raise an alert if kernel policy installation fails
2012-12-19 10:40:33 +01:00
Martin Willi
bcf3147e0a
Raise an alert if kernel SA installation fails
2012-12-19 10:40:33 +01:00
Martin Willi
24f30ec92f
Raise an alert on traffic selector mismatch
2012-12-19 10:40:32 +01:00
Martin Willi
c794455666
Raise alerts when enforcing IKE_SA unique policy
2012-12-19 10:40:32 +01:00
Martin Willi
5dd9c3087f
Raise an alert if CHILD_SA proposals mismatch
2012-12-19 10:40:32 +01:00
Martin Willi
bab949bb26
Raise an alert if IKE proposals mismatch
2012-12-19 10:40:32 +01:00
Martin Willi
3f7f5388a5
Raise an alert of generating local authentication data fails
2012-12-19 10:40:32 +01:00
Tobias Brunner
0080daa787
Fix deadlock in IMC/IMV managers
...
Since reserve_id() might be called from e.g. notify_connection_change()
using a write lock will not work as this can't be acquired while holding
the read lock.
Also, with the previous code it was possible that two IMCs/IMVs added by
two threads at the same time would get the same ID assigned.
2012-12-18 15:59:29 +01:00
Tobias Brunner
6a8eeba540
Properly select IMC/IMV according to given primary ID in reserve_id()
2012-12-18 15:59:29 +01:00
Martin Willi
d9d0f12222
If load-tester requests a virtual IP, use a dynamic local traffic selector
2012-12-17 14:22:25 +01:00