James Lu
44be5910e0
Revert "control: move rehash signal to SIGUSR1, and shutdown on SIGHUP (terminal close)"
...
This wasn't an incredibly popular decision because it broke a simple 'pylink &'
This reverts commit 883f9199ec
.
Conflicts:
coremods/control.py
2018-01-21 13:31:15 -08:00
James Lu
8490bee634
handlers: pick the highest prefix when displaying status in WHOIS
...
This fixes a regression from aa44bc15a3
2017-12-12 12:46:43 -08:00
James Lu
d4cbf1d2af
services_support: fix rejoin-on-kill to the main service bot
...
Clear the irc.pseudoclient state on kill as the respawning code will check for it first and reuse UIDs even if they don't exist.
2017-11-12 10:54:30 -08:00
James Lu
d0dff2c5ae
Move permission enumeration to runtime, fix default perms not applying at startup
...
Closes #542 .
2017-10-22 00:08:16 -07:00
James Lu
eca40a3d7c
coremods/handlers: implement cleanup code for visible-state-only servers
...
Closes #536 .
Closes #517 .
2017-10-07 21:49:17 -07:00
James Lu
2535aa145f
corecommands: fix unloading plugins that define hooks
...
This fixes a regression from 5e92aefcd4
.
2017-09-23 13:39:13 -07:00
James Lu
ae06484aea
exttargets: tweak docstring syntax for better readability
2017-09-05 19:19:44 -07:00
James Lu
d3892a85be
Add $service exttarget for matching service bots
2017-09-05 19:19:01 -07:00
James Lu
5e92aefcd4
Implement priorities in utils.add_hook()
...
This changes world.hooks to store lists of tuples indicating (priority, hook_func).
2017-09-02 21:17:50 -07:00
James Lu
82a7b914b6
Move control.tried_shutdown to world.shutting_down
2017-08-31 13:36:50 -07:00
James Lu
94e05a6233
services_support: fix clientbot service spawning when irc.pseudoclient exists but isn't in the user index
2017-08-30 19:50:25 -07:00
James Lu
cad55097f1
core: reuse existing service client UIDs for all service bots
...
This prevents nick collision wars caused by spawn_service when an ENDBURST hook for the uplink is received multiple times.
2017-08-30 19:29:46 -07:00
James Lu
d79f1766b6
classes, coremods: migrate to irc.is_*
2017-08-28 20:13:25 -07:00
James Lu
ba649fb8b4
utils, exttargets: add checks for channel presence
2017-08-25 02:31:26 -07:00
James Lu
0bb4a35c6f
Support pre-auth irc.pseudoclient enumeration & configurable altnicks
...
Closes #516 . Closes #288 .
2017-08-21 23:05:56 -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
d818c17072
control: don't spew "Stopping plugins" notices if none are loaded
2017-08-16 12:17:19 -07:00
James Lu
3b6c1e56c4
launcher: move reset_permissions() call into the permissions module
2017-08-16 11:21:06 -07:00
James Lu
f439267129
Allow limiting login blocks to opers & certain hosts
...
Closes #502 .
2017-08-07 21:44:15 -07:00
James Lu
14bebd98e7
control: fix import loop with pylinkirc.classes
2017-08-07 17:06:56 -07:00
James Lu
dd1444dcd9
corecommands: block 'identify' from being used by command proxies such as networks.remote
...
This would have pretty bad unintentional consequences...
2017-08-07 16:31:28 -07:00
James Lu
8059f3f7fc
Allow specifying login blocks that are local to certain networks
2017-08-07 16:16:17 -07:00
James Lu
21a39de0b4
corecommands: alias 'identify' to 'login' and 'id'
2017-08-07 16:15:54 -07:00
James Lu
2ff0007e56
exttargets: add $realname target
2017-08-06 21:41:44 -07:00
James Lu
4379ef68ef
Migrate coremods.permissions to snake case
2017-08-02 22:24:23 +08:00
James Lu
f15f27168a
services_support: log the reason as well when a service bot is killed
2017-08-02 22:15:19 +08:00
James Lu
3eb2c6bbf7
service_support: raise KILLs to service bots to INFO
2017-07-30 00:32:59 +08:00
James Lu
91659ea992
core: Properly track whether we should actually remove the PID file
...
Previously, PyLink spuriously removed PID files even if -n/--no-check-pid was set or if PID file checking caused PyLink to quit
2017-07-20 21:13:01 +08:00
James Lu
5a5a98c4ef
services_support: migrate to conf.conf['pylink'], make the realname option optional
2017-07-14 05:51:40 -07:00
James Lu
a164924ce5
Merge branch 'conf-host' of https://github.com/cooper/PyLink into devel
2017-07-14 05:38:45 -07:00
James Lu
2e7fed84c1
IRCNetwork: mark connection_thread, pingTimer, socket, and queue as private
2017-07-12 22:56:30 -07:00
James Lu
3cc6ea1e88
corecommands: remove duplicate error logging when REHASH fails
2017-07-12 22:44:51 -07:00
James Lu
d57e141fbc
control: log the name of the PID file on shutdown
2017-07-12 22:22:08 -07:00
James Lu
61db5d616d
corecommands: use irc.get_hostmask instead of formatting the caller's hostname manually
2017-07-12 22:22:08 -07:00
James Lu
bb2b57f9dd
control: mark signal handlers as private
2017-07-12 22:22:08 -07:00
James Lu
74f68c2176
control: mark rehash and shutdown as public
2017-07-12 22:22:08 -07:00
James Lu
22e6992770
core: consistently call die() with irc as a keyword argument
2017-07-12 22:22:08 -07:00
Mitchell Cooper
a1dfa14d20
allow realname to be specified the same way
2017-07-12 18:53:02 -04:00
Mitchell Cooper
33630e8f9d
allow host to be specified in service bot block or per-network
2017-07-12 18:38:26 -04:00
James Lu
0e4737e59d
handlers: strip away '(on $network)' portions of relay oper types if the source and target netname are the same
2017-07-12 07:57:07 -07:00
James Lu
9a2bff25ee
control: migrate to new log_setup() name
2017-07-12 07:50:34 -07:00
James Lu
50e7b0ab13
Limit signon time in WHOIS replies to service bot targets
...
Faking signon time for relay clients, etc. is misleading...
2017-07-12 07:49:19 -07:00
James Lu
556c2efb0a
Make showing startup time an option (whois_show_startup_time)
2017-07-12 07:44:18 -07:00
James Lu
adaa6021f9
handlers: use conf.conf['pylink']
2017-07-12 07:35:51 -07:00
James Lu
6a0859f56a
handlers: send PyLink's connect time via 317 (RPL_WHOISIDLE)
2017-07-12 07:32:50 -07:00
James Lu
7c5f1533a0
handlers: fix weirdly named variables
2017-07-12 07:32:40 -07:00
James Lu
883f9199ec
control: move rehash signal to SIGUSR1, and shutdown on SIGHUP (terminal close)
...
PyLink technically isn't a daemon, so it's a bit odd to have it linger around after the controlling terminal has died.
2017-07-02 21:19:04 -07:00
James Lu
a204d2b2db
core: convert IrcUser calls to User
2017-06-30 21:44:31 -07:00
James Lu
7d68c03101
various: convert sortPrefixes/getPrefixModes calls to snake case
2017-06-30 21:40:05 -07:00
James Lu
61ed209abb
coremods, plugins: migrate to snake case for protocol communication
2017-06-30 21:30:20 -07:00