Commit Graph
100 Commits
Author SHA1 Message Date
Tobias Brunner 73da6c88a4 Fix checksum calculation with DESTDIR installations 2013-04-15 16:48:46 +02:00
Tobias Brunner 5cb4f5519b Added missing sasl Doxygen group 2013-04-05 16:03:39 +02:00
Tobias Brunner 14edee56bf unity: Check IKE_SA in only after enumerating virtual IPs 2013-04-05 16:03:10 +02:00
Tobias Brunner 96ad2b17b0 Updated strongswan.conf(5) man page 2013-04-01 16:56:47 +02:00
Tobias Brunner eca499f3d9 Load raw keys before possibly destroying the identity
If no identity (or %any) is configured the identification_t object is
destroyed and an invalid object was associated with the created pubkey
certificate.
Actually using %any does not work as the certificate would not match
when the client later provides an identity.
2013-04-01 13:48:34 +02:00
Tobias Brunner a009aedb0b ipseckey: Use proper daemon name for enable option 2013-04-01 13:46:09 +02:00
Tobias Brunner 53ac177cde Properly handle situation if no resolver plugins are loaded 2013-04-01 13:44:04 +02:00
Tobias Brunner 54781f5f34 Fixed Doxygen comment in eap_radius plugin 2013-03-27 11:08:55 +01:00
Tobias Brunner ae8ac58c45 Fix detection and use of netinet/ip6.h on FreeBSD 2013-03-27 09:56:48 +01:00
Tobias Brunner 613fb0b494 Don't set USE_ATTR_SQL when the sql plugin is enabled only 2013-03-27 07:47:53 +01:00
Tobias Brunner 419a9a4fcd Make some private functions in plugins static
Fixes monolithic build.
2013-03-27 07:32:55 +01:00
Tobias Brunner 51caeeb161 crypt_burn: Proper cleanup 2013-03-25 18:40:32 +01:00
Tobias Brunner d4f2f3dd7f crypt_burn: Fix loop condition for regular crypters 2013-03-25 18:40:31 +01:00
Tobias Brunner f2e6a67ed9 libpts: Cast first argument for %.*s to int 2013-03-25 18:40:27 +01:00
Tobias Brunner 237bb5d467 error-notify: Close file descriptors in case clients are still connected 2013-03-25 18:34:54 +01:00
Tobias Brunner 2467c46856 libpttls: Destroy reader when handling errors during SASL 2013-03-25 18:33:57 +01:00
Tobias Brunner acbe87787b pacman: Define gen_time out of the loop
It gets assigned if count==3 but only used later when count >= 7.
2013-03-25 17:13:49 +01:00
Tobias Brunner 38c410b1aa ipseckey: NULL pointer dereference fixed in error case 2013-03-25 17:02:45 +01:00
Tobias Brunner cf95d2926c Fixed some typos, courtesy of codespell 2013-03-25 10:59:37 +01:00
Tobias Brunner 48d82a7dc7 asprintf(3) requires _GNU_SOURCE to be defined 2013-03-22 19:42:15 +01:00
Tobias Brunner 79306b7e6e Use proper integer types when handling TLS exchanges
tls_t.build takes a size_t argument not a ssize_t.
2013-03-22 11:40:57 +01:00
Tobias Brunner 03237238b8 Check return value of asprintf(3) when converting AR identity
Using chunk_t.ptr as target was also not optimal as it resulted in
a compiler warning.
2013-03-22 11:34:16 +01:00
Tobias Brunner 24b5e71522 android: No need to disable CMS explicitly
The version check introduced with 0d237763 should take care of it.
2013-03-20 17:02:37 +01:00
Tobias Brunner 665fac2433 Allow up to 10 NAT-D payloads in IKEv1 messages 2013-03-20 16:20:39 +01:00
Tobias Brunner 1a71178940 Avoid a race condition when reloading secrets from ipsec.secrets
With the previous implementation that cleared the secrets in the active
credential set and then loaded the secrets, IKE SA establishment would
fail (as initiator or responder) if secrets are concurrently reloaded
and the required secret was not yet loaded.
2013-03-20 15:27:34 +01:00
Tobias Brunner d307be7f6c Add a method to replace all secrets in a mem_cred_t object 2013-03-20 15:27:34 +01:00
Tobias Brunner 29d93e2470 android: Build native libraries also for x86
Requires an updated build script for Vstr.
2013-03-20 15:24:27 +01:00
Tobias Brunner 51f2905d9b android: libtnccs requires headers from libtls 2013-03-20 15:24:27 +01:00
Tobias Brunner 9a4d06df44 android: Fix Android.mk for ipsec script 2013-03-20 15:24:27 +01:00
Tobias Brunner e5d819b617 android: Remove/filter header files from LOCAL_SRC_FILES
This avoids huge warnings when building the native code.
2013-03-20 15:24:26 +01:00
Tobias Brunner 8249f288f2 android: Request and install an IPv6 DNS server 2013-03-20 15:24:26 +01:00
Tobias Brunner ee66565d43 android: Also request a virtual IPv6 address and propose IPv6 TS
This allows IPv6 over IPv4 but falls back nicely if we don't get a
virtual IPv6 (or IPv4) address.
2013-03-20 15:24:26 +01:00
Tobias Brunner c994ec3b70 ipsec: Increased log level for message in case no outbound policy is found
This might happen on Android if sockets are bound to the physical IP
address but packets are still routed via TUN device.  Since it seems to
happen quite often (or for stuff that requires regular traffic) this
hides these messages from the default log.
2013-03-20 15:24:26 +01:00
Tobias Brunner e8526ae991 Removed unused variable 'id' 2013-03-19 16:37:40 +01:00
Tobias Brunner 5e551da16b Properly cleanup libmysql
Seems to work correctly with recent MySQL versions.
2013-03-19 16:33:07 +01:00
Tobias Brunner 2ac772a5d0 Use proper address family when adding multiple addresses to SQL pool 2013-03-19 16:33:07 +01:00
Tobias Brunner fe62707209 Ignore SQL-based IP address pools if their address family does not match 2013-03-19 16:33:07 +01:00
Tobias Brunner 1b33e6c4ca charon-nm: Add dependencies to CERT_DECODE and PRIVKEY plugin features
This ensures the NM-specific credential set is unloaded before any
implementation of certificate/key objects, which causes a segmentation
fault during shutdown.
2013-03-19 16:25:26 +01:00
Tobias Brunner 3651c8dcd5 charon-nm: Prevent NM from changing the default route
This is not required as we install our own (narrow) route(s) in our own
routing table. This should allow split tunneling if configured on the
gateway.
2013-03-19 16:25:26 +01:00
Tobias Brunner 9cf09ecad7 charon-nm: Use VIP (if any) as local address
NM will install this address on the provided device.
2013-03-19 16:25:26 +01:00
Tobias Brunner c15eea7306 charon-nm: Pass a dummy TUN device to NetworkManager
NetworkManager modifies the addresses etc. on this interface so using
"lo" is not optimal. With the dummy interface NM is free to do its
thing.
2013-03-19 16:25:26 +01:00
Tobias Brunner b7645a5d30 charon-nm: Fix NM plugin utility macros 2013-03-19 16:25:26 +01:00
Tobias Brunner e7017a6bb9 Ignore 'compile' script which is generated by AM_PROG_CC_C_O 2013-03-19 16:19:11 +01:00
Tobias Brunner 68bfee4bc4 Avoid returning COOKIEs right after system boot
When the monotonic timer is initialized to 0 right after the system is
booted the daemon responded with COOKIES for COOKIE_CALMDOWN_DELAY (10s).

