From: Tobias Brunner Date: Tue, 24 Apr 2012 07:25:38 +0000 (+0200) Subject: pluto: Fix for null-terminated XAuth secrets (as sent by Android 4). X-Git-Tag: 4.6.3~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d85bebc49d11f9d80de6e813147385d73399005;p=thirdparty%2Fstrongswan.git pluto: Fix for null-terminated XAuth secrets (as sent by Android 4). --- diff --git a/src/pluto/plugins/xauth/xauth_default_verifier.c b/src/pluto/plugins/xauth/xauth_default_verifier.c index 776f771345..ca2e36aa05 100644 --- a/src/pluto/plugins/xauth/xauth_default_verifier.c +++ b/src/pluto/plugins/xauth/xauth_default_verifier.c @@ -43,6 +43,13 @@ METHOD(xauth_verifier_t, verify_secret, bool, if (get_xauth_secret(user, server, &xauth_secret)) { success = chunk_equals(secret, xauth_secret); + + if (!success && secret.len && secret.ptr[secret.len - 1] == 0) + { /* fix for null-terminated passwords (e.g. from Android 4) */ + secret.len--; + success = chunk_equals(secret, xauth_secret); + } + chunk_clear(&xauth_secret); } return success;