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
James Lu
d318fbac77
protocols: migrate away from irc.botdata ( #273 )
2017-03-05 00:09:01 -08:00
James Lu
487a07671b
ts6: implement line wrapping in SJOIN ban bursts ( #253 )
2017-01-11 23:09:25 -08:00
James Lu
70deb5a285
ts6: rewrite MODE wrapping to check message length and argument count ( #253 )
2017-01-08 21:20:42 -08:00
James Lu
aafd734e3a
ts6: remove leftover mode filtering in mode()
2017-01-08 20:43:08 -08:00
James Lu
38350465c1
protocols: move handle_pong into ircs2s_common, be less strict about the ping argument
...
This fixes issues on UnrealIRCd where PONGs get ignored if the argument doesn't match the server name entirely (e.g. different case).
Treating all PONGs from the uplink as valid is totally fine, as all we care about is that the uplink is alive.
2017-01-01 20:24:34 -08:00
James Lu
dc11638eb9
ts6 (and derivatives): don't burst bans that were already set
2017-01-01 00:28:55 -08:00
James Lu
5f6337a734
Merge branch 'master' into devel
...
Conflicts:
plugins/networks.py
2016-12-18 00:15:24 -08:00
James Lu
194a62fcea
protocols: implement basic nick collision detection in UID handlers
...
Closes #285 . Closes #375 .
2016-12-18 00:13:42 -08:00
James Lu
c57fabc9ef
core, protocols: add server argument to IrcUser ( #355 )
2016-11-09 18:40:16 -08:00
James Lu
aa0d1596b0
ts6: don't crash when CHGHOST target is a nick instead of UID
...
(cherry picked from commit 4dcbc85a81
)
2016-10-01 13:43:18 -07:00
James Lu
4dd0709f66
protocols, core: remove unused imports
2016-10-01 12:43:12 -07:00