summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/util.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/util.php b/lib/util.php
index bf7282858..46aa7f901 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -127,8 +127,17 @@ function common_check_user($nickname, $password)
if (is_null($user) || $user === false) {
return false;
} else {
- if (0 == strcmp(common_munge_password($password, $user->id),
- $user->password)) {
+ $authenticated = false;
+ Event::handle('CheckPassword', array($nickname, $password, &$authenticated));
+ if(! $authenticated){
+ //no handler asserted the user, so check ourselves
+ if (0 == strcmp(common_munge_password($password, $user->id),
+ $user->password)) {
+ //internal checking passed
+ $authenticated = true;
+ }
+ }
+ if($authenticated){
return $user;
} else {
return false;