Since the COOKIE verification code actually produces an overflow for
COOKIE_LIFETIME (10s) it wouldn't even accept properly returned COOKIEs.

Checking for last_cookie makes sense anyway as that condition must only
apply if we actually sent a COOKIE before.
2013-03-19 16:19:11 +01:00
Tobias Brunner 7f0f185bed Merge branch 'tkm'
This adds charon-tkm a special build of the charon IKEv2 daemon that delegates
security critical operations to a separate process (TKM = Trusted Key Manager).
2013-03-19 15:25:38 +01:00
Tobias Brunner deafaf51f1 Load arbitrary (non-host) attributes from strongswan.conf
This allows to e.g. load Cisco-specific attributes that contain FQDNs.
2013-03-19 15:21:30 +01:00
Tobias Brunner 8a0a1ae857 Delete IKE_SAs if responder does not initiate XAuth exchange within a certain time frame 2013-03-19 12:00:00 +01:00
Tobias Brunner 7a87381840 testing: Rename interfaces and bridges so they are easier to identify
This simplifies capturing traffic with Wireshark on the host as each of
the guest's interfaces is clearly identified.
The three bridges were previously numbered starting from 0, this scheme
is restored here.
2013-03-19 11:50:39 +01:00
Tobias Brunner 9525e9c506 testing: Don't use a specific version for the QEMU machine type
The previously used pc-1.1 is not yet available on e.g. Ubuntu 12.04.
With 'pc' the most current supported version of that type is used.
2013-03-19 11:50:39 +01:00
Tobias Brunner e34666a4ed NEWS about xauth-noauth added 2013-03-19 11:23:03 +01:00
Tobias Brunner 3c34e15ee4 Make sure that xauth-noauth is not used accidentally
It has to be selected explicitly with rightauth2=xauth-noauth.
2013-03-19 11:23:03 +01:00
Tobias Brunner e4013bb904 Added xauth-noauth plugin
This XAuth backend does not do any authentication of client credentials
but simply sends a successful XAuth status to the client, thereby
concluding the XAuth exchange.  This can be useful to fallback to basic
RSA authentication with clients that can not be configured without XAuth
authentication.
2013-03-19 11:23:03 +01:00
Tobias Brunner 6cf79c1e9d Algorithms are not really specific to an IKE version
But not all of them can be used with IKEv1.

