3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-25 20:22:37 +01:00
Commit Graph

201 Commits

Author SHA1 Message Date
Pragmatic Software
e808286f24 anti-flood: Now tracks if a user uses different NickServ accounts, and remembers each one for ban-evasion detection 2014-03-10 03:50:02 +00:00
Pragmatic Software
e6e02259e4 anti-flood: execute whois command more smartly 2014-03-09 07:15:50 +00:00
Pragmatic Software
3bd73c4866 Improvements to anti-flood message history storage and maintenance 2014-03-09 06:56:48 +00:00
Pragmatic Software
4bcd485c2e Anti-flood: remove some log messages to reduce noise; fix +q $a:account detection 2014-03-07 16:48:56 +00:00
Pragmatic Software
e1c4c30743 Slight rewording of join-flood notification message to improve awareness of automatic unbanning 2014-03-05 14:32:24 +00:00
Pragmatic Software
2a4c1bafd1 Don't ban if $a:account matches account 2014-03-04 10:50:12 +00:00
Pragmatic Software
5a61f57f3c Use Storable to save/load message history hash
Reuse config_dir/data_dir variable in pbot.pl
2014-02-05 01:10:56 +00:00
Pragmatic Software
ece84c23f8 Remove left-over nick/host lower-casing code 2013-11-17 17:05:20 +00:00
Pragmatic Software
f618b29282 Do not lowercase hostmask/nicks in message history (quotegrab now preserves nick case) 2013-11-14 06:35:40 +00:00
Pragmatic Software
274193bed7 Allow quote grabbers to delete their own grabs 2013-10-26 02:39:54 +00:00
Pragmatic Software
1155205f0e Bot now keeps message history for itself -- can now be grabbed for quotegrabs 2013-10-22 18:57:08 +00:00
Pragmatic Software
a4def7d653 Fix potential race-condition check-ban issue where a server could send a message immediately after someone is banned, causing them to be falsely detected as evading a ban 2013-10-14 11:53:34 +00:00
Pragmatic Software
7decfdf28a Correct devalidation and QUIT event issues 2013-09-14 01:56:00 +00:00
Pragmatic Software
23d2e57527 Added ability to lock factoids to prevent editing; improved detection of ban-evasion by devalidating accounts on part/quit and devalidating existing accounts that match a banmask when a ban occurs 2013-09-13 21:48:19 +00:00
Pragmatic Software
a6f608cda5 Don't remove ban_timeout on -q (only +b/-b are tracked); use wildcard host when banning for evasion instead of specific host 2013-08-06 19:56:28 +00:00
Pragmatic Software
2a332d6415 Improve ban-evasion detection 2013-08-03 17:26:49 +00:00
Pragmatic Software
2509bcec64 Fix splitting of IPv6 masks in modes in IRC/Connection.pm
Include channel in "Unbanning ..." message in unban_user
Set target_nickserv_account if accounts match in check_bans
2013-07-30 09:50:59 +00:00
Pragmatic Software
7f2cefea7a Don't check for ban evasion on PARTs 2013-07-28 14:12:57 +00:00
Pragmatic Software
d170f75924 Improve ban evasion detection 2013-07-28 10:31:12 +00:00
Pragmatic Software
416115f12f Ban timeouts hash converted to DualIndexHashObject to properly group masks by channels 2013-07-24 12:35:40 +00:00
Pragmatic Software
dc52430044 Add SSL support, and other misc updates 2013-02-25 02:27:24 +00:00
Pragmatic Software
208f89837f Improve handling of auto-op and op-commands on per-channel basis
Restore functionality to log out admins when they part/quit
Improve display of quit messages in log
2012-10-27 21:03:10 +00:00
Pragmatic Software
f61bb61aeb Channels: Properly check for arguments to chanadd/chanrem
HashObject: Fix potential divide by zero
compiler_vm: Limit cpu usage and kill processes using excess cpu
             Unbuffer stdout
2012-10-05 01:59:04 +00:00
Pragmatic Software
2b5ff48a4c Interpreter: tell <nick> about <command> now case-insensitive
AntiFlood: Correct use of ignore list
IgnoreList: Ignoring user without args now permanent instead of 5 mins
            Save time when ignore expires instead of seconds remaining
            Improve output of `ignore list` command for readability
