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
James Lu
f4c51cde00
automode: don't send empty mode lines if no users match the ACL
2017-09-05 18:36:37 -07:00
James Lu
0136ac9e41
relay: fix potential irc.channels KeyErrors in get_prefix_modes and handle_join
2017-09-02 21:35:21 -07:00
James Lu
afd4558531
relay: bind handle_messages at a higher priority than fantasy
...
This fixes #123 , where responses for fantasy commands are relayed before the original message if the Fantasy plugin is loaded before Relay.
2017-09-02 21:17:54 -07:00
James Lu
5c14a9c8c2
relay: add iterate_all_present to condense network iteration code
...
Closes #471 .
2017-08-31 14:19:30 -07:00
James Lu
450718cce6
relay: don't block on client spawning
...
Just fail instantly if the remote isn't ready.
2017-08-31 12:27:52 -07:00
James Lu
85a7dd3dff
example, relay_cb: migrate to irc.is_channel
2017-08-30 21:22:19 -07:00
James Lu
36d6581bba
automode, bots: migrate to irc.is_channel
2017-08-30 21:20:19 -07:00
James Lu
979d5a48f1
relay: migrate away from deprecated utils.isHostmask
2017-08-30 21:09:19 -07:00
James Lu
9380336948
relay: fall back to the current time on TS-less servers if the remote channel doesn't exist
2017-08-30 21:08:54 -07:00
James Lu
43b6566aa8
Move getDatabaseName from utils to conf ( #476 )
2017-08-28 20:27:39 -07:00
James Lu
ff8587736f
fantasy, relay: migrate to irc.is_*
2017-08-28 20:14:14 -07:00
James Lu
1031aaa320
relay: add checks for channel presence
2017-08-25 02:29:10 -07:00
James Lu
579bfecdb4
relay: improve logging related to extban handling
2017-08-23 23:23:02 -07:00
James Lu
11d63e19cd
relay: allow adding back multiple extban prefixes ( #498 )
...
This fixes inbound relaying of modes such as +q $a:test, which are eventually converted into double extbans on InspIRCd and UnrealIRCd.
2017-08-23 22:29:14 -07:00
James Lu
de1a6379df
Add (experimental) support for matching extbans ( #498 )
2017-08-23 21:18:57 -07:00
James Lu
96c89b13b1
opercmds: send KILL hook payloads from the calling user
...
This is so that Relay's kill warnings, etc. can be actually be routed back to the sender.
2017-08-22 23:55:53 -07:00
James Lu
29bb4c3dfd
relay_clientbot: bump default startup delay to 20 seconds
2017-08-21 23:16:38 -07:00
James Lu
83183b366a
exec: import all of pylinkirc for convenience
2017-08-21 23:12:42 -07:00
James Lu
89699051d5
Services API rework
...
- Move nick/ident/host/gecos fetching from services_support into functions
- Remove the unused 'ident' argument from ServiceBot
- Rename the 'nick' argument in ServiceBot to 'default_nick'
- Define default nicks for the PyLink, Automode, and Games services
2017-08-21 21:51:45 -07:00
James Lu
ffc734d8e2
relay: only send RAW_MODES payloads to networks without can-spawn-clients
2017-08-18 15:51:14 -07:00
James Lu
15be760b19
relay: send RELAY_RAW_MODE payloads to the *remote* channel name
2017-08-18 13:30:17 -07:00
James Lu
8563556850
relay: fix relaying between channels not matching their lowercase (DB) name
...
This rewrites get_relay() to be case insensitive by taking the IRC object instead of a string name.
This fixes a regression introduced by 32249ac
(case-insensitive channel state)
2017-08-18 12:42:47 -07:00
James Lu
d679859d7d
relay: explain/comment the code for extban handling
2017-08-12 17:12:56 -07:00
James Lu
d2466dd33c
relay: support relaying channel mode changes as text
...
Closes #389 .
This adds a new internal hook RELAY_RAW_MODE, which is called once on every relayed network but with the mode list from the source network.
2017-08-11 19:22:14 -07:00