Commit Graph

201 Commits

Author SHA1 Message Date
Andreas Steffen 30d4989aec libimcv: migrate pts to tpm_tss 2016-06-22 15:33:44 +02:00
Andreas Steffen c08753bdf4 Created libtpmtss library handling access to v1.2 and v2.0 TPMs 2016-06-22 15:33:43 +02:00
Andreas Steffen 87d356dc47 aikpub2: Convert TSS 2.0 AIK public key blob into PKCS#1 format 2016-06-22 15:33:43 +02:00
Tobias Brunner 0a954d6789 ike: Add configuration option to switch to preferring supplied proposals over local ones 2016-06-17 18:48:07 +02:00
Tobias Brunner 276acafa2d p-cscf: Make sending requests configurable and disable it by default 2016-03-10 11:57:38 +01:00
Tobias Brunner 489d154e63 ikev2: Add option to disable following redirects as client 2016-03-04 16:02:58 +01:00
Tobias Brunner 2f3c08d268 ikev1: Allow immediate deletion of rekeyed CHILD_SAs
When charon rekeys a CHILD_SA after a soft limit expired, it is only
deleted after the hard limit is reached.  In case of packet/byte limits
this may not be the case for a long time since the packets/bytes are
usually sent using the new SA.  This may result in a very large number of
stale CHILD_SAs and kernel states.  With enough connections configured this
will ultimately exhaust the memory of the system.

This patch adds a strongswan.conf setting that, if enabled, causes the old
CHILD_SA to be deleted by the initiator after a successful rekeying.

Enabling this setting might create problems with implementations that
continue to use rekeyed SAs (e.g. if the DELETE notify is lost).
2016-03-03 17:28:03 +01:00
Tobias Brunner 24ab8530e5 ikev1: Always enable charon.reuse_ikesa
With IKEv1 we have to reuse IKE_SAs as otherwise the responder might
detect the new SA as reauthentication and will "adopt" the CHILD_SAs of
the original IKE_SA, while the initiator will not do so.  This could
cause CHILD_SA rekeying to fail later.

Fixes #1236.
2016-02-01 11:37:41 +01:00
Tobias Brunner 84a3077e78 conf: Add support for escaping dots in section/option names 2015-12-04 18:22:44 +01:00
Thom Troy ac36ede93c eap-radius: Add ability to configure RADIUS retransmission behavior
Closes strongswan/strongswan#19.
2015-11-17 14:25:08 +01:00
Tobias Brunner 548b993488 file-logger: Add option to print milliseconds within the current second after timestamp
For this to look right time_format should end with %S or %T.

Closes strongswan/strongswan#18.
2015-11-09 16:30:00 +01:00
Tobias Brunner 50e4aeb22f libtnccs: Optionally use RTLD_NOW to load IMC/IMVs with dlopen() 2015-11-09 14:37:08 +01:00
Tobias Brunner 305c4aa82c plugin-loader: Optionally use RTLD_NOW with dlopen()
This can be useful when writing custom plugins as typos or missing
linker flags that result in unresolved symbols in the shared object
could otherwise cause late crashes.  In particular, if such a symbol
is used in a code path that is rarely executed.  During development
and testing using RTLD_NOW instead of RTLD_LAZY will prevent the
plugin from getting loaded and makes the error visible immediately.
2015-11-09 14:37:08 +01:00
Tobias Brunner 0cb8752b85 ikev1: Make maximum number of IKEv1 phase 2 exchanges we keep state about configurable
Fixes #1128.
2015-10-30 10:16:35 +01:00
Tobias Brunner 486d7b2671 conf: Add documentation for new osx-attr option 2015-08-28 15:49:58 +02:00
Tobias Brunner 6b0bdda010 conf: Fix declaration of default values for imc-hcd options 2015-08-27 17:07:13 +02:00
Tobias Brunner cfd61a963d starter: Remove documentation for starter.load option 2015-08-27 16:42:09 +02:00
Tobias Brunner 8212f3d9a4 stroke: Add an option to disable side-swapping of configuration options
In some scenarios it might be preferred to ensure left is always local
and no unintended swaps occur.
2015-08-21 18:19:26 +02:00
Andreas Steffen 6a3d035505 Added imc-hcd attributes to strongswan.conf 2015-08-18 21:25:39 +02:00
Tobias Brunner 99b1a1a1d8 conf: Clarify resolution for two time settings
Fixes #1061.
2015-08-10 12:02:13 +02:00
Tobias Brunner 186d25cbe6 eap-radius: Change trigger for Accounting Start messages for IKEv1
Some clients won't do Mode Config or XAuth during reauthentication.
Because Start messages previously were triggered by TRANSACTION exchanges
none were sent for new SAs of such clients, while Stop messages were still
sent for the old SAs when they were destroyed.  This resulted in an
incorrect state on the RADIUS server.

