From 18f27009595aaec50ff45f6e40bd45fa9d9915b4 Mon Sep 17 00:00:00 2001 From: skodak Date: Mon, 29 Oct 2007 20:04:14 +0000 Subject: [PATCH] MDL-11904 deny/accept Email settings conflict with text - now .example.com means all subdomains --- lib/moodlelib.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index ed5fe40881..3371cb5232 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -4050,7 +4050,13 @@ function email_is_not_allowed($email) { if (!$allowedpattern) { continue; } - if (strpos(strrev($email), strrev('@'.$allowedpattern)) === 0) { // Match! (bug 5250) + if (strpos($allowedpattern, '.') === 0) { + if (strpos(strrev($email), strrev($allowedpattern)) === 0) { + // subdomains are in a form ".example.com" - matches "xxx@anything.example.com" + return false; + } + + } else if (strpos(strrev($email), strrev('@'.$allowedpattern)) === 0) { // Match! (bug 5250) return false; } } @@ -4063,7 +4069,13 @@ function email_is_not_allowed($email) { if (!$deniedpattern) { continue; } - if (strpos(strrev($email), strrev('@'.$deniedpattern)) === 0) { // Match! (bug 5250) + if (strpos($deniedpattern, '.') === 0) { + if (strpos(strrev($email), strrev($deniedpattern)) === 0) { + // subdomains are in a form ".example.com" - matches "xxx@anything.example.com" + return get_string('emailnotallowed', '', $CFG->denyemailaddresses); + } + + } else if (strpos(strrev($email), strrev('@'.$deniedpattern)) === 0) { // Match! (bug 5250) return get_string('emailnotallowed', '', $CFG->denyemailaddresses); } } -- 2.39.5