Tobias Brunner
37fb404833
Android.mk of libstrongswan updated
2013-01-14 09:16:33 +01:00
Tobias Brunner
21235e1ec2
Merge branch 'ikev1-fragmentation'
...
This adds support for the proprietary IKEv1 fragmentation extension.
Conflicts:
NEWS
2013-01-12 11:58:26 +01:00
Tobias Brunner
f31b418094
NEWS for fragmentation extension added
...
Conflicts:
NEWS
2013-01-12 11:56:12 +01:00
Tobias Brunner
ee6902ef7f
Added an option to configure the maximum size of a fragment
2013-01-12 11:54:58 +01:00
Tobias Brunner
7ae245f685
Properly detect fragmentation capabilities
...
Cisco sends 0xc0000000 so we check that part of the VID separately.
2013-01-12 11:54:54 +01:00
Tobias Brunner
365d9a6f67
Added an option that allows to force IKEv1 fragmentation
2013-01-12 11:54:32 +01:00
Tobias Brunner
97973f8609
Use a connection specific option to en-/disable IKEv1 fragmentation
2012-12-24 13:00:01 +01:00
Tobias Brunner
e645c15b9c
Include source port in init hash for fragmented messages
2012-12-24 12:29:31 +01:00
Tobias Brunner
2f62bb1549
Add an option to en-/disable IKE fragmentation
...
Fragments are always accepted but will not be sent if disabled. The
vendor ID is only sent if the option is enabled.
2012-12-24 12:29:31 +01:00
Tobias Brunner
5cafefcd5d
Split larger messages into fragments if IKE fragmentation is supported by peer
2012-12-24 12:29:31 +01:00
Tobias Brunner
c849305ad7
Log message size for in- and outbound IKE messages
2012-12-24 12:29:30 +01:00
Tobias Brunner
07df944c9c
Add support to create IKE fragments
...
All fragments currently use the same fragment ID (1) as that's what
other implementations are doing.
2012-12-24 12:29:30 +01:00
Tobias Brunner
c4daac2c0b
Log added NAT-T vendor IDs
2012-12-24 12:29:27 +01:00
Tobias Brunner
667720c801
Detect a peer's support for IKE fragmentation
...
Fragments are accepted even if this vendor ID is not seen.
2012-12-24 12:29:27 +01:00
Tobias Brunner
fe26ddada9
Map fragmented initial initial Main or Aggressive Mode messages to the same IKE_SA
2012-12-24 12:29:27 +01:00
Tobias Brunner
b816037739
Allow ID_PROT/AGGRESSIVE messages for established IKE_SAs if they contain fragments
...
Other implementations send fragments always in an initial message type
even for transaction or quick mode exchanges.
2012-12-24 12:29:27 +01:00
Tobias Brunner
8fc8383439
Don't handle fragmented messages larger than charon.max_packet
2012-12-24 12:29:27 +01:00
Tobias Brunner
7d85f94165
Don't update an IKE_SA-entry's cached message ID when handling fragments
2012-12-24 12:29:26 +01:00
Tobias Brunner
30216000d3
Store inbound IKE fragments and reassemble the message when all fragments are received
2012-12-24 12:29:26 +01:00
Tobias Brunner
9b1659f52c
Add message rules to properly handle IKE fragments
...
These are sent in unencrypted messages and are the only payload
contained in such messages.
2012-12-24 10:24:48 +01:00
Tobias Brunner
ddfad8b67e
Reset the encrypted flag when handling IKE messages that contain a fragment
...
Racoon sets the encrypted bit for messages containing a fragment, but these
messages are not really encrypted (the fragmented message is though).
2012-12-24 10:24:48 +01:00
Tobias Brunner
8f0ab6dd36
Payload added to handle IKE fragments
2012-12-24 10:24:48 +01:00
Tobias Brunner
ef33a4ab82
Fixed some typos, courtesy of codespell
2012-12-20 09:35:26 +01:00
Tobias Brunner
0080daa787
Fix deadlock in IMC/IMV managers
...
Since reserve_id() might be called from e.g. notify_connection_change()
using a write lock will not work as this can't be acquired while holding
the read lock.
Also, with the previous code it was possible that two IMCs/IMVs added by
two threads at the same time would get the same ID assigned.
2012-12-18 15:59:29 +01:00
Tobias Brunner
6a8eeba540
Properly select IMC/IMV according to given primary ID in reserve_id()
2012-12-18 15:59:29 +01:00
Tobias Brunner
283898d6e0
Fix traffic selectors also as initiator in case of transport mode over NAT
2012-12-13 15:27:29 +01:00
Tobias Brunner
2990671748
Fix debug output if responder selected invalid traffic selectors during QM
2012-12-13 15:27:28 +01:00
Tobias Brunner
5cb00b3afb
Fixed reading of configs in conftest utility
2012-12-13 11:08:32 +01:00
Tobias Brunner
caccc0e8cc
Avoid that ruby 1.9 redefines snprintf(3) etc.
...
Otherwise our custom printf specifiers won't work.
2012-12-10 11:41:37 +01:00
Tobias Brunner
12e70a7efc
Properly initialize linked list when enumerating interface addresses
2012-12-10 09:47:46 +01:00
Tobias Brunner
6a25122bfc
rb_cvar_set() takes three arguments in Ruby 1.9
2012-12-10 09:47:46 +01:00
Tobias Brunner
d972975d87
Use rb_errinfo() instead of ruby_errinfo for Ruby 1.9
2012-12-10 09:47:46 +01:00
Tobias Brunner
afabe7b0ef
Use proper Ruby library depending on the available version
2012-12-10 09:47:46 +01:00
Tobias Brunner
5057df5b73
Fixed search for ruby.h in ./configure for newer Ruby releases
2012-12-10 09:47:46 +01:00
Tobias Brunner
07f826af67
Fixed encoding of TLS extensions (elliptic_curves and signature_algorithms)
2012-11-28 10:20:14 +01:00
Tobias Brunner
2cb9a014df
New Android release after adding shortcuts and confirmation dialog
...
Also fixed some Android 4.2 specific issues.
2012-11-21 19:07:52 +01:00
Tobias Brunner
df3e34fe86
android: Don't allow any backup for now
2012-11-21 19:05:18 +01:00
Tobias Brunner
37d42a76d3
android: Properly handle exceptions when loading keys/certificates
2012-11-21 18:57:41 +01:00
Tobias Brunner
73d0fb0a66
android: Use the same tag string for all dialogs in MainActivity
2012-11-21 18:57:41 +01:00
Tobias Brunner
8c0b32d892
android: Hide previous dialogs when handling a new connection attempt
2012-11-21 18:57:41 +01:00
Tobias Brunner
50b048983c
android: Show confirmation dialog when starting a profile while already connected
2012-11-21 18:57:41 +01:00
Tobias Brunner
ac3c6ff479
android: Add the ability to create shortcuts to specific VPN profiles
2012-11-21 18:57:41 +01:00
Tobias Brunner
127d83bb21
android: Start a specific VPN profile based on special Intents
2012-11-21 18:57:40 +01:00
Tobias Brunner
7241102ace
android: Attribute added to display the list of VPN profiles in read-only mode
2012-11-21 18:57:40 +01:00
Tobias Brunner
35ba45916c
Fixed two bugs in logging MSK during EAP-SIM/AKA
...
msk is already a pointer to a chunk_t and it was actually not set yet.
2012-11-21 11:55:55 +01:00
Tobias Brunner
2e50a8e751
android: Show an error if VPN fails due to lock down mode in Android 4.2
2012-11-19 11:43:32 +01:00
Tobias Brunner
be2e7ecc2f
android: Add error message as argument to "VPN not supported" dialog
2012-11-19 11:43:32 +01:00
Tobias Brunner
0c3b8028e7
android: Content providers are not exported by default in Android 4.2
2012-11-19 11:43:32 +01:00
Tobias Brunner
48e45153f5
android: Set target SDK to 17 (Android 4.2)
2012-11-19 11:43:31 +01:00
Tobias Brunner
277ff80a2e
android: Private key bug has been fixed with Android 4.2
2012-11-19 11:43:31 +01:00
Tobias Brunner
cbd52e7ddc
Limit recursion when searching for source addresses
...
This could be required if e.g. two default routes list gateways but the
corresponding outbound interfaces do not have any IP addresses on them.
2012-11-13 09:06:02 +01:00
Tobias Brunner
5be88ca6bb
Don't call get_route recursively if a route's gateway matches the destination
2012-11-13 09:06:02 +01:00
Tobias Brunner
7d41e90846
Fix destruction of tcg_pts_attr_file_meas_t when building from encoding
2012-11-12 12:13:11 +01:00
Tobias Brunner
6782bf3722
Properly define TSS_TROUSERS in configure script
2012-11-12 10:34:04 +01:00
Tobias Brunner
44566c2238
Made TSS implementation configurable and thereby optional
2012-11-08 19:32:41 +01:00
Tobias Brunner
eba65182e4
Include 'aggressive' when comparing peer_cfg_t objects
2012-11-07 12:44:58 +01:00
Tobias Brunner
bf0bcee9ec
Fixed output of longer debug messages
...
(v)snprintf(3) returns the length without terminating null byte but the
length given as parameter must include it.
2012-11-07 12:44:58 +01:00
Tobias Brunner
ed05a1a3b7
'signal' is a keyword in MySQL 5.5
...
Fixes #251 .
2012-11-07 12:37:23 +01:00
Tobias Brunner
acb300f920
android: Use proper intent-filter for our VpnService
2012-11-02 15:55:08 +01:00
Tobias Brunner
214c081dd6
Log sent vendor IDs for IKEv1
2012-11-02 15:52:19 +01:00
Tobias Brunner
531f32d62a
Compiler warning fixed
2012-11-02 15:39:51 +01:00
Tobias Brunner
3689f0f6cc
FQDNs are actually not resolved when loading secrets
2012-10-29 10:06:43 +01:00
Tobias Brunner
f30962de74
Fixed log message when no shared secret is found during IKEv1 Main Mode
2012-10-29 10:04:37 +01:00
Tobias Brunner
2380f3a830
Added documentation for NTLM secrets
2012-10-25 09:51:47 +02:00
Tobias Brunner
e34573dd48
Added missing noskip_flag setter/getter to some pa_tnc_attr_t constructors
2012-10-24 17:58:36 +02:00
Tobias Brunner
f48e727232
Remove all ESP proposals with non-matching DH group during Quick Mode
...
According to RFC 2409, section 5.5, if PFS is used all proposals MUST
include the selected DH group, so we remove proposals without the
proposed group and remove other DH groups from the remaining proposals.
2012-10-24 16:09:42 +02:00
Tobias Brunner
4eba7269b8
proposal_t.strip_dh() takes a DH group to keep, using MODP_NONE will remove all
2012-10-24 16:09:42 +02:00
Tobias Brunner
e74f184cb4
Remove MODP groups from default ESP proposal
...
This now actually makes pfs=no the default and it equals the default
listed in ipsec.conf.5. efc69e9f preserved the default of pfs=yes.
2012-10-24 16:09:42 +02:00
Tobias Brunner
bca34c3717
Moved utils.[ch] to utils folder
2012-10-24 16:07:53 +02:00
Tobias Brunner
f9625952ad
Moved settings_t to utils folder
2012-10-24 16:00:51 +02:00
Tobias Brunner
f05b427265
Moved debug.[ch] to utils folder
2012-10-24 16:00:51 +02:00
Tobias Brunner
d5c143e5be
Moved enum_name_t to utils folder
2012-10-24 16:00:50 +02:00
Tobias Brunner
125b37af6d
Moved chunk_t to utils folder
2012-10-24 16:00:50 +02:00
Tobias Brunner
05e448c5cc
Moved printf hooks to utils folder
2012-10-24 16:00:50 +02:00
Tobias Brunner
08944b68ac
Moved integrity_checker_t to utils folder
2012-10-24 16:00:50 +02:00
Tobias Brunner
12642a6831
Moved data structures to new collections subfolder
2012-10-24 16:00:49 +02:00
Tobias Brunner
fdee6b5f5a
Moved packet_t and tun_device_t to networking folder
2012-10-24 15:06:18 +02:00
Tobias Brunner
2e7cc07ecd
Moved host_t and host_resolver_t to a new networking subfolder
2012-10-24 15:06:18 +02:00
Tobias Brunner
23ca39010e
android: Enable ECC in the app as our custom built libcrypto supports it
2012-10-23 18:13:58 +02:00
Tobias Brunner
d2c8bc4df0
Handle type of first EAP-RADIUS response more sophisticated
2012-10-18 14:48:11 +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
21037942e8
Update routed connections in trap manager
...
Before this change, modified configs that have been updated with ipsec reload,
could properly be started manually, but the old config would get used if
triggered via trap policies.
2012-10-18 14:42:10 +02:00
Tobias Brunner
3555bacac7
Reload logger configuration on SIGHUP
...
Besides changing the configuration this allows to easily rotate log files.
Also moved logger initialization back to daemon_t.
2012-10-18 14:42:10 +02:00
Tobias Brunner
d35d669180
Make syslog and file loggers configurable at runtime
2012-10-18 14:42:10 +02:00
Tobias Brunner
18a8893e8e
Store loggers in conftest separately, not on charon
2012-10-18 14:42:10 +02:00
Tobias Brunner
3c4d383443
Added an option to reload certificates from PKCS#11 tokens on SIGHUP
2012-10-18 14:42:09 +02:00
Tobias Brunner
ca1c2ee281
Copy the name of pkcs11_library_t objects
...
Strings returned by settings_t.create_section_enumerator will be freed
when the config is reloaded.
2012-10-18 14:42:09 +02:00
Tobias Brunner
c30573467b
New Android release after adding MOBIKE support
2012-10-18 14:03:38 +02:00
Tobias Brunner
8bd00205f4
Merge branch 'android-mobility'
...
This brings support for MOBIKE to the Android app. The app also tries
to keep the connection up as long as possible.
DNS queries are now handled by a new class that uses independent threads to
resolve them, this allows to cancel them e.g. if no network connectivity is
available (otherwise the app would block until the DNS query returns).
2012-10-18 12:28:14 +02:00
Tobias Brunner
25a413cb96
Use a shortcut to resolve numeric IP addresses (no need for separate threads)
2012-10-18 12:27:32 +02:00
Tobias Brunner
d377556863
Use native threads in host resolver so that it works even if processor has no threads
2012-10-18 12:26:49 +02:00
Tobias Brunner
b4f6c39e55
Terminate unused resolver threads after a timeout
2012-10-18 12:26:00 +02:00
Tobias Brunner
49e2d109a3
Only create more threads if needed in host_resolver_t
2012-10-18 12:26:00 +02:00
Tobias Brunner
eecd41e349
Use a helper function to add milliseconds to timeval structs
2012-10-18 12:25:59 +02:00
Tobias Brunner
2b6088c718
android: Ignore if peer is unreachable when reestablishing an SA
2012-10-18 12:25:59 +02:00
Tobias Brunner
901f6ac403
android: Use a shorter timeout for retransmits
2012-10-18 10:57:55 +02:00
Tobias Brunner
8658e87b35
android: Use keyingtries=%forever and dpd|closeaction=restart
...
We also ignore the CHILD_SA_DOWN event.
This should allow us to keep the connection up as long as the user does
not manually disconnect.
2012-10-18 10:57:55 +02:00
Tobias Brunner
292d8f41c3
Resolve hosts by DNS name in separate threads so we can cancel them
...
getaddrinfo(3) may block a long time so proper termination of the daemon may
block if DNS servers are not reachable.
getaddrinfo(3) is an optional cancellation point in posix threads so it
might still block a shutdown but at least on Android (with the signal based
pthread_cancel implementation) it works, on Linux starter will kill charon
anyway after a while.
2012-10-18 10:57:55 +02:00
Tobias Brunner
272ce5b580
android: Handle unreachable peers via alert
2012-10-16 14:16:17 +02:00