Martin Willi
bee8b5e385
Refactor check_for_rekeyed_child() in quick_mode task
2013-04-03 17:08:00 +02:00
Martin Willi
ac48d9e458
Reuse reqid of an existing Quick Mode, even if it has been rekeyed
...
If two peers rekey Quick Modes at the same time, the original Quick Mode is
in REKEYING state and hence the requid is not reused. This is required though,
as two identical policies won't work if they have different requids.
2013-04-03 15:56:26 +02:00
Tobias Brunner
cf95d2926c
Fixed some typos, courtesy of codespell
2013-03-25 10:59:37 +01:00
Tobias Brunner
8a0a1ae857
Delete IKE_SAs if responder does not initiate XAuth exchange within a certain time frame
2013-03-19 12:00:00 +01:00
Tobias Brunner
e4013bb904
Added xauth-noauth plugin
...
This XAuth backend does not do any authentication of client credentials
but simply sends a successful XAuth status to the client, thereby
concluding the XAuth exchange. This can be useful to fallback to basic
RSA authentication with clients that can not be configured without XAuth
authentication.
2013-03-19 11:23:03 +01:00
Martin Willi
49960f021d
Make check whether to use IKEv1 fragmentation more readable
2013-03-14 14:20:55 +01:00
Martin Willi
d954a2081b
child_sa_t.get_usestats() can additionally return the number of processed packets
2013-03-14 14:20:54 +01:00
Martin Willi
3a23794fa2
Add missing XAuthRespPSK switch case to IKEv1 key derivation
2013-03-12 10:09:23 +01:00
Martin Willi
0235914d2f
Ignore fourth Qick Mode message sent by Windows servers.
...
Initial patch by Paul Stewart, fixes #289 .
2013-03-11 10:53:55 +01:00
Martin Willi
9d9042d6d9
As Quick Mode initiator, select a subset of the proposed and the returned TS
...
Cisco 5505 firewalls don't return the port if we send a specific one, letting
the is_contained_in() checks fail. Using get_subset() selection builds the
Quick Mode correctly with the common subset of selectors.
Based on an initial patch from Paul Stewart.
2013-03-07 10:00:06 +01:00
Martin Willi
a36b49f3cb
Merge branch 'opaque-ports'
...
Adds a %opaque port option and support for port ranges in left/rightprotoport.
Currently not supported by any of our kernel backends.
2013-03-01 11:27:12 +01:00
Martin Willi
cdf75a39e3
Move initial message dropping to task manager
...
When the last request message of the initial tunnel setup is retransmitted,
we must retransmit the response instead of ignoring the request.
Fixes #295 .
2013-02-25 12:12:19 +01:00
Martin Willi
a1db77de7c
Use a complete port range in traffic_selector_create_from_{subnet,cidr}
2013-02-21 11:52:33 +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
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
1954cc7720
Streamline debug output when receiving intermediate CA certificates in IKEv1
2013-01-11 10:24:23 +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
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
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
8fc8383439
Don't handle fragmented messages larger than charon.max_packet
2012-12-24 12:29:27 +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
Martin Willi
656e01eab3
Add parantheses to avoid compiler warning
2012-12-24 10:12:23 +01:00
Tobias Brunner
ef33a4ab82
Fixed some typos, courtesy of codespell
2012-12-20 09:35:26 +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
Tobias Brunner
283898d6e0
Fix traffic selectors also as initiator in case of transport mode over NAT
2012-12-13 15:27:29 +01:00
Tobias Brunner
2990671748
Fix debug output if responder selected invalid traffic selectors during QM
2012-12-13 15:27:28 +01:00
Martin Willi
3c79b7b7db
Add alerts for sent/received message retransmissions and timeout
2012-11-29 10:22:51 +01:00
Tobias Brunner
214c081dd6
Log sent vendor IDs for IKEv1
2012-11-02 15:52:19 +01:00
Tobias Brunner
f30962de74
Fixed log message when no shared secret is found during IKEv1 Main Mode
2012-10-29 10:04:37 +01:00
Tobias Brunner
f48e727232
Remove all ESP proposals with non-matching DH group during Quick Mode
...
According to RFC 2409, section 5.5, if PFS is used all proposals MUST
include the selected DH group, so we remove proposals without the
proposed group and remove other DH groups from the remaining proposals.
2012-10-24 16:09:42 +02:00
Tobias Brunner
12642a6831
Moved data structures to new collections subfolder
2012-10-24 16:00:49 +02:00
Martin Willi
418f4bc7a5
Raise a bus alert when IKE message body parsing fails
2012-10-24 11:34:30 +02:00
Martin Willi
7910116384
Respect IKE version while selecting an ike_cfg as responder
2012-10-24 10:19:33 +02:00
Tobias Brunner
2a43350334
Missed one in 6c10cece
2012-09-28 20:55:40 +02:00
Tobias Brunner
3973ffa4f6
Request is never NULL when responding with an INFORMATIONAL message
2012-09-28 19:10:03 +02:00
Tobias Brunner
6c10cecebf
Completed state handling in isakmp_cert_pre
...
Should not be a problem, but makes static analyzers happy.
2012-09-28 19:01:09 +02:00
Martin Willi
336dd7a9c7
Don't complain about multiple TS in IKEv1, as it supported with Unity
2012-09-18 17:17:48 +02:00
Martin Willi
7ee37114c9
Derive a dynamic TS to multiple virtual IPs
2012-09-18 17:11:03 +02:00
Martin Willi
abdb82fcc5
Use the vararg list constructor in quick mode task
2012-09-18 17:11:03 +02:00
Tobias Brunner
a889cfe5e1
Change traffic selectors during Quick Mode in case of a NAT in transport mode
...
Windows 7 sends its internal address as TSi. While we don't support the
NAT-T drafts as used by Windows XP it is interesting to note that the
client there omits the TSi payload which then would automatically get set
to the public IP address of the client.
Fixes #220 .
2012-09-14 09:40:18 +02:00
Martin Willi
d4cca1beea
Always send a configuration payload in IKEv1 TRANSACTIONs, even if it is empty
2012-09-11 17:20:17 +02:00
Martin Willi
c4acf37502
Don't use host address for dynamic TS in IKEv1 if a virtual IP was expected
2012-09-11 16:18:29 +02:00