James Lu
4a01948647
relay: oops, multiple STATUSMSG prefixes should pick the lowest, not highest ( #570 )
...
This behaviour really isn't consistent across IRCds though...
- Unreal, Hybrid, and charybdis mangle messages at the server side to use the lowest prefix
- InspIRCd throws a "No such nick/channel" error
- Nefarious silently drops messages with multiple prefixes?
2018-02-18 22:29:16 -08:00
James Lu
81bd1e8474
relay: add basic support for STATUSMSG ( #570 )
...
So far, this code only knows about changing prefixes while keeping mode characters as-is.
A complete but longer solution would be to actually go through irc.cmodes, but I don't
think doing so is necessary given how little STATUSMSG is actually used in production.
2018-02-18 22:03:12 -08:00
James Lu
3f7e2328fe
relay: make endburst delay configurable
...
Also, raise the default to 10 seconds.
2018-02-10 15:53:49 -08:00
James Lu
a425f873b5
relay, inspircd: move endburst delay code to a private API
...
This is a very specific hack that shouldn't be extended across the protocol module spec. So far, all other protocol modules ignore the endburst_delay option anyways.
2018-02-10 15:34:07 -08:00
James Lu
ccbd79a95c
relay: fix KeyError when a local client is kicked from a claimed channel
...
Fixes #572 .
2018-02-10 15:12:40 -08:00
James Lu
28a62f629a
automode: replace assert usage with proper exceptions
2018-01-22 08:17:20 -08:00
James Lu
09c8b03705
automode: fix handling of channels with multiple #'s in them
2018-01-22 08:15:04 -08:00
James Lu
5fd216c720
commands: fix 'showchan' displaying status prefixes in reverse
2018-01-22 08:10:55 -08:00
James Lu
8000d51453
Split the 'raw' command into a new plugin
...
Closes #565 .
2018-01-21 13:50:37 -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
60c05af9ed
relay: allow defining server-specific nicks to always tags
...
Closes #564 .
2017-12-30 01:22:24 -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
7afe193259
bots: fix KeyError when attempting to join a channel not in the index
2017-12-22 12:28:27 -08:00
James Lu
5f9365a521
relay, inspircd: add support for blockhighlight +V
2017-12-21 21:18:20 -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
2df608307d
relay: block sending STATUSMSG messages to IRCds not supporting them
2017-12-21 01:41:01 -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
63f3cdaea8
relay: add knock forwarding support
2017-12-21 00:19:09 -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
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
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
James Lu
8fcb5f9df0
relay: ignore static extbans when looking up dynamic extban prefixes
...
This fixes #560 , which was caused by relay confusing ban_all_registered ($a) with ban_account ($a:), since $a:account also starts with $a.
2017-12-07 11:05:39 -08:00
James Lu
6adeada598
relay: add more complete debug logging in extban handlers
2017-12-07 11:04:26 -08:00
James Lu
d30eca77e9
relay: add more channel modes to the whitelist
...
* blockcaps: inspircd +B, elemental-ircd +G
* exemptchanops: inspircd +X
* filter: inspircd +g
* hidequits: nefarious +Q, snircd +u
* history: inspircd +H
* largebanlist: ts6 +L
* noamsg: snircd/nefarious +T
2017-12-05 12:01:57 -08:00
James Lu
52f40ad7a2
networks.remote: don't clobber command switches for other commands
...
This also moves the --service argument to before the network name to prevent ambiguity with argparse.REMAINDER.
Closes #538 .
2017-11-14 18:14:23 -08:00
James Lu
03e02dda51
relay: replace garbage locking code with proper filtering in relay_joins
...
I'm not even going to start on how much time I spent working on this...
Closes #548 , #529
2017-11-12 11:58:36 -08:00
James Lu
48ea58c1fb
bots: remove use of deprecated utils.isNick()
2017-11-07 19:19:11 -08:00
James Lu
15a231a371
global: ignore empty "global:" configuration blocks
2017-11-06 12:07:33 -08:00
James Lu
b6af6dddc5
relay: fix RuntimeError on handle_part for clientbot networks
2017-11-05 01:18:42 -08:00
James Lu
26b8292564
relay_clientbot: handle errors if the relay: or clientbot_styles: blocks are empty
2017-10-21 13:19:31 -07:00
James Lu
1470e7691f
relay_clientbot: add support for showing prefix modes
...
This adds a new expansion $mode_prefix, and adds it to the default formats for MESSAGE and ACTION.
Closes #540
2017-10-15 01:42:07 -07:00
James Lu
aa44bc15a3
classes: fix backwards sorting in Channel.sort_prefixes()
...
Also remove various workaround code added to address this.
2017-10-15 01:29:42 -07:00
James Lu
fe4fb9c84c
stats: use a simpler /stats c format
2017-10-07 22:27:43 -07:00
James Lu
39b1e28061
Remove plugins/example_service, it is out of date and broken with 2.x
...
Closes #532 .
2017-10-05 19:08:28 -07:00
James Lu
8443de4701
servermaps: display hopcount in 'map' for local servers
2017-09-23 22:36:49 -07:00
James Lu
b52082ed05
relay: various cleanup
...
- Raise desync-related state checks to warning
- Rename get_remote_sid to get_relay_server_sid - it's less ambiguous
- Clarify and add some missing function docstrings
2017-09-23 20:43:21 -07:00
James Lu
6cbb6617ef
relay: don't forward simple bans as text to clientbot links if modesync is on
...
Closes #528 .
2017-09-23 14:39:26 -07:00
James Lu
a60e6e7f22
relay: add missing comment to last commit
2017-09-23 14:09:28 -07:00
James Lu
b667bed1e6
relay: only allow one thread to run initialize_channel at a time
...
Closes #529 .
2017-09-23 13:58:15 -07:00
James Lu
f27b179211
Merge branch 'master' into devel
...
Conflicts:
plugins/automode.py
protocols/clientbot.py
2017-09-05 18:57:24 -07:00
James Lu
7188081511
networks: throw a proper error in 'remote' if the remote network isn't connected
2017-09-05 18:55:19 -07:00