strongswan.git
6 years agoRemoved obsoleted strongswan.conf options
Andreas Steffen [Tue, 18 Jun 2013 16:59:31 +0000 (18:59 +0200)]
Removed obsoleted strongswan.conf options

6 years agoAdded ITA components to database
Andreas Steffen [Mon, 17 Jun 2013 09:47:39 +0000 (11:47 +0200)]
Added ITA components to database

6 years agoAdded soft dependency on database plugin
Andreas Steffen [Thu, 13 Jun 2013 12:18:15 +0000 (14:18 +0200)]
Added soft dependency on database plugin

6 years agofixed SQL query
Andreas Steffen [Thu, 13 Jun 2013 12:17:47 +0000 (14:17 +0200)]
fixed SQL query

6 years agoShortened names of default policy groups
Andreas Steffen [Wed, 12 Jun 2013 17:05:34 +0000 (19:05 +0200)]
Shortened names of default policy groups

6 years agoStore device with product ID
Andreas Steffen [Tue, 11 Jun 2013 20:15:27 +0000 (22:15 +0200)]
Store device with product ID

6 years agoDatabase changes needed to integrate Cygnet backend
Andreas Steffen [Tue, 11 Jun 2013 19:03:08 +0000 (21:03 +0200)]
Database changes needed to integrate Cygnet backend

6 years agoImplemented get|set_action_flag() methods
Andreas Steffen [Tue, 11 Jun 2013 19:01:57 +0000 (21:01 +0200)]
Implemented get|set_action_flag() methods

6 years agoImplemented hierarchical policy groups
Andreas Steffen [Mon, 10 Jun 2013 20:56:49 +0000 (22:56 +0200)]
Implemented hierarchical policy groups

6 years agoIntroduced workitems to Attestation IMV
Andreas Steffen [Mon, 10 Jun 2013 11:29:07 +0000 (13:29 +0200)]
Introduced workitems to Attestation IMV

6 years agopts_meas_algo_probe() and pts_dh_group_probe() got lost
Andreas Steffen [Thu, 30 May 2013 18:04:34 +0000 (20:04 +0200)]
pts_meas_algo_probe() and pts_dh_group_probe() got lost

6 years agoConverted all IMVs to use generic IF-IMV API
Andreas Steffen [Thu, 30 May 2013 16:02:00 +0000 (18:02 +0200)]
Converted all IMVs to use generic IF-IMV API

6 years agoRemove the constructor from the IMV agent interface
Andreas Steffen [Wed, 29 May 2013 22:08:38 +0000 (00:08 +0200)]
Remove the constructor from the IMV agent interface

6 years agoDefined a generic IMV agent interface
Andreas Steffen [Wed, 29 May 2013 22:06:12 +0000 (00:06 +0200)]
Defined a generic IMV agent interface

6 years agoMoved all functionality into imv_os_agent_t class turning imv_os_t into an IF-IMV...
Andreas Steffen [Wed, 29 May 2013 21:21:04 +0000 (23:21 +0200)]
Moved all functionality into imv_os_agent_t class turning imv_os_t into an IF-IMV skeleton

6 years agoMoved batch_ending into separate source file
Andreas Steffen [Mon, 27 May 2013 05:41:58 +0000 (07:41 +0200)]
Moved batch_ending into separate source file

6 years agodo not process workitems with NULL result
Andreas Steffen [Fri, 24 May 2013 14:56:42 +0000 (16:56 +0200)]
do not process workitems with NULL result

6 years agofixed enumeration of workitems for a given session
Andreas Steffen [Fri, 24 May 2013 10:51:56 +0000 (12:51 +0200)]
fixed enumeration of workitems for a given session

6 years agogenerate workitems based on group policy
Andreas Steffen [Thu, 23 May 2013 20:12:10 +0000 (22:12 +0200)]
generate workitems based on group policy

6 years agoAdded file and directory reference measurements to workitems
Andreas Steffen [Thu, 23 May 2013 13:30:55 +0000 (15:30 +0200)]
Added file and directory reference measurements to workitems

6 years agoadd overall recommendation to session database entry
Andreas Steffen [Sun, 19 May 2013 10:43:55 +0000 (12:43 +0200)]
add overall recommendation to session database entry