Fixes #314.
2013-03-18 12:20:47 +01:00
Tobias Brunner 2b1e2434e4 esc() is only used if dladdr(3) is available 2013-03-08 16:45:09 +01:00
Tobias Brunner 292ee515db Fix maximum size of a mem_pool_t 2013-03-07 18:21:02 +01:00
Tobias Brunner d6da0a367a New Android release after adding translations and Cert/EAP authentication
Also fixed a race condition during reauthentication and a freeze that
might happen while disconnecting.
2013-03-07 14:14:34 +01:00
Tobias Brunner 76de964617 android: Add support for combined certificate and EAP authentication
This uses RFC 4739 multiple authentication rounds to first
authenticate the client with a certificate followed by an
EAP authentication round with username and password.
2013-03-07 14:14:34 +01:00
Tobias Brunner d62f043f01 testing: Add screen package to base image
Makes working in a single SSH session easier.
2013-03-05 17:40:13 +01:00
Tobias Brunner eeb029360a testing: Enable ssh connection to second IP by name (e.g. moon1) 2013-03-05 17:40:13 +01:00
Tobias Brunner 45ee7c9429 testing: ssh script accepts IP addresses instead of host names 2013-03-05 17:40:13 +01:00
Tobias Brunner 5057455674 testing: ssh script forwards arguments to ssh command
This allows to execute commands on a virtual host.
2013-03-05 17:40:12 +01:00
Tobias Brunner 11adf114c1 Fixed Doxygen comments after scanning complete src directory 2013-03-02 18:31:53 +01:00
Tobias Brunner b42f2cacac Include the whole src directory in apidoc and make source files browsable
But still only scan header files as Doxygen can't figure out how they
are related to source files (at least not for class methods).
2013-03-02 18:31:53 +01:00
Tobias Brunner cd612784e4 Prevent Doxygen from processing __attribute__(...)
Doxygen produces additional members/classes from these attributes.
2013-03-02 18:31:52 +01:00
Tobias Brunner b6a387f7b0 Updated Doxyfile.in with a recent version of Doxygen 2013-03-02 18:28:18 +01:00
Tobias Brunner 9804fccea3 Removed backend for old Android frontend patch
Moved the remaining DNS handler to a new plugin.
2013-03-02 18:27:23 +01:00
Tobias Brunner e88b529a30 android: Mitigate race condition on reauthentication
If the TUN device gets recreated while another thread in handle_plain()
has not yet called select(2) but already stored the file descriptor of the
old TUN device in its FD set, select() will fail with EBADF.

Fixes #301.
2013-03-01 17:06:01 +01:00
Tobias Brunner 4c969f7906 openssl: The EVP GCM interface requires at least OpenSSL 1.0.1 2013-03-01 16:57:45 +01:00
Tobias Brunner 9a70fe8412 testing: Add a script to easily connect to a host via SSH
This doesn't require any entries in /etc/hosts and the correct SSH
config is used to allow password-less access.
2013-02-28 18:21:14 +01:00
Tobias Brunner 81f9cd39fd openssl: Provide AES-GCM implementation 2013-02-28 18:17:42 +01:00
Tobias Brunner a89ebab62e Fix cleanup in crypto_tester if AEAD implementation fails 2013-02-28 18:17:42 +01:00
Tobias Brunner 5f7f4fa398 Order of arguments in Doxygen comment fixed 2013-02-28 18:17:42 +01:00
Tobias Brunner 8656f35ae1 Fix auth_cfg_t.clone() for single-valued auth rules
By using the default list enumerator and adding the rules with the public
add() method, clones of auth_cfg_t objects would return the values for
single-valued auth rules in the wrong order (i.e. the oldest instead of the
newest value was returned).  Using the internal enumerator (which the comment
already suggested) fixes this, but the clone will not be a full clone as
it does not contain any old values for single-valued auth rules.  Since
these will never be used anyway, this should be fine.
2013-02-28 18:11:38 +01:00
Tobias Brunner 6e935c6fe0 Trigger an updown event when destroying an IKE_SA based on INITIAL_CONTACT
In other cases (i.e. when functions return DESTROY_ME) the event should
already be triggered, but not in this forced situation.
2013-02-28 18:07:29 +01:00
Tobias Brunner bc07fef09c Use SIGUSR2 for SIG_CANCEL on Android
SIGRTMIN is defined as 32 while sigset_t is defined as
unsigned long (i.e. holds 32 signals).  Hence, the signal
could never be blocked.  Sending the signal still canceled
threads, but sometimes in situations where they shouldn't
have been canceled (e.g. while holding a lock).

