diff options
author | mkanat%bugzilla.org <> | 2009-12-13 21:46:24 +0100 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-12-13 21:46:24 +0100 |
commit | 72cb2bc73e71f54c2223bb78af29fee888590b53 (patch) | |
tree | 45aacc0944bd4b7d4b7391b0bff7bc67b15c722e /Bugzilla/DB | |
parent | cb4a8bf4954c38d06358c4a7509f3fac6fb1e705 (diff) | |
download | bugzilla-72cb2bc73e71f54c2223bb78af29fee888590b53.tar.gz bugzilla-72cb2bc73e71f54c2223bb78af29fee888590b53.tar.xz |
Bug 355283: Lock out a user account on a particular IP for 30 minutes if they fail to log in 5 times from that IP.
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
Diffstat (limited to 'Bugzilla/DB')
-rw-r--r-- | Bugzilla/DB/Schema.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index f34f05e2f..a2df26425 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -23,6 +23,7 @@ # Lance Larsh <lance.larsh@oracle.com> # Dennis Melentyev <dennis.melentyev@infopulse.com.ua> # Akamai Technologies <bugzilla-dev@akamai.com> +# Elliotte Martin <emartin@everythingsolved.com> package Bugzilla::DB::Schema; @@ -982,6 +983,25 @@ use constant ABSTRACT_SCHEMA => { ], }, + login_failure => { + FIELDS => [ + user_id => {TYPE => 'INT3', NOTNULL => 1, + REFERENCES => {TABLE => 'profiles', + COLUMN => 'userid', + DELETE => 'CASCADE'}}, + login_time => {TYPE => 'DATETIME', NOTNULL => 1}, + ip_addr => {TYPE => 'varchar(40)', NOTNULL => 1}, + ], + INDEXES => [ + # We do lookups by every item in the table simultaneously, but + # having an index with all three items would be the same size as + # the table. So instead we have an index on just the smallest item, + # to speed lookups. + login_failure_user_id_idx => ['user_id'], + ], + }, + + # "tokens" stores the tokens users receive when a password or email # change is requested. Tokens provide an extra measure of security # for these changes. |