From 61f4f06abc9b8fcb3c478fa430b52499fd2ca300 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 25 Aug 2011 15:48:51 +0200 Subject: Fix the split on @ in the user field. (Red Hat Bug #732081) --- modules/pam_access/pam_access.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules/pam_access/pam_access.c') diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c index 0eb1e8c6..472116c3 100644 --- a/modules/pam_access/pam_access.c +++ b/modules/pam_access/pam_access.c @@ -521,7 +521,10 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item) * name of the user's primary group. */ - if (tok[0] != '@' && (at = strchr(tok + 1, '@')) != 0) { + /* Try to split on a pattern (@*[^@]+)(@+.*) */ + for (at = tok; *at == '@'; ++at); + + if ((at = strchr(at, '@')) != NULL) { /* split user@host pattern */ if (item->hostname == NULL) return NO; -- cgit v1.2.3