Tobias Brunner
24aa55867e
Initialize g and p in create_dh factory method
2012-09-28 15:48:09 +02:00
Tobias Brunner
10b116aa13
Properly initialize chunk for extension OID when parsing CRLs
2012-09-28 15:41:32 +02:00
Tobias Brunner
43e0cb6519
Fix parsing of IPv6 headers in ip_packet_t
2012-09-28 15:15:07 +02:00
Tobias Brunner
9fa335cb1b
Properly cleanup varargs in LDAP fetcher's set_option()
2012-09-28 15:13:17 +02:00
Tobias Brunner
b5835ee530
Properly cleanup varargs in enumerators of both SQL backends
2012-09-28 15:10:29 +02:00
Tobias Brunner
a79af394a0
Allow replay windows smaller than the default of 32
2012-09-27 12:43:39 +02:00
Tobias Brunner
9845391a95
Properly initialize cached address map in kernel-pfroute plugin
2012-09-27 12:43:36 +02:00
Tobias Brunner
45178362c8
Clarified error message if enabling UDP decapsulation fails
2012-09-27 10:49:17 +02:00
Tobias Brunner
bfd2cc1cd7
Fixed compilation of kernel-pfroute plugin
2012-09-27 09:23:58 +02:00
Tobias Brunner
358104a47f
Added description for flush_auth_cfg and acct_port plus some minor editorial changes
2012-09-25 12:22:05 +02:00
Tobias Brunner
2d39f79b9b
IKE_AUTH_LIFETIME task is not defined if IKEv2 is disabled
...
Fixes #229 .
2012-09-25 09:31:47 +02:00
Tobias Brunner
012d7382b0
New Android release after fixing private key issues on Jelly Bean
2012-09-24 17:16:29 +02:00
Tobias Brunner
94106ddc85
android: Leak the private key reference on Jelly Bean to avoid a bug in the framework
...
A bug in the framework on Android Jelly Bean causes a SIGSEGV when the private
key object returned from KeyChain.getPrivateKey is garbage collected.
Leaking the global reference to that object prevents the garbage
collection and thereby the crash.
2012-09-24 17:16:29 +02:00
Tobias Brunner
dfefa2f6dc
android: Added a global variable to check the current SDK version
2012-09-24 17:12:18 +02:00
Tobias Brunner
2e2feffb67
Don't check interface of inbound message if interfaces are not filtered
...
We don't have a proper kernel-net interface on Android yet, so the check
for a usable interface does not work there.
2012-09-24 17:12:18 +02:00
Tobias Brunner
64595464b2
android: Load the private key and certificates separately in android_creds_t
2012-09-24 17:12:18 +02:00
Tobias Brunner
406d680e45
android: Added a method to get the user's private key via JNI
2012-09-24 17:12:18 +02:00
Tobias Brunner
c35d468fb1
android: Added a JNI backed private key implementation
...
This is required because private keys are provided by an OpenSSL engine
in Jelly Bean, which makes them inaccessible directly via getEncoding.
2012-09-24 17:12:18 +02:00
Tobias Brunner
31990a19cc
Documentation about some time values clarified
2012-09-24 16:02:03 +02:00
Tobias Brunner
f65ec0aa90
Make sure the if_name member of cached route entries is initialized to NULL
2012-09-22 08:23:56 +02:00
Tobias Brunner
4a025539ef
NEWS about kernel interface changes
2012-09-21 18:16:27 +02:00
Tobias Brunner
e811cf152a
Properly handle thread cancelation in rwlock_condvar_t
2012-09-21 18:16:27 +02:00
Tobias Brunner
bdf36dac71
Use an rwlock in kernel-pfroute too
2012-09-21 18:16:27 +02:00
Tobias Brunner
a25d536eea
Use rwlock and rwlock_condvar to increase concurrency in kernel-netlink plugin
2012-09-21 18:16:27 +02:00
Tobias Brunner
16d62305c2
Use a separate mutex for cached routes in kernel-netlink plugin
2012-09-21 18:16:27 +02:00
Tobias Brunner
60dc44648f
Added a condvar implementation that works with rwlock_t
2012-09-21 18:16:27 +02:00
Tobias Brunner
4134108c77
Use a lock to safely check and update the time for the next roam event
2012-09-21 18:16:27 +02:00
Tobias Brunner
e8e9048fee
Added an option to configure the interface on which virtual IP addresses are installed
2012-09-21 18:16:26 +02:00
Tobias Brunner
c6b401581a
Changed how kernel-netlink handles virtual IP addresses
...
Also tried to avoid the use of enumerators.
2012-09-21 18:16:26 +02:00
Tobias Brunner
4106aea8e4
Made IP address enumeration more flexible
...
Also added an option to enumerate addresses on ignored interfaces.
2012-09-21 18:16:26 +02:00
Tobias Brunner
308ec0b7df
Avoid calculating the hash if hashtable is empty
2012-09-21 18:16:26 +02:00
Tobias Brunner
1f97e1aaca
Use a hashtable to quickly check for usable IP addresses/interfaces
2012-09-21 18:16:26 +02:00
Tobias Brunner
090c556ce8
Drop packets received on ignored interfaces
2012-09-21 18:16:26 +02:00
Tobias Brunner
940e1b0f66
Filter ignored interfaces in kernel interfaces (for events, address enumeration, etc.)
2012-09-21 18:16:26 +02:00
Tobias Brunner
645d7a5ef3
%any is never on a local interface
2012-09-21 18:16:26 +02:00
Tobias Brunner
e9a7779003
Avoid memset in is_anyaddr()
2012-09-21 18:16:26 +02:00
Tobias Brunner
9ba36c0f7f
Make it easy to check if an address is locally usable via changed get_interface() method
2012-09-21 18:16:26 +02:00
Tobias Brunner
aed33805ce
Don't ignore loopback devices and allow addresses on them being enumerated
2012-09-21 18:16:26 +02:00
Tobias Brunner
9513225e6b
Added options and a lookup function that will allow filtering of network interfaces
2012-09-21 18:16:26 +02:00
Tobias Brunner
a2a28d90ac
Make streq() and strcaseeq() static inline functions so they can be used as callbacks
2012-09-21 18:16:26 +02:00
Tobias Brunner
dad6d904ee
Use source address in get_nexthop() call
...
Otherwise the nexthop returned might belong to a different route than
the one actually used with the current source address.
2012-09-21 18:16:25 +02:00
Tobias Brunner
662534657f
Source address lookup refactored
...
Routes matching the destination are now first parsed and sorted by network
prefix length. This list is then used to search for the best route with
a matching preferred source address (if one is specified). This makes sure
we really check all routes for that address.
2012-09-21 18:16:25 +02:00
Tobias Brunner
cef0a8118e
Check routes with equal prefix if preferred source is specified
2012-09-21 18:16:25 +02:00
Tobias Brunner
9d6b02d6c1
Try to find preferred source on interface if returned source does not match
2012-09-21 18:16:25 +02:00
Tobias Brunner
da6d86dd94
Try to keep the given source address when looking up routes
...
This allows to pin the local end of an IKE_SA to an address that is not the
physical address of an interface. Without this patch the local address would
change to the physical address when roam events occur.
2012-09-21 18:16:25 +02:00
Tobias Brunner
6676769e8c
Make sure we propose a dynamic TS if we don't have hosts to derive a TS from
...
7ee37114 removed this behavior.
2012-09-21 18:14:17 +02:00
Tobias Brunner
0d33f428d1
Move rw-eap-dynamic scenario to its proper location
2012-09-21 09:34:10 +02:00
Tobias Brunner
8c19323c37
Make stroke user-creds work with XAuth configs
2012-09-18 16:56:17 +02:00
Tobias Brunner
4e16d2e864
Fix Doxygen comment for proposal_keywords_t
...
Two dots seem to mark the end of a list.
2012-09-18 16:13:23 +02:00
Tobias Brunner
4157a40b45
New Android release after fixing IDr problems
2012-09-18 15:29:29 +02:00
Tobias Brunner
af16b5afb0
Use random ports in NetworkManager backend
2012-09-18 14:57:05 +02:00
Tobias Brunner
35e2afd459
Fix equality comparison of auth_cfg_t
...
We previously only confirmed that rules contained in the first config are also
contained in the second, but since the number of rules does not have to
be equal, it might be that the second config contains rules that the
first one doesn't.
2012-09-18 14:40:41 +02:00
Tobias Brunner
b7a500e985
Set AUTH_RULE_IDENTITY_LOOSE for rightid=%<identity>
2012-09-18 14:40:41 +02:00
Tobias Brunner
e6fcc172f8
Use AUTH_RULE_IDENTITY_LOOSE in NetworkManager backend
2012-09-18 14:40:40 +02:00
Tobias Brunner
e596d0ef1e
android: Use AUTH_RULE_IDENTITY_LOOSE
2012-09-18 11:21:49 +02:00
Tobias Brunner
3a8852c76f
Add AUTH_RULE_IDENTITY_LOOSE which allows to use IDr loosely as initiator
...
If it is set on an auth config IDr will not be sent, and later the configured
identity will not only be checked against the returned IDr, but also
against other identities contained in the responder's certificate.
2012-09-18 11:16:10 +02:00
Tobias Brunner
cf1ec85207
New Android release after fixing Unicode conversion bug
2012-09-17 10:55:10 +02:00
Tobias Brunner
b7c54cf226
android: Fix conversion of actual Unicode strings (i.e. bytes!=chars)
2012-09-17 10:30:39 +02:00
Tobias Brunner
6d30954ae8
Removed the unneeded socket-raw plugin
2012-09-14 14:10:14 +02:00
Tobias Brunner
a889cfe5e1
Change traffic selectors during Quick Mode in case of a NAT in transport mode
...
Windows 7 sends its internal address as TSi. While we don't support the
NAT-T drafts as used by Windows XP it is interesting to note that the
client there omits the TSi payload which then would automatically get set
to the public IP address of the client.
Fixes #220 .
2012-09-14 09:40:18 +02:00
Tobias Brunner
7d786057b4
Merge branch 'custom-crypto'
...
This provides plugins with an interface to register keywords for
proposals (e.g. when parsing the esp and ike options from ipsec.conf)
and the possibility to register identifiers for kernel algorithms.
It is based on patches contributed by Nanoteq Pty Ltd.
2012-09-13 15:50:52 +02:00
Tobias Brunner
08ad639f32
Added algorithm lookup via kernel_interface_t to the various kernel interfaces
2012-09-13 15:48:49 +02:00
Tobias Brunner
524fb37ccd
Added possibility to register custom kernel algorithms to kernel interface
2012-09-13 15:44:47 +02:00
Tobias Brunner
4c57c63062
Added possibility to register custom proposal keywords
...
Keyword lookup and registration are handled via the new lib->proposal object.
2012-09-13 15:44:46 +02:00
Tobias Brunner
995875210a
Removed len argument from proposal_get_token()
...
Also use enumerators instead of lexparser.h to parse proposal strings.
2012-09-13 15:44:01 +02:00
Tobias Brunner
1962e12fd3
Make arguments for enumerator_create_token|directory const
2012-09-13 15:42:38 +02:00
Tobias Brunner
bc6ec4de73
Option added to enforce a configured destination address for DHCP packets
2012-09-13 10:59:24 +02:00
Tobias Brunner
4a4d20de9d
Allow calls to set_address() for any host-sized TS, not only dynamic ones
...
This fixes CHILD_SA updates (e.g. due to MOBIKE), which were broken
since 4cb0783 .
2012-09-12 18:14:01 +02:00
Tobias Brunner
455accc687
Ensure traffic selectors are dynamic before calling set_address() when deriving them
2012-09-12 18:13:47 +02:00
Tobias Brunner
fa96a350c2
Consistently log XFRM mark masks with 0 prefix in kernel-netlink plugin
2012-09-12 17:40:36 +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
629cdca82c
Updates to strongswan.conf(5) man page (added several missing options)
2012-09-12 16:53:45 +02:00
Tobias Brunner
72970b458d
Some updates to ipsec.conf(5) man page
2012-09-12 16:53:45 +02:00
Tobias Brunner
23b4d3a52f
starter: Allow %any also for protocol in left|rightprotoport
2012-09-12 16:53:45 +02:00
Tobias Brunner
f4cc7ea11b
Add uniqueids=never to ignore INITIAL_CONTACT notifies
...
With uniqueids=no the daemon still deletes any existing IKE_SA with the
same peer if an INITIAL_CONTACT notify is received. With this new option
it also ignores these notifies.
2012-09-10 17:37:18 +02:00
Tobias Brunner
4065e2504c
Use the proper types for comma separated attributes read from strongswan.conf
...
Attributes of different address families previously were mapped to
the same attribute type (the one derived from the address family of the
first address).
2012-09-10 15:17:17 +02:00
Tobias Brunner
383c174a79
Print the name of mem pools instead of the confusing <base>/<size>
2012-09-10 12:42:09 +02:00
Tobias Brunner
747fd544a7
Properly remove broadcast address from mem pools
2012-09-10 11:44:18 +02:00
Tobias Brunner
bcf8cdd556
Only initiate an exchange from send_dpd() if a task was actually queued
...
Otherwise, the initiator would prematurely initiate Quick Mode if it has
DPD enabled and XAuth is used.
2012-09-07 18:05:22 +02:00
Tobias Brunner
ccba4f1533
android: New release after adding certificate authentication and reauth fix
2012-09-06 14:54:37 +02:00
Tobias Brunner
3babde90bb
Trigger ike_updown event caused by retransmits only after reestablish() has been called
...
This allows listeners to migrate to the new IKE_SA with the
ike_reestablish event without having to worry about an ike_updown event
for the old IKE_SA.
2012-09-06 11:27:28 +02:00
Tobias Brunner
d7d2a5ec38
android: Properly handle reauthentication initiated by the client
2012-09-06 11:27:07 +02:00
Tobias Brunner
0326ceda64
android: Create a new VpnService.Builder after VPN has been established
2012-09-06 11:25:24 +02:00
Tobias Brunner
4dbb193190
Add ike_reestablish() event that is triggered when an IKE_SA is reestablished
...
This is particularly useful during reauthentication to get the new
IKE_SA.
2012-09-06 11:25:14 +02:00
Tobias Brunner
873b63b771
Add a new condition to mark IKE_SAs that are currently being reauthenticated
2012-09-06 11:23:11 +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
d2e8f20d94
Clear virtual IPs before storing assigned ones on the IKE_SA
...
Otherwise we'll end up with duplicate or invalid VIPs stored on the
IKE_SA.
2012-09-05 14:35:57 +02:00
Tobias Brunner
d1604d0551
Merge branch 'android-client-cert'
...
Introduces IKEv2 client certificate authentication for the Android App.
2012-09-04 13:58:49 +02:00
Tobias Brunner
c89cc22692
android: Native parts handle ikev2-cert VPN type
2012-08-31 18:24:46 +02:00
Tobias Brunner
094a059bcf
android: android_creds_t can provide a user's private key and certificate
2012-08-31 18:24:46 +02:00
Tobias Brunner
3aba33868b
android: Added JNI method to retrieve user certificate and private key
...
To simplify things the private key, the user certificate and the CA
certificates are all put into the same list.
2012-08-31 18:24:46 +02:00
Tobias Brunner
38e866c3dd
android: Don't show the password dialog if not required
2012-08-31 18:24:46 +02:00
Tobias Brunner
69f731a9d8
android: Enable pkcs8 plugin
2012-08-31 18:24:46 +02:00
Tobias Brunner
5eb7ad3a38
android: Pass the type of VPN to the native parts
2012-08-31 18:24:46 +02:00
Tobias Brunner
655362464e
android: Make sure NULL jstrings are converted properly
2012-08-31 18:24:45 +02:00
Tobias Brunner
6de38fe88a
android: Display the selected certificate alias in the profile list
2012-08-31 18:24:45 +02:00
Tobias Brunner
f46da851ab
android: Allow configuration of a user certificate
2012-08-31 18:24:43 +02:00
Tobias Brunner
3f9e90f618
android: Remove NOT NULL constraint from username column
2012-08-31 18:24:23 +02:00
Tobias Brunner
d0f6481eb0
android: Separate view added to select certificates
2012-08-31 18:24:23 +02:00
Tobias Brunner
7fedacb2e7
android: Don't try to load the profile with ID 0
2012-08-31 18:24:22 +02:00