6 years agodon't define a default database URI
Andreas Steffen [Fri, 17 May 2013 20:32:04 +0000 (22:32 +0200)]
don't define a default database URI

6 years agocreated a simple IMV Policy Manager
Andreas Steffen [Fri, 17 May 2013 19:38:54 +0000 (21:38 +0200)]
created a simple IMV Policy Manager

6 years agoregister received scanner attributes
Andreas Steffen [Fri, 17 May 2013 19:38:21 +0000 (21:38 +0200)]
register received scanner attributes

6 years agoused tnc_policy_update functions for default policy
Andreas Steffen [Fri, 17 May 2013 19:36:11 +0000 (21:36 +0200)]
used tnc_policy_update functions for default policy

6 years agorefactored IMV policy management
Andreas Steffen [Thu, 16 May 2013 21:07:24 +0000 (23:07 +0200)]
refactored IMV policy management

6 years agoimplemented policy rules for OS IMV
Andreas Steffen [Mon, 13 May 2013 22:21:56 +0000 (00:21 +0200)]
implemented policy rules for OS IMV

6 years agocheck for zero-length device ID
Andreas Steffen [Sun, 5 May 2013 08:13:13 +0000 (10:13 +0200)]
check for zero-length device ID

6 years agoITA-HSR/Device ID attribute & IMV OS state machine
Andreas Steffen [Sat, 4 May 2013 19:06:36 +0000 (21:06 +0200)]
ITA-HSR/Device ID attribute & IMV OS state machine

6 years agoexecute an _imv_policy script
Andreas Steffen [Thu, 2 May 2013 20:15:12 +0000 (22:15 +0200)]
execute an _imv_policy script

6 years agoimplemented IMV session control
Andreas Steffen [Sun, 28 Apr 2013 20:47:09 +0000 (22:47 +0200)]
implemented IMV session control

6 years agoManage files and directories
Andreas Steffen [Mon, 22 Apr 2013 22:06:34 +0000 (00:06 +0200)]
Manage files and directories

6 years agoMerge branch 'kernel-libipsec'
Tobias Brunner [Fri, 21 Jun 2013 15:03:35 +0000 (17:03 +0200)]
Merge branch 'kernel-libipsec'

Adds a new kernel interface plugin that uses TUN devices and libipsec to
provide IPsec process in userland.

It works on Linux, FreeBSD and Mac OS X.  In particular the latter two
platforms may gain from this approach as their respective kernels don't
provide support for AES-GCM.

kernel-pfroute has been improved (source address lookup) and a second
plugin (osx-attr) installs configuration attributes (currently DNS
servers only) via SystemConfiguration on Mac OS X.

6 years agoosx-attr: add plugin installing config attributes using SystemConfiguration
Martin Willi [Wed, 15 May 2013 13:56:17 +0000 (15:56 +0200)]
osx-attr: add plugin installing config attributes using SystemConfiguration

Currently installs DNS servers only, by prepending IP addresses to the
DNS configuration of the primary networking service.

6 years agokernel-pfroute: Simplify route lookup after fixing sockaddr parsing
Tobias Brunner [Tue, 18 Jun 2013 16:06:46 +0000 (18:06 +0200)]
kernel-pfroute: Simplify route lookup after fixing sockaddr parsing

6 years agokernel-pfroute: Alignment of sockaddrs is not always the same
Tobias Brunner [Tue, 18 Jun 2013 15:50:51 +0000 (17:50 +0200)]
kernel-pfroute: Alignment of sockaddrs is not always the same

6 years agokernel-pfroute: struct sockaddr arguments are 4 byte aligned
Tobias Brunner [Tue, 18 Jun 2013 14:55:03 +0000 (16:55 +0200)]
kernel-pfroute: struct sockaddr arguments are 4 byte aligned

This was noticed on Mac OS X where, if the default route is returned,
RTA_NETMASK has sa_len set to 0, but skipping zero bytes to read the
next address makes no sense, of course.  Using 0 for sa_len seems
a bit strange, in particular, because struct sockaddr has by definition
a minimum length of 16 bytes.  But it seems FreeBSD actually does the
same.

6 years agokernel-libipsec: Ignore failures when installing routes for multicast or broadcast...
Tobias Brunner [Mon, 17 Jun 2013 19:51:23 +0000 (21:51 +0200)]
kernel-libipsec: Ignore failures when installing routes for multicast or broadcast policies

