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

216 Commits

Author SHA1 Message Date
James Lu
9e212fc0a4 protocols: migrate utils.wrapArguments, splitHostmask use to camel case (#523) 2018-03-02 20:23:47 -08:00
James Lu
9cdb224c02 Replace use of conf.conf['bot'] with conf.conf['pylink'] 2018-02-18 23:26:39 -08:00
James Lu
2245af1dba Revert "ts6: handle ChatIRCd ENCAP USERMODE"
This reverts commit 785fc8d2d2.

This feature isn't actually used yet and is relatively non-standard. Aside from that, the biggest issue so far is that ENCAP USERMODE doesn't give servers a way to explicitly acknowledge or reject(ignore) the mode change, which can lead to desyncs.
2017-12-18 17:20:37 -08:00
James Lu
c636e064e7 ts6: remove SAVE from required capabs
We don't actually send SAVE out to any IRCd, so we don't need to demand that it's supported.

Closes #545.
2017-10-22 01:08:30 -07:00
James Lu
975d835c92 ts6: add support for ratbox, send EUID only when supported (#543) 2017-10-22 01:00:12 -07:00
James Lu
1a24bc19af ts6: rename self.caps to self._caps 2017-10-22 00:44:30 -07:00
James Lu
3d3300e542 ts6: merge in CHGHOST checks and umode definitions from protocols/ratbox 2017-10-22 00:41:15 -07:00
James Lu
c2dbb74f5a ts6: clean up mode definitions and target_ircd code 2017-10-22 00:29:00 -07:00
James Lu
f74b34e99b ts6: fix wrong prefix char for +a on ChatIRCd
This fixes users with +a disappearing when bursted to ChatIRCd.
2017-09-23 22:43:27 -07:00
James Lu
ad32ce20da protocols: send outgoing hop counts for servers and users
Closes #527.
2017-09-23 22:36:31 -07:00
James Lu
8170e777e8 protocols: move setting irc.connected to endburst 2017-08-30 19:39:57 -07:00
James Lu
9a84dbde71 protocols: consistently track ENDBURST on sub-servers too 2017-08-30 19:18:39 -07:00
James Lu
c4a3baca7d protocols: switch to self.is* 2017-08-28 20:07:36 -07:00
James Lu
8c0f19422f core: Add irc argument to User and Server classes
Also, add a __deepcopy__ override to channel because we cannot clone IRCNetwork objects (locks cannot be pickled).
2017-08-25 13:53:45 -07:00
James Lu
96a202acce core: make User.channels use IRCCaseInsensitiveSet
Closes #515. This is an API breaking change!
2017-08-25 13:26:34 -07:00
James Lu
80766e051e core: define two (joined) versions of the channels index
Closes #509.

PyLinkNetworkCore.channels is split into the following:
- irc._channels which implicitly creates channels on access (mostly used in protocol modules)
- irc.channels which does not (recommended for use by plugins)
2017-08-25 02:12:08 -07:00
James Lu
1408622694 ts6: add definitions for inverted extbans as well 2017-08-23 23:23:28 -07:00
James Lu
de1a6379df Add (experimental) support for matching extbans (#498) 2017-08-23 21:18:57 -07:00
James Lu
c107f0062f hybrid, ts6, ratbox: fix +p mode definitions properly
+p is noknock and rfc1459-style private on all 3 IRCds, though the latter bit is undocumented in /help cmodes (maybe it's assumed?)
+p is also "paranoia" on hybrid, which adds more restrictions to halfops and /invite
2017-08-11 13:45:40 -07:00
James Lu
8df7b5319e Move handle_realhost/handle_login to ts6 2017-08-11 12:21:41 -07:00
James Lu
dfa90378df ts6: fallback realhost to host, not None 2017-08-11 12:19:23 -07:00
James Lu
785fc8d2d2 ts6: handle ChatIRCd ENCAP USERMODE
Per https://github.com/ChatLounge/ChatIRCd/blob/master/doc/technical/ChatIRCd-extra.txt
2017-08-11 12:15:05 -07:00
James Lu
6a5ca6b508 Merge bits of handle_server into ts6_common 2017-08-10 19:50:32 -07:00
James Lu
d0f9a2465d Move handle_sid to ts6_common 2017-08-10 19:42:04 -07:00
James Lu
9702030bf5 protocols: continue removing to_lower() calls on channels (#372) 2017-08-07 21:54:33 -07:00
James Lu
07fa53d128 protocols: remove direct usage of to_lower() for channels
Not needed as of 32249ace3e (ref #372)
2017-08-06 18:05:14 -07:00
James Lu
410ade3b60 ts6: implement KLINE support (#139) 2017-07-17 06:29:44 -07:00
James Lu
3d27e4a347 ts6: add support for ChatIRCd
This depreates the "use_elemental_modes" setting on ts6 networks, and replaces it with an "ircd" option targetting charybdis, elemental-ircd, or chatircd
Closes #339.
2017-07-12 22:21:34 -07:00
James Lu
b081270aa1 ts6: tweak some misplaced mode definitions
Charybdis provides deaf as umode +D and ssl as umode +Z
2017-07-12 22:21:34 -07:00
James Lu
b7466327db protocols: move S2S_BUFSIZE definition into a class variable 2017-07-07 20:14:26 -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
5d5c861a93 protocols: rename check_nick_collision to _check_nick_collision 2017-07-07 03:18:40 -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
970b38719d core: rename ping() to _ping_uplink(), and drop the unused source/target arguments 2017-07-04 22:09:50 -07:00
James Lu
43af9d1bac protocols: move ping() into IRCCommonProtocol 2017-07-04 22:00:22 -07:00
James Lu
54d7fe6dc5 protocols: convert IrcServer usage to Server 2017-06-30 21:45:10 -07:00
James Lu
a204d2b2db core: convert IrcUser calls to User 2017-06-30 21:44:31 -07:00
James Lu
927fa9aac9 protocols: updateClient -> update_client 2017-06-30 21:29:38 -07:00
James Lu
f38b9c9a2c protocols: topicBurst -> topic_burst 2017-06-30 21:29:11 -07:00
James Lu
f60dc8fa37 protocols: spawnClient -> spawn_client 2017-06-30 21:25:58 -07:00
James Lu
a4e321522b protocols: migrate away from camel case 2017-06-29 22:56:14 -07:00
James Lu
741528b0b3 Merge handle_invite into IRCS2SProtocol (#454) 2017-06-29 22:17:46 -07:00
James Lu
7cfc63d6ed ts6: fix wrong argument count when parsing INVITE ts 2017-06-29 22:17:46 -07:00
James Lu
7814914a05 classes, protocols: convert self.irc usage to self 2017-06-25 02:09:52 -07:00
James Lu
d0209f720a Rewrite network intitialization bits
- Move protocols.connect -> protocols.post_connect to fix namespace conflict
- Starting an IRC connection is now explicit (via irc.connect instead of __init__)
2017-06-25 01:12:58 -07:00
James Lu
8acf39cad6 protocols: rename _send to _send_with_prefix to avoid clashing with process_queue 2017-06-24 23:47:30 -07:00
James Lu
a60d746e3b protocols: sed -i 's/_getUid/_get_UID/g' 2017-06-16 17:13:30 -07:00
James Lu
08c0082430 protocols: rename checkCollision -> check_nick_collision() (#454) 2017-05-09 20:44:48 -07:00
James Lu
029bb38af8 protocols: skip queuing when responding to PING 2017-03-28 22:30:33 -07:00
James Lu
efe468b0d2 protocols: declare slash-in-nicks, slash-in-hosts, underscore-in-hosts as necessary (#337) 2017-03-15 23:58:51 -07:00