3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-02 15:59:26 +01:00
Commit Graph

325 Commits

Author SHA1 Message Date
James Lu
1a0983b8e9 relay: prefix nicks starting with - (this is invalid) 2016-07-01 19:19:11 -07:00
James Lu
c9b6695f90 relay: make sure normalized nicks have no invalid characters
This affects the separator option too: if someone puts something invalid in that field, this will coerse bad chars to | instead of letting the IRCd deal with it.
2016-07-01 19:16:47 -07:00
James Lu
042a173d87 relay: use a 5 second timeout when acquiring all threading locks 2016-07-01 18:54:35 -07:00
James Lu
06ee35dcfc relay: catch various errors if a relay client is killed while commands are called from it 2016-07-01 18:54:07 -07:00
James Lu
4cd49296e5 Merge remote-tracking branch 'origin/master' into devel 2016-06-30 19:00:39 -07:00
James Lu
91a663d5c7 commands, relay: use irc.reply() with private=True instead of irc.msg()
This is more flexible, etc.
2016-06-30 18:43:56 -07:00
James Lu
14f569fd7c relay: improve command help, add featured command definitions 2016-06-30 18:05:27 -07:00
James Lu
5f2da1c8c3 relay: cap waiting time for irc.connected to 5 seconds 2016-06-29 18:12:50 -07:00
James Lu
8b39635fa8 relay: don't expect that serverdata['channels'] is always present 2016-06-27 23:00:39 -07:00
James Lu
8af4b0c06d relay: use extra_channels to persistently join the PyLink bot to relay channels
Closes #247.
2016-06-25 14:21:18 -07:00
James Lu
1ce6102ae8 relay: allow toggling netsplit hiding 2016-06-25 13:47:59 -07:00
James Lu
1a6bb714ac relay: drop spawn_servers toggle, remove "Relay network lost connection" quits
Relay server spawning is now always on - there's no real reason why it shouldn't work.

Closes #237.
2016-06-25 13:27:24 -07:00
James Lu
f009a739bc Merge remote-tracking branch 'origin/master' into devel 2016-06-25 11:36:55 -07:00
James Lu
f445f7baef relay: be more tolerant to users sending messages to channels they're not in
This extends the routing of messages from servers across the relay via the main PyLink client to users too.
This allows atheme's GameServ, various commit announcers, etc. to work over relay regardless of whether +n is set.
2016-06-25 11:31:04 -07:00
James Lu
e966fe7e56 relay: typo in comment 2016-06-25 10:43:07 -07:00
James Lu
504a9be7d6 relay: attempt to eliminate freezing when networks are down 2016-06-24 18:41:13 -07:00
James Lu
90ee20ee8b relay: revert changes to mode handling that only bursts modes from the owning network on connect 2016-06-22 21:41:04 -07:00
James Lu
6fc5fa3130 relay: split relayModes() into getSupportedCmodes() for better reusability
First part of #248.
2016-06-22 19:49:49 -07:00
James Lu
8969cfb74e Merge branch 'master' into devel
Conflicts:
	plugins/networks.py