6 years agokernel-pfroute: Improve route lookup depending on information we get back
Tobias Brunner [Mon, 17 Jun 2013 13:56:44 +0000 (15:56 +0200)]
kernel-pfroute: Improve route lookup depending on information we get back

Kernels don't provide the same information for all routes.

6 years agokernel-pfroute: Try to ensure we get a source address or interface name
Tobias Brunner [Mon, 17 Jun 2013 13:38:35 +0000 (15:38 +0200)]
kernel-pfroute: Try to ensure we get a source address or interface name

6 years agoike: Force NAT-T/UDP encapsulation if kernel interface requires it
Tobias Brunner [Mon, 17 Jun 2013 08:23:04 +0000 (10:23 +0200)]
ike: Force NAT-T/UDP encapsulation if kernel interface requires it

6 years agokernel-libipsec: Add a feature to request UDP encapsulation of ESP packets
Tobias Brunner [Mon, 17 Jun 2013 08:13:56 +0000 (10:13 +0200)]
kernel-libipsec: Add a feature to request UDP encapsulation of ESP packets

6 years agotun-device: Packets sent over utun devices on Mac OS X have the protocol family prepended
Tobias Brunner [Sun, 16 Jun 2013 18:05:08 +0000 (20:05 +0200)]
tun-device: Packets sent over utun devices on Mac OS X have the protocol family prepended

6 years agokernel-pfroute: Use DST as nexthop for host routes
Tobias Brunner [Sun, 16 Jun 2013 16:59:13 +0000 (18:59 +0200)]
kernel-pfroute: Use DST as nexthop for host routes

These are created as cache/clone on Mac OS X.

6 years agokernel-pfroute: Implement get_source_addr()
Tobias Brunner [Sun, 16 Jun 2013 09:40:16 +0000 (11:40 +0200)]
kernel-pfroute: Implement get_source_addr()

6 years agokernel-pfroute: Properly install routes with interface and gateway
Tobias Brunner [Sun, 16 Jun 2013 08:49:25 +0000 (10:49 +0200)]
kernel-pfroute: Properly install routes with interface and gateway

6 years agokernel-libipsec: Install a gateway for routes on platforms other than Linux
Tobias Brunner [Sun, 16 Jun 2013 08:47:39 +0000 (10:47 +0200)]
kernel-libipsec: Install a gateway for routes on platforms other than Linux

This seems required e.g. on FreeBSD but doesn't work on Linux.

6 years agokernel-pfroute: Activate TUN device before setting address
Tobias Brunner [Sat, 15 Jun 2013 16:56:11 +0000 (18:56 +0200)]
kernel-pfroute: Activate TUN device before setting address

On FreeBSD, for some reason, we don't learn the interface is up
otherwise.  Even though ifconfig lists it as up at the same time.

6 years agotun-device: Avoid opening /dev/tunX multiple times (e.g. on FreeBSD)
Tobias Brunner [Sat, 15 Jun 2013 15:46:25 +0000 (17:46 +0200)]
tun-device: Avoid opening /dev/tunX multiple times (e.g. on FreeBSD)

6 years agokernel-libipsec: Router reads packets from multiple TUN devices
Tobias Brunner [Sat, 15 Jun 2013 14:21:08 +0000 (16:21 +0200)]
kernel-libipsec: Router reads packets from multiple TUN devices

These devices are collected via kernel_listener_t interface.

6 years agokernel-libipsec: Use separate class to route packets between charon, libipsec and...
Tobias Brunner [Sat, 15 Jun 2013 12:21:34 +0000 (14:21 +0200)]
kernel-libipsec: Use separate class to route packets between charon, libipsec and TUN device

6 years agokernel-pfroute: Raise tun event when creating/destroying TUN devices for virtual IPs
Tobias Brunner [Thu, 13 Jun 2013 15:51:16 +0000 (17:51 +0200)]
kernel-pfroute: Raise tun event when creating/destroying TUN devices for virtual IPs

6 years agokernel: Add an event kernel interfaces can raise if they create/destroy a TUN device
Tobias Brunner [Thu, 13 Jun 2013 15:03:17 +0000 (17:03 +0200)]
kernel: Add an event kernel interfaces can raise if they create/destroy a TUN device

