James Lu
4df8567fa6
Irc: move PYLINK_DISCONNECT firing and connected.clear() into disconnect() ( #421 )
...
This may prevent extra irc.connected.clear() calls from messing with the was_connected state.
2017-02-25 22:06:43 -08:00
James Lu
cd65da75c6
relay: only announce disconnects if the last connection was successful
2017-02-24 21:42:58 -08:00
James Lu
cd3d795296
relay: implement optional network disconnect announcements
...
Closes #421 .
2017-02-24 21:15:40 -08:00
James Lu
c03f2d772c
relay: allow dropping messages from user-less clients
...
This adds two new options, both defaulting to True:
- relay:accept_weird_senders (global)
- servers:<name>:relay_weird_senders (per-server)
Closes #404 .
2017-02-24 19:16:01 -08:00
James Lu
f432f6f082
relay: don't allow linking to channels when the home network is down
...
This check can be overridden via --force, and should stop unreliable TS checks from appearing instead
Closes #419 .
2017-02-21 21:58:32 -08:00
James Lu
93c9b6289c
relay: switch to IRCParser in 'link' and add a --force option to skip TS checks
...
Closes #416 .
2017-02-21 21:52:22 -08:00
James Lu
02faa3fcb6
relay: more verbosity in TS-related link errors
2017-02-21 21:14:03 -08:00
James Lu
a9d2a2c4bc
relay, handlers: rewrite oper WHOIS replies to show the target's home network
2017-02-18 13:51:45 -08:00
James Lu
3c98ef172e
relay: use the new Irc.getFullNetworkName() where applicable
2017-02-18 13:33:35 -08:00
James Lu
0b0efbaf9f
relay: less ambiguous error if a relay channel doesn't exist on the caller network
2017-02-05 21:47:11 -08:00
James Lu
6e94375ed9
relay: clarify/revise help text for 'claim'
2017-02-05 21:43:53 -08:00
James Lu
dcacfb0c10
relay: catch RuntimeError in spawnRelayServer as well
...
This is raised when a network runs out of SIDs, for example.
2017-02-03 18:06:49 -08:00
James Lu
8901ed72ee
relay: s/spawnIfMissing/spawn_if_missing/g
2017-01-29 22:18:05 -08:00
James Lu
fa30d3c732
relay: rework fallback message routing to be less annoying ( #384 )
...
- PRIVMSGs from users not spawned on a network are sent via the main PyLink client in the format "<$orignick/$network> <$text>"
- <PyLink> <user/net> blah blah
- NOTICEs from users use the same format above, and are routed from the relay subserver representing the network that the message originated from
- Notice(somenet.relay): <user/net> blah blah
- PRIVMSGs from servers are blocked, because they aren't valid on all IRCds and are fairly obscure anyways (suggestsions/improvements welcome)
- NOTICEs from servers are forwarded as raw text, from the relay subserver representing the origin network
- Notice(somenet.relay): some server announcement
2017-01-29 20:21:45 -08:00
James Lu
e936b9cfd2
relay: add a spawn_if_missing option to get_remote_sid()
2017-01-29 20:20:39 -08:00
James Lu
c20c144222
automode, relay: remove unused imports
2017-01-21 12:01:41 -08:00
James Lu
a2e7a35998
relay: remove incorrect network name in logging for blocked kicks
2017-01-06 22:51:50 -08:00
James Lu
e0bda6b850
relay: also filter out low TS values in burst relaying
2017-01-06 22:48:11 -08:00
James Lu
3e706366bd
relay: on Clientbot networks, don't relay prefix mode changes for the relayer bot
...
Closes #366 .
2017-01-06 16:45:48 -08:00
James Lu
a340ab15e1
relay: local channel in 'link' is optional
...
Thanks to Digerati for noticing this.
2016-12-29 08:47:35 -08:00
James Lu
614c029538
relay: add missing 'relay.linked' permissions check
2016-12-25 00:31:38 -08:00
James Lu
c09fce344d
relay: whitelist _ on InspIRCd, UnrealIRCd, Nefarious, clientbot
2016-12-19 00:00:24 -08:00
James Lu
ef8ec03e41
relay: re-add / in hosts for networks that support it
2016-12-18 23:56:47 -08:00
James Lu
3339bf0fe6
relay: rewrite normalizeHost() to whitelist characters instead
2016-12-17 23:47:26 -08:00
James Lu
b5f244009a
relay: rename camel case functions to lowercase with underscores
...
The exception is isRelayClient(), which is aliased only to is_relay_client() to be consistent with isXYZ() functions elsewhere in the framework
Also, getRemoteChan() was renamed to get_remote_channel()
2016-12-09 18:02:30 -08:00
James Lu
2b4943a780
relay: add locks in db read/writes (thread safety)
2016-12-09 17:44:11 -08:00
James Lu
e40b2f6529
relay: add 'purge' command to remove all relays involving a network
...
Closes #356 .
2016-12-09 17:34:51 -08:00
James Lu
8855ef2a41
relay: don't break in removeChannel if irc.pseudoclient isn't set
2016-12-09 17:34:34 -08:00
James Lu
638b9dc84a
relay: rewrap help for LINKACL
...
More formatting changes to come.
2016-12-05 23:33:42 -08:00
Ken Spencer
d467d27ecd
plugins: change remaining plugins over irc.error() use
2016-11-18 23:11:44 -08:00
James Lu
691a8178b2
relay: implement 'showchan' with links info
...
Closes #353 .
2016-11-12 10:43:55 -08:00
James Lu
b94e11930e
structures: directly retrieve DB save delay in DataStore ( #303 )
2016-11-09 22:53:13 -08:00
James Lu
b0636b40ab
Finish the plugin migration to DataStore
...
Closes #303 .
2016-11-09 22:47:22 -08:00
James Lu
377df413ed
Irc: s/isServiceBot/getServiceBot/g ( #355 )
...
This function is renamed to better reflect its return value (ServiceBot object instead of boolean True).
2016-11-09 19:09:59 -08:00
James Lu
b0bd5d47ae
relay: fix logging format in spawnRelayUser error
2016-11-07 22:04:34 -08:00
James Lu
44743d860e
relay: don't break autoconnect anymore when there's a server conflict
...
This reverts most of commits 5c7524b
and f2a5e1d
.
2016-11-07 21:53:52 -08:00
James Lu
4246a3d113
relay: work on sane fallbacks when a network's SID goes missing ( #354 )
2016-11-07 21:47:53 -08:00
James Lu
2d20256ed8
Relay: rework to use the permission system
...
This defines the following permissions:
Granted to opers by default:
- relay.create
- relay.destroy
- relay.claim
- relay.link
- relay.delink
- relay.linkacl.view
- relay.linkacl
Granted to all users by default:
- relay.linked
And the following which is not explicitly granted:
- relay.savedb
Closes #325 .
2016-11-07 21:22:52 -08:00
James Lu
d230af1d5e
relay: skip channel TS check for Clientbot
2016-10-22 20:45:43 -07:00
James Lu
a5d97c15e7
relay: disable nick collide messages to debug
2016-10-20 20:13:17 -07:00
James Lu
57b566286d
relay: make clientbot modesync more configurable ( #287 )
2016-09-25 20:07:16 -07:00
James Lu
4222cc30a8
relay, clientbot: implement clientbot mode sync
...
Closes #287 .
2016-09-25 20:07:16 -07:00
James Lu
b9d8ec5039
relay: listen to PYLINK_SERVICE_JOIN from services_support
2016-09-24 12:13:33 -07:00
James Lu
a040c3c7d2
ServiceBot: modularize join() for explicit channel joining ( #326 )
2016-09-23 23:43:07 -07:00
James Lu
3900833458
relay: allow configuring custom relay server suffixes
...
Closes #333 .
2016-09-23 22:49:04 -07:00
James Lu
b467da13b1
relay: clobber colour codes in hosts
2016-09-20 06:58:04 -07:00
James Lu
838ea6bfc4
relay: skip iterating over modetype definitions during reverse mode lookup
...
This fixes a bug when setting +l on UnrealIRCd, where the type C mode definition is coincidentally also equal to 'l'. Reported by kevin via IRC.
2016-09-07 20:37:57 -07:00
James Lu
dd083b9b8d
relay: remove extraneous comment
2016-09-06 20:11:08 -07:00
James Lu
c5c77eeb97
protocols: chandata->channeldata for MODE and JOIN hooks
2016-09-02 17:52:19 -07:00
James Lu
663d03ed2c
relay/clientbot: begin work on outgoing PMs to clientbot users ( #318 )
...
This still needs to implement PMs going the other way around, and should eventually distinguish between PMs and private notices.
2016-08-31 14:08:28 -07:00