2016-06-22 19:10:59 -07:00
James Lu
cfa2cda885 relay: only reverse modes for CLAIM if there are any to reverse 2016-06-21 20:29:48 -07:00
James Lu
481d70eff8 New import paths for properly installed pylinkirc 2016-06-20 18:18:54 -07:00
James Lu
87cbbc9c57 relay: clearer error message when DESTROY'ing a channel you didn't create 2016-06-19 12:32:27 -07:00
James Lu
d3e207d653 relay: axe unused variable 2016-06-19 12:32:12 -07:00
James Lu
bcc754cf0b relay: allow forcing slashes on unsupported IRCds
This adds an undocumented option "relay_force_slashes" to allow slashes in nicks anyways, for IRCds that are, for example, TS6 or P10 variations that don't validate remote nicks.
2016-06-19 12:32:03 -07:00
James Lu
e47738c27f relay: forbid linking two channels on the same network 2016-06-19 12:14:09 -07:00
James Lu
9732d01a9e relay: default DB to {} so it doesn't flip out on 'load relay'
(cherry picked from commit db56513ac7)
2016-06-17 07:19:13 -07:00
James Lu
e1d3003683 relay: less accusatory message for links blocked by LINKACL 2016-06-08 16:00:25 -07:00
James Lu
ed19c2b24a relay: block topic changes from the main SID, not the PyLink client 2016-05-22 19:12:11 -07:00
James Lu
8c55eb43e7 relay/commands: reformat showuser output slightly 2016-05-21 23:05:39 -07:00
James Lu
03790b5939 relay: implement LINKED <netname> to filter by network
Closes #227.
2016-05-21 22:55:06 -07:00
James Lu
357eabe27a relay: optionally relay home server & login details in /WHOIS
Closes #221. Closes #222.
2016-05-19 23:32:43 -07:00
James Lu
4e8de60005 core: Rewrite WHOIS handlers to simply listen to a custom hook (PYLINK_CUSTOM_WHOIS) 2016-05-19 23:32:43 -07:00
James Lu
ae87def11f Purge c_ and u_ prefixes from named modes
Closes #217.
2016-05-15 11:05:02 -07:00
James Lu
75798b5fba relay: don't relay kicks to service bots 2016-05-14 16:24:26 -07:00
James Lu
28f992d3cb relay: don't spawn clones for service bots 2016-05-14 16:17:20 -07:00
James Lu
3930891e9f relay: don't rely on irc.pseudoclient as much during init 2016-05-14 14:03:59 -07:00
James Lu
bcc648adff relay: support relaying more channel modes
flood, flood_unreal, joinflood, freetarget, c_noforwards, and noinvite are whitelisted with this commit.
2016-05-11 21:18:30 -07:00
James Lu
366836b821 relay: burst topics from the main PyLink server
When a channel is being initialized, PyLink has no specific network to propagate topics from; they just get sent from whichever linked network we happened to iterate over first. This prevents misleading topic setters like 'randomnet.relay' from showing up.
2016-05-02 18:54:46 -07:00
James Lu
917b0de596 relay: log spawnlocks calls 2016-05-01 14:59:13 -07:00
James Lu
f6a9f0729a relay: don't error if the privmsg source on a remote network is missing
This can happen when someone speaks while a network is initializing, for example.
2016-05-01 14:59:13 -07:00
James Lu
bb8a548e74 relay: make handle_quit error-tolerant if the target is missing
In cases where multiple networks disconnect simultaneously, the relay user for a quitting client from the first dying network might have also disappeared while handle_disconnect was processing the disconnection of a second dying network. This should take into account those situations.
2016-05-01 14:59:13 -07:00
James Lu
54987fde4e relay: code cleanup, possibly fix clones for PyLink clients being spawned from rare race conditions 2016-05-01 14:59:13 -07:00
James Lu
ab5624343b relay: fix regression causing 'load relay' to freeze 2016-05-01 14:59:13 -07:00
James Lu
69cd3cfbf8 relay: fix race conditions when multiple networks disconnect simultaneously 2016-05-01 14:59:13 -07:00
James Lu
3bb1208e74 core: move toLower to Irc (#199) 2016-04-30 16:57:38 -07:00
James Lu
2fe2e9c8c4 core: move isOper, checkAuthenticated to Irc (#199) 2016-04-30 16:54:11 -07:00
James Lu
78f8a2fc8d core: move isManipulatableClient, getHostmask to Irc 2016-04-30 16:44:37 -07:00
James Lu
064cb9b6aa core: move reverseModes, joinModes into Irc 2016-04-30 16:33:46 -07:00
James Lu
42718ed323 relay: Allow IP sharing to be toggled per network
Via a new "relay_no_ips" option in server blocks. Closes #201.
2016-04-18 12:29:15 -07:00
James Lu
4c83bfc3ef relay: don't error if irc.pseudoclient hasn't been initialized yet 2016-04-18 11:52:01 -07:00