Tobias Brunner
f00a9c1715
packet: Define a global default maximum size for IKE packets
2014-10-10 09:32:42 +02:00
Tobias Brunner
03512c47bf
message: Ensure a minimum fragment length
2014-10-10 09:32:41 +02:00
Tobias Brunner
f1aa18b2e8
ikev2: Send retransmits using the latest known addresses
...
For instance, if a DPD exchange is initiated by the gateway when a
mobile client is roaming and it then gets a new IP address and sends
an address update via MOBIKE, the DPD retransmits would still be sent
to the old address and the SA would eventually get closed.
2014-10-10 09:32:41 +02:00
Tobias Brunner
b678d9e14f
ikev2: Send and receive fragmented IKE messages
...
If a fragmented message is retransmitted only the first packet is passed
to the alert() hook.
2014-10-10 09:32:41 +02:00
Tobias Brunner
1446fd8ac9
ike: IKE_SA may fragment IKEv2 messages
2014-10-10 09:32:41 +02:00
Tobias Brunner
7a53fe5511
ike: Do not cache MID of IKEv2 fragments
...
This fails if there are unencrypted payloads before an encrypted
fragment payload in the first fragment.
2014-10-10 09:32:41 +02:00
Tobias Brunner
c0f4936a23
message: Fragment and reassemble IKEv2 messages
2014-10-10 09:32:41 +02:00
Tobias Brunner
e8ffb256b3
message: Handle encrypted fragment payload similar to the encrypted payload
2014-10-10 09:32:41 +02:00
Tobias Brunner
4c345b15c7
ikev2: Add encrypted fragment payload
2014-10-10 09:32:37 +02:00
Tobias Brunner
edfd33455c
encrypted_payload: Encrypted payload can be constructed from plaintext
2014-10-10 09:31:17 +02:00
Tobias Brunner
1e0d8f3ec0
encrypted_payload: Expose generate() to generate the plaintext
2014-10-10 09:31:17 +02:00
Tobias Brunner
44996b5866
encrypted_payload: Extract some utility functions
2014-10-10 09:31:17 +02:00
Tobias Brunner
41751a70d9
message: Split generate() in multiple functions
2014-10-10 09:31:16 +02:00
Tobias Brunner
34dc37f3cb
ikev2: Negotiate support for IKEv2 fragmentation
2014-10-10 09:31:16 +02:00
Tobias Brunner
7223b642a7
ikev2: Add notify for IKEv2 fragmentation
2014-10-10 09:31:13 +02:00
Tobias Brunner
70e0be072b
ikev1: Move defragmentation to message_t
2014-10-10 09:30:26 +02:00
Tobias Brunner
40bab9a176
ike: Move fragmentation to ike_sa_t
...
The message() hook on bus_t is now called exactly once before (plain) and
once after fragmenting (!plain), not twice for the complete message and again
for each individual fragment, as was the case in earlier iterations.
For inbound messages the hook is called once for each fragment (!plain)
and twice for the reassembled message.
2014-10-10 09:30:26 +02:00
Tobias Brunner
2e7a2c06a1
message: fragment() generates message and fragments and caches them
2014-10-10 09:30:26 +02:00
Tobias Brunner
e0b35142c1
message: Make packet argument optional in generate()
2014-10-10 09:30:26 +02:00
Tobias Brunner
127a98dc90
ikev1: Move fragment generation to message_t
2014-10-10 09:30:26 +02:00
Tobias Brunner
147fe503af
ike: Rename encryption_payload to encrypted_payload
2014-10-10 09:30:25 +02:00
Tobias Brunner
7fb363c8f7
ipsec: Remove unsupported listcards and rereadgroups commands
2014-10-08 18:44:23 +02:00
Tobias Brunner
5bc6947738
ipsec: Document missing commands
2014-10-08 18:44:23 +02:00
Tobias Brunner
92cea9c368
ipsec: Update usage output
2014-10-08 18:44:23 +02:00
Tobias Brunner
4279bfdb40
ipsec: Remove duplicate check for internal commands
2014-10-08 18:44:23 +02:00
Tobias Brunner
249aa67f87
ipsec: Only set PATH if it is not already set
...
The comment indicated this but it was always set anyway. All internal
commands are called via their absolute paths, so the script only uses PATH for
the uname command, but if that is not located in one of the configured
directories the script will fail.
Also, since the internal commands are called via their absolute paths there is
no need to add the directories to PATH.
2014-10-08 18:44:23 +02:00
Tobias Brunner
d52b8738b5
ikev1: Fix handling of UNITY_LOAD_BALANCE
...
The re-authentication is now handled within the original IKE_SA if it has not
yet been established, so we don't want to destroy it.
2014-10-07 13:46:18 +02:00
Tobias Brunner
d4828f51e0
ikev1: Don't queue more than one mode config or XAuth task
...
At the time we reset an IKE_SA (e.g. when re-authenticating a not yet
established SA due to a roaming event) such tasks might already be queued
by one of the phase 1 tasks. If the SA is initiated again another task will
get queued by the phase 1 task. This results in e.g. multiple mode config
requests, which most gateways will have problems with.
2014-10-07 13:45:01 +02:00
Martin Willi
b2c1973ffb
ext-auth: Add an ext-auth plugin invoking an external authorization script
...
Original patch courtesy of Vyronas Tsingaras.
2014-10-06 18:30:46 +02:00
Martin Willi
6890bdc7a0
updown: Use process abstraction to invoke updown script
2014-10-06 18:24:39 +02:00
Martin Willi
7dd06d274d
process: Add a wrapper to invoke a command under the system default shell
2014-10-06 18:24:39 +02:00
Martin Willi
02e4dedce5
process: Port child process spawning to the Windows platform
2014-10-06 18:24:39 +02:00
Martin Willi
1fea589c1f
process: Provide an abstraction to spawn child processes with redirected I/O
2014-10-06 18:24:39 +02:00
Andreas Steffen
b95b664644
Incremental parsing fixes
2014-10-05 22:52:59 +02:00
Andreas Steffen
1bea00651d
Added add_segment() method to TCG/PTS attributes
2014-10-05 19:43:27 +02:00
Andreas Steffen
01be87d086
Added add_segment() method to TCG/SEG attributes
2014-10-05 19:14:38 +02:00
Andreas Steffen
a5dfe7a29a
OS IMV proposes IF-M segmentation contract
...
The OS IMV sends a TCG IF-M Segmentation contract request.
All IETF standard attributes support segmentation. Additionally
the IETF Installed Packages standard attributes supports
incremental processing while segments are received.
2014-10-05 18:43:55 +02:00
Andreas Steffen
fc47211740
SWID IMC proposes IF-M segmentation contracts
2014-10-05 18:43:55 +02:00
Andreas Steffen
30774ee5d6
unit-tests: Updated libimcv test suite
2014-10-05 18:43:54 +02:00
Andreas Steffen
9a515a8856
Added add_segment() method to IETF attributes
2014-10-05 18:43:54 +02:00
Andreas Steffen
97ec4cb055
Added add_segment() method to ITA attributes
2014-10-05 18:43:54 +02:00
Andreas Steffen
903a427008
Implemented incremental processing of SWID tag [ID] inventory attribute
2014-10-05 18:43:54 +02:00
Andreas Steffen
eba0cbcee3
Implemented add_segment method for PA-TNC attributes
2014-10-05 12:55:38 +02:00
Andreas Steffen
e77df5a1f6
Added total length parameter in PA-TNC attribute constructor
2014-10-05 12:55:38 +02:00
Andreas Steffen
ebfd8278f9
Assignment of flags starts with bit 0
2014-10-05 12:55:38 +02:00
Andreas Steffen
95e1524a64
Register the reception of the AIK attribute
2014-10-05 12:55:38 +02:00
Andreas Steffen
4f5b435fe9
Unit tests for libimcv
2014-10-05 12:55:38 +02:00
Andreas Steffen
e23cad3564
Compacted chunk creation in ita_attr_command constructor
2014-10-05 12:55:38 +02:00
Andreas Steffen
d6fb2cc6e3
Merged libpts into libimcv
2014-10-05 12:55:37 +02:00
Andreas Steffen
c4d0987609
Added out message queue for imv_msg receive method
2014-10-05 12:55:37 +02:00