Commit Graph

168 Commits

Author SHA1 Message Date
Pragmatic Software ff7141a3d6 Minor improvements 2016-07-01 12:55:52 -07:00
Pragmatic Software b87db378cf Do not trigger ban evasion if mask matches banmask; use *!*@host instead of *!user@ip-mask for evasions 2016-02-25 00:51:52 -08:00
Pragmatic Software 7bb18e00a7 Use binary attribute for CSV 2016-02-10 10:14:12 -08:00
Pragmatic Software 110c9cc548 Use CSV for GECOS field 2016-02-10 07:10:37 -08:00
Pragmatic Software ddeef3cc62 Add support for GECOS 2016-02-10 03:42:42 -08:00
Pragmatic Software 0b5435bc7d Refactor whitelist 2016-01-26 19:23:03 -08:00
Pragmatic Software 4a3ec27d78 Improve whitelist functionality 2016-01-26 09:04:03 -08:00
Pragmatic Software 8ac4a5999d Add whitelist to blacklist check 2016-01-24 03:02:14 -08:00
Pragmatic Software 745686eb75 Update ban-whitelist to support user-whitelist 2016-01-23 06:03:47 -08:00
Pragmatic Software 4ef978963c Improve `unbanme` behavior 2016-01-16 16:55:48 -08:00
Pragmatic Software 4cd1211684 Improve unbanme handling
Sometimes people might join the channel uncloaked and get join-flood banned
with their uncloaked hostmask, and then later attempt to join the channel while
cloaked but the network will prevent them from joining since it checks their IP
address against the banlist in addition to their cloak.

Attempts to use unbanme while cloaked will look for a ban matching the cloak
instead of the IP address and will not find their uncloaked join-flood ban.

To fix this, we now traverse all known aliases/hostmasks for an individual
requesting a join-flood unban and remove any and all bans matching any of the
hostmasks linked to this individual.
2015-11-20 21:08:30 -08:00
Pragmatic Software ebc7cb9579 Move enter-abuse logic to after chat flood logic to prevent enter-abuse warning and chat flood ban happening at the same time 2015-09-14 09:06:43 -07:00
Pragmatic Software 260b1405a7 Enforce nick-change flood on Guest nicks 2015-08-08 12:40:06 -07:00
Pragmatic Software 025a8bfc38 Set ##stop_join_flood bans in $channel-floodbans to reduce channel noise 2015-07-28 17:50:06 -07:00
Pragmatic Software 8cdad15207 Show enter-abuse warning message just before it would temp-ban
Fix address_to_mask regex
2015-07-21 13:44:42 -07:00
Pragmatic Software 850c8a0525 Add weak/strong also-known-as linking
PBot will now use weak links if the ip address portion of a hostmask
hasn't been seen in the last 48 hours in order to prevent false-positive
linking of dynamic ip addresses.

Weak links are excluded from ban-evasion logic.

Weak links can be manually upgraded to strong links with the `akalink`
command if a human confirms they are the same person through the `aka -w`
command.

Individuals with matching nicks or matching nickserv accounts, etc, will
automatically be strongly linked, as usual.
2015-07-15 00:18:57 -07:00
Pragmatic Software 6a6eff1150 Support nat cloaks for banmasks 2015-07-14 07:29:27 -07:00
Pragmatic Software d302587829 Enter-abuse anti-flood settings can now be overridden per-channel 2015-07-09 07:15:32 -07:00
Pragmatic Software 8ed333ba96 Fix typo "has_unban_timeout" -> "has_ban_timeout" 2015-06-25 22:55:06 -07:00
Pragmatic Software 09c7437246 Use can_gain_ops/has_un[ban,mute]_timeout subroutines 2015-06-25 20:55:42 -07:00
Pragmatic Software 6b544e9bf4 Stop processing ban evasions immediately after first ban is detected 2015-06-20 17:48:42 -07:00
Pragmatic Software b4539447a3 Improve check-ban logic 2015-06-20 00:20:23 -07:00
Pragmatic Software 8033213a7f Add options to disable anti-flood per-channel, and to disable enforcement for logged-in admins 2015-06-13 16:08:06 -07:00
Pragmatic Software bf45c6cdde Improve ban evasion; show evaded ban in kick message 2015-06-05 22:26:55 -07:00
Pragmatic Software 4510d83153 `unbanme` now only works for the first offense
However, the 2nd offense now only earns a 1 hour ban to make up for this.
2015-05-15 17:51:50 -07:00
Pragmatic Software 9031d97910 Remove left-over debug messages 2015-05-12 12:59:22 -07:00
Pragmatic Software fa6dad12cd Add `Aliases` table to MessageHistory
Improve linking of known aliases for users by using an aliases table
to track the linkages.

