James Lu
6bb2198710
inspircd: move _modsupport.clear() to a _post_disconnect override
...
Speculative fix for #567 .
This may be caused by a race condition between post_connect and handle_capab, since the remote server can send its server data before we start sending ours.
2018-01-21 13:27:59 -08:00
James Lu
67dea6f748
classes: add docstrings to _pre_connect, _pre_disconnect, _post_disconnect
2018-01-21 13:20:42 -08:00
James Lu
31c96bd1ed
hooks-reference: bump to 2.0-alpha2
...
- Replace `IrcChannel`, `IrcUser`, and `IrcServer` with their new class names (`classes.Channel`, `classes.User`, and `classes.Server`)
- Replace `irc.fullVersion()` with `irc.version()`
- Various minor wording tweaks.
2018-01-13 18:23:12 -08:00
James Lu
06ee01b7a7
hooks-reference: don't use the wrong terminology in example channel names
2018-01-13 18:23:12 -08:00
James Lu
7a51220309
relay: match P10 WALL* commands as notices
2018-01-08 20:56:06 -08:00
James Lu
ec9063b9e8
Revert "relay: differentiate between PRIVMSG vs. NOTICE via a blacklist"
...
This reverts commit d81a9cd5c3
.
2018-01-08 20:56:06 -08:00
James Lu
bcb0fecfa8
PyLink 2.0-alpha2
2018-01-06 17:30:50 -08:00
James Lu
ce3b1152b2
modelists: fix page title for extbans table
...
[skip ci]
2018-01-05 18:46:08 -08:00
James Lu
f8abdd1244
RELNOTES: update for previous commit
2017-12-31 12:09:52 -08:00
James Lu
043a147b41
p10: fix hashed cloaks check reading from the wrong config variable
2017-12-31 12:09:36 -08:00
James Lu
3d661c9713
RELNOTES: update 2.0-alpha2 changes so far
2017-12-30 01:34:33 -08:00
James Lu
ba4e0aed85
example-conf: reword description for servers::<netname>::relay_forcetag_nicks
2017-12-30 01:33:14 -08:00
James Lu
60c05af9ed
relay: allow defining server-specific nicks to always tags
...
Closes #564 .
2017-12-30 01:22:24 -08:00
James Lu
56fa626605
inspircd: use clear() instead of replacing the _modsupport set
...
Maybe this will fix issues with _modsupport not being completely filled?
2017-12-27 11:48:00 -08:00
James Lu
7c0d279f61
inspircd: raise NotImplementedError instead of only warning when a CHG* module is missing
2017-12-22 12:41:48 -08:00
James Lu
92427201f1
inspircd: track module (un)loading
...
Closes #555 .
2017-12-22 12:38:48 -08:00
James Lu
c62580d228
bots: don't allow 'spawnclient' on protocols where it is stubbed
2017-12-22 12:28:27 -08:00
James Lu
958bb351ca
clientbot: log warnings if the bot cannot join a channel
...
Closes #533 .
This adds handlers for the following numerics:
* ERR_TOOMANYCHANNELS (405)
* ERR_CHANNELISFULL (471)
* ERR_INVITEONLYCHAN (473)
* ERR_BANNEDFROMCHAN (474)
* ERR_BADCHANNELKEY (475)
* ERR_BADCHANMASK (476)
* ERR_NEEDREGGEDNICK (477)
* ERR_BADCHANNAME (479)
* ERR_SECUREONLYCHAN / ERR_SSLONLYCHAN (489)
* ERR_DELAYREJOIN (495)
* ERR_OPERONLY (520)
2017-12-22 12:28:27 -08:00
James Lu
7afe193259
bots: fix KeyError when attempting to join a channel not in the index
2017-12-22 12:28:27 -08:00
James Lu
444d8c53bb
RELNOTES: fix wacky line spacing
...
[skip ci]
2017-12-22 01:05:40 -08:00
James Lu
5b2fdc94e7
RELNOTES: add a list of changes since 2.0-alpha1 so far
2017-12-22 01:03:19 -08:00
James Lu
dbc9d1690d
setup: update PyPI classifiers
...
- Declare Python 3.6 support
- Change development status to Production/Stable
2017-12-22 00:07:49 -08:00
James Lu
5f9365a521
relay, inspircd: add support for blockhighlight +V
2017-12-21 21:18:20 -08:00
James Lu
145a4677f6
ircs2s_common: add handling for nick@servername messages
2017-12-21 02:57:10 -08:00
James Lu
8dbbe65a1c
ircs2s_common: remove useless statusmsg splitting code
...
We used to do this in order to lowercase the channel part of ~#channel messages correctly, but that is no longer needed as of 9702030bf5
.
2017-12-21 02:11:28 -08:00
James Lu
d01b9aaa23
relay: improve fallback KNOCK notices
...
- Show the network that the /knock originated from (it is *not* obvious when we have a user with no relay client)
- Specifically hint that users with no relay client cannot be invited directly because there is no client to actually /invite!
- Prefer sending the notice to %#channel when halfops are available, as they usually have the power to /invite
2017-12-21 01:57:43 -08:00
James Lu
f64976b1ed
p10: implement outgoing knock() as a wrapper over NOTICE
2017-12-21 01:53:41 -08:00
James Lu
2df608307d
relay: block sending STATUSMSG messages to IRCds not supporting them
2017-12-21 01:41:01 -08:00
James Lu
16b491fdab
ts6_common, p10: declare protocol cap has-statusmsg
2017-12-21 01:34:41 -08:00
James Lu
d81a9cd5c3
relay: differentiate between PRIVMSG vs. NOTICE via a blacklist
...
This is so that P10 WALL* commands are forwarded correctly as notices instead of privmsgs.
2017-12-21 01:27:34 -08:00
James Lu
20e730ba2b
p10: add inbound handlers for WALLCHOPS/WALLHOPS/WALLVOICES
...
This essentially finishes off STATUSMSG support on P10.
2017-12-21 01:27:19 -08:00
James Lu
2cc1195ff9
p10: refactor message() to send @%+#channel messages correctly
2017-12-21 01:20:08 -08:00
James Lu
63f3cdaea8
relay: add knock forwarding support
2017-12-21 00:19:09 -08:00
James Lu
454539185e
Move knock handling to ts6_common
...
This adds support for (reasonless) KNOCK on TS6.
2017-12-21 00:04:55 -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
ab91acb2f7
relay_clientbot: rename isRelayClient => is_relay_client()
2017-12-18 13:23:53 -08:00
James Lu
954f4f9886
relay: capitalize constants related to modes
2017-12-18 13:23:16 -08:00
James Lu
0104462782
relay: whitelist cmodes kicknorejoin, kicknorejoin_insp, repeat, repeat_insp
...
Closes #559 .
2017-12-18 13:17:05 -08:00
James Lu
ec3b230eab
inspircd: move definitions for cmodes +J and +E to kicknorejoin_insp and repeat_insp
...
These use InspIRCd specific arguments which don't map cleanly to other IRCds. #559
2017-12-18 13:10:48 -08:00
James Lu
6c65d5523e
IRCNetwork: potentially fix queue thread shutdowns ( #558 )
...
Replace unreliable appendleft() usage with replacing the first element (or adding None if the queue is empty).
2017-12-17 01:01:21 -08:00
James Lu
9a5072824d
relay: stop lowercasing modedelta args, as that can break things like unreal +f
2017-12-14 13:40:47 -08:00
James Lu
f908e407d4
relay: also ignore clientbot networks in modedelta
...
TODO: abstract all these checks out!
2017-12-14 13:26:43 -08:00
James Lu
923795719f
relay: drop all list and prefix modes in modedelta
2017-12-14 13:07:00 -08:00
James Lu
57a2132d5d
relay: always enforce modedelta modes, and prevent them from being unset
2017-12-14 12:46:25 -08:00
James Lu
b2270ca3eb
relay: move claim enforcement routines outside the mode/kick loops
...
This prevents claim responses from being sent multiple times.
2017-12-14 12:15:19 -08:00
James Lu
59c12ff354
relay: merge in modedelta branch, port to latest 2.x relay
...
Merge remote-tracking branch 'origin/wip/relay-modedelta' into devel
Conflicts:
plugins/relay.py
2017-12-14 11:56:41 -08:00
James Lu
8490bee634
handlers: pick the highest prefix when displaying status in WHOIS
...
This fixes a regression from aa44bc15a3
2017-12-12 12:46:43 -08:00
James Lu
9dfa0a478e
classes: fix inverted order in get_prefix_modes() description
...
No, no, no. Nobody sorts modes that way!
2017-12-07 12:07:08 -08:00
James Lu
d54bf0d06c
relay: also log the extban prefix strings being readded
2017-12-07 11:38:27 -08:00
James Lu
a2cb4daa46
relay: mangle the mode name when forwarding extban->cmode so that +b syntax filters don't trigger
...
This should allow bidirectional forwarding between UnrealIRCd +b ~T:block:<glob> and InspIRCd +g <glob> to work.
(#557 )
2017-12-07 11:26:16 -08:00