From c97615aeefeaed5feaa68034583949df7f9a96e2 Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Kolab Systems)" Date: Fri, 4 Oct 2013 12:59:38 +0200 Subject: [PATCH] Log failed logins (always) --- plugins/kolab_auth/kolab_auth.php | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/plugins/kolab_auth/kolab_auth.php b/plugins/kolab_auth/kolab_auth.php index e440218d..cf5818f5 100644 --- a/plugins/kolab_auth/kolab_auth.php +++ b/plugins/kolab_auth/kolab_auth.php @@ -339,6 +339,16 @@ class kolab_auth extends rcube_plugin $ldap = self::ldap(); if (!$ldap || !$ldap->ready) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "LDAP not ready" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -347,6 +357,16 @@ class kolab_auth extends rcube_plugin if (empty($record)) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "No user record found" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -380,6 +400,16 @@ class kolab_auth extends rcube_plugin if (!$result) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "Unable to bind with '" . $record['dn'] . "'" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -421,6 +451,17 @@ class kolab_auth extends rcube_plugin if (empty($record)) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s (as user %s) from %s in session %s (error %s)', + $user, + $loginas, + rcube_utils::remote_ip(), + session_id(), + "No user record found for '" . $loginas . "'" + ); + + rcube::write_log('userlogins', $message); + return $args; }