aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* bliss: Fix Doxygen commentsTobias Brunner2014-12-152-6/+6
|
* Fixed some typos, courtesy of codespellTobias Brunner2014-12-153-4/+4
|
* kernel-pfkey: Fix replay window size on FreeBSD and Mac OS XTobias Brunner2014-12-151-0/+6
| | | | | | | | | The FreeBSD and Mac OS X kernels interpret sadb_sa_replay as the size of the replay window in bytes. Linux on the other hand does the same for PF_KEY it does for XFRM so sadb_sa_replay denotes the number of packets/bits in the window. Similarly, the window size on Linux is limited to 32 by the four byte default bitmap used for IPsec SAs (may only be changed with XFRMA_REPLAY_ESN_VAL), which is not the case on the other platforms.
* Also initialize s_signAndreas Steffen2014-12-121-1/+1
|
* pem: Handle BER indefinite length encoding as binary ASN.1Martin Willi2014-12-121-1/+24
| | | | | | While our ASN.1 parser can't handle BER indefinite length encoding, the OpenSSL backend can. Some PKCS#12 containers get encoded this way, so we should support loading such files in the pem plugin.
* pki: Add command to export certificates and keys from PKCS#12 containersTobias Brunner2014-12-122-9/+112
|
* pki: Reformat PKCS#12 output and add an index for each certificate/keyTobias Brunner2014-12-122-14/+17
|
* pki: Add simple PKCS#12 display commandTobias Brunner2014-12-124-1/+203
|
* pki: Cache entered secrets in case they are needed more than onceTobias Brunner2014-12-121-2/+23
|
* ike: Allow creation of internally used payloadsTobias Brunner2014-12-121-1/+1
| | | | | | | Since 42e0a317c64b ("ike: Only parse payloads valid for the current IKE version") payload types are checked before creating objects. This check failed for internally used payload types (e.g. proposal substructures), which have a type >= 256, i.e. outside the IKE payload type range.
* Cache only support fingerprint typesAndreas Steffen2014-12-121-2/+4
|
* Fix ambiguities and gcc compiler warningAndreas Steffen2014-12-121-3/+3
|
* apple: Use precancelable poll() to wrap accept/recvmsg callsMartin Willi2014-12-121-1/+5
| | | | | | To make accept/recvmsg cancelable, we wrap them with poll. As poll itself does not honor pending cancellations when entering the function, we use our variant that checks for pending cancellation requests before entering poll().
* Use bitspender->get_bytes() method in ntru_tritsAndreas Steffen2014-12-121-26/+14
|
* Use Huffman code in BLISS signatureAndreas Steffen2014-12-127-38/+296
|
* Include design parameters in generated Huffman code filesAndreas Steffen2014-12-121-20/+31
|
* bliss: Fix monolithic buildTobias Brunner2014-12-1212-100/+122
| | | | | | | | | | | This requires moving test files so that the Makefile for the tests can be included after building libstrongswan, which requires the plugin when building monolithically. Due to this a static helper library is required as directly referring to object files (or source files) is not possible. It's also necessary to avoid any link-time dependency on libstrongswan in bliss_huffman, to avoid circular dependencies (bliss_huffman -> libstrongswan -> bliss -> bliss_huffman).
* bliss: Fix compilation warning with certain GCC versionsTobias Brunner2014-12-121-1/+2
| | | | | | Theoretically, n could be zero and these variables are then used uninitialized. Older GCC versions warn about this and on Travis where we compile with -Werror this causes the tests to fail.
* swanctl: Fail loading a connection if loading a cacert constraint failsMartin Willi2014-12-121-10/+37
|
* vici: Use silent builder destroy function in vici_free_req()Martin Willi2014-12-121-7/+1
|
* vici: Add a destroy method to builder, allowing cancellation without errorMartin Willi2014-12-122-4/+18
| | | | | When cancelling a builder, finalize throws an error which we might prefer to avoid.
* eap-radius: Use the single-server legacy server options as fallbackMartin Willi2014-12-121-3/+10
|
* Pack private key arraysAndreas Steffen2014-12-101-17/+75
|
* dumm: Fix -Wformat warning in ruby extensionMartin Willi2014-12-101-2/+2
| | | | | | | In recent ruby versions, extensions get built with -Wformat. As we use custom printf specifiers, that does not work for us. As there does not seem to be a reliable way to override -Wformat, we use a variable for the format string, which prevents gcc from doing the -Wformat check in that particular situation.
* Automatic generation of optimized Huffman codesAndreas Steffen2014-12-097-0/+559
|
* unit-tests: added bliss_sampler testAndreas Steffen2014-12-093-0/+99
|
* Expanded bliss_bitpacker to 32 bitsAndreas Steffen2014-12-095-41/+39
|
* ikev1: Use same map for AH and ESP authentication algorithmsTobias Brunner2014-12-091-152/+120
| | | | | | The transform identifier used in AH transforms is not the same as the authentication algorithm identifier used in the transform attributes in AH (and ESP) transforms.
* ikev1: Accept IPComp proposals with 4 octet long CPI valuesTobias Brunner2014-12-051-2/+2
| | | | | While they SHOULD be sent as 16-bit values according to RFC 3173 a responder MUST be able to accept CPI values encoded in four bytes.
* ike: Only parse payloads valid for the current IKE versionTobias Brunner2014-12-054-3/+33
|
* ike: Make check for known payloads depend on IKE versionTobias Brunner2014-12-054-26/+41
|
* pkcs5: Add support for PBES2 encryption schemes other than 3DESTobias Brunner2014-12-051-8/+24
| | | | | | | | This allows using e.g. AES for PKCS#8 and PKCS#12 files. Some legacy schemes defined in RFC 2898 are not supported (like RC2). Fixes #740.
* asn1: Add OID for Blowfish CBCTobias Brunner2014-12-052-0/+11
| | | | | | | | The OID (1.3.6.1.4.1.3029.1.2) is technically not correct, the correct one is (1.3.6.1.4.1.3029.1.1.2). Every other library or tool (like OpenSSL) uses the incorrect one so we do the same. References #740.
* diffie-hellman: Handle dh_exponent_ansi_x9_42 as a boolean settingMartin Willi2014-12-051-2/+2
| | | | | | | | | | | | | While it was always documented as boolean setting, the option is currently handled as integer value, for which yes/no values do not work. Instead the default of TRUE is used for a no value. The option has been moved a lot during the last years, and in some locations was handled as bool, in some as integer. In the latest codebase it congruently used integer, which is actually not what is documented and used in testing. Fixes #781.
* unity: Only do narrowing of responder's TS if we received 0.0.0.0/0Tobias Brunner2014-12-051-2/+84
| | | | | | | | | | | | | | | | | | | | | | | iOS and Mac OS X clients establish individual IPsec SAs for the traffic selectors received in Split-Include attributes (might have been different in earlier releases). If we return 0.0.0.0/0 as TSr that either results in a bunch of Quick Mode exchanges (for each TS), or with the latest client releases an error notify (ATTRIBUTES_NOT_SUPPORTED). We also can't install the IPsec SA with all configured subnets as that would cause conflicts if the client later negotiates SAs for other subnets, which iOS 8 does based on traffic to such subnets. For Shrew and the Cisco client, which propose 0.0.0.0/0, we still need to override the narrowed TS with 0.0.0.0/0, as they otherwise won't accept the Quick Mode response. Likewise, we also have to narrow the TS before installing the IPsec SAs and policies. So we basically have to follow the client's proposal and only modify TSr if we received 0.0.0.0/0. Since we don't get the original TS in the narrow hook we handle the inbound QM messages and make note of IKE_SAs on which we received a TSr of 0.0.0.0/0. Fixes #737.
* id-payload: Enable multiple calls to get_ts() for subnet traffic selectorsTobias Brunner2014-12-051-2/+5
| | | | The second call resulted in a /32 subnet previously.
* ikev2: Fix handling of more than one hash-and-URL certificate payloadsTobias Brunner2014-12-041-2/+2
|
* kernel-wfp: Install outbound ALE connect rules for IPsecMartin Willi2014-12-041-16/+43
| | | | | | Similar to the inbound rules, the ALE filter processes IP-in-IP packets for outbound tunnel mode traffic. When using an outbound default-drop policy, Windows does not allow connection initiation without these explicit rules.
* kernel-wfp: Install inbound ALE IP-in-IP filtersMartin Willi2014-12-041-41/+159
| | | | | | | | | | | When processing inbound tunnel mode packets, Windows decrypts packets and filters them as IP-in-IP packets. We therefore require an ALE filter that calls the FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT callout to allow them when using a default-drop policy. Without these rules, any outbound packet created an ALE state that allows inbound packets as well. Processing inbound packets without any outbound traffic fails without these rules.
* kernel-wfp: Add missing IPsec sublayer GUIDsMartin Willi2014-12-041-0/+6
|
* kernel-wfp: Define IPsec related ALE layers and callout GUIDsMartin Willi2014-12-042-0/+40
|
* kernel-wfp: Fix logging of MM/QM/EM NetEvent failuresMartin Willi2014-12-041-0/+12
|
* vici: Make sure to send/recv all requested bytes over socketMartin Willi2014-12-041-3/+22
| | | | | | As the underlying C functions, send/recv on ruby sockets are not guaranteed to send/recv all requested bytes. Use wrapper functions to make sure we get all bytes needed.
* updown: Inverse comment of VPN_LOGGING variable, as it is enabled by defaultMartin Willi2014-12-021-1/+1
| | | | Fixes #780.
* Implemented full BLISS support for IKEv2 public key authentication and the ↵Andreas Steffen2014-11-2917-18/+97
| | | | pki tool
* Applied bit packing to BLISS public keyAndreas Steffen2014-11-295-55/+68
|
* Wipe BLISS private key memoryAndreas Steffen2014-11-291-2/+8
|
* Created bliss_bitpacker class to encode BLISS signaturesAndreas Steffen2014-11-298-46/+464
|
* Skip the unused bits field of the ASN.1 BIT STRING encodingAndreas Steffen2014-11-291-1/+1
|
* Store NTT A of BLISS public key aAndreas Steffen2014-11-292-28/+24
|