Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Version bump to 5.5.0dr15.5.0dr1 | Andreas Steffen | 2016-06-26 | 2 | -1/+9 |
| | |||||
* | Merge branch 'tpm2' | Andreas Steffen | 2016-06-26 | 43 | -1004/+3198 |
|\ | | | | | | | | | | | The libtpmtss library supports both TPM 1.2 and TPM 2.0 Trusted Platform Modules. Features comprise capability discovery, listing of PCRs, AIK generation and quote signatures. | ||||
| * | libtpmtss: Added to integrity checks | Andreas Steffen | 2016-06-26 | 4 | -0/+19 |
| | | |||||
| * | aikpub2: Output AIK signature algorithm | Andreas Steffen | 2016-06-26 | 1 | -1/+14 |
| | | |||||
| * | Refactoring to tpm_tss_quote_info object | Andreas Steffen | 2016-06-26 | 24 | -397/+923 |
| | | |||||
| * | libimcv: Changed debug level for functional components from 2 to 3 | Andreas Steffen | 2016-06-26 | 1 | -2/+2 |
| | | |||||
| * | libtpmtss: Implemented TSS2 quote() method | Andreas Steffen | 2016-06-26 | 2 | -23/+142 |
| | | |||||
| * | libtpmtss: Implemented TSS2 read_pcr() method | Andreas Steffen | 2016-06-22 | 1 | -6/+114 |
| | | |||||
| * | libimcv: migrate pts to tpm_tss | Andreas Steffen | 2016-06-22 | 12 | -496/+572 |
| | | |||||
| * | libtpmtss: Get TPM 2.0 capabilities | Andreas Steffen | 2016-06-22 | 4 | -2/+227 |
| | | |||||
| * | libtpmtss: Retrieve TPM 1.2 version info | Andreas Steffen | 2016-06-22 | 3 | -3/+75 |
| | | |||||
| * | Created libtpmtss library handling access to v1.2 and v2.0 TPMs | Andreas Steffen | 2016-06-22 | 15 | -403/+927 |
| | | |||||
| * | aikpub2: --handle option retrieves public key from TPM 2.0 NVRAM | Andreas Steffen | 2016-06-22 | 2 | -30/+147 |
| | | |||||
| * | aikpub2: Convert TSS 2.0 AIK public key blob into PKCS#1 format | Andreas Steffen | 2016-06-22 | 7 | -5/+400 |
|/ | |||||
* | testing: Start charon before Apache in tnc/tnccs-20-pdp-pt-tls | Tobias Brunner | 2016-06-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | The change in c423d0e8a124 ("testing: Fix race in tnc/tnccs-20-pdp-pt-tls scenario") is not really ideal as now the vici plugin might not yet be ready when `swanctl --load-creds` is called. Perhaps starting charon before Apache causes enough delay. Once we switch to charon-systemd this isn't a problem anymore as starting the unit will block until everything is up and ready. Also, the individual swanctl calls will be redundant as the default service unit calls --load-all. But start scripts do run before charon-systemd signals that the daemon is ready, so using these would work too then. | ||||
* | testing: Only load selected plugins in swanctl | Tobias Brunner | 2016-06-20 | 1 | -0/+4 |
| | | | | | | | | | The main issue is that the ldap and curl plugins, or rather the libraries they use, initialize GnuTLS (curl, strangely, even when it is, by its own account, linked against OpenSSL). Some of these allocations are only freed once the libraries are unloaded. This means that the leak detective causes invalid frees when swanctl is terminated and libraries are unloaded after the leak detective is already deinitialized. | ||||
* | Merge branch 'exchange-collisions' | Tobias Brunner | 2016-06-17 | 54 | -329/+6479 |
|\ | | | | | | | | | | | | | | | | | | | Improves the handling of IKEv2 exchange collisions in several corner cases. TEMPORARY_FAILURE and CHILD_SA_NOT_FOUND notifies that were defined with RFC 7296 are now handled and sent as appropriate. The behavior in these situations is tested with new unit tests. Fixes #379, #464, #876, #1293. | ||||
| * | unit-tests: Add tests for expires after CHILD_SA rekeying | Tobias Brunner | 2016-06-17 | 1 | -0/+129 |
| | | |||||
| * | child-rekey: Only rekey installed CHILD_SAs | Tobias Brunner | 2016-06-17 | 1 | -7/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | Depending on the lifetimes a CHILD_SA we rekeyed as responder might expire shortly afterwards. We don't want to rekey it again. When retrying due to an INVALID_KE_PAYLOAD notify the expected state is CHILD_REKEYING if it is anything else (e.g. due to a collision) we ignore it. We also abort the exchange properly if we don't find the CHILD_SA, no need for an empty INFORMATIONAL exchange anymore. | ||||
| * | Report test coverage of libcharon and starter | Tobias Brunner | 2016-06-17 | 2 | -0/+6 |
| | | |||||
| * | unit-tests: Add test for CHILD_SA rekey if a retry due to an ↵ | Tobias Brunner | 2016-06-17 | 1 | -0/+143 |
| | | | | | | | | INVALID_KE_PAYLOAD is delayed | ||||
| * | child-rekey: Ignore failed colliding CHILD_SA rekeyings | Tobias Brunner | 2016-06-17 | 1 | -1/+10 |
| | | | | | | | | | | | | | | If a passive rekeying fails due to an INVALID_KE_PAYLOAD we don't want to consider this task later when resolving collisions. This previously might have caused the wrong SA to get deleted/installed based on the nonces in the unsuccessful exchange. | ||||
| * | unit-tests: Add test for collision between IKE_SA rekey and CHILD_SA creation | Tobias Brunner | 2016-06-17 | 3 | -0/+108 |
| | | |||||
| * | child-create: Retry creating the CHILD_SA if TEMPORARY_FAILURE is received | Tobias Brunner | 2016-06-17 | 1 | -4/+33 |
| | | | | | | | | We queue a delayed task that is initiated after a while. | ||||
| * | ikev2: Add possibility to delay initiation of a queued task | Tobias Brunner | 2016-06-17 | 5 | -66/+189 |
| | | | | | | | | | | | | | | | | | | | | | | Such a task is not initiated unless a certain time has passed. This allows delaying certain tasks but avoids problems if we'd do this via a scheduled job (e.g. if the IKE_SA is rekeyed in the meantime). If the IKE_SA is rekeyed the delay of such tasks is reset when the tasks are adopted i.e. they get executed immediately on the new IKE_SA. This hasn't been implemented for IKEv1 yet. | ||||
| * | ike: Reduce RETRY_INTERVAL a bit | Tobias Brunner | 2016-06-17 | 1 | -2/+2 |
| | | | | | | | | Retry exchanges between 5 and 15 seconds after a temporary failure. | ||||
| * | ike-rekey: Return TEMPORARY_FAILURE when concurrently creating a CHILD_SA | Tobias Brunner | 2016-06-17 | 1 | -14/+35 |
| | | |||||
| * | unit-tests: Add tests for IKE rekeying if INVALID_KE_PAYLOAD notifies are ↵ | Tobias Brunner | 2016-06-17 | 1 | -0/+470 |
| | | | | | | | | received | ||||
| * | ike: Add configuration option to switch to preferring supplied proposals ↵ | Tobias Brunner | 2016-06-17 | 6 | -10/+26 |
| | | | | | | | | over local ones | ||||
| * | child-cfg: Add option to prefer supplied proposals over locally configured ones | Tobias Brunner | 2016-06-17 | 4 | -23/+38 |
| | | |||||
| * | ike-cfg: Add option to prefer supplied proposals over locally configured ones | Tobias Brunner | 2016-06-17 | 5 | -32/+48 |
| | | |||||
| * | proposal: Remove MODP_NONE from IKE proposals parsed from strings | Tobias Brunner | 2016-06-17 | 1 | -0/+10 |
| | | |||||
| * | proposal: Handle MODP_NONE in both directions when selecting proposals | Tobias Brunner | 2016-06-17 | 4 | -6/+97 |
| | | |||||
| * | proposal: Parse modpnone as MODP_NONE(0) | Tobias Brunner | 2016-06-17 | 1 | -0/+1 |
| | | |||||
| * | ike-rekey: Make sure to ignore task when detecting collisions if ike-init ↵ | Tobias Brunner | 2016-06-17 | 1 | -1/+2 |
| | | | | | | | | | | | | | | subtask failed For instance, if INVALID_KE_PAYLOAD is returned we don't want this task to affect any active rekeying (no new SA has been established so far). | ||||
| * | unit-tests: Add test for rekey collision if one CREATE_CHILD_SA response is ↵ | Tobias Brunner | 2016-06-17 | 1 | -0/+221 |
| | | | | | | | | delayed | ||||
| * | unit-tests: Add tests for IKE_SA rekeying if collision is not detected by ↵ | Tobias Brunner | 2016-06-17 | 1 | -0/+340 |
| | | | | | | | | one peer | ||||
| * | ike-rekey: Handle undetected collisions also if delete is delayed | Tobias Brunner | 2016-06-17 | 1 | -16/+26 |
| | | | | | | | | | | | | | | | | | | | | | | If the peer does not detect the rekey collision and deletes the old IKE_SA and then receives the colliding rekey request it will respond with TEMPORARY_FAILURE. That notify may arrive before the DELETE does, in which case we may just conclude the rekeying initiated by the peer. Also, since the IKE_SA is destroyed in any case when we receive a delete there is no point in storing the delete task in collide() as process_i() in the ike-rekey task will never be called. | ||||
| * | ike-rekey: There is no passive reauth task, so it will never collide with one | Tobias Brunner | 2016-06-17 | 2 | -7/+4 |
| | | |||||
| * | ike-rekey: Ignore colliding rekey tasks that did not create an IKE_SA | Tobias Brunner | 2016-06-17 | 1 | -56/+64 |
| | | | | | | | | | | This simplifies collision handling and we don't need to know about these tasks when concluding the rekeying we initiated. | ||||
| * | ike-rekey: Properly handle situation if the peer did not notice the rekey ↵ | Tobias Brunner | 2016-06-17 | 1 | -0/+11 |
| | | | | | | | | | | | | | | | | | | | | collision We conclude the rekeying before deleting the IKE_SA. Waiting for the potential TEMPORARY_FAILURE notify is no good because if that response does not reach us the peer will not retransmit it upon our retransmits of the rekey request if it already deleted the IKE_SA after receiving our response to the delete. | ||||
| * | ike-delete: Handle deletes while rekeying differently if there was a collision | Tobias Brunner | 2016-06-17 | 1 | -2/+40 |
| | | | | | | | | | | We treat these as if we concluded the rekeying, the active ike-rekey task will handle the collision afterwards. | ||||
| * | ike-rekey: Add method to check if there was a rekey collision | Tobias Brunner | 2016-06-17 | 2 | -1/+17 |
| | | |||||
| * | ikev2: Check for collisions after handling IKE deletion | Tobias Brunner | 2016-06-17 | 1 | -1/+5 |
| | | |||||
| * | unit-tests: Add tests for IKE/CHILD delete collisions | Tobias Brunner | 2016-06-17 | 1 | -0/+165 |
| | | |||||
| * | child-delete: Reply as usual when concurrently rekeying the IKE_SA | Tobias Brunner | 2016-06-17 | 1 | -5/+1 |
| | | | | | | | | | | As per RFC 7296, 2.25.2 (what we did before was the behavior described in RFC 4718). | ||||
| * | unit-tests: Add tests for IKE/CHILD rekey collisions | Tobias Brunner | 2016-06-17 | 1 | -0/+170 |
| | | |||||
| * | child-create: Respond with TEMPORARY_FAILURE while rekeying/deleting IKE_SA | Tobias Brunner | 2016-06-17 | 1 | -2/+2 |
| | | |||||
| * | ike-rekey: Respond with TEMPORARY_FAILURE if CHILD_SAs are currently ↵ | Tobias Brunner | 2016-06-17 | 1 | -1/+8 |
| | | | | | | | | rekeyed/deleted/established | ||||
| * | unit-tests: Add tests for collisions between IKE_SA rekeying and deletion | Tobias Brunner | 2016-06-17 | 1 | -0/+174 |
| | |