Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | kernel-wfp: Install outbound ALE connect rules for IPsec | Martin Willi | 2014-12-04 | 1 | -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 filters | Martin Willi | 2014-12-04 | 1 | -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 GUIDs | Martin Willi | 2014-12-04 | 1 | -0/+6 | |
| | ||||||
* | kernel-wfp: Define IPsec related ALE layers and callout GUIDs | Martin Willi | 2014-12-04 | 2 | -0/+40 | |
| | ||||||
* | kernel-wfp: Fix logging of MM/QM/EM NetEvent failures | Martin Willi | 2014-12-04 | 1 | -0/+12 | |
| | ||||||
* | vici: Make sure to send/recv all requested bytes over socket | Martin Willi | 2014-12-04 | 1 | -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 default | Martin Willi | 2014-12-02 | 1 | -1/+1 | |
| | | | | Fixes #780. | |||||
* | Implemented full BLISS support for IKEv2 public key authentication and the ↵ | Andreas Steffen | 2014-11-29 | 17 | -18/+97 | |
| | | | | pki tool | |||||
* | Applied bit packing to BLISS public key | Andreas Steffen | 2014-11-29 | 5 | -55/+68 | |
| | ||||||
* | Wipe BLISS private key memory | Andreas Steffen | 2014-11-29 | 1 | -2/+8 | |
| | ||||||
* | Created bliss_bitpacker class to encode BLISS signatures | Andreas Steffen | 2014-11-29 | 8 | -46/+464 | |
| | ||||||
* | Skip the unused bits field of the ASN.1 BIT STRING encoding | Andreas Steffen | 2014-11-29 | 1 | -1/+1 | |
| | ||||||
* | Store NTT A of BLISS public key a | Andreas Steffen | 2014-11-29 | 2 | -28/+24 | |
| | ||||||
* | unit-tests: created bliss_sign test suite | Andreas Steffen | 2014-11-29 | 5 | -1/+91 | |
| | ||||||
* | Finished BLISS signature generation | Andreas Steffen | 2014-11-29 | 12 | -157/+1170 | |
| | ||||||
* | Implemented Gaussian rejection sampler | Andreas Steffen | 2014-11-29 | 6 | -16/+496 | |
| | | | | | The bliss_sampler class uses the mgf1_bitspender as a pseudo-random source. | |||||
* | Implemented get_byte() method for mgf1_bitspender class | Andreas Steffen | 2014-11-29 | 4 | -26/+78 | |
| | | | | | | The new get_byte() method returns a pseudo-random byte at a time. Changed the get_bits() interface to the same interface as get_byte(). Updated the mgf1 unit-tests accordingly. | |||||
* | Added support for BLISS-III | Andreas Steffen | 2014-11-29 | 1 | -2/+17 | |
| | ||||||
* | Started implementing BLISS signature generation | Andreas Steffen | 2014-11-29 | 8 | -24/+34 | |
| | ||||||
* | Store and parse BLISS private and public keys in DER and PEM format | Andreas Steffen | 2014-11-29 | 9 | -32/+441 | |
| | | | | | | | | Additionally generate SHA-1 fingerprints of raw BLISS subjectPublicKey and subjectPublicKeyInfo objects. Some basic functions used by the bliss_public_key class are shared with the bliss_private_key class. | |||||
* | unit-tests: Created separate mgf1 test suite | Andreas Steffen | 2014-11-29 | 5 | -147/+270 | |
| | ||||||
* | Use mgf1_bitspender in ntru_poly_create_from_seed | Andreas Steffen | 2014-11-29 | 2 | -52/+16 | |
| | ||||||
* | Use mgf1_bitspender to generate random secret key | Andreas Steffen | 2014-11-29 | 1 | -280/+226 | |
| | ||||||
* | Implemented bitspender based on the MGF1 mask generator function | Andreas Steffen | 2014-11-29 | 4 | -3/+223 | |
| | ||||||
* | unit-tests: Added bliss_fft test suite | Andreas Steffen | 2014-11-29 | 5 | -0/+193 | |
| | ||||||
* | Moved mgf1 class to libstrongswan/crypto/mgf1 | Andreas Steffen | 2014-11-29 | 7 | -62/+51 | |
| | ||||||
* | Defined BLISS I and IV parameter sets | Andreas Steffen | 2014-11-29 | 4 | -19/+365 | |
| | ||||||
* | Added BLISS OIDs in ITA-HSR OID tree | Andreas Steffen | 2014-11-29 | 1 | -0/+10 | |
| | ||||||
* | Implemented Number Theoretic Transform using the FFT algorithm | Andreas Steffen | 2014-11-29 | 8 | -3/+869 | |
| | | | | | | By pre-multiplying the input arrays with a linear phase the fast multiplication via FFT and inverse FFT computes a negative wrapped convolution corresponding to a modulus of x^n+1. | |||||
* | Created framework for BLISS post-quantum signature algorithm | Andreas Steffen | 2014-11-29 | 11 | -8/+659 | |
| | ||||||
* | libtls: Catch POLLHUP/NVAL in TLS socket splicing | Martin Willi | 2014-11-28 | 1 | -2/+2 | |
| | | | | | If one of the sockets gets disconnected, some systems return POLLHUP. Signal the socket as ready to let the read/write call fail properly. | |||||
* | watcher: Proper handle poll() POLLHUP/NVAL signaling | Martin Willi | 2014-11-28 | 1 | -13/+36 | |
| | | | | | | | poll() may return POLLHUP or POLLNVAL for given file descriptors. To handle these properly, we signal them to the EXCEPT watcher state, if registered. If not, we call the read/write callbacks, so they can properly fail when trying to read from or write to the file descriptor. | |||||
* | windows: Properly set errno for read/write functions using Winsock | Martin Willi | 2014-11-28 | 1 | -4/+4 | |
| | ||||||
* | ikev2: Fix ike_rekey switch statement broken with last commit | Martin Willi | 2014-11-24 | 1 | -1/+1 | |
| | ||||||
* | ikev2: Prevent IKE_SA rekeying if we are currently retrying a CHILD_SA rekey | Martin Willi | 2014-11-21 | 1 | -0/+1 | |
| | ||||||
* | controller: Keep following initiate() if the first DH guess was wrong | Martin Willi | 2014-11-21 | 1 | -0/+12 | |
| | ||||||
* | child-sa: Introduce a CHILD_RETRYING state to detect DH group retries | Martin Willi | 2014-11-21 | 3 | -0/+7 | |
| | ||||||
* | windows: Move the compatibility header to the compat subfolder | Martin Willi | 2014-11-21 | 4 | -6/+6 | |
| | ||||||
* | apple: Wrap accept() and recvfrom() with poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -5/+11 | |
| | ||||||
* | apple: Introduce a central compatibility header with all __APPLE__ quirks | Martin Willi | 2014-11-21 | 6 | -87/+113 | |
| | ||||||
* | watcher: Use Windows read/write(2) wrappers instead of compile-conditions | Martin Willi | 2014-11-21 | 1 | -8/+0 | |
| | ||||||
* | windows: Provide a write(2) wrapper that uses send(2) on sockets | Martin Willi | 2014-11-21 | 2 | -0/+22 | |
| | ||||||
* | windows: Provide a read(2) wrapper that uses recv(2) on sockets | Martin Willi | 2014-11-21 | 2 | -0/+25 | |
| | ||||||
* | unit-tests: Test cancellability of some cancellation points we rely on | Martin Willi | 2014-11-21 | 1 | -0/+192 | |
| | ||||||
* | thread: Test for pending cancellation requests before poll()ing on OS X | Martin Willi | 2014-11-21 | 1 | -0/+20 | |
| | | | | | As we are now using poll(2) instead of select(2), we need the work-around from 76dc329e for poll() as well. | |||||
* | kernel-libipsec: Use poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -54/+56 | |
| | ||||||
* | watcher: Use poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -24/+38 | |
| | ||||||
* | libtls: Use poll(2) instead of select() in tls_socket | Martin Willi | 2014-11-21 | 1 | -8/+7 | |
| | ||||||
* | socket-default: Use round-robin selection of sockets to read from | Martin Willi | 2014-11-21 | 1 | -5/+13 | |
| | | | | | If multiple sockets are ready, we previously preferred the IPv4 non-NAT socket over others. To handle all with equal priority, use a round-robin selection. | |||||
* | socket-default: Use poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -46/+20 | |
| | | | | | It is not only simpler, but also allows the use of arbitrary high fd numbers, which silently fails with select(). |