3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-24 03:33:10 +01:00
Commit Graph

3681 Commits

Author SHA1 Message Date
James Lu
2f6c8d2938 Revert "relay: shortcut get_remote_user some more; only grab spawn lock if the user doesn't exist"
This seems to have caused sporadic duplicate user spawns once more (#602)

This reverts commit 0bc24c94b2.
2018-05-05 23:17:24 -07:00
James Lu
c71e9a6410 Merge branch 'services-v3' into devel
- Revamp persistent channel registration to be plugin specific, effectively working around relay-services conflicts (closes #265)
- New abstraction in ServiceBot: add/remove_persistent_channel() to manage persistent channels independently of explicit joins and parts
- Introduce ServiceBot.part(), which sends a part "request" that succeeds only if a channel is not marked persistent by any plugin
- Replace ServiceBot.join() calls with the new registration mechanism, which queues joins instead of dropping them if the service client is not yet ready (closes #596)
2018-05-05 23:17:10 -07:00
James Lu
5a0cb9a4ff automode: add/remove persistent channels on set/del/clearacc 2018-05-05 21:51:27 -07:00
James Lu
8aa67b93fa automode: also rejoin DB channels on reload 2018-05-05 21:10:08 -07:00
James Lu
bf4863eb6d relay, ServiceBot: remove dead code 2018-05-05 13:20:55 -07:00
James Lu
72c2fa38e9 relay: consistently use "Channel delinked." as part message for service bots too 2018-05-05 13:19:57 -07:00
James Lu
c7da7f0025 ServiceBot: allow sending service parts with reasons 2018-05-05 13:19:43 -07:00
James Lu
61d7bf18d3 relay: also attempt to part the PyLink service bot on delink 2018-05-05 13:15:17 -07:00
James Lu
2532042506 services_support: raise endburst handler priority
Other plugins may implement endburst handlers assuming that their service bots have already been created.
2018-05-05 13:07:28 -07:00
James Lu
01c22aac21 Revert "service_support: consistently rejoin all channels on kick and kill"
This is no longer needed with plugin-specific persistent channels.

This reverts commit 3c9dac7e6b.
2018-05-05 13:07:07 -07:00
James Lu
92be421fad relay: attempt to remove persistent channels on delink as well
Also, wrap remove_persistent_channel calls with a try/except when they may fail.
2018-05-05 12:57:17 -07:00
James Lu
8994811f54 relay: further fixes for persistent channels
Also, merge the 'relay_local' and 'relay_remote' namespaces into one.
2018-05-05 12:52:00 -07:00
James Lu
e9fe15bd7d [WIP] Further revise the persistent channels implementation
- Make dynamic_channels per plugin as well as per network to work around relay-service conflicts (#265)
- Introduce ServiceBot.(add|remove)_persistent_channel() to add/remove persistent channels and optionally join/part them
- Introduce ServiceBot.part(), which checks remaining persistent channels list and parts a channel only if it is still not marked persistent
- Refactor automode to autojoin channels on ENDBURST instead of plugin load
- Refactor relay to manage persistent channels on join/part/(de)init, both locally (namespace 'relay_local') and remotely (namespace 'relay_remote')
2018-05-04 22:52:26 -07:00
James Lu
b46ab844fe classes: really fix KeyError crashes on duplicate QUIT 2018-04-30 11:11:14 -07:00
James Lu
7476c6cf05 ServiceBot: log access denials to warning - closes #593
(backported from commit 655221491c)
2018-04-25 23:19:29 -07:00
James Lu
8eba402a33 clientbot: drop pre-WHO join bursting with userhost-in-names, it's too unreliable
Closes #602.
Closes #551.
2018-04-24 12:39:29 -07:00
James Lu
d0568a6ad7
Add a donate badge
[skip ci]
2018-04-21 13:28:34 -07:00
James Lu
8a09f321da Drop pypandoc stuff and use Markdown descriptions on PyPI 2018-04-21 11:08:39 -07:00
James Lu
e96081aa6e PyLinkNetworkCore: make deletion from self.users non-fatal 2018-04-20 19:39:35 -07:00
James Lu
af744123e6 automode: join channels regardless of whether they're empty 2018-04-20 19:35:06 -07:00
James Lu
0ead868546 service_support: skip dynamic join/part hooks on bot-only servers 2018-04-20 19:35:06 -07:00
James Lu
4bfcd52731 RELNOTES: fix formatting of old versions' changelogs
[skip ci]

(cherry picked from commit ce82c231fe)
2018-04-17 12:03:42 -07:00
James Lu
9967b7d9fe adv-relay-config: fix up in-page link [skip ci] 2018-04-17 11:52:09 -07:00
James Lu
041b6aecb6 adv-relay-config: more revisions (closes #597) [skip ci]
commit c82dcb95a6fa1584104a258c9772845b5549b35e
Author: James Lu <james@overdrivenetworks.com>
Date:   Tue Apr 17 11:49:44 2018 -0700

    adv-relay-config: more cleanup and stylistic tweaks

commit 515974a54a3a5970b4b78569e395ba69b7ee2ebc
Author: James Lu <james@overdrivenetworks.com>
Date:   Tue Apr 17 11:45:02 2018 -0700

    adv-relay-config: revert sorting events

    I'd rather have this match the code 1 to 1.

commit c63a298bd44b341831c2492d667becac67b42b42
Author: Ken Spencer <me@iotaspencer.me>
Date:   Tue Apr 17 02:15:31 2018 -0400

    adv-relay-config: change a bit of formatting (#597)

commit aa9577e8300d30713249e054905e6975897e1965
Author: Ken Spencer <me@iotaspencer.me>
Date:   Tue Apr 17 02:09:31 2018 -0400

    adv-relay-config: add more about coloring, sort events
2018-04-17 11:50:28 -07:00
James Lu
89a7f59262 adv-relay-config: various wording adjustments 2018-04-16 22:09:01 -07:00
James Lu
236d800b47 adv-relay-config: move the supported events slightly lower (#597)
[skip ci]
2018-04-16 22:01:49 -07:00
Ken Spencer
601259c771 adv-relay-config: fix up and change table to markdown (#600) 2018-04-16 21:56:20 -07:00
Ken Spencer
5623c06b8f adv-relay-config: fix colons so they match example-conf (#599)
First part of #597.
2018-04-16 20:33:10 -07:00
Ken Spencer
78d1d20856 adv-relay-config: fix colons so they match example-conf (#598)
First part of #597.
2018-04-16 20:27:00 -07:00
James Lu
281ac7aa31 antispam: add a workaround for clientbot support (#359) 2018-04-14 11:40:19 -07:00
James Lu
47052a3bba antispam: use kick+ban as default punishment 2018-04-13 22:18:41 -07:00
James Lu
3e07239db4 antispam: don't kill users if they quit after previous punishments 2018-04-13 22:18:03 -07:00
James Lu
dd8f9411b6 antispam: filter protection-triggering messages from reaching other plugins (#359) 2018-04-13 22:15:24 -07:00
James Lu
3825b93dee Initial pass of a mass-highlight blocking plugin (#359) 2018-04-13 22:08:37 -07:00
James Lu
4d9fbc55ba Merge branch 'wip/dynamic-services' into devel 2018-04-13 22:08:28 -07:00
James Lu
3c9dac7e6b service_support: consistently rejoin all channels on kick and kill
This is the cheap fix to part one of #265: "When a services client is killed, it won't join any relay leaf channels"
2018-04-13 20:34:26 -07:00
James Lu
4cdc19ac78 relay: fix is_internal_client call 2018-04-13 20:31:56 -07:00
James Lu
2f12a5b710 Initial work on dynamic service bot joining / parting (#265) 2018-04-12 12:45:33 -07:00
James Lu
2cb4a06e64 commands: report times in showuser, showchan in UTC
XXX: we could perhaps use abstraction to this since we're repetitively chaining commands
XXX: 'ts' is not type-safe yet, some protocol modules are storing it as a string?!
2018-04-12 10:58:09 -07:00
James Lu
25d24e9bb2 Use non-blocking sockets again, since Linux select() doesn't guarantee that recv() won't block 2018-04-12 10:58:09 -07:00
James Lu
bbc7a981ba example-conf: tweak some more defaults for clarity
(cherry picked from commit 66ec3d9755)

Conflicts:
	example-conf.yml
2018-04-10 22:31:24 -07:00
James Lu
c82b12d9d6 example-conf: clarify nick/ident setting on clientbot
(cherry picked from commit 170d793939)
2018-04-10 22:29:43 -07:00
James Lu
c7159b9cad core: move clearing channels on kick/part to coremods/handlers
This is for consistency with the rest of the state cleanup code.
2018-04-07 22:44:00 -07:00
James Lu
16faac83eb core: delete empty permanent channels when -P is set on them 2018-04-07 22:38:19 -07:00
James Lu
6bcf7d325f PyLinkNetworkCore: add get_service_option()
Closes #574.
2018-04-07 22:20:35 -07:00
James Lu
138a52611e classes: oops, actually tell the queue thread to abort before we wait for it to stop 2018-04-07 22:12:17 -07:00
James Lu
80cbd7a257 classes: make disconnections more synchronized
- Make ping timer abort instantly if the network is dead
- Shut down the read and write parts of the socket separately, and only close the socket once both parts are done.
2018-04-07 21:56:10 -07:00
James Lu
84dbca4bda classes: thread socket connects once more since they block 2018-04-07 21:56:06 -07:00
James Lu
655221491c ServiceBot: log access denials to warning - closes #593 2018-04-07 20:22:55 -07:00
James Lu
0202d88124 PyLink 1.3-beta1 2018-04-07 16:40:24 -07:00