/usr/share/squirrelmail/plugins/lockout/setup.php is in squirrelmail-lockout 1.7-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <?php
/**
* SquirrelMail Lockout Plugin
* Copyright (c) 2003-2010 Paul Lesniewski <paul@squirrelmail.org>
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* @package plugins
* @subpackage lockout
*
*/
/**
* Register this plugin with SquirrelMail
*
*/
function squirrelmail_plugin_init_lockout()
{
global $squirrelmail_plugin_hooks;
$squirrelmail_plugin_hooks['configtest']['lockout']
= 'lockout_configtest';
$squirrelmail_plugin_hooks['logout_error']['lockout']
= 'check_failed_login_count';
$squirrelmail_plugin_hooks['login_verified']['lockout']
= 'reset_failed_login_count';
$squirrelmail_plugin_hooks['prefs_backend']['lockout']
= 'move_lockout_to_end_of_login_before_hook';
$squirrelmail_plugin_hooks['loading_constants']['lockout']
= 'move_lockout_to_end_of_login_before_hook';
$squirrelmail_plugin_hooks['login_before']['lockout']
= 'check_lockout';
$squirrelmail_plugin_hooks['login_cookie']['lockout']
= 'activate_captcha_plugin';
}
/**
* Returns info about this plugin
*
*/
function lockout_info()
{
return array(
'english_name' => 'Lockout',
'authors' => array(
'Paul Lesniewski' => array(
'email' => 'paul@squirrelmail.org',
'sm_site_username' => 'pdontthink',
),
),
'version' => '1.7',
'required_sm_version' => '1.4.1',
'requires_configuration' => 1,
'requires_source_patch' => 0,
'summary' => 'Specify a list of users or domains that should be disallowed login access and/or stop brute-force password guessing attacks.',
'details' => 'This plugin allows you to create a list of users and/or domains that should be disallowed login access to SquirrelMail. It also allows you to block brute-force password guessing attacks, although please note that this will ONLY help fight such attacks in the SquirrelMail interface, and should really be implemented in your mail system\'s authentication backend.',
'required_plugins' => array(
'compatibility' => array(
'version' => '2.0.11',
'activate' => FALSE,
)
)
);
}
/**
* Returns version info about this plugin
*
*/
function lockout_version()
{
$info = lockout_info();
return $info['version'];
}
/**
* Validate that this plugin is configured correctly
*
*/
function lockout_configtest()
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
lockout_configtest_do();
}
/**
* Checks for prior violations of maximum failed login attempts
* as well as the rules for what users can and can't log in.
*
*/
function check_lockout($args)
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
check_lockout_do($args);
}
/**
* Check number of successive failed login attempts
* and block user permanently if necessary
*
*/
function check_failed_login_count($args)
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
check_failed_login_count_do($args);
}
/**
* Valid login - reset failure count
*
*/
function reset_failed_login_count()
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
reset_failed_login_count_do();
}
/**
* Make sure this plugin fires the LAST on the login_before
* hook
*
*/
function move_lockout_to_end_of_login_before_hook()
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
move_lockout_to_end_of_login_before_hook_do();
}
/**
* Activate the CAPTCHA plugin if need be
*
*/
function activate_captcha_plugin($args)
{
include_once(SM_PATH . 'plugins/lockout/functions.php');
activate_captcha_plugin_do($args);
}
|