James Lu
74ae6fd7c0
p10: add support for nefarious2 extbans
...
Closes #524 .
2017-08-31 14:52:03 -07:00
James Lu
2d2b524a63
ngircd: disable slash-in-nicks
...
This breaks user mode changes, as it is one of the only commands to undergo nick validation when received from a remote server.
2017-08-31 14:09:04 -07:00
James Lu
ac89f45683
ngircd: rework NJOIN code
...
- Fix "Internal NJOIN error"s caused by joining users already in the channel again
- Fix NJOIN being sent from the wrong internal server
- Condense two iterations over the user list into one
2017-08-31 13:17:28 -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
4a363aee50
Move _expandPUID into PyLinkNetworkCoreWithUtils
2017-08-30 00:56:18 -07:00
James Lu
c4a3baca7d
protocols: switch to self.is*
2017-08-28 20:07:36 -07:00
James Lu
2a7594e56e
Move PUIDGenerator->classes, IncrementalUIDGenerator->ircs2s_common ( #476 )
2017-08-28 19:42:24 -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
1cdb5fc025
hybrid, ratbox: remove extban definitions
2017-08-25 12:24:09 -07:00
James Lu
cdb575236e
inspircd: remove a useless and misformatted debug line
2017-08-25 02:13:15 -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
a02fa45d96
clientbot: use existing fallback hostname abstraction instead of hardcoding it separately
2017-08-24 01:12:45 -07:00
James Lu
b214a8f4c0
unreal: fix wrong case in opertype extban
2017-08-24 00:55:55 -07:00
James Lu
1408622694
ts6: add definitions for inverted extbans as well
2017-08-23 23:23:28 -07:00
James Lu
c6ca89b48a
Fill in the rest of the extbans list for inspircd & unreal ( #498 )
2017-08-23 21:47:43 -07:00
James Lu
de1a6379df
Add (experimental) support for matching extbans ( #498 )
2017-08-23 21:18:57 -07:00
James Lu
903f86a342
clientbot: add extended-join support ( #290 )
2017-08-23 19:28:10 -07:00
James Lu
abdc67e0c1
clientbot: track numeric 900 (RPL_LOGGEDIN) and set our own account name
...
This is mostly for completeness.
2017-08-23 19:19:53 -07:00
James Lu
c9f10796ee
clientbot: move services account setting bits into a shared function
2017-08-23 19:16:20 -07:00
James Lu
c2fc9080cc
clientbot: don't send JOIN hooks for the bot itself when receiving JOIN
...
Closes #519 .
2017-08-23 19:11:15 -07:00
James Lu
bd6272abf6
clientbot: add a dummy internal host for the clientbot bot...
2017-08-21 23:28:10 -07:00
James Lu
060a947798
clientbot: whoops, fix wrong arg count for WHOX services acc handling
2017-08-21 23:27:47 -07:00
James Lu
0bb4a35c6f
Support pre-auth irc.pseudoclient enumeration & configurable altnicks
...
Closes #516 . Closes #288 .
2017-08-21 23:05:56 -07:00
James Lu
6981869c06
clientbot: split up join() and handle_join() to prevent duplicate JOIN/MODE/WHO on connect
2017-08-20 19:24:46 -07:00
James Lu
81f3112d01
clientbot: use WHOX where available to fetch account names on join
2017-08-20 18:49:07 -07:00
James Lu
55f50eb251
clientbot: don't send /NAMES on join, it isn't needed
2017-08-20 17:29:03 -07:00
James Lu
85f283c5f8
clientbot: add support for IRCv3.2 account-tag ( #290 )
2017-08-20 16:52:23 -07:00
James Lu
48c6765411
clientbot: add support for IRCv3.1 account-notify ( #290 )
2017-08-20 16:12:25 -07:00
James Lu
0bbe5d3a1a
clientbot: add support for IRCv3 CHGHOST ( #290 )
2017-08-19 23:55:41 -07:00
James Lu
766450afd3
clientbot: add experimental userhost-in-names support ( #290 )
2017-08-19 23:23:19 -07:00
James Lu
471733bfd0
clientbot: track /who received status by user, not by channel
2017-08-19 22:29:08 -07:00
James Lu
72145e09b8
clientbot: implement away-notify support ( #290 )
2017-08-19 22:04:24 -07:00
James Lu
30dc4a2b27
hybrid: drop EX and IE from required capabilities
...
This fixes compatibility with hybrid trunk, commit ircd-hybrid/ircd-hybrid@981c61e36c
2017-08-11 15:09:53 -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
046fe0c385
protocols: add headers to modules where missing
2017-08-11 12:27:58 -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
4ec1727888
unreal: rewrite/condense usermode change handling to be more consistent
...
Consistently call _check_oper_status_change() and _check_cloak_change() through a _handle_umode() wrapper. Also, handle the real portion of the mode change given in SVS2MODE.
2017-08-11 12:03:56 -07:00
James Lu
e13f2fdbb0
unreal: remove obsolete note regaring server-sourced notices
2017-08-10 19:53:16 -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
614b8b87da
inspircd: rewrite handle_ping to handle one-arg PING
2017-08-09 16:55:02 -07:00
James Lu
5381e85d3c
IRCS2SProtocol: fix wrong if: statement regarding user presence
2017-08-09 16:06:37 -07:00
James Lu
486a225156
inspircd: mark endburstf() threads as daemon=True
...
There is no reason whatsoever for this to even potentially block shutdown.
2017-08-08 00:27:05 -07:00
James Lu
64f05bd28b
inspircd: set a name on endburstf() threads
2017-08-08 00:26:32 -07:00
James Lu
be41f57795
PyLink 2.0-dev, now with /stats support!
...
Closes #131 .
2017-08-07 23:52:16 -07:00
James Lu
9702030bf5
protocols: continue removing to_lower() calls on channels ( #372 )
2017-08-07 21:54:33 -07:00