2012-09-06 10:09:44 +00:00
Pragmatic Software
6b35dc210c Skip message containing grab command when grabbing own nick; match brackets for compiler-block; etc 2012-08-12 16:41:38 +00:00
Pragmatic Software
876d9fb5c6 Improved grab command to accept regex for history 2012-08-01 09:57:43 +00:00
Pragmatic Software
8a70c06096 Misc bug fixes and tweaks 2012-07-22 19:22:30 +00:00
Pragmatic Software
dd7f84ceff bantracker: track +q and +b separately to prevent loss of information
bantracker: do not ban someone if their hostmask matches their +q mask
bantracker: remove ban timeouts on -q/-b
antiflood: unbanme will not work if manual ban/quiet set in place
2011-12-17 11:43:21 +00:00
Pragmatic Software
d7dc16346c ban-tracker: track whether ban is +q or +b; do not ban evaders of generic +b bans ending with !*@*
anti-flood: improved logic of catching ban evaders
2011-12-15 06:18:10 +00:00
Pragmatic Software
036ae7cdfb antiflood: do not check accounts if no account 2011-12-12 23:33:39 +00:00
Pragmatic Software
fa01bdde6f antiflood: fixed code indentation 2011-12-12 19:40:54 +00:00
Pragmatic Software
2fb0598a0e ban evasion: fixed whitelist logic 2011-12-12 16:40:22 +00:00
Pragmatic Software
acbed6810f 2011-12-12 05:39:38 +00:00
Pragmatic Software
3b0b04f6e1 Corrected inverted ternary herp 2011-12-12 04:21:59 +00:00
Pragmatic Software
6dee494ffd bantracker: fixed derp 2011-12-12 04:17:03 +00:00
Pragmatic Software
44bef4bdb3 anti-flood: check for ban evasion on nick changes 2011-12-12 00:19:34 +00:00
Pragmatic Software
44ba3001cb Updated mode +q list tracking to updated freenode syntax; added ban whitelist (for evasion allowing) 2011-12-11 22:56:57 +00:00
Pragmatic Software
314eabaf3e Quotegrabs: added more information to getq (grab owner and timestamp)
Interpreter: remove leading and trailing whitespace from text to improve parsing
AntiFlood: Remove some log output, improve some other log output
2011-12-04 01:13:21 +00:00
Pragmatic Software
438b62552f anti-flood bantracker now more properly handles detection of proxying in multiple channels 2011-02-14 06:23:22 +00:00
Pragmatic Software
cb20ac607e anti-flood bantracker now more properly handles detection of proxying in multiple channels 2011-02-13 23:44:05 +00:00
Pragmatic Software
ea198bcab1 irchandlers: now handles multiple modes; e.g. -bbb-o
chanops: moved flushqueues to inside loop
anti-flood/bantracker: now tracks quiets as well as bans
anti-flood: should now ban proxied hosts using a banned nickserv account -- untested
2011-02-13 09:05:48 +00:00
Pragmatic Software
b16b5f6275 anti-flood: nick changes now linked to same account via reference 2011-02-13 08:02:27 +00:00
Pragmatic Software
b07306f530 IRC: wait for NickServ NOTICE before identifying 2011-02-12 05:30:44 +00:00
Pragmatic Software
9c17b4bc5a anti-flood: made some log messages more terse and readable 2011-02-11 06:52:43 +00:00
Pragmatic Software
c4ed12b0cb anti-flood, IRC, etc: added support for tracking NickServ accounts; refactored flood message history to be keyed on hostmask instead of nick; placed message history channels into its own sub-key 2011-02-11 02:46:35 +00:00
Pragmatic Software
8d524089db anti-flood: added last offense timestamp; decrease offense counter once every 24 hours without offense 2011-01-27 06:17:39 +00:00
Pragmatic Software
45a2a66d0f Moved lag-checking code to LagChecker.pm; improved output of !lagcheck command 2011-01-24 23:56:55 +00:00
Pragmatic Software
ed797ca5cf antiflood: change banfoward timeout first offense to start from 8 hours instead of 32 hours 2011-01-24 22:21:29 +00:00
Pragmatic Software
c29a694359 antiflood: do not check flood if lag is uninitialized or is significant 2011-01-22 09:45:16 +00:00
Pragmatic Software
1f45da7615 antiflood: do not do anti-flood if lag is two seconds or greater 2011-01-22 09:39:39 +00:00
Pragmatic Software
b11b660929 antiflood/pbot: added basic support for lag detection 2011-01-22 09:26:04 +00:00
Pragmatic Software
d5ba966c53 antiflood: corrected check against double-banning chat floods 2011-01-22 04:42:38 +00:00
Pragmatic Software
d2640f8bcb antiflood: remove generate_random_number; ping timeouts/excess floods no longer treated aggressively, now treated same as other quit/parts 2011-01-22 04:17:35 +00:00
Pragmatic Software
58f19984bf Display join flood history only if joinwatch >= max joins, to reduce log spam 2010-06-29 00:59:47 +00:00
Pragmatic Software
fe6d08178b Anti-join flood bans for 2^5 hours for first offense instead of 2^7 hours (now uses 2^(4+number_of_offenses) hours as timeout) 2010-06-27 11:13:30 +00:00
Pragmatic Software
2d11d66b67 Replaced ago_exact with duration_exact in time comparison 2010-06-27 05:39:44 +00:00
Pragmatic Software
999d8ae4a8 Added Time::Duration to anti-flood join history 2010-06-27 05:36:58 +00:00
Pragmatic Software
521ae5c704 Anti-join flood bans for 2^5 hours for first offense instead of 2^7 hours (now uses 2^(4+number_of_offenses) hours as timeout) 2010-06-27 03:22:29 +00:00
Pragmatic Software
a13d028e3e Lower-case hostmask and arguments to !unbanme 2010-06-22 03:01:02 +00:00
Pragmatic Software
38e7de9f41 Correct bug from refactoring AntiFlood.pm previously; no longer crashes on pruning message history 2010-06-21 11:04:07 +00:00
Pragmatic Software
52a6c7d125 Slightly refactored anti-join flood logic, handles QUITs better now 2010-06-21 03:18:39 +00:00
Pragmatic Software
f1e227b64d Forward to ##stop_join_flood instead, since it has a candide-specific on-join msg and topic 2010-06-19 21:38:50 +00:00
Pragmatic Software
547087b81d Corrected join flood to get correct time distance between join messages 2010-06-19 19:19:56 +00:00
Pragmatic Software
41bb89eba2 Remove captcha from unbanme command 2010-06-18 11:12:55 +00:00
Pragmatic Software
fe96faded8 unban_timeouts is now a HashObject -- consequently, unban timeouts now save to and load from data file 2010-06-18 10:46:23 +00:00
Pragmatic Software
e32850aae2 Remove old ChanServ ban method and rename all quiet-related terms to ban-related terms since quiet now does +b instead of +q 2010-06-18 07:03:16 +00:00
Pragmatic Software
7c1bdecfcb Added missing use feature switch pragma 2010-06-18 04:17:30 +00:00
Pragmatic Software
24ef3b90e9 Use wildcard banmasks instead of original hostmasks 2010-06-18 04:15:28 +00:00
Pragmatic Software
f29202c99c Converted Channels.pm (and all modules using channels object) to use HashObject -- can now add/remove channels and set/unset channel meta-data as user commands 2010-06-18 03:21:36 +00:00
Pragmatic Software
be6e2ae8ab Significantly increase join flood ban timeout in order to reduce channel spam (made more feasible by !unbanme) 2010-06-18 00:49:50 +00:00
Pragmatic Software
af7d55da0d Ban-forward join floods to ##fix_your_connection 2010-06-16 02:21:44 +00:00
Pragmatic Software
16b9bba71c Added captcha and !unbanme command to allow unbanning from join flood 2010-06-16 01:55:29 +00:00
Pragmatic Software
811e2e71d2 Ping timeout QUITs now properly added to each channel's message history 2010-06-12 07:48:01 +00:00
Pragmatic Software
f14924a619 Add missing message to message history for QUITs; skip joinwatch on non-channels; add max_messages and max_timeout to QUIT/PART in IRCHandlers 2010-06-12 05:50:38 +00:00
Pragmatic Software
6eeb2277f2 Remove useless if(x < 0) check when incrementing x 2010-06-12 04:44:49 +00:00
Pragmatic Software
40ed750a1f Ping timeout quits now handled 2010-06-12 04:38:38 +00:00
Pragmatic Software
ef3d9770ca Refactored AntiFlood account code -- much improved 2010-06-12 04:27:58 +00:00
Pragmatic Software
347bb86bac Correct variable $ch to $channel 2010-06-12 01:52:11 +00:00
Pragmatic Software
a70d8a1fd5 Antiflood: deal with ping timeout quits aggressively 2010-06-12 01:49:49 +00:00
Pragmatic Software
4242eecf43 Correct joinwatch behavior for netsplits; remove joinwatch behavior for "Changing host" 2010-06-11 08:01:32 +00:00
Pragmatic Software
0ce7f52725 Correct joinwatch for new entries to message history 2010-06-11 04:26:20 +00:00
Pragmatic Software
da7eb0b111 Make join flood more robust 2010-06-11 04:03:36 +00:00
Pragmatic Software
b7cd3cfbfc Improving handling of join flooding -- decrement join count for netsplits and host changes; increase ban duration based on offense count; etc 2010-06-10 20:26:09 +00:00
Pragmatic Software
363dd1fc29 Show anti-flood timestamp comparisons for join floods only (to reduce log traffic) 2010-06-10 19:20:12 +00:00
Pragmatic Software
49bbf5c73e Temporary hack to skip hostmask entry when iterating channels in message history, will fix soon 2010-06-06 07:22:23 +00:00
Pragmatic Software
8a5c7a99c2 Remove debugging print statements from AntiFlood.pm 2010-06-06 05:22:07 +00:00
Pragmatic Software
96be537c39 AntiFlood now detects based on *!user@host instead of nick 2010-06-06 05:19:31 +00:00
Pragmatic Software
71847ddc63 Make anti-flood logs less spammy 2010-06-06 00:35:24 +00:00
Pragmatic Software
7bcfa52b25 Increase join flood detection to 4 joins within 30 minutes without a message; set join_watch -= 2 on join ban to allow two join attempts afterwards in order to give them a chance to rejoin 2010-06-05 17:45:41 +00:00
Pragmatic Software
4b342be290 Add join flood protection 2010-06-05 06:07:15 +00:00
Pragmatic Software
7399f4ff91 Replaced mode +q with mode +b for quieting; replaced nick!*@* with *!*@host in anti-flood; quiet commands take mask instead of nick 2010-05-30 02:02:29 +00:00
Pragmatic Software
1131ab32df Truncate long output to codepad.org 2010-04-13 04:17:54 +00:00
Pragmatic Software
654291e8a5 Commented out "Checking ..." in check message history 2010-04-09 22:53:17 +00:00
Pragmatic Software
0c54d9c93e Send message on private ignore; parse adlib variables better 2010-04-02 18:23:31 +00:00
Pragmatic Software
f5bfe2dfda prune_message_history used old flood_watch instead of message_history -- fixed 2010-03-29 08:39:48 +00:00
Pragmatic Software
a743261059 See Changes file 2010-03-26 05:14:03 +00:00
Pragmatic Software
d299a8fb0f 90% done in object-oriented conversion -- IgnoreList doesnt save/load/use regex yet. 2010-03-24 06:47:40 +00:00
Pragmatic Software
fa50724b58 Progressing on object-oriented conversion. Some functionality may be missing. 2010-03-23 18:24:02 +00:00
Pragmatic Software
313da0b587 Progressing on converting things to objects 2010-03-23 03:09:03 +00:00
Pragmatic Software
bd46c11120 Half-way through converting everything to objects. Committing mostly working copy as preview. 2010-03-22 07:33:44 +00:00
Pragmatic Software
f725743ccb == MAJOR NEW BETA RELEASE ==
Converted single large "amalgamate" monolithic pbot2.pl script into multiple Perl packages/modules.

Tons of refactoring and clean-ups.

Consider this version to be beta.  Use at your own risk.
2010-03-17 06:36:54 +00:00