aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-10-04 10:49:54 +0200
committerTobias Brunner <tobias@strongswan.org>2013-10-04 10:49:54 +0200
commit3e3db3743e1c11200f58a91f2b6745364cb42c5c (patch)
tree7a65b88e8138373b38ae4645c8bf544b8d3f7e75 /src
parentd2e4dd75b7967a7f2c024a1b4c2c1c916ea036ba (diff)
downloadstrongswan-3e3db3743e1c11200f58a91f2b6745364cb42c5c.tar.bz2
strongswan-3e3db3743e1c11200f58a91f2b6745364cb42c5c.tar.xz
xauth-pam: Make trimming of email addresses optional5.1.1dr4
Fixes #430.
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/plugins/xauth_pam/xauth_pam.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libcharon/plugins/xauth_pam/xauth_pam.c b/src/libcharon/plugins/xauth_pam/xauth_pam.c
index 6cbe1c263..8ba2c764d 100644
--- a/src/libcharon/plugins/xauth_pam/xauth_pam.c
+++ b/src/libcharon/plugins/xauth_pam/xauth_pam.c
@@ -134,12 +134,17 @@ METHOD(xauth_method_t, process, status_t,
switch (attr->get_type(attr))
{
case XAUTH_USER_NAME:
- /* trim to username part if email address given */
chunk = attr->get_chunk(attr);
- pos = memchr(chunk.ptr, '@', chunk.len);
- if (pos)
+ /* trim to username part if email address given */
+ if (lib->settings->get_bool(lib->settings,
+ "%s.plugins.xauth-pam.trim_email",
+ TRUE, charon->name))
{
- chunk.len = (u_char*)pos - chunk.ptr;
+ pos = memchr(chunk.ptr, '@', chunk.len);
+ if (pos)
+ {
+ chunk.len = (u_char*)pos - chunk.ptr;
+ }
}
attr2string(user, sizeof(user), chunk);
break;