3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-27 05:03:07 +01:00
Commit Graph

2953 Commits

Author SHA1 Message Date
James Lu
51fb269d0d IRCNetwork: don't attempt to send more than 510 bytes per message
Some IRCds like ngIRCd will SQUIT you if you try to do so, though most just ignore this kind of overflow.
2017-07-07 20:14:23 -07:00
James Lu
3a42c8e835 protocols: add _check_oper_status_change abstraction
This condenses a large chunk of the code checking for oper ups, and adds support for the servprotect/admin umodes in an IRCd-independent manner. Closes #451.
2017-07-07 20:04:21 -07:00
James Lu
3bcf0092e9 NetworkCoreWithUtils: wrap irc.to_lower in a lru_cache 2017-07-07 14:40:27 -07:00
James Lu
f7dfc38688 relay: only initialize channels that are relevant to the called network in initialize_all()
Previously, this would quite often hit channel names that simply don't exist on the target network.
2017-07-07 14:20:24 -07:00
James Lu
3b091f9e20 relay: remove a useless logging line 2017-07-07 13:43:30 -07:00
James Lu
5955d3f90f p10: expand nick!user@host only for topic setters that are clients 2017-07-07 13:37:16 -07:00
James Lu
c2f12460da unreal, p10: condense topic_burst and topic together
Closes #480.
2017-07-07 13:35:30 -07:00
James Lu
d2d76baad8 relay: more detailed logging when the spawn_* condition times out 2017-07-07 13:32:04 -07:00
James Lu
67a36b7ebe inspircd: rename _operUp to _oper_up 2017-07-07 13:27:45 -07:00
James Lu
5d5c861a93 protocols: rename check_nick_collision to _check_nick_collision 2017-07-07 03:18:40 -07:00
James Lu
c5d06b2d41 ngircd: run check_nick_collision in handle_nick, per #375 2017-07-07 03:16:56 -07:00
James Lu
bd79c71b85 unreal: fix TypeError in mode() from accessing set items by index 2017-07-07 03:16:17 -07:00
James Lu
4b69edcbd7 README: declare support for ngircd 24+ 2017-07-07 02:56:28 -07:00
James Lu
28d2f89311 ngircd: implement KILL 2017-07-07 02:52:57 -07:00
James Lu
67a414fa2a ngircd: set slash-in-hosts, slash-in-nicks, underscore-in-hosts capabilities 2017-07-07 02:46:14 -07:00
James Lu
57c86c6d25 ngircd: implement update_client() 2017-07-07 02:41:20 -07:00
James Lu
fa2c5d928a IRCS2SProtocol: fix extraneous umode based AWAY messages 2017-07-06 22:17:47 -07:00
James Lu
6636a19a2b ngircd: implement handler for METADATA 2017-07-06 22:15:56 -07:00
James Lu
f29c95152b ngircd: remove has-ts from protocol capabilities 2017-07-06 21:49:51 -07:00
James Lu
b0eb1656a5 ngircd: add a stub for KNOCK 2017-07-06 21:47:03 -07:00
James Lu
6d3d2b239d IRCS2SProtocol: ignore attempts to ping the uplink before the link is ready 2017-07-06 21:45:51 -07:00
James Lu
d149576b4e protocols: move invite() into IRCS2SProtocol 2017-07-06 21:43:53 -07:00
James Lu
085b4cacbe protocols: handle usermode-based away (i.e. ngircd +a) 2017-07-06 20:19:52 -07:00
James Lu
b2b50371ab ngircd: fix setting umodes 2017-07-06 20:19:34 -07:00
James Lu
73464e516f ngircd: fill in mode definitions
Source: https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt
2017-07-06 20:12:29 -07:00
James Lu
3d0ccadb76 ngircd: sort handler functions alphabetically 2017-07-06 18:38:25 -07:00
James Lu
28313fd478 ngircd: send burst modes after NJOIN, if there are any 2017-07-06 18:29:34 -07:00
James Lu
961e8ae991 ngircd: add outgoing MODE command 2017-07-06 18:22:56 -07:00
James Lu
4cd1ed5a7b ngircd: add an outgoing sjoin() function using NJOIN 2017-07-06 18:08:46 -07:00
James Lu
45dad63d5b Move handle_mode into IRCS2SProtocol
TODO: clean up protocols/unreal to use more of this code as well
2017-07-06 17:10:03 -07:00
James Lu
faa5b729d9 docs: update protocol-modules graphic 2017-07-05 03:28:28 -07:00
James Lu
694b5018fc Move numeric() into IRCS2SProtocol 2017-07-05 02:36:34 -07:00
James Lu
56c8b90362 IRCS2SProtocol: handle both killpath-based and preformatted kill reasons
Also drop the override in protocols/inspircd, as it is no longer needed.
2017-07-05 02:26:40 -07:00
James Lu
1e5985b608 Merge remote-tracking branch 'origin/beta' into wip/ngircd
Conflicts:
	protocols/ircs2s_common.py
	protocols/ts6.py
2017-07-05 02:26:40 -07:00
James Lu
58558c89ae ngircd: ignore KILLs not meant for us
ngIRCd sends QUIT after a successful KILL, so trying to remove the target twice is erroneous and will cause a crash.

TODO: what happens if an external KILL is never responded to for whatever reason?
2017-07-05 02:17:15 -07:00
James Lu
1acd654e6e ts6: fix 'ts' value type in handle_invite 2017-07-05 02:10:24 -07:00
James Lu
69f3ae52ec ts6: fix wrong argument count when parsing INVITE ts
(cherry picked from commit 7cfc63d6ed)
2017-07-05 02:09:55 -07:00
James Lu
d2d176b6f9 IRCS2SProtocol: fix UnboundLocalError in "message coming from wrong way" warning
This fixes a regression from 69cf21c04e.
2017-07-05 02:08:41 -07:00
James Lu
30b9f47023 unreal: remove handle_kill override; unneeded as of aa4e9335aa 2017-07-05 01:26:45 -07:00
James Lu
c2e65ff9c3 IRCCommonProtocol: alias topic_burst to topic by default (#480) 2017-07-05 00:56:34 -07:00
James Lu
db06ff4338 Move handle_topic to IRCS2SProtocol 2017-07-05 00:48:58 -07:00
James Lu
aa4e9335aa IRCS2SProtocol: expand nicks to UIDs in handle_kill
This allows this handler to work natively on ngIRCd.
2017-07-05 00:36:10 -07:00
James Lu
3729b23e43 Move KICK handlers to IRCS2SProtocol 2017-07-05 00:34:48 -07:00
James Lu
449b547a23 ngircd: properly track server tokens so that users spawn on the right servers
This brings in utils.PUIDGenerator once again for pseudo-SIDs; the counter numbers in these are used directly as server tokens
2017-07-05 00:18:13 -07:00
James Lu
4e082c2bbf PUIDGenerator: allow custom counter start values 2017-07-05 00:12:25 -07:00
James Lu
163f0099e7 IRCCommonProtocol: also expand PSIDs in _expandPUID 2017-07-04 23:56:12 -07:00
James Lu
5d4f2149e6 Move squit() to ircs2s_common 2017-07-04 23:41:00 -07:00
James Lu
9132556fd9 PyLinkNetworkCore: fix __repr__ definition 2017-07-04 23:32:41 -07:00
James Lu
b780070ee6 ngircd: implement nick changing 2017-07-04 23:26:05 -07:00
James Lu
42a25300c4 ngircd: don't leave user TS none in spawn_client 2017-07-04 23:25:49 -07:00