Commit Graph
86 Commits
Author SHA1 Message Date
Tobias Brunner df18934d20 Replace or remove wiki.strongswan.org URLs 2022-06-28 13:33:51 +02:00
Tobias Brunner 42928551ab starter: Avoid hiding global variable when checking PID file 2020-01-28 15:29:40 +01:00
Tobias Brunner ba817d2917 starter: Remove IPsec stack detection
Checking specifically for /proc/net/pfkey is not ideal as af_key will
eventually be removed in Linux kernels.  Support for KLIPS is long gone.
The detection also wasn't used for anything anymore (failures were just
ignored since the ports to BSD-based systems).  And modprobing doesn't seem
to be necessary either (charon-systemd doesn't do that, for instance).
2019-05-07 11:13:03 +02:00
Markus Sattler 1331010aa4 starter: Reset action before handling it
Stater will lose update/reload commands when there is a second signal
coming in when the previous is still processed. This can happen more
easily with big configurations.

Closes strongswan/strongswan#101.
2018-06-05 10:13:22 +02:00
Micah Morton b9fcc61991 Allow strongSwan to be spawned as non-root user
This patch allows for giving strongSwan only the runtime capabilities it
needs, rather than full root privileges.

Adds preprocessor directives which allow strongSwan to be configured to
 1) start up as a non-root user
 2) avoid modprobe()'ing IPsec kernel modules into the kernel, which
    would normally require root or CAP_SYS_MODULE

Additionally, some small mods to charon/libstrongswan ensure that charon
fully supports starting as a non-root user.

Tested with strongSwan 5.5.3.
2018-05-14 15:50:01 +02:00
Martin Willi 3b29590b70 starter: Ignore an existing PID file if it references ourself 2018-03-21 10:25:49 +01:00
Tobias Brunner 120729f3f4 starter: Don't generate a key/certificate if ipsec.secrets does not exist 2016-10-04 10:13:32 +02:00
Tobias Brunner 28649f6d91 libhydra: Remove empty unused library 2016-03-03 17:36:11 +01:00
Tobias Brunner d8fdd1018e starter: Don't flush SAs in the kernel
If starter is not used we don't do that either. And this allows us to
move the stuff in libhydra back to libcharon.
2015-08-21 18:27:06 +02:00
Tobias Brunner 95faeaa7ed starter: Ensure the daemon executable exists when starting up
The only purpose of starter is to control the IKE daemon, so we
terminate it if the daemon executable is not found (e.g. because
DAEMON_NAME is incorrect).

This removes the charonstart setting (it was not actually configurable
anymore).
2015-05-08 19:05:26 +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
Martin Willi 8986e2da47 starter: Do not close all file descriptors after fork()
As we use libstrongswan and expect that it still works after the fork, we
can't just closefrom() all file descriptors. Watcher, for example, uses
a pipe to notify FDSET changes, which must be kept open.

Reverts 652ddf5ce2.
2014-08-25 09:47:46 +02:00
Tobias Brunner 2d88617e7d starter: Add --conftest option to test ipsec.conf syntax 2014-06-19 14:00:49 +02:00
Tobias Brunner 10c4f4e1fd libhydra: Remove unused hydra->daemon 2014-02-12 14:34:32 +01:00
Tobias Brunner 34d3bfcf14 lib: Add global config namespace 2014-02-12 14:34:31 +01:00
Tobias Brunner 517823b466 starter: Properly refer to the ipsec script if it was renamed 2013-07-22 18:00:19 +02:00
Tobias Brunner 9afc6e6a70 starter: Make ipsec.conf path configurable via command line 2013-06-21 10:08:56 +02:00
Martin Willi 9a00d9aa2f starter: ignore return value of sete[gu]id(), now having warn_unused_result 2013-06-18 08:54:10 +02:00
Adrian-Ken Rueegsegger 4dc3ef94a1 starter: Make daemon name configurable
A daemon can be specified using the '--daemon' command line parameter. This
tells starter to invoke a daemon other than 'charon'.

