aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * eap-radius: Forward UNITY_SPLIT_INCLUDE or UNITY_LOCAL_LAN attributesTobias Brunner2013-10-111-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the value of the CVPN3000-IPSec-Split-Tunneling-Policy(55) radius attribute, the subnets in the CVPN3000-IPSec-Split-Tunnel-List(27) attribute are sent in either a UNITY_SPLIT_INCLUDE (if the value is 1) or a UNITY_LOCAL_LAN (if the value is 2). So if the following attributes would be configured for a RADIUS user CVPN3000-IPSec-Split-Tunnel-List := "10.0.1.0/255.255.255.0,10.0.2.0/255.255.255.0" CVPN3000-IPSec-Split-Tunneling-Policy := 1 A UNITY_SPLIT_INCLUDE configuration payload containing these two subnets would be sent to the client during the ModeCfg exchange.
| * eap-radius: Forward UNITY_DEF_DOMAIN and UNITY_SPLITDNS_NAME attributesTobias Brunner2013-10-111-3/+25
|/ | | | | | The contents of the CVPN3000-IPSec-Default-Domain(28) and CVPN3000-IPSec-Split-DNS-Names(29) radius attributes are forwarded in the corresponding Unity configuration attributes.
* Merge branch 'dnscert'Tobias Brunner2013-10-1131-133/+1253
|\ | | | | | | | | The new dnscert plugin adds support for authentication via CERT resource records that are protected with DNSSEC.
| * testing: Add ikev2/net2net-dnscert scenarioTobias Brunner2013-10-1115-0/+224
| |
| * testing: Provide moon's and sun's certificate as CERT RRTobias Brunner2013-10-111-0/+51
| |
| * testing: Enable dnscert pluginTobias Brunner2013-10-111-0/+1
| |
| * testing: Load testing.conf.local from the same directory as testing.confTobias Brunner2013-10-111-2/+3
| |
| * dnscert: Add DNS CERT support for pubkey authenticationRuslan N. Marchenko2013-10-119-0/+832
| | | | | | | | | | | | | | | | | | | | | | Add DNSSEC protected CERT RR delivered certificate authentication. The new dnscert plugin is based on the ipseckey plugin and relies on the existing PEM decoder as well as x509 and PGP parsers. As such the plugin expects PEM encoded PKIX(x509) or PGP(GPG) certificate payloads. The plugin is targeted to improve interoperability with Racoon, which supports this type of authentication, ignoring in-stream certificates and using only DNS provided certificates for FQDN IDs.
| * ipseckey: Properly handle failure to create a certificateTobias Brunner2013-10-111-33/+28
| | | | | | | | Also, try the next key (if available) if parsing an IPSECKEY failed.
| * ipseckey: Refactor creation of certificate enumeratorTobias Brunner2013-10-111-86/+81
| | | | | | | | Reduces nesting and fixes a memory leak (rrsig_enum).
| * ipseckey: Depend on plugin features to create public key and certificate objectsTobias Brunner2013-10-111-0/+2
| |
| * unbound: Add support for DLV (DNSSEC Lookaside Validation)Tobias Brunner2013-10-112-13/+32
|/ | | | Fixes #392.
* Merge branch 'fwmarks'Tobias Brunner2013-10-118-53/+160
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows setting a mark on outbound packets and the routing rule installed by charon. With those settings it is possible to setup tunnels with kernel-libipsec where the remote peer is part of the remote traffic selector. The following example settings in strongswan.conf show how this can be configured: charon { plugins { kernel-netlink { fwmark = !0x42 } socket-default { fwmark = 0x42 } kernel-libipsec { allow_peer_ts = yes } } } To make it work it is necessary to set net.ipv4.conf.all.rp_filter appropriately, otherwise the kernel drops the packets. References #380.
| * kernel-libipsec: Don't ignore policies of type != POLICY_IPSECTobias Brunner2013-10-111-5/+0
| | | | | | | | | | | | This actually broke rekeying due to the DROP policies that are temporarily added, which broke the refcount as the ignored policies were not ignored in del_policy() (the type is not known there).
| * kernel-libipsec: Add an option to allow remote TS to match the IKE peerTobias Brunner2013-10-112-2/+16
| | | | | | | | | | | | | | | | Setting the fwmark options for the kernel-netlink and socket-default plugins allow this kind of setup. It is probably required to set net.ipv4.conf.all.rp_filter to 2 to make it work.
| * socket-default: Allow setting firewall mark on outbound packetsTobias Brunner2013-10-112-0/+21
| |
| * kernel-netlink: Allow setting firewall marks on routing ruleTobias Brunner2013-10-112-0/+25
| |
| * ipsec_types: Add utility function to parse mark_t from stringsTobias Brunner2013-10-114-46/+98
|/
* Merge branch 'database-transactions'Tobias Brunner2013-10-1115-121/+378
|\ | | | | | | | | | | | | This adds support for transactions to the database_t interface and the two current implementations. The pool utility is also moved to its own directory in src/.
| * attr-sql: Use a serializable transaction when inserting identitiesTobias Brunner2013-10-111-12/+5
| |
| * database: Add support for serializable transactionsTobias Brunner2013-10-114-9/+27
| |
| * sql: Don't use MyISAM engine and set collation/charset for all tablesTobias Brunner2013-10-111-26/+25
| | | | | | | | The MyISAM engine doesn't support transactions.
| * pool: Change transaction handlingTobias Brunner2013-10-111-46/+8
| |
| * pool: Move the pool utility to its own directory in srcTobias Brunner2013-10-1110-21/+28
| |
| * attr-sql: Handle concurrent insertion of identitiesTobias Brunner2013-10-111-2/+12
| | | | | | | | | | | | | | | | | | If the same identity is added concurrently by two threads (or by the pool utility) INSERT might fail even though the SELECT was unsuccessful before. We are currently not able to lock the identities table in a portable way (something like SELECT ... FOR UPDATE on MySQL).
| * attr-sql: Don't use database transactions in create_attribute_enumeratorTobias Brunner2013-10-111-5/+0
| | | | | | | | | | | | | | | | | | There could, of course, be race conditions when enumerating the attributes, but those probably don't matter (e.g. missing an attribute that was concurrently added). Transactions are more intended to revert multiple changes if anything fails in the process.
| * sqlite: Implement transaction handlingTobias Brunner2013-10-111-6/+83
| |
| * mysql: Implement transaction handlingTobias Brunner2013-10-111-7/+119
| |
| * database: Add interface to handle transactionsTobias Brunner2013-10-113-1/+76
| |
| * mysql: Ensure connections are properly released in multi-threaded environmentsTobias Brunner2013-10-111-14/+23
|/
* crypto-factory: Try next available RNG implementation if constructor failsTobias Brunner2013-10-111-13/+6
|
* crypto-factory: Order entries by algorithm identifier and (optionally) speedTobias Brunner2013-10-111-22/+18
|
* Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required ↵Tobias Brunner2013-10-119-26/+18
| | | | for IKEv2 anyway
* vstr: Forward actual field widthTobias Brunner2013-10-111-1/+1
| | | | | fmt_field_width is a flag that indicates if a field width is defined in obj_field_width.
* unit-tests: support testing when leak-detective has not been enabledMartin Willi2013-10-111-5/+14
|
* NEWS: Updates for the ah, libipsec-usestats and printf-hook mergesMartin Willi2013-10-111-0/+13
|
* Merge branch 'printf-hook'Martin Willi2013-10-1116-385/+2039
|\ | | | | | | | | | | Adds a custom printf hook implementation as a fallback if neither the glibc style hooks nor vstr is available. This can avoid the Vstr dependency on some systems at the cost of slower and less complete printf functions.
| * printf-hook-builtin: Print NaN/Infinity floating point values as suchMartin Willi2013-10-112-2/+36
| |
| * printf-hook-builtin: Correctly round up floating point valuesMartin Willi2013-10-112-9/+43
| |
| * printf-hook-builtin: Add some preliminary floating point supportMartin Willi2013-10-112-2/+223
| | | | | | | | | | This minimalistic implementation has no aspiration for completeness or accuracy, and just provides what we need.
| * printf-hook-builtin: Support GNU %m specifierMartin Willi2013-10-112-0/+21
| |
| * printf-hook-builtin: Add a new "builtin" backend using its own printf() routinesMartin Willi2013-10-115-2/+1032
| | | | | | | | | | | | Overloads printf C library functions by a self-contained implementation, based on klibc. Does not yet feature all the required default formatters, including those for floating point values.
| * printf-hook: Add some basic printf() string/integer test functionsMartin Willi2013-10-114-1/+112
| |
| * printf-hook: Move glibc/vstr printf hook backends to separate filesMartin Willi2013-10-119-383/+586
|/
* Merge branch 'libipsec-usestats'Martin Willi2013-10-1117-41/+216
|\ | | | | | | | | | | Brings SA usage statistics and volume based expiration to libipsec and the associated kernel-libipsec plugin. Additionally removes any ESPv3 style TFC padding found in incoming packets.
| * libipsec: Enforce byte/packet lifetimes on SAsMartin Willi2013-10-113-7/+77
| |
| * kernel-libipsec: Support ESPv3 TFC paddingMartin Willi2013-10-111-1/+1
| |
| * libipsec: remove extra RFC4303 TFC padding appended to inner payloadMartin Willi2013-10-111-0/+6
| |
| * kernel-libipsec: Support query_sa() to report usage statisticsMartin Willi2013-10-111-1/+2
| |
| * libipsec: Support usage statistics and query_sa() on IPsec SAsMartin Willi2013-10-115-4/+102
| |