Version 5.9.0 » History » Version 3
Tobias Brunner, 24.07.2020 15:52
News for 5.9.0
1 | 2 | Tobias Brunner | h1. Version 5.9.0 |
---|---|---|---|
2 | 1 | Tobias Brunner | |
3 | 3 | Tobias Brunner | * We prefer AEAD algorithms for ESP and therefore put AES-GCM in a default AEAD proposal in front |
4 | 3 | Tobias Brunner | of the previous default proposal. |
5 | 3 | Tobias Brunner | |
6 | 3 | Tobias Brunner | * Changes related to the [[NetworkManager|NM frontend]] and backend (charon-nm): |
7 | 3 | Tobias Brunner | ** Password entry for private keys in the frontend has been fixed, in the backend, cached credentials |
8 | 3 | Tobias Brunner | are now also cleared when the connection is terminated (#3428). |
9 | 3 | Tobias Brunner | ** The AppStream metadata installed by the frontend has been migrated from _appdata_ to |
10 | 3 | Tobias Brunner | _metainfo_ (commit:73b60338dc). |
11 | 3 | Tobias Brunner | ** The height of the frontend has been reduced by using tabs for options/proposals (#3448). |
12 | 3 | Tobias Brunner | ** DPD and close action are now set to _restart_ in the backend (#3300). |
13 | 3 | Tobias Brunner | ** The backend supports custom remote traffic selectors via @remote-ts@ option (separated by @;@). |
14 | 3 | Tobias Brunner | There is currently no GUI support, so configuration has to be done manually via @nmcli@ or |
15 | 3 | Tobias Brunner | config file. |
16 | 3 | Tobias Brunner | |
17 | 3 | Tobias Brunner | * If a connection fails after getting redirected, we now restart connecting to the original host, not the |
18 | 3 | Tobias Brunner | one redirected to. |
19 | 3 | Tobias Brunner | |
20 | 3 | Tobias Brunner | * The [[pkcs11plugin|pkcs11 plugin]] falls back to hashing data for PKCS#1 v1.5 RSA signatures in software if the |
21 | 3 | Tobias Brunner | smartcard/library doesn't support signature mechanisms with hashing (e.g. @CKM_SHA256_RSA_PKCS@). |
22 | 3 | Tobias Brunner | |
23 | 3 | Tobias Brunner | * The owner/group of the log file opened by the file logger (e.g. via _charon.filelog_) is now set so the |
24 | 3 | Tobias Brunner | daemon can reopen it if the config is reloaded and it doesn't run as root. |
25 | 3 | Tobias Brunner | |
26 | 3 | Tobias Brunner | * The _wolfssl_ plugin (when used with wolfSSL 4.4.0+) supports x448 Diffie-Hellman and Ed448 keys. |
27 | 3 | Tobias Brunner | |
28 | 3 | Tobias Brunner | * Support for high numbers of [[retransmission|retransmits]] has been fixed (commit:72b282cf20). |
29 | 3 | Tobias Brunner | |
30 | 3 | Tobias Brunner | * For peers that don't send the @EAP_ONLY_AUTHENTICATION@ notify but still expect to use EAP-only |
31 | 3 | Tobias Brunner | authentication, the _charon.force_eap_only_authentication_ option can be enabled to force this type |
32 | 3 | Tobias Brunner | of authentication even on non-compliant peers. |
33 | 3 | Tobias Brunner | |
34 | 3 | Tobias Brunner | * DH groups are properly handled during migration of CHILD_SA-creating tasks when reestablishing (may |
35 | 3 | Tobias Brunner | have caused DH groups in the proposal sent during IKE_AUTH). |
36 | 3 | Tobias Brunner | |
37 | 3 | Tobias Brunner | * The [[vici]] plugin stores all CA certificates in one location, which avoids issues with unloading _authority_ |
38 | 3 | Tobias Brunner | sections or clearing all credentials ("GH#172":https://github.com/strongswan/strongswan/pull/172). |
39 | 3 | Tobias Brunner | |
40 | 3 | Tobias Brunner | * When unloading a [[vici]] connection with _start_action=start_, any related IKE_SAs without children are now |
41 | 3 | Tobias Brunner | terminated (including those in CONNECTING state). |
42 | 3 | Tobias Brunner | |
43 | 3 | Tobias Brunner | * The hashtable implementation has been changed so it maintains insertion order (the old implementation, |
44 | 3 | Tobias Brunner | including the @get_match()@ method and a new feature to sort keys, has been migrated to the @hashlist_t@ |
45 | 3 | Tobias Brunner | class). This was mainly done so the [[vici]] plugin can store its connections in a hashtable, which makes |
46 | 3 | Tobias Brunner | managing high numbers of connections faster. |
47 | 3 | Tobias Brunner | |
48 | 3 | Tobias Brunner | * The default maximum size for [[vici]] messages (512 KiB) can now be changed via @VICI_MESSAGE_SIZE_MAX@ |
49 | 3 | Tobias Brunner | compile option. |
50 | 3 | Tobias Brunner | |
51 | 3 | Tobias Brunner | * IPv6 virtual IPs are now always enumerated, ignoring the _charon.prefer_temporary_addrs_ setting, which |
52 | 3 | Tobias Brunner | should fix route installation if the latter is enabled. |
53 | 3 | Tobias Brunner | |
54 | 3 | Tobias Brunner | * The version as obtained from the Git repository (via @git describe@) on which a build is based can now be |
55 | 3 | Tobias Brunner | used in executables (@--enable-git-version@). Tarballs include a text file with that information cached. |
56 | 3 | Tobias Brunner | |
57 | 3 | Tobias Brunner | * Connectivity with the [[AndroidVPNClient|Android client]] got a lot more stable on Android 6+ where the system aggressively |
58 | 3 | Tobias Brunner | suspends apps when the device is idle (Doze mode). We now use a custom scheduler that uses Android's |
59 | 3 | Tobias Brunner | AlarmManager, which allows waking up the app even if the system put it to sleep. It does require adding |
60 | 3 | Tobias Brunner | the app to the system's battery optimization whitelist, which is requested from the user automatically if |
61 | 3 | Tobias Brunner | necessary. With this, NAT keepalives and rekeyings are now scheduled accurately, with little changes to the |
62 | 3 | Tobias Brunner | battery usage (#3364). |
63 | 3 | Tobias Brunner | There are some related changes that could be useful outside of the Android client: |
64 | 3 | Tobias Brunner | ** It's possible to use other clocks than @CLOCK_MONOTONIC@ (e.g. @CLOCK_BOOTTIME@) via @TIME_CLOCK_ID@ |
65 | 3 | Tobias Brunner | compile option if @clock_gettime()@ is available and @pthread_condattr_setclock()@ supports that |
66 | 3 | Tobias Brunner | clock (Android's bionic C library e.g. only supports @CLOCK_MONOTONIC@ and @CLOCK_REALTIME@ while the |
67 | 3 | Tobias Brunner | kernel would support @CLOCK_BOOTTIME@ via @clock_gettime()@). |
68 | 3 | Tobias Brunner | ** When using a clock that includes time spent suspended, the new _charon.keep_alive_dpd_margin_ option |
69 | 3 | Tobias Brunner | may be used to trigger a DPD instead of a NAT keepalive if too much time has passed. |
70 | 3 | Tobias Brunner | ** Another option (_charon.check_current_path_) allows forcing a DPD exchange to check if the current path |
71 | 3 | Tobias Brunner | still works whenever changes to interfaces/addresses are detected. |
72 | 3 | Tobias Brunner | |
73 | 3 | Tobias Brunner | * Test cases and functions can now be filtered when running the unit tests (see [[DeveloperDocumentation]]). |