Additionally the ipsec script uses the environment variable DAEMON_NAME to tell
the starter which daemon to use.
2013-03-19 15:23:45 +01:00
Adrian-Ken Rueegsegger 113ff13322 starter: Add --attach-gdb option to usage text 2013-01-22 11:03:19 +01:00
Tobias Brunner f05b427265 Moved debug.[ch] to utils folder 2012-10-24 16:00:51 +02:00
Tobias Brunner a5436657e9 Starter ignores non-fatal errors when reloading config 2012-10-18 14:42:11 +02:00
Tobias Brunner 9e730ef9df Starter unroutes removed or changed connections before loading and routing new ones 2012-10-18 14:42:11 +02:00
Tobias Brunner dc80ef0cde starter: Added --nolog option to suppress logging in starter itself
Fixes #224.
2012-09-12 17:15:14 +02:00
Tobias Brunner 4c91845452 starter: Load config again when restarting charon
This got lost in 041e763b.
2012-09-05 16:43:34 +02:00
Tobias Brunner 71b89d6722 Only load kernel plugins in starter when flushing SAD/SPD entries
This avoids keeping the kernel sockets open when they are not actually
needed, which could lead to resource problems (in particular with PF_KEY
where all open sockets receive all messages).

Fixes #217.
2012-08-16 16:14:15 +02:00
Martin Willi e36497700c Print the kind of *Swan during starter startup 2012-06-14 10:25:48 +02:00
Tobias Brunner ee3026a1e2 starter: Remove all ties to pluto/libfreeswan.
Moved some types/constants in the process.
2012-06-11 17:33:32 +02:00
Tobias Brunner 041e763b77 starter: Remove main parts of pluto support (invoke, whack). 2012-06-11 17:33:30 +02:00
Tobias Brunner 95e41fb80a starter: Drop support for %defaultroute. 2012-06-11 17:33:29 +02:00
Tobias Brunner 163b227386 starter: Migrated logging to libstrongswan. 2012-06-11 17:33:29 +02:00
Tobias Brunner 4a10eda1a0 starter: Go back to single threaded mode.
Mixing multiple threads and fork(2) wasn't a very good idea it seems.
At least in some environments this caused strange side-effects.
2012-06-08 14:12:07 +02:00
Tobias Brunner b200fa573b starter: Only handle SIGCHLD asynchronously and the rest in pselect(2). 2012-06-06 14:23:25 +02:00
Tobias Brunner 18a3741042 starter: (De-)Initialize logging when forking. 2012-06-05 09:22:16 +02:00
Tobias Brunner 89c97952bd starter: Changed signal handling now that starter is multi-threaded. 2012-06-04 18:09:56 +02:00
Tobias Brunner d3590016e9 starter: Initialize thread pool so kernel events are consumed. 2012-05-15 08:55:19 +02:00
Martin Willi cf1772f685 Do not ignore configs for IKEv1 in charon anymore 2012-03-20 17:30:43 +01:00
Tobias Brunner adab84533e starter: Use kernel interfaces to flush SAD and SPD.
This now supports platforms where neither 'ip xfrm' nor 'setkey' are
available (like Android).
2011-10-21 14:24:34 +02:00
Tobias Brunner f3a682c1ff starter: Load plugins specific to starter. 2011-10-21 14:24:34 +02:00
Tobias Brunner d19eaf7457 starter: INFO_FILE is not used anymore. 2011-10-21 14:24:34 +02:00
Tobias Brunner 652ddf5ce2 starter: Close open file descriptors after forking.
This avoids problems with Android's adb which leaves several file
descriptors open when executing processes.
2011-10-13 11:19:17 +02:00
Tobias Brunner aa82ae3aa4 starter: Only create self-signed certificate if scepclient is built. 2011-10-12 16:37:21 +02:00
Tobias Brunner 0b706426a5 starter: Check for processes with PIDs stored in pid files. 2011-09-28 13:57:59 +02:00
Martin Willi 513701f41b Fix some warnings triggered by gcc 4.6 -Wunused-but-set-variable 2011-05-19 15:47:40 +02:00
Tobias Brunner 67ec2be665 IKEv2 was only partially the default for connections with auto=route and auto=start.
Connections with auto=route and auto=start that did not have
keyexchange=ikev2 explicitly specified did get added to charon,
but did not get routed or started by charon.
2011-04-27 11:33:06 +02:00
Andreas Steffen 3de510ca43 Warn about manual plugin load directives for pluto/charon with --disable-load-warning compile option 2010-07-15 06:29:26 +02:00
Martin Willi 83b957107f Revert "Warn about manual plugin load directives for pluto/charon"
This reverts commit 5c46726d0d.
2010-07-14 07:17:16 +02:00
Martin Willi 5c46726d0d Warn about manual plugin load directives for pluto/charon 2010-07-13 14:43:45 +02:00
Andreas Steffen 2724ae521e free config before exiting since library_deinit() calls leak detective 2010-05-02 11:00:21 +02:00