Commit Graph
100 Commits
Author SHA1 Message Date
Martin Willi a2f8fc9711 Use a dedicated IKEv1 vendor ID task to fix using IKEv2 payloads in IKEv1 2012-03-20 17:31:07 +01:00
Martin Willi abf9784786 Pass concrete auth_method to key derivation, as we have that as a responder 2012-03-20 17:30:53 +01:00
Martin Willi b4e815354c Map auth_class to auth method and IKEv1 proposal attribute 2012-03-20 17:30:53 +01:00
Martin Willi eeca2af81c Removed obsolete transform attribute setters 2012-03-20 17:30:53 +01:00
Martin Willi 914ec2dbf2 Implemented IKEv1 attribute encoding in SA payload 2012-03-20 17:30:53 +01:00
Martin Willi fbebc2a068 Implemented encoding of additional IKEv1 proposal attributes 2012-03-20 17:30:53 +01:00
Martin Willi cd0017d452 Exchange IKEv1 ESP SA proposal information 2012-03-20 17:30:53 +01:00
Martin Willi 132d5c56de Exchange IKEv1 SA specific proposal data with SA payload 2012-03-20 17:30:52 +01:00
Martin Willi e174e0d445 Added not-yet used sa_payload parameters used in IKEv1 2012-03-20 17:30:52 +01:00
Martin Willi d08269c700 Added a get_rekey/reauth_time() jitter parameter to get time without randomization 2012-03-20 17:30:52 +01:00
Martin Willi 9cc38c8efb Use quick mode task initiator flag instead of passing it as parameter 2012-03-20 17:30:51 +01:00
Martin Willi 4e0bc9af22 Add quick mode ID payloads only if establishing a non-host2host tunnel 2012-03-20 17:30:51 +01:00
Martin Willi c4b8539f93 Refactored traffic selector handling in quick mode 2012-03-20 17:30:51 +01:00
Martin Willi 818330aafe Refactored NONCE payload handling in quick mode 2012-03-20 17:30:51 +01:00
Martin Willi c4c5950458 Create host-to-host traffic selectors if quick mode identities missing 2012-03-20 17:30:51 +01:00
Martin Willi d020d4d695 Print message payload names after prepending IKEv1 HASH payload 2012-03-20 17:30:50 +01:00
Martin Willi da063ec95e Fixed task_manager_v1 compiler warnings 2012-03-20 17:30:50 +01:00
Martin Willi 3e246c4883 Generate a new mid only after we start a new task (and exchange) 2012-03-20 17:30:50 +01:00
Martin Willi a7910b1c6e Derive IKEv1 CHILD_SA keymat twice, once for each IPsec SA 2012-03-20 17:30:50 +01:00
Martin Willi 85f5c478bf Fix seed construction for IKEv1 key derivation 2012-03-20 17:30:50 +01:00
Martin Willi 9cc8bd4fd2 Use a dedicated message hash to detect IKEv1 retransmissions 2012-03-20 17:30:50 +01:00
Martin Willi 7a7f486df6 Include hardcoded tunnel mode attribute in porposal, remove ESN attribute 2012-03-20 17:30:50 +01:00
Martin Willi b6016fcab3 Fixed a config reference leak in IKEv2 initiate 2012-03-20 17:30:49 +01:00
Martin Willi 384c1a32a2 XAUTH is initiated based on configuration, no need to call externally 2012-03-20 17:30:49 +01:00
Martin Willi 017d98bf39 Merged IKEv1 attribute payload/data into configuration payload/attribute 2012-03-20 17:30:49 +01:00
Martin Willi d50152a70b Parse proposal substructure with multiple IKEv1 transforms to multiple proposals 2012-03-20 17:30:49 +01:00
Martin Willi 62a27ba347 Encode multiple IKEv1 proposals in a single transform substructure 2012-03-20 17:30:48 +01:00
Martin Willi f9450fc9f7 Remove public sa_payload.add_proposal() method 2012-03-20 17:30:48 +01:00
Martin Willi cd89f1a074 Only add the first algorithm of a kind to IKEv1 transforms 2012-03-20 17:30:48 +01:00
Martin Willi 5351d63c79 Install negotiated IKEv1 CHILD_SA negotiated in quick mode 2012-03-20 17:30:48 +01:00
Martin Willi ff2a2ad33a Implemented IKEv1 keymat CHILD_SA key derivation function 2012-03-20 17:30:48 +01:00
Martin Willi 6cd72730bf Moved keymat key length lookup functions to keymat.c 2012-03-20 17:30:48 +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 f5c0096086 Hardcode some SA lifetimes until we can configure them dynamically 2012-03-20 17:30:48 +01:00
Martin Willi a0b52db079 Refactored main mode NONCE/KE payload processing 2012-03-20 17:30:47 +01:00
Martin Willi a0f851cfe0 Refactored main mode HASH payload processing 2012-03-20 17:30:47 +01:00
Martin Willi 73380c8685 Skip any payloads in front of SA to extract initiators SA bytes 2012-03-20 17:30:47 +01:00
Martin Willi 21b7db99c6 Implemented quick mode protocol handling, no CHILD_SA or HASH payloads yet 2012-03-20 17:30:47 +01:00
Martin Willi cc9629d87c Partially implemented IKEv1 ESP proposal en-/decoding 2012-03-20 17:30:47 +01:00
Martin Willi 12b6a68a5f Add missing keymat cast to avoid compiler warning 2012-03-20 17:30:47 +01:00
Martin Willi 17ec1c74de Don't compare initiator flag in IKE_SA manager, pass initiator parameter to IKE_SA constructor 2012-03-20 17:30:47 +01:00
Martin Willi 1b99befac3 Create and verify PSK HASH payloads in IKEv1 main mode 2012-03-20 17:30:47 +01:00
Martin Willi 4eee34ac49 Added keymat_v1_t.get_hash() to calculate authentication hashes 2012-03-20 17:30:46 +01:00
Martin Willi e1f9d6476e Register HASH_V1 in payload factory 2012-03-20 17:30:46 +01:00
Martin Willi 059d694a6b Derive IKE keys as IKEv1 initiator, too 2012-03-20 17:30:46 +01:00
Martin Willi 7fcd26f4fc Fix payload length of id_payload created from a traffic selector 2012-03-20 17:30:46 +01:00
Martin Willi a09972df2b Added a generic TASK_ prefix to all task types 2012-03-20 17:30:45 +01:00
Martin Willi 744c080153 Initiate and respond to quick mode task (stub) 2012-03-20 17:30:45 +01:00
Martin Willi 3bd5fcc832 Print message ID as unsigned integer 2012-03-20 17:30:45 +01:00
Martin Willi 9e40e3e9fa Added message encoding rules for quick mode 2012-03-20 17:30:45 +01:00
Martin Willi 9124e3425b Fixed reference counting bugs in main mode 2012-03-20 17:30:44 +01:00
Martin Willi 73aaf76be3 Implemented basic message id handling for IKEv1 2012-03-20 17:30:44 +01:00
Martin Willi 2b04aa46ea Added a quick mode task stub 2012-03-20 17:30:44 +01:00
Martin Willi cbb6d765bc Fixed length calculation of delete payload 2012-03-20 17:30:44 +01:00
Martin Willi 4ea258538e Update header length after each parsed rule, as it might change when parsing SPI size 2012-03-20 17:30:44 +01:00
Martin Willi 5789320f5c Fix rule selection in transform substructure 2012-03-20 17:30:44 +01:00
Martin Willi 5f1aef65ce Fixed proposal numbering check in sa_payload 2012-03-20 17:30:44 +01:00
Martin Willi c311d22d0f Don't clone chunk in message.get_packet_data 2012-03-20 17:30:44 +01:00
Martin Willi 31fc14e394 Verify IKEv1 nonce size, send 32 byte nonces 2012-03-20 17:30:44 +01:00
Martin Willi 6c2b7d4ed9 Partially implemented third main mode exchange (identities) 2012-03-20 17:30:44 +01:00
Martin Willi e4a8fd72cb Added IKEv1 ID payload <-> traffic selector conversion functions 2012-03-20 17:30:44 +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
Martin Willi 26b55dc6c8 Implemented first two exchanges of Main Mode as initiator 2012-03-20 17:30:43 +01:00
Martin Willi 9cc63d2cf0 Added enum name for MAIN_MODE task 2012-03-20 17:30:43 +01:00
Martin Willi cf1772f685 Do not ignore configs for IKEv1 in charon anymore 2012-03-20 17:30:43 +01:00
Martin Willi 558f79f76d Added missing task manager factory declaration 2012-03-20 17:30:43 +01:00
Martin Willi 72b3146092 Re-enable static inclusion of PSK auth method into IKEv1 proposal 2012-03-20 17:30:43 +01:00
Martin Willi cf6cd5aa4b Added IKEv1 support to delete payload 2012-03-20 17:30:43 +01:00
Martin Willi 04ee2b7fed Added IKEv1 support to notify payload 2012-03-20 17:30:43 +01:00
Martin Willi f62a7c7c71 Use a generic list encoding rule we can use to specify the wrapped payload type 2012-03-20 17:30:42 +01:00
Martin Willi 95a26523af Use a generic encoding type for all variable length chunks 2012-03-20 17:30:42 +01:00
Martin Willi ee50a29385 Implemented IKEv1 hash payload 2012-03-20 17:30:42 +01:00
Martin Willi 2a36037ec7 Extended ID payload for (non-TS) IKEv1 use 2012-03-20 17:30:42 +01:00
Martin Willi f34b452d56 Implement second exchange in IKEv1 main mode 2012-03-20 17:30:42 +01:00
Martin Willi 38fb67fbf1 Add a payload.get_header_length() method, remove header length definitions 2012-03-20 17:30:42 +01:00
Martin Willi e9b55b8325 Simplify signature of get_encoding_rules(), make all rules static 2012-03-20 17:30:42 +01:00
Martin Willi 683d83ed3e Extended KE payload for IKEv1 support 2012-03-20 17:30:42 +01:00
Martin Willi bcfb0f4096 Extended nonce payload for IKEv1 support 2012-03-20 17:30:42 +01:00
Martin Willi 717333da98 Add fixed PSK authentication method to IKEv1 proposal for now 2012-03-20 17:30:41 +01:00
Martin Willi 2e897fe30a Handle first exchange in IKEv1 main mode as responder 2012-03-20 17:30:41 +01:00
Martin Willi 3a470f3035 Added limiting encoding of IKEv1 SA payloads 2012-03-20 17:30:41 +01:00
Martin Willi 2bcd51b389 Added SA payload IKEv1 encoding types to generator 2012-03-20 17:30:41 +01:00
Martin Willi bce8d3be11 Don't set IKEv2 only header flags when using IKEv1 2012-03-20 17:30:41 +01:00
Martin Willi da8cadbd93 Set default IKE header initiator flag in IKEv2 only 2012-03-20 17:30:41 +01:00
Martin Willi c73c832c5a Added an IKEv1 main mode task stub 2012-03-20 17:30:41 +01:00
Martin Willi 4a09d9ee7f Added a stub for a IKEv1 task manager 2012-03-20 17:30:41 +01:00
Martin Willi e69f7dcddf Use task manager as generic interface, renamed implementation to _v2. 2012-03-20 17:30:41 +01:00
Martin Willi 4ac22be0ec Fix unaligned aliasing warning in raw socket 2012-03-20 17:30:41 +01:00
Martin Willi 1bf2971ff2 Implemented limited payload parsing for IKEv1 SA payloads 2012-03-20 17:30:40 +01:00
Martin Willi 3f6d1b13a7 Added additional IKEv1 payload and encoding identifiers 2012-03-20 17:30:40 +01:00
Martin Willi b0b9d18593 Extend sa_payload for IKEv1 support 2012-03-20 17:30:40 +01:00
Martin Willi 837298c590 Use vendor id payload for IKEv1 payloads, too 2012-03-20 17:30:39 +01:00
Martin Willi ecf854a00b Added IKEv1 payload identifiers to "known" payload list 2012-03-20 17:30:39 +01:00
Martin Willi 2fc986182f Handle IKEv1 messages in managers checkout_by_message 2012-03-20 17:30:39 +01:00
Martin Willi e33b41e7b0 Added IKEv1 payload identifiers 2012-03-20 17:30:39 +01:00
Martin Willi 867701bc6d Accept and process IKEv1 messages in receiver 2012-03-20 17:30:39 +01:00
Martin Willi 526b5afb45 Extended IKE header for IKEv1 support 2012-03-20 17:30:39 +01:00
Martin Willi 37276728f3 Added some NEWS for 4.6.0 2011-10-14 10:29:01 +02:00
Martin Willi 58fcdc4f06 Don't enforce features with soft dependencies before all plugins are loaded 2011-10-14 10:05:49 +02:00
Martin Willi 67c1d36554 Add features support tp eap-simaka-reauth plugin 2011-10-14 10:05:49 +02:00