Since 31be582399 the assign_vips() event is also triggered during
reauthentication if the client does not do a Mode Config exchange.
So instead of waiting for a TRANSACTION exchange we trigger the Start
message when a virtual IP is assigned to a client.

With this the charon.plugins.eap-radius.accounting_requires_vip option
would not have any effect for IKEv1 anymore.  However, it previously also
only worked if the client did an XAuth exchange, which is probably
rarely used without virtual IPs, so this might not be much of a
regression.

Fixes #937.
2015-08-06 14:57:26 +02:00
Tobias Brunner 197de6e66b kernel-netlink: Use PAGE_SIZE as default size for the netlink receive buffer
The kernel uses NLMSG_GOODSIZE as default buffer size, which defaults to
the PAGE_SIZE if it is lower than 8192 or to that value otherwise.

In some cases (e.g. for dump messages) the kernel might use up to 16k
for messages, which might require increasing this value.
2015-08-04 14:15:19 +02:00
Tobias Brunner cc902695e8 kernel-netlink: Make buffer size for received Netlink messages configurable 2015-05-21 10:19:08 +02:00
Andreas Steffen 79b5a33c11 imv_policy_manager: Added capability to execute an allow or block shell command string 2015-04-26 10:55:24 +02:00
Andreas Steffen b07fb365ef Added PB-TNC test options to strongswan.conf man page 2015-03-27 21:05:00 +01:00
Andreas Steffen 8b36323b8c Fixed strongswan.conf man page entry of imc-attestation 2015-03-27 20:56:44 +01:00
Andreas Steffen c6aed8aa21 Optionally announce PB-TNC mutual protocol capability 2015-03-23 22:25:43 +01:00
Tobias Brunner 7fa03b308c trap-manager: Add option to ignore traffic selectors from acquire events
The specific traffic selectors from the acquire events, which are derived
from the triggering packet, are usually prepended to those from the
config.  Some implementations might not be able to handle these properly.

References #860.
2015-03-23 15:55:28 +01:00
Tobias Brunner 96e6130537 kernel-pfkey: Add option to set receive buffer size of event socket
If many requests are sent to the kernel the events generated by these
requests may fill the receive buffer before the daemon is able to read
these messages.

Fixes #783.
2015-03-06 16:45:22 +01:00
Tobias Brunner b67ae0f89c ikev2: Add an option to disable constraints against signature schemes
If this is disabled the schemes configured in `rightauth` are only
checked against signature schemes used in the certificate chain and
signature schemes used during IKEv2 are ignored.

Disabling this could be helpful if existing connections with peers that
don't support RFC 7427 use signature schemes in `rightauth` to verify
certificate chains.
2015-03-04 13:54:11 +01:00
Tobias Brunner fff3576b6b ikev2: Add a global option to disable RFC 7427 signature authentication
This is mostly for testing.
2015-03-04 13:54:09 +01:00
Andreas Steffen c2aca9eed2 Implemented improved BLISS-B signature algorithm 2015-02-25 21:45:34 +01:00
Martin Willi ed14d3ebe4 forecast: Document strongswan.conf options 2015-02-20 16:34:55 +01:00
Martin Willi 22e6a06b8c mem-pool: Pass the remote IKE address, to re-acquire() an address during reauth
With make-before-break IKEv2 re-authentication, virtual IP addresses must be
assigned overlapping to the same peer. With the remote IKE address, the backend
can detect re-authentication attempts by comparing the remote host address and
port. This allows proper reassignment of the virtual IP if it is re-requested.

