@verb #110:"review_bad_pw_log" this none this rxdo #55 @program #110:"review_bad_pw_log" this none this caller != this && !caller:isa($guardian) && raise(E_PERM) {whos, sites, times} = {1, 2, 3} min_hits_before_lockout = 15 macount_time_interval = 60 hits = 0 count = 20 while (count > 0) count = count - 1 try if (this.bad_pw_log[times][count] - this.bad_pw_log[times][count - 1] < macount_time_interval && this.bad_pw_log[sites][count] == this.bad_pw_log[sites][count - 1] && this.bad_pw_log[sites][count] == this.bad_pw_log[sites][count - 1]) hits = hits + 1 who = this.bad_pw_log[whos][count] site = this.bad_pw_log[sites][count] endif except (E_RANGE) endtry endwhile if (hits >= min_hits_before_lockout) this.locked_out = 1 $wiz_utils:guard_alert("POP3 server is being used to crack passwords!!! See message on *Site-Locks for details...") $mail_agent:send_message(this, {$site_log}, "POP3 Server Cracked!", {"The POP3 server was being used to crack passwords, and has been locked out.", "", "Site: " + site, "Is trying to crack: " + $su:nn(who), "Likelyhood that I'm not on crack: " + tostr(tofloat(hits) / tofloat(min_hits_before_lockout) * 100.0) + "%", "", "Please deal with the perpetrator, then use `@unlock-pop3 #110' to reboot the POP3 server."}) endif "Last modified by Raptor (#6319) on Sun Jul 2 03:29:58 2000 MDT." "This verb previously owned by Raptor (#6319), and chowned to $slacker upon dewizarding (Sat Aug 17 14:48:43 2002 MDT)." "Last modified by Dax (#789) on Sat Aug 17 14:48:43 2002 MDT." .