6 years agoprintf-hook: Avoid double-free when freeing Vstr config
Tobias Brunner [Wed, 12 Jun 2013 14:13:32 +0000 (16:13 +0200)]
printf-hook: Avoid double-free when freeing Vstr config

Thread-specific objects get freed when the thread value object is
destroyed (wasn't the case earlier, i.e. before 2b19dd35), which
may cause the second call to vstr_free_conf() to fail in an assert
in Vstr (depending on how it was built).

6 years agokernel-libipsec: Track policies and automatically install routes
Tobias Brunner [Tue, 11 Jun 2013 16:53:28 +0000 (18:53 +0200)]
kernel-libipsec: Track policies and automatically install routes

The routes direct traffic matching the remote traffic selector to the
TUN device.

If the remote traffic selector includes the IKE peer a very specific route
is installed to allow IKE traffic.

6 years agokernel-libipsec: Handle packets between charon socket, libipsec and TUN device
Tobias Brunner [Tue, 11 Jun 2013 16:52:23 +0000 (18:52 +0200)]
kernel-libipsec: Handle packets between charon socket, libipsec and TUN device

6 years agokernel-libipsec: Create a TUN device and use it to install virtual IPs
Tobias Brunner [Tue, 11 Jun 2013 16:47:55 +0000 (18:47 +0200)]
kernel-libipsec: Create a TUN device and use it to install virtual IPs

6 years agokernel-libipsec: Add plugin that implements kernel_ipsec_t using libipsec
Tobias Brunner [Tue, 11 Jun 2013 16:43:01 +0000 (18:43 +0200)]
kernel-libipsec: Add plugin that implements kernel_ipsec_t using libipsec

6 years agokernel-netlink: Routes don't require a gateway/nexthop
Tobias Brunner [Tue, 11 Jun 2013 14:05:40 +0000 (16:05 +0200)]
kernel-netlink: Routes don't require a gateway/nexthop

6 years agocharon-cmd: Document auxiliary options
Tobias Brunner [Fri, 21 Jun 2013 14:58:16 +0000 (16:58 +0200)]
charon-cmd: Document auxiliary options

6 years agocharon-cmd: Link strongswan.conf(5) and charon-cmd(8) man pages
Tobias Brunner [Fri, 21 Jun 2013 14:35:19 +0000 (16:35 +0200)]
charon-cmd: Link strongswan.conf(5) and charon-cmd(8) man pages

6 years agocharon-cmd: Use fixed number of character to align command descriptions
Tobias Brunner [Thu, 20 Jun 2013 20:01:42 +0000 (22:01 +0200)]
charon-cmd: Use fixed number of character to align command descriptions

If the command and argument is longer than that write the first line of
description to the following line.

6 years agocharon-cmd: Shortened and fixed command descriptions
Tobias Brunner [Thu, 20 Jun 2013 19:54:11 +0000 (21:54 +0200)]
charon-cmd: Shortened and fixed command descriptions

6 years agocharon-cmd: Simplify usage output for authentication profiles
Tobias Brunner [Thu, 20 Jun 2013 19:35:34 +0000 (21:35 +0200)]
charon-cmd: Simplify usage output for authentication profiles

The man page describes the min full.

6 years agocharon-cmd: Add Aggressive Mode profiles to man page
Tobias Brunner [Thu, 20 Jun 2013 19:15:56 +0000 (21:15 +0200)]
charon-cmd: Add Aggressive Mode profiles to man page

6 years agocharon-cmd: Add man page for charon-cmd(8)
Tobias Brunner [Sun, 16 Jun 2013 17:06:40 +0000 (19:06 +0200)]
charon-cmd: Add man page for charon-cmd(8)

6 years agocharon-cmd: Add --debug argument to set the default log level
Tobias Brunner [Fri, 21 Jun 2013 13:55:52 +0000 (15:55 +0200)]
charon-cmd: Add --debug argument to set the default log level

6 years agocharon-cmd: Handle simple command line arguments like --help before the others
Tobias Brunner [Fri, 21 Jun 2013 13:41:12 +0000 (15:41 +0200)]
charon-cmd: Handle simple command line arguments like --help before the others

6 years agoplugin-loader: Move logging of failed features to status()
Tobias Brunner [Fri, 21 Jun 2013 12:46:17 +0000 (14:46 +0200)]
plugin-loader: Move logging of failed features to status()

Still log an error message if critical features fail, as loaded
plugins/features are not logged in that case.

This way loaded plugins are printed before failed features and
the relation is easier to make for users.  It also allows programs
to log this message on a different level.

6 years agoplugin-loader: Add method to print loaded plugins on a given log level
Tobias Brunner [Fri, 21 Jun 2013 12:45:38 +0000 (14:45 +0200)]
plugin-loader: Add method to print loaded plugins on a given log level

6 years agoplugin-loader: Collect statistics while loading features, print them in case features...
Tobias Brunner [Thu, 20 Jun 2013 18:49:42 +0000 (20:49 +0200)]
plugin-loader: Collect statistics while loading features, print them in case features failed to load

There is no need to explicitly search for failed features in critical
plugins as this is now detected while loading the features.

6 years agoplugin-loader: Use different log level if failed feature is in critical plugin
Tobias Brunner [Thu, 20 Jun 2013 18:36:15 +0000 (20:36 +0200)]
plugin-loader: Use different log level if failed feature is in critical plugin

6 years agoplugin-loader: Log message when failing to load plugin
Tobias Brunner [Thu, 20 Jun 2013 18:33:53 +0000 (20:33 +0200)]
plugin-loader: Log message when failing to load plugin

6 years agoplugin-loader: Reduce verbosity while loading plugins
Tobias Brunner [Thu, 20 Jun 2013 18:27:45 +0000 (20:27 +0200)]
plugin-loader: Reduce verbosity while loading plugins

6 years agoFix crash if the initiator has no suitable proposal available
Tobias Brunner [Fri, 26 Apr 2013 13:36:42 +0000 (15:36 +0200)]
Fix crash if the initiator has no suitable proposal available

Could be triggered with a typo in the ike or esp options when ! is used.

6 years agoMerge branch 'unit-tests-ecdsa'
Martin Willi [Fri, 21 Jun 2013 08:39:16 +0000 (10:39 +0200)]
Merge branch 'unit-tests-ecdsa'

Adds support for testing plugin functionality to test-runner. Introduces some
good/bad tests for ECDSA/RSA which would have caught those RSA/ECDSA signature
vulnerabilities.

6 years agoleak-detective: (re-)whitelist some OpenSSL functions
Martin Willi [Thu, 20 Jun 2013 08:06:07 +0000 (10:06 +0200)]
leak-detective: (re-)whitelist some OpenSSL functions

Some static allocations in plugins won't get freed, because in the test case
process the plugins are not destroyed. If a plugin would clean up allocations
done while just using the plugin, these show up as leak in the child process,
letting tests fail.

6 years agounit-tests: load plugins in test-runner from build directory
Martin Willi [Thu, 20 Jun 2013 07:34:18 +0000 (09:34 +0200)]
unit-tests: load plugins in test-runner from build directory

6 years agounit-tests: link test-runner against -lpthread
Martin Willi [Wed, 19 Jun 2013 13:37:49 +0000 (15:37 +0200)]
unit-tests: link test-runner against -lpthread

6 years agounit-tester: remove obsolete rsa_gen test, now covered in unit-tests
Martin Willi [Wed, 19 Jun 2013 13:50:04 +0000 (15:50 +0200)]
unit-tester: remove obsolete rsa_gen test, now covered in unit-tests

6 years agounit-tests: add RSA test cases, very similar to ECDSA
Martin Willi [Wed, 19 Jun 2013 13:33:47 +0000 (15:33 +0200)]
unit-tests: add RSA test cases, very similar to ECDSA

6 years agounit-tests: test with /dev/urandom if random plugin is in use
Martin Willi [Wed, 19 Jun 2013 13:32:19 +0000 (15:32 +0200)]
unit-tests: test with /dev/urandom if random plugin is in use

6 years agounit-tests: test supported ECDSA schemes only
Martin Willi [Wed, 19 Jun 2013 13:31:25 +0000 (15:31 +0200)]
unit-tests: test supported ECDSA schemes only

6 years agoMove test-runners has_feature() function to plugin loader
Martin Willi [Wed, 19 Jun 2013 12:52:52 +0000 (14:52 +0200)]
Move test-runners has_feature() function to plugin loader

6 years agounit-tests: enforce CET/CEST timezone to properly test non-UTC time formatting
Martin Willi [Tue, 11 Jun 2013 16:31:35 +0000 (18:31 +0200)]
unit-tests: enforce CET/CEST timezone to properly test non-UTC time formatting

6 years agounit-tests: don't use ck_assert() to test a cleared chunk, as it allocates data
Martin Willi [Tue, 11 Jun 2013 16:29:49 +0000 (18:29 +0200)]
unit-tests: don't use ck_assert() to test a cleared chunk, as it allocates data

The new allocation might be in the freed area, affecting the test result.

6 years agounit-tests: define 64-bit constats with ULL, fixing compiler warning on 32-bit
Martin Willi [Tue, 11 Jun 2013 15:45:45 +0000 (17:45 +0200)]
unit-tests: define 64-bit constats with ULL, fixing compiler warning on 32-bit

6 years agoLimit cleanup of .gc{no,da} files to src and scripts subfolders
Martin Willi [Tue, 11 Jun 2013 15:27:40 +0000 (17:27 +0200)]
Limit cleanup of .gc{no,da} files to src and scripts subfolders

Other folders in the build tree might not be related to the strongSwan tree,
or are not even accessible.

6 years agounit-tests: test some zeroed ECDSA signatures that never should succeed
Martin Willi [Tue, 9 Apr 2013 14:00:19 +0000 (16:00 +0200)]
unit-tests: test some zeroed ECDSA signatures that never should succeed

6 years agounit-tests: perform signing/validation with keys ECDSA keys generated or loaded
Martin Willi [Tue, 9 Apr 2013 13:49:09 +0000 (15:49 +0200)]
unit-tests: perform signing/validation with keys ECDSA keys generated or loaded

6 years agounit-tests: add an ECDSA test case loading keys
Martin Willi [Tue, 9 Apr 2013 13:31:43 +0000 (15:31 +0200)]
unit-tests: add an ECDSA test case loading keys

6 years agounit-tests: perform a first ECDSA test case if ECDSA is supported
Martin Willi [Tue, 9 Apr 2013 13:06:28 +0000 (15:06 +0200)]
unit-tests: perform a first ECDSA test case if ECDSA is supported

6 years agounit-tests: add a helper function checking if a plugin feature is available
Martin Willi [Tue, 9 Apr 2013 13:05:24 +0000 (15:05 +0200)]
unit-tests: add a helper function checking if a plugin feature is available

6 years agounit-tests: add a test case checking if all test vectors have been passed
Martin Willi [Tue, 9 Apr 2013 12:35:38 +0000 (14:35 +0200)]
unit-tests: add a test case checking if all test vectors have been passed

6 years agocrypto-factory: count the number of test vector failures during registration
Martin Willi [Tue, 9 Apr 2013 12:30:13 +0000 (14:30 +0200)]
crypto-factory: count the number of test vector failures during registration

6 years agounit-tests: load all libstrongswan plugins in test-runner
Martin Willi [Tue, 9 Apr 2013 12:05:12 +0000 (14:05 +0200)]
unit-tests: load all libstrongswan plugins in test-runner

6 years agostroke: Add statusall-nb as alias for statusallnb
Tobias Brunner [Fri, 21 Jun 2013 08:43:46 +0000 (10:43 +0200)]
stroke: Add statusall-nb as alias for statusallnb

6 years agostroke: Add non-blocking versions of up and down
Tobias Brunner [Sun, 16 Jun 2013 14:30:21 +0000 (16:30 +0200)]
stroke: Add non-blocking versions of up and down

stroke up-nb and stroke down-nb do not block until the command has
finished.  Instead, they return right after initiating the respective
operation.

6 years agostarter: Make ipsec.conf path configurable via command line
Tobias Brunner [Thu, 13 Jun 2013 17:07:55 +0000 (19:07 +0200)]
starter: Make ipsec.conf path configurable via command line

6 years agopubkey: Improve comparison of raw public key certificate objects
Tobias Brunner [Wed, 5 Jun 2013 09:30:05 +0000 (11:30 +0200)]
pubkey: Improve comparison of raw public key certificate objects