This change removes the mem-pool.reassign_online option, as it is obsolete now.
IPs get automatically reassigned if a peer re-requests the same address, and
additionally connects from the same address and port.
2015-02-20 13:34:57 +01:00
Martin Willi 349f7f2412 ikev2: Trigger make-before-break reauthentication instead of reauth task 2015-02-20 13:34:57 +01:00
Tobias Brunner 5cc0b23886 mem-pool: Document reassign_online option 2015-02-12 12:17:48 +01:00
Tobias Brunner 8edea13a5a kernel-netlink: Add missing documentation for two options 2014-12-19 15:36:01 +01:00
Martin Willi 87888f9926 kernel-netlink: Alternatively support global port based IKE bypass policies
The socket based IKE bypass policies are usually superior, but not supported
on all networking stacks. The port based variant uses global policies for the
UDP ports we have IKE sockets for.
2014-11-21 10:55:45 +01:00
Martin Willi 6f9df556ba conf: Document kernel-netlink retransmission and parallelization options 2014-11-21 10:55:45 +01:00
Tobias Brunner 9d75a28820 ike: Add IKEv2 in description of fragment_size option in strongswan.conf 2014-10-14 15:41:52 +02:00
Tobias Brunner 3633b80147 eap-radius: Add option to set interval for interim accounting updates
Any interval returned by the RADIUS server in the Access-Accept message
overrides the configured interval.  But it might be useful if RADIUS is
only used for accounting.
2014-10-10 09:51:13 +02:00
Tobias Brunner 127a98dc90 ikev1: Move fragment generation to message_t 2014-10-10 09:30:26 +02:00
Martin Willi b2c1973ffb ext-auth: Add an ext-auth plugin invoking an external authorization script
Original patch courtesy of Vyronas Tsingaras.
2014-10-06 18:30:46 +02:00
Shea Levy 90fe4b3f8a starter: Allow specifying the ipsec.conf location in strongswan.conf 2014-10-02 14:33:08 +02:00
Shea Levy 213e02b872 stroke: Allow specifying the ipsec.secrets location in strongswan.conf 2014-10-02 14:31:00 +02:00
Shea Levy 0efea2fd86 Don't fail to install if sysconfdir isn't writable 2014-09-26 10:52:37 +02:00
Martin Willi e2d9f27c19 systemd: Add a native systemd journal logger 2014-09-22 14:19:37 +02:00
Tobias Brunner 90e6675a65 kernel-netlink: Optionally install protocol and ports on transport mode SAs 2014-09-12 10:45:50 +02:00
Tobias Brunner 47a0e289d9 kernel-netlink: Add global option to configure MSS-clamping on installed routes 2014-09-12 10:13:30 +02:00
Tobias Brunner c1adf7e0c4 kernel-netlink: Add global option to set MTU on installed routes 2014-09-12 10:13:30 +02:00
Tobias Brunner 33967467e2 conf: Document load-tester.crl option 2014-06-30 13:25:13 +02:00
Tobias Brunner da7cb76974 conf: Document charon.*-scripts options 2014-06-30 13:25:13 +02:00
Tobias Brunner 38f27e172c conf: Document swanctl options 2014-06-30 13:25:13 +02:00
Tobias Brunner 4d066ef7fc conf: Document aikgen options 2014-06-30 13:25:13 +02:00
Tobias Brunner 3986c1e3fd autoconf: Replace --disable-tools option with --disable-scepclient
Since using a separate option for pki this was the only tool that was still
enabled by that option.
2014-06-30 13:25:13 +02:00
Tobias Brunner 566d1a90cd Remove kernel-klips plugin 2014-06-19 14:20:33 +02:00
Tobias Brunner 3bf98189d7 kernel-netlink: Follow RFC 6724 when selecting IPv6 source addresses
Instead of using the first address we find on an interface we should
consider properties like an address' scope or whether it is temporary
or public.

Fixes #543.
2014-06-19 14:16:41 +02:00
Andreas Steffen 18ba2a3035 Fixed typo in strongswan.conf 2014-06-05 11:26:54 +02:00
Martin Willi b70849ada2 configure: Separate pki from --disable-tools
While pki builds and runs just fine on Windows, this is not true for scepclient.
2014-06-04 15:53:08 +02:00
Andreas Steffen bfd8f8c5fe Updated IMC/IMV entries in strongswan.conf man page 2014-05-31 20:37:57 +02:00
Tobias Brunner 35952dc13f conf: Fix sorting of options with Python 3
__cmp__() is not supported anymore with Python 3 and cmp() is deprecated.
Instead rich comparisons should be used (only __lt__() is required for
sorting).
2014-05-13 11:14:44 +02:00
Tobias Brunner 5ee4984da5 conf: print is a function in Python 3 2014-05-13 11:14:43 +02:00
Andreas Steffen 8d59090349 Implemented PT-EAP protocol (RFC 7171) 2014-05-12 06:59:21 +02:00
Andreas Steffen 688b5b99ed Changed default value to libimcv.imc-attestation.pcr_info = no 2014-05-10 20:08:20 +02:00
Martin Willi ae98a39e71 conf: Add a format-options --nosort option to keep order of sections as defined 2014-05-07 15:48:17 +02:00
Tobias Brunner e20deeca77 conf: Properly propagate whether a section is commented or not 2014-05-07 15:48:16 +02:00
Martin Willi 7dbf9e1574 vici: Document strongswan.conf options 2014-05-07 14:13:38 +02:00
Martin Willi c4c9d291d2 ikev1: Add an option to accept unencrypted ID/HASH payloads
Even in Main Mode, some Sonicwall boxes seem to send ID/HASH payloads in
unencrypted form, probably to allow PSK lookup based on the ID payloads. We
by default reject that, but accept it if the
charon.accept_unencrypted_mainmode_messages option is set in strongswan.conf.

