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
James Lu
e17837cbb1
relay: add nickflood (inspircd +F) to whitelisted cmodes
2017-08-11 13:32:04 -07:00
James Lu
5250e41a94
relay: reformat whitelisted mode lists
2017-08-11 13:29:45 -07:00
James Lu
4a6f94f8fc
relay: add workarounds for u-lined servers
...
- Allow ulines to join with modes (this status gets forwarded as part of relay_joins()), but *ignore* this status when checking for claim
- For U-lined clients to set modes properly and kick, they be on the claim list
- Allow ulines to set modes on ulined clients including itself. These changes are ignored: not forwarded, not bounced, but just left there.
- Ignore uline attempts to set non-list modes - this is mostly for compatibility with Anope's DEFCON, as it would otherwise lead to a mode flood.
This requires commit 9113b34b46
, i.e. the get_server() update.
2017-08-11 13:15:03 -07:00
James Lu
00f70a9432
opercmds: remove extra newline in 'massbanre' help
2017-08-08 21:28:27 -07:00
Austin Ellis
fa0dd100e5
plugins/automode: fix SETACC example
...
Small fix to plugins/automode SETACC example given in help output.
2017-08-08 22:12:23 -05:00
James Lu
17ba9be238
exec.threadinfo: use case-insensitive sort
2017-08-08 00:30:47 -07:00
James Lu
8b771f6d28
exec: add 'threadinfo' command
2017-08-08 00:22:57 -07:00
James Lu
8558a4e56d
stats: treat stats characters case-insensitively
2017-08-08 00:00:12 -07:00
James Lu
7d26ce4ab5
stats: log to INFO attempts to call unknown /stats
2017-08-07 23:58:30 -07:00
James Lu
29fc73193f
stats: removed unused code
2017-08-07 23:55:53 -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
29458c8e47
commands, opercmds: remove explicit to_lower usage
...
Closes #500 - I'm going to skip relay and automode because DataStore doesn't do case normalization yet.
2017-08-07 21:47:31 -07:00
James Lu
716bb6da5e
opercmds: exempt service bots from masskill/massban
2017-08-07 17:24:44 -07:00
James Lu
90eee9f5cb
opercmds: skip opers by default in masskill/massban
2017-08-07 17:22:56 -07:00
James Lu
a080fd253f
opercmds: log massban and masskill results to INFO
2017-08-07 17:15:23 -07:00
James Lu
1597c78089
opercmds: fix wrong counting in 'masskill' if a user gets kicked from multiple channels
2017-08-07 16:55:00 -07:00
James Lu
7266f09879
opercmds: add masskillre variant
...
Closes #499 .
2017-08-07 16:50:15 -07:00
James Lu
8987b91845
opercmds: fix --force-kb check on masskill
2017-08-07 16:50:04 -07:00
James Lu
187ca11946
commands: show an error if 'echo' is called without a text argument.
2017-08-07 00:48:28 -07:00
James Lu
f3acb3c21d
networks: support more specific 'remote' permissions by target network, service, and command
...
Closes #457 .
2017-08-07 00:46:53 -07:00
James Lu
6e0145c3b7
networks: use nargs='+' instead of manual verification in 'networks'
2017-08-07 00:38:59 -07:00
James Lu
075b746f32
opercmds: add a note to 'remote' in 'masskill'
2017-08-07 00:37:09 -07:00
James Lu
d10da72545
opercmds: reword docs/errors and add a separate permission for --force-kb
2017-08-07 00:34:03 -07:00
James Lu
f0a82859a0
opercmds: apply claim checks to massban as well
2017-08-07 00:33:01 -07:00
James Lu
8b4e73e0ed
opercmds: show failed kills in 'masskill' due to claim
2017-08-07 00:18:56 -07:00
James Lu
6dc41ca15a
opercmds: join reason fields in massban/masskill properly
2017-08-07 00:18:11 -07:00
James Lu
aca78b52cf
opercmds: add masskill command ( #499 )
2017-08-06 23:49:09 -07:00
James Lu
9e97dd0b75
opercmds: rename hook payloads to be more consistent
2017-08-06 20:03:20 -07:00
James Lu
a72f710a69
Add regex variants to checkban and massban
2017-08-06 20:02:20 -07:00
James Lu
d12f12ae22
Add a 'massban' command
...
Closes #174 .
2017-08-06 19:21:55 -07:00
James Lu
cb36e29b92
opercmds: migrate to irc.match_all()
2017-08-06 17:56:27 -07:00
James Lu
f4da1fc94c
Merge branch 'master' into devel
...
Conflicts:
VERSION
classes.py
docs/faq.md
example-conf.yml
protocols/p10.py
pylink
world.py
2017-08-05 22:11:22 -07:00
James Lu
b456966dd3
relay: move ban-style and whitelist checks to earlier in get_supported_cmodes
2017-08-05 22:03:58 -07:00
James Lu
ffde2c6b32
relay: add in muteban relaying on InspIRCd and UnrealIRCd
2017-08-05 22:03:51 -07:00
James Lu
b9a58670ef
relay: cleanup code flow in handle_mode
2017-08-05 21:13:39 -07:00
James Lu
d734fc3280
servprotect: bump default conf up to 10 hits/10 seconds
2017-08-03 10:10:28 -07:00
James Lu
a639efa93e
relay: allow overriding tag_nicks per network
...
Closes #494 .
(cherry picked from commit 1d6b692e14
)
Conflicts:
example-conf.yml
2017-08-03 09:55:29 -07:00
James Lu
4379ef68ef
Migrate coremods.permissions to snake case
2017-08-02 22:24:23 +08:00
James Lu
d42eb82b62
bots: remove obsolete "Admin-only" tags from command help
2017-08-02 22:10:04 +08:00
James Lu
76b8932eeb
bots: remove duplicate nick_to_uid call
2017-08-02 22:09:48 +08:00
James Lu
529d1d84be
opercmds: remove obsolete "Oper/admin only" tags from commands
...
These have been long superseded by the permissions API.
2017-08-02 22:06:08 +08:00
James Lu
1d6b692e14
relay: allow overriding tag_nicks per network
...
Closes #494 .
2017-08-02 21:57:48 +08:00
James Lu
def1c0bfd9
opercmds: use irc.reply() instead of irc.msg(source, ...)
2017-08-02 21:48:05 +08:00
James Lu
acceb4e714
opercmds: reword checkban docs
2017-08-02 21:45:20 +08:00
James Lu
bf495a0aae
opercmds.checkban: make maxresults configurable, up to a cap of 200
2017-08-02 21:44:17 +08:00
James Lu
47f3977554
Move NetworkCore.parse_protocol_command to IRCNetwork.parse_irc_command
...
Also add a stub for handle_events.
2017-07-31 11:09:08 +08:00
James Lu
02bd2035e4
opercmds: refactor checkban to use IRCParser, and implement --channel
...
--channel is really just a wrapper around the $and and $channel exttargets, but it exists separately for convenience. Closes #491 .
2017-07-30 01:12:02 +08:00
James Lu
9b271efc89
opercmds: use %r instead of '%s' in formatting
2017-07-30 00:37:27 +08:00
Mitchell Cooper
d1b321310e
opercmds: add chghost, chgident, chgname commands ( #488 )
...
Closes #481 .
2017-07-15 07:41:16 +08:00
James Lu
716ffd389b
classes: mark reply_lock, init_vars as private
2017-07-14 05:22:05 -07:00
James Lu
561319bc57
networks: explicitly log successful network disconnects
2017-07-12 22:22:08 -07:00
Mitchell Cooper
c92bb1e33b
relay: add server-specific server_suffix ( closes #462 ) ( #484 )
2017-07-12 14:10:36 -07:00
James Lu
654df0889d
relay: rename checkSendKey -> _check_send_key
2017-07-12 07:51:34 -07:00
James Lu
508253af7e
relay: switch to Channel.is_op_plus()
2017-07-11 02:23:13 -07:00
James Lu
f203abdeb0
relay: move iteration over all networks into a wrapper function
...
First part of #471 .
2017-07-10 23:09:00 -07:00
James Lu
a43076e815
relay: rename isRelayClient to is_relay_client
2017-07-10 22:38:25 -07:00
James Lu
2f87aa63e9
relay: remove double iteration when firing the PYLINK_RELAY_JOIN hook
2017-07-10 22:36:43 -07:00
James Lu
bd19468825
automode: rename internal functions to snake case
2017-07-10 22:10:55 -07:00
James Lu
4df101c40c
automode: fix alias definitions
2017-07-10 22:10:47 -07:00
James Lu
79db7b2124
automode: fix $ircop exttarget name in setacc examples
...
(cherry picked from commit 24caf36230
)
2017-07-10 22:07:11 -07:00
James Lu
59a4ecdcb9
automode: rewrap help for SET
...
(cherry picked from commit 499e94e0a5
)
2017-07-10 22:07:09 -07:00
James Lu
24caf36230
automode: fix $ircop exttarget name in setacc examples
2017-07-10 22:06:41 -07:00
James Lu
499e94e0a5
automode: rewrap help for SET
2017-07-10 22:06:08 -07:00
James Lu
bf24bac9c9
ServiceBot: replace 'alias' option with 'aliases' & condense multiple add_cmds calls into one
2017-07-10 21:59:29 -07:00
Mitchell Cooper
100089f6b8
add alias argument where appropriate in plugins
2017-07-09 21:19:08 -04:00
James Lu
f7dfc38688
relay: only initialize channels that are relevant to the called network in initialize_all()
...
Previously, this would quite often hit channel names that simply don't exist on the target network.
2017-07-07 14:20:24 -07:00
James Lu
3b091f9e20
relay: remove a useless logging line
2017-07-07 13:43:30 -07:00
James Lu
d2d76baad8
relay: more detailed logging when the spawn_* condition times out
2017-07-07 13:32:04 -07:00