Fixes #298.
2013-02-26 11:40:34 +01:00
Tobias Brunner 0ac34e9e6a Android.mk updated to latest Makefiles
Fixes #300.
2013-02-26 10:11:36 +01:00
Tobias Brunner 0d237763dc openssl: Disable PKCS#7/CMS when building against OpenSSL < 0.9.8g
Fixes #292.
2013-02-20 18:34:54 +01:00
Tobias Brunner 39db06f155 Merge branch 'dnssec' 2013-02-19 12:25:27 +01:00
Tobias Brunner d69eb0375f NEWS about ipseckey and unbound plugins added 2013-02-19 12:25:01 +01:00
Tobias Brunner 96a2d2077b Fix 'stroke loglevel any'
Before b46a5cd4 this worked if debug_t was unsigned.  In that case -1,
as returned by enum_from_name(), would result in a large positive number.
So any unknown debug group (including 'any') had the same effect that
was only intended for 'any'.
2013-02-13 12:18:20 +01:00
Tobias Brunner 98063d8187 Don't use a time_t variable with fscanf when parsing uptime
Because "%u" is used as format string in the fscanf call that parses the
uptime and because the length of time_t varies on different platforms
and architectures the value was not written properly if time_t was longer
than an unsigned int and depending on how the target variable was aligned
on the stack.  Since there is no conversion specifier to properly parse a
time_t value we use the appropriate integer type instead.
2013-02-08 11:33:13 +01:00
Tobias Brunner af5452ba76 Allow more than one CERTREQ payload for IKEv2
There is no reason not to do so (RFC 5996 explicitly mentions multiple
CERTREQ payloads) and some implementations seem to use the same behavior
as had to be used with IKEv1 (i.e. each CA in its own CERTREQ payload).
2013-02-08 11:28:56 +01:00
Tobias Brunner 2ccdc19ed9 Report enabled plugins at the end of configure 2013-02-04 16:24:58 +01:00
Tobias Brunner f2b508c1ab Streamlined comments in configure.in
dnl should only be used in rare cases (like escaping newlines)
2013-02-04 16:24:58 +01:00
Tobias Brunner 39a6c39519 Updated configure.in to newer autoconf
AC_TRY_COMPILE and AC_TRY_RUN are deprecated.  The new construct with
AC_*_IFELSE and AC_LANG_PROGRAM requires double quoting the source code
of these test programs.
2013-02-04 16:24:58 +01:00
Tobias Brunner eaf752d203 Add a configure option to disable all default plugins
The --disable-defaults option disables all plugins that would be
enabled by default.  This allows to selectively enable specific plugins
without issues when new default options get added in future releases.
2013-02-04 16:24:58 +01:00
Tobias Brunner a3a190b7bd openssl: Properly honor OPENSSL_NO_* defines 2013-01-31 17:33:23 +01:00
Tobias Brunner 25637aa5d8 Fix Doxygen comment for rdrand plugin 2013-01-31 12:11:37 +01:00
Tobias Brunner 9d9410e7b9 Typo in strongswan.conf(5) man page fixed 2013-01-31 11:52:11 +01:00
Tobias Brunner c186b3940a Documented new options in strongswan.conf(5) man page 2013-01-25 20:22:20 +01:00
Tobias Brunner 58fd1f3eef Don't use pointer to a union member in host_create_from_string_and_family() 2013-01-25 13:18:50 +01:00
Tobias Brunner 572a707765 Properly check MSB in openssl plugin's PKCS#7 implementation 2013-01-24 23:36:02 +01:00
Tobias Brunner 9ccfeb8ca1 Use proper buffer sizes for parse_smartcard() 2013-01-24 23:35:42 +01:00
Tobias Brunner 677812dc66 Cast first argument for %.*s to int 2013-01-24 23:35:42 +01:00
Tobias Brunner bacbf91c5c Removed unused command name when printing usage info for lookip 2013-01-24 23:35:41 +01:00
Tobias Brunner d7bd0ad7df Removed unused argument 2013-01-24 23:35:34 +01:00
Tobias Brunner 4cd3fb788d Properly read data from stream in pki --pkcs7 2013-01-24 19:13:41 +01:00
Tobias Brunner 27a814b527 Properly destroy mem_cred object on pki --pkcs7 --help 2013-01-24 19:13:41 +01:00
Tobias Brunner 39896d92ed Try to determine OS type if name and version are configured 2013-01-24 19:13:41 +01:00
Tobias Brunner 24cdf5340e Add missing va_end() call 2013-01-24 19:13:41 +01:00