Initial patch courtesy of Paul Stewart.
2014-04-17 08:52:28 +02:00
Andreas Steffen 8c40609f96 Use python-based swidGenerator to generated SWID tags 2014-04-15 09:21:06 +02:00
Andreas Steffen 0bd64fa5bf Renamed the AIK public key parameter to imc-attestation.aik_pubkey 2014-04-15 09:21:05 +02:00
Andreas Steffen c54c26dd17 Implemented configurable Device ID in OS IMC 2014-04-15 09:21:05 +02:00
Tobias Brunner 00b91c4325 eap-radius: Add option to not close IKE_SAs on timeouts during interim accouting updates
Fixes #528.
2014-03-31 14:32:44 +02:00
Tobias Brunner 9fa7b03769 conf: Order settings in man page alphabetically
For the config snippets the options are now explicitly ordered before
subsections.
2014-03-31 14:32:44 +02:00
Martin Willi dbd4fc074a openac: Remove obsolete openac utility
The same functionality is now provided by the pki --acert subcommand.
2014-03-31 11:39:25 +02:00
Andreas Steffen 342bc6e545 Disable mandatory ECP support for attestion 2014-03-07 21:56:34 +01:00
Tobias Brunner bd1c9f1eac conf: Fix out-of-tree build from distribution
It worked from the repository, where strongswan.conf.5.main is generated
in the build dir, but not from the distribution where it is located in
the source dir, so explicitly create it in the source dir.
2014-02-27 12:02:13 +01:00
Tobias Brunner e1af4d88a6 conf: Ignore generated strongswan.conf.5.main 2014-02-18 10:08:54 +01:00
Tobias Brunner 5645ad2976 conf: Fix installation on FreeBSD
Apparently, the -t option for install is not portable.
2014-02-13 13:53:25 +01:00
Tobias Brunner 03650d5a2d conf: The use of $^ is not portable
Generating strongswan.conf.5.main in a subshell gets the file
properly written to the builddir in out-of-tree builds.
2014-02-13 11:47:02 +01:00
Tobias Brunner efce4559e8 conf: Install config files world-readable but warn about permissions for certain options 2014-02-12 15:16:57 +01:00
Tobias Brunner 5422bb9070 conf: Document variables and config files/dirs 2014-02-12 14:34:34 +01:00
Tobias Brunner 7573a7ed56 conf: Only install config snippets for enabled components 2014-02-12 14:34:34 +01:00
Tobias Brunner ff94fe157a conf: Document options of other programs 2014-02-12 14:34:34 +01:00
Tobias Brunner 5ac757872b conf: Document options of plugins in libpts 2014-02-12 14:34:34 +01:00
Tobias Brunner bf3f4bf7a2 conf: Document libimcv options 2014-02-12 14:34:34 +01:00
Tobias Brunner 4576f7f960 conf: Document libtnccs options 2014-02-12 14:34:34 +01:00
Tobias Brunner d56a23c515 conf: Create automatically generated config snippets in build dir 2014-02-12 14:34:34 +01:00
Tobias Brunner 7f535b3938 conf: Install config snippets in /usr/share/strongswan/templates/config too 2014-02-12 14:34:34 +01:00
Tobias Brunner 6a2de77f2e conf: Only install config snippets if they don't exist yet 2014-02-12 14:34:34 +01:00
Tobias Brunner fc380b175d conf: Move load-tester options to plugin specific file 2014-02-12 14:34:34 +01:00
Tobias Brunner 828815b0d8 conf: Options of all plugins documented
Some options are still missing descriptions though.
2014-02-12 14:34:34 +01:00
Tobias Brunner da8b16a160 conf: Add logger example config 2014-02-12 14:34:34 +01:00
Tobias Brunner 5da20b3dc6 conf: Converted charon options 2014-02-12 14:34:33 +01:00
Tobias Brunner c4bb26b849 conf: Split strongswan.conf(5) man page and use generated snippet 2014-02-12 14:34:33 +01:00
Tobias Brunner 7f62b7d02d conf: Generate groff snippet for configuration options 2014-02-12 14:34:33 +01:00
Tobias Brunner 91cc523ca7 conf: Generate strongswan.conf(5) man page in different directory 2014-02-12 14:34:33 +01:00
Tobias Brunner 1b98f85821 conf: Generate and install config sippets for option descriptions
The strongswan.d directory is also created relative to the configured
location of strongswan.conf.
2014-02-12 14:34:33 +01:00
Tobias Brunner e90b37b9c3 conf: Script to convert option descriptions to man page and config snippets added 2014-02-12 14:34:33 +01:00
Tobias Brunner dee50a6046 conf: Create /etc/strongswan.d directory and include .conf files 2014-02-12 14:34:33 +01:00
Tobias Brunner 45e19c7c88 conf: Simplified strongswan.conf template 2014-02-12 14:34:33 +01:00
Tobias Brunner c75acc4c44 conf: Install strongswan.conf template from a separate directory 2014-02-12 14:34:33 +01:00