Martin Willi
24742c0f83
Moved IKEv1 DPD processing to task manager, fix sequence issues
2012-05-15 17:00:12 +02:00
Martin Willi
b7dafb3f5b
Consider inbound ESP as a sign of liveness for DPD timeout
2012-05-15 14:58:28 +02:00
Martin Willi
4b38c22c00
Schedule a DPD timeout job that enforces the IKE message timeout policy
2012-05-15 14:46:02 +02:00
Martin Willi
ebf829f2eb
Send unanswered follow up R_U_THERE messages with the same DPD seq
2012-05-15 14:46:02 +02:00
Martin Willi
57a8418c88
Do not send IKEv1 DPD retransmit, but create a new INFORMATIONAL
2012-05-15 14:46:02 +02:00
Martin Willi
9e25007646
Explicitly cast from strict_t to crl_policy_t
2012-05-14 14:11:54 +02:00
Martin Willi
1b82fdb2e5
Use correct integrity_algorithm_t enum type in bench_signer()
2012-05-14 14:11:22 +02:00
Martin Willi
d185b6acee
Make function pointer defined with METHOD() macro non-const
...
clang complains about it being const, and the object code
generated from gcc is the same.
2012-05-14 14:10:00 +02:00
Martin Willi
2e1f4a4631
Remove unused return value of INIT(), making clang happy
2012-05-14 14:07:00 +02:00
Martin Willi
29b56078ea
Register load-tester faked kernel interface before other kernel interfaces
2012-05-14 13:21:35 +02:00
Martin Willi
d4078ca796
Load tester can enforce a local IP to use
2012-05-14 10:03:05 +02:00
Martin Willi
d684242510
Add plugin features support to load-tester plugin
2012-05-14 09:52:53 +02:00
Martin Willi
40ca363a8b
If we load new features from a plugin, restart loading from first plugin
2012-05-03 11:08:09 +02:00
Martin Willi
c9931135d1
stroke plugin sdepends on building CERT_ANY certificates
2012-05-03 11:07:21 +02:00
Martin Willi
7f957b3379
Building CERT_ANY through PEM requires either a CERT_X509 or a CERT_PGP builder
2012-05-03 09:40:25 +02:00
Martin Willi
daab152afa
Add plugin features support to stroke plugin
2012-05-02 14:05:52 +02:00
Martin Willi
0c7af2ce27
Certificate decoding soft-depends on public key decoding of specific types
2012-05-02 14:05:52 +02:00
Martin Willi
4b5e637472
PEM loading plugin features depend on the same feature, they are helpers only
2012-05-02 14:05:52 +02:00
Martin Willi
f14bf6345f
Don't depend on a feature that has a dependency to the same feauture during unload
2012-05-02 14:05:52 +02:00
Martin Willi
b24be29646
Merge branch 'ikev1'
...
Conflicts:
configure.in
man/ipsec.conf.5.in
src/libcharon/encoding/generator.c
src/libcharon/encoding/payloads/notify_payload.c
src/libcharon/encoding/payloads/notify_payload.h
src/libcharon/encoding/payloads/payload.c
src/libcharon/network/receiver.c
src/libcharon/sa/authenticator.c
src/libcharon/sa/authenticator.h
src/libcharon/sa/ikev2/tasks/ike_init.c
src/libcharon/sa/task_manager.c
src/libstrongswan/credentials/auth_cfg.c
2012-05-02 11:12:31 +02:00
Martin Willi
f99d8b10c9
Added a dedicated sender flush method, delay sender destruction until users gone
2012-05-02 10:22:59 +02:00
Martin Willi
8c35f5d460
Fixed Android null terminated password fixup in xauth-eap
2012-04-26 14:35:27 +02:00
Martin Willi
1b7debcc04
Keep COOKIEs enabled once threshold is hit, until we see no COOKIEs for a few secs
...
Toggling COOKIEs on/off is problematic: After doing a COOKIE exchange as
initiator, we can't know if the completing IKE_SA_INIT message is to our first
request or the one with the COOKIE. If the responder just enabled/disabled
COOKIEs and packets get retransmitted, both might be true. Avoiding COOKIE
behavior toggling improves the situation, but does not solve the problem during
the initial COOKIE activation.
2012-04-17 10:02:21 +02:00
Martin Willi
d0d600e1ef
Added a note about DH/keymat lifecycle for custom implementations
2012-04-17 10:02:21 +02:00
Martin Willi
a59a03670b
Reuse existing DH value when retrying IKE_SA_INIT with a COOKIE
2012-04-17 10:02:21 +02:00
Martin Willi
4837d2a981
Fix iteration through half-open IKE_SA table
2012-04-16 16:47:17 +02:00
Martin Willi
10f24e6599
Don't invoke child_updown hook twice as responder
2012-04-11 17:45:12 +02:00
Martin Willi
4ef867f578
Accept zero-length certificate request payloads
2012-04-11 17:22:23 +02:00
Martin Willi
89a5881c63
Added another bunch of commonly used IKEv1 NATT vendor IDs
2012-04-04 10:32:15 +02:00
Martin Willi
4bc7577db2
More detailed NEWS about RADIUS extensions
2012-04-02 13:58:21 +02:00
Martin Willi
3110744a6b
Fix null-terminated XAuth passwords, as sent by Android 4
2012-03-22 15:09:25 +01:00
Martin Willi
83d77866f4
Store authentication info of a XAUTH round on IKE_SA
2012-03-22 09:06:31 +01:00
Martin Willi
79f39ecf5d
Added a getter for CHILD_SA marks
2012-03-22 09:06:12 +01:00
Martin Willi
3de54af7ec
Define a special XFRM mark_t.value that dynamically uses the CHILD_SA reqid
2012-03-22 09:05:56 +01:00
Martin Willi
4f3cf61dfd
Reply with received configuration payload identifier in Mode Config
2012-03-20 18:06:29 +01: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
Martin Willi
a7d3b0e098
Check if we actually have a packet before retransmitting it
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
182d55b229
Use correct enum values to detect three message tasks for retransmission
2012-03-20 17:31:40 +01:00
Martin Willi
f98af1ddd5
Trigger DPD not before IKE_SA state gets updated
2012-03-20 17:31:39 +01:00
Martin Willi
5ed4b727d0
Fix mapping of IKEv1 encapsulation mode
2012-03-20 17:31:39 +01:00
Martin Willi
7fd7ffc649
Use UDP encapsulation even in non-NAT situation if initiator requests it
2012-03-20 17:31:39 +01:00
Martin Willi
75e3d90d43
Updated ipsec.conf man page for the use of IKEv1 with pluto
2012-03-20 17:31:39 +01:00
Martin Willi
c60246a618
Support inactivity timeout in IKEv1 CHILD_SAs
2012-03-20 17:31:39 +01:00
Martin Willi
a0c17d4157
Use a dedicated PRF for HASH/SIG payloads using ECDSA specific hasher
2012-03-20 17:31:39 +01:00
Martin Willi
4c685e8850
Select public key auth method by checking what key we have
2012-03-20 17:31:39 +01:00
Martin Willi
83b152dd4f
Support ECDSA signatures in IKEv1 pubkey authenticator
2012-03-20 17:31:39 +01:00
Martin Willi
5be386ff8e
Exchange certificates when using IKEv1 ECDSA authentication
2012-03-20 17:31:39 +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
6261c0c3b7
Support encoding of IKEv1 ECDSA proposals
2012-03-20 17:31:38 +01:00
Martin Willi
c8d46f2959
Dropped support of deprecated authby=eap and eap= options
2012-03-20 17:31:38 +01:00
Martin Willi
c791def8c1
Added support for authby/xauth_server legacy options
2012-03-20 17:31:38 +01:00
Martin Willi
c390569a76
Renamed CONFIGURATION_ATTRIBUTE_LENGTH to streamline it with other ATTRIBUTE rules
2012-03-20 17:31:38 +01:00
Martin Willi
05cb240215
Use ATTRIBUTE_VALUE rule in configuration attribute to parse it with correct length
2012-03-20 17:31:38 +01:00
Martin Willi
a994050e9c
Don't re-resolve addresses during initiate if they have already been set
2012-03-20 17:31:38 +01:00
Martin Willi
aa3b53e716
Adopt children after syncing a rekeyed IKEv1 SA
2012-03-20 17:31:38 +01:00
Martin Willi
fed5c33440
Synchronize IKEv1 DPD sequence numbers
2012-03-20 17:31:38 +01:00
Martin Willi
fd6fbf1764
Setting message ID on task manager sets DPD sequence numbers in IKEv1
2012-03-20 17:31:38 +01:00
Martin Willi
783c496966
Update state before triggering DPD, as we cancel it if PASSIVE
2012-03-20 17:31:38 +01:00
Martin Willi
a46b8e16ad
Set thread specific SA on bus for each enumerated IKE_SA
2012-03-20 17:31:38 +01:00
Martin Willi
b226fd300d
Sync remote virtual IP for IKEv1 SAs
2012-03-20 17:31:38 +01:00
Martin Willi
868d92a402
Sync new IKE_SA condition/extension flags
2012-03-20 17:31:37 +01:00
Martin Willi
c8531b7e69
Added support for Phase1 IV synchronization to HA plugin
2012-03-20 17:31:37 +01:00
Martin Willi
47b8f6ef4b
Invoke bus_t.message hook twice, once plain and parsed, once encoded and encrypted
2012-03-20 17:31:37 +01:00
Martin Willi
ae92641806
Create IKEv1 keymat hasher explicitly on sync
2012-03-20 17:31:37 +01:00
Martin Willi
a0fa7a7f64
Clear initiator flag when checking out initial IKEv1 SA from message
2012-03-20 17:31:37 +01:00
Martin Willi
8bcd9bd161
Added support to sync IKEv1 SAs key material in HA plugin
2012-03-20 17:31:37 +01:00
Martin Willi
23f9e7a18d
Pass IKEv1 specific keymat to ike_keys hook
2012-03-20 17:31:37 +01:00
Martin Willi
264514826c
Use a more complete implementation of a HA specific diffie_hellman_t
2012-03-20 17:31:37 +01:00
Martin Willi
5763367cac
Show IKE version in ipsec statusall
2012-03-20 17:31:37 +01:00
Martin Willi
c3f1839ab7
Apply proposal to a HA synced IKE_SA
2012-03-20 17:31:37 +01:00
Martin Willi
3624b09e21
Set selected proposal on IKEv1 SA, don't pass it separately to Phase 1 helper
2012-03-20 17:31:37 +01:00
Martin Willi
6bc6f67b0f
Updated HA plugin to new IKEv2 specific keymat functions
2012-03-20 17:31:37 +01:00
Martin Willi
3957a6e4f3
Get a reference for the child_cfg passed to child_create_create()
2012-03-20 17:31:36 +01:00
Martin Willi
696fa8e003
Invoke bus_t.narrow hook in quick mode exchange
2012-03-20 17:31:36 +01:00
Martin Willi
f420f51f55
Invoke authorization hooks for IKEv1 connections
2012-03-20 17:31:36 +01:00
Martin Willi
1a0648490c
Invoke ike_updown hooks for reauthenticated IKEv1 SAs
2012-03-20 17:31:36 +01:00
Martin Willi
b6ac063c36
Don't invoke a child_updown hook when a quick mode to delete has been rekeyed
2012-03-20 17:31:36 +01:00
Martin Willi
669d8bded2
Invoke child_rekey hook instead of child_updown when rekeying a quick mode
2012-03-20 17:31:36 +01:00
Martin Willi
5b7fc76861
Don't invoke updown hook when flushing SAs for IKEv1, tasks will do it
2012-03-20 17:31:36 +01:00
Martin Willi
c654d949f3
Fix "incoming" flag passed to bus_t.message() hook
2012-03-20 17:31:36 +01:00
Martin Willi
477559cab5
Continue with next exchange after sending an INFORMATIONAL
2012-03-20 17:31:36 +01:00
Martin Willi
1b82eb23a2
Handle retransmission of DPD exchange, both as initiator and responder
2012-03-20 17:31:36 +01:00
Martin Willi
11aadd7722
Disable DPD checking for peers not supporting it
2012-03-20 17:31:35 +01:00
Martin Willi
214d4e4090
Added missing DPD task name
2012-03-20 17:31:35 +01:00
Martin Willi
ff6b084ac4
Confirm message reception time only if DPD sequence number valid
2012-03-20 17:31:35 +01:00
Martin Willi
2ddd45c9a7
Simplified DPD handling by using a task for a single message only
2012-03-20 17:31:35 +01:00
Martin Willi
5ac4c2e1a9
Added missing short enum names for DPD notify types
2012-03-20 17:31:35 +01:00
Martin Willi
bb2d4e1882
Print IKEv1 notify types in message summary
2012-03-20 17:31:35 +01:00
Martin Willi
5f2f864efc
Support IKEv1 notifies in message_t.get_notify()
2012-03-20 17:31:35 +01:00
Martin Willi
3fca5bd123
Check if we have an RNG for IKEv1 task manager before using it
2012-03-20 17:31:35 +01:00
Martin Willi
31689338d6
Remove unused DPD sequence number getter on task manager
2012-03-20 17:31:35 +01:00
Martin Willi
1e624ce876
Don't retransmit, rekey, reauth or DPD check SAs when in PASSIVE state
2012-03-20 17:31:35 +01:00
Martin Willi
346dad30d4
Request and handle retransmission of a lost third aggressive mode message
2012-03-20 17:31:34 +01:00
Martin Willi
37c12bd31e
Streamlined debug output when initiating IKEv1 IKE_SAs
2012-03-20 17:31:34 +01:00
Martin Willi
c40963b457
Enforce encapsulation mode of configuration, in case initiator proposes both
2012-03-20 17:31:34 +01:00
Martin Willi
e129168ba6
Added a "aggressive" ipsec.conf connection option
2012-03-20 17:31:34 +01:00
Martin Willi
830ab2ae7f
Handle aggressive mode task in IKEv1 task manager
2012-03-20 17:31:34 +01:00
Martin Willi
91c212fd6a
Select IKEv1 configurations by main/aggressive mode option
2012-03-20 17:31:34 +01:00
Martin Willi
5ce59d4c06
Added an aggressive mode peer_cfg option
2012-03-20 17:31:34 +01:00