Improve check-bans implementation to use new aliases table for
significant performance gains and reduced resource usage.
2015-05-11 21:27:22 -07:00
Pragmatic Software 3776bef88a Reduce WHOIS queries when target joins multiple channels at once 2015-05-10 12:36:47 -07:00
Pragmatic Software 3be6755a61 Do not ignore last-spoken nick if nick is logged in bot admin
Add debug_enter_abuse registry entry
2015-05-06 21:10:55 -07:00
Pragmatic Software 7f87730de8 Improve handling of Nickserv accounts in check-bans and unbanme 2015-03-27 04:08:47 -07:00
Pragmatic Software 2e9f15b7e2 Support IPv6 banmasks 2015-03-23 04:18:33 -07:00
Pragmatic Software 9a52fffcdd Rename ShitList to BlackList; minor refactor of IgnoreList 2015-03-16 21:08:25 -07:00
Pragmatic Software e604767517 Add support for shitlisting hostmasks 2015-03-15 13:52:30 -07:00
Pragmatic Software 7970018777 Improve handling of nick-change flood 2015-03-11 02:00:10 -07:00
Pragmatic Software 9f265a0f0e Do not enforce anti-flood on logged in bot admins 2015-02-15 20:16:37 -08:00
Pragmatic Software 800b097a34 Use NickList instead of MessageHistory for target channels 2015-02-14 04:03:18 -08:00
Pragmatic Software e5909965f7 Move anti-away stuff to its own AntiAway.pm module; add /me actions to anti-away detection 2014-12-27 04:53:42 +00:00
Pragmatic Software d1e7abc175 Add event dispatcher module to allow modules to dispatch events and
to register handlers to listen for events.

Update IRCHandlers module to use new event dispatcher to dispatch
irc.events.  Update several modules to register with dispatcher
to listen for irc.events.

Improve handling of reconnection upon unexpected disconnection.

Todo: update more things to use new event dispatcher logic.
2014-11-01 00:15:21 +00:00
Pragmatic Software 5a63fbd705 Auto-kick people who change nicks to a nick matching $bad_away_nicks 2014-10-28 20:35:33 +00:00
Pragmatic Software a679b0ff15 Improve handling of KICK events wrt to message history 2014-10-14 02:32:22 +00:00
Pragmatic Software 83af062376 Fix case-sensitivity to show QUIT messages properly 2014-09-09 07:19:10 +00:00
Pragmatic Software 34d9a2a6d9 Appropriately wildcard /gateway/ hostmask bans 2014-08-18 14:57:12 +00:00
Pragmatic Software 654cce66a5 Improve check for ban-evasion when nick-change is detected 2014-08-12 05:51:21 +00:00
Pragmatic Software 23b725eeb8 Prevent warning about given/when; incorporate general offense counter in enter abuse offenses; decrement enter abuses once every 24 hours instead of once per hour 2014-07-11 12:54:56 +00:00
Pragmatic Software 35e150d2b6 Optimize ban-evasion logic to significantly reduce number of SQLite queries; add registry entry for debugging ban-evasion 2014-05-21 04:52:17 +00:00
Pragmatic Software 5ba8ab0a4b Do not ban nick-flood on non-channels 2014-05-20 22:24:58 +00:00
Pragmatic Software 39c0cd3fb5 Add registry entry to enable/disable antiflood enforcement 2014-05-20 10:14:09 +00:00
Pragmatic Software 710bbb76cc Add registry get_array_value() subroutine 2014-05-19 09:55:47 +00:00
Pragmatic Software 349afd4ae0 Correct enter_abuse_punishment default value 2014-05-19 04:30:36 +00:00
Pragmatic Software 937282a114 Add more values to registry for antiflood and lagchecker 2014-05-19 02:42:18 +00:00