3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-24 03:29:28 +01:00
PyLink/plugins
James Lu 20474dabac relay: fix many bugs with nick collision handling, and add flood prevention for fixing nicks
Closes #85. Nick collisions caused by internal clients are handled fine now, including the following cases:
- Abusing spawnClient to create a user with the same nick as a relay client, but with a lower TS.
- When both an UID (e.g. 42XAAAAAA) and a tagged UID (_42XAAAAAA) exist on the same network (the two will both try to take the same nick of _42XAAAAAA/net over the relay).

The case where changing NICK from a long cut-off nick to another long cut-off nick is also mitigated. somelongnick/net won't show nick changes to somelongnic//net if the old and new nicks have give the same normalized relay nick.

This introduces a new dependency, expiringdict, from https://pypi.python.org/pypi/expiringdict/1.1.2, which is used as a cache for flood prevention.
2015-08-22 21:01:51 -07:00
..
admin.py plugins/admin: allow sending KICK from servers (#90) 2015-08-21 00:39:58 -07:00
commands.py utils.isOper: check for both umode +o and login status 2015-08-02 19:41:40 -07:00
hooks.py everything: Improve logging 2015-07-05 13:44:48 -07:00
relay.py relay: fix many bugs with nick collision handling, and add flood prevention for fixing nicks 2015-08-22 21:01:51 -07:00