3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-24 03:29:28 +01:00
Commit Graph

71 Commits

Author SHA1 Message Date
James Lu
5a066bfde4 corecommands: port to use the permissions API (#367) 2016-12-09 21:43:58 -08:00
James Lu
57aa844fcb permissions: limit "login = admin access" to old-style (< 1.1) login blocks 2016-12-09 20:57:01 -08:00
James Lu
e7e2f2c98e core: update "missing dependencies" errors
Closes #363.
2016-12-09 17:15:53 -08:00
James Lu
b3387f2d41 conf: fix deprecation warnings crashing because log is unavailable
This allows conf methods to access to global logger by via an optional 'logger' argument. However,
the caveat is that the logging facilities are still unavailable on first start, because log can
only be imported *after* the configuration is loaded.
2016-12-05 22:43:01 -08:00
James Lu
ffc271a53a login: Use a slightly faster CryptContext 2016-11-19 17:47:55 -08:00
James Lu
b1e4b34b79 Switch 'identify' to use the new login backend, add passlib to README dependencies
This new backend supports optional encryption (sha256_crypt / sha512_crypt via passlib). Closes #322.
2016-11-19 17:21:45 -08:00
James Lu
69066029f1 Simplify/rewrite the login module 2016-11-19 17:01:05 -08:00
James Lu
3308db0cd2 Import coremods/login.py (abstracted login checking) from @IotaSpencer's repo 2016-11-19 17:01:00 -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
08fa64c3cc Irc, services_support: store service name in IrcUser objects (#355) 2016-11-09 19:07:01 -08:00
James Lu
93ca62aa49 Revamp configuration to support multiple accounts (#319) 2016-11-07 21:01:28 -08:00
James Lu
b750bd4d15 coremods/control: ignore errors when removing PID file 2016-10-15 14:31:13 -07:00
Ken Spencer
bc4be815e4 coremods: make _shutdown remove running 'config'.pid 2016-10-15 16:50:25 -04:00
James Lu
438838f81d ServiceBot: handle autojoin additions even if bots haven't spawned yet 2016-09-24 12:33:57 -07:00
James Lu
1c60ad7251 services_support: honour joinmodes settings on kick-rejoin 2016-09-24 12:22:12 -07:00
James Lu
a040c3c7d2 ServiceBot: modularize join() for explicit channel joining (#326) 2016-09-23 23:43:07 -07:00
James Lu
0cce6ca488 service_support: allow specifying modes to join with for each service (#326)
This updates the example config to, by default, join Automode bots as op in channels.
2016-09-23 23:10:38 -07:00
James Lu
a12ed6ad35 services_support: hack around nick clashes between service clients & real users in Clientbot
For #327. Essentially what this does is tack on a nick prefix to all service bots introduced on a Clientbot network, using characters invalid for regular nicks.
2016-09-06 20:04:19 -07:00
James Lu
d1e2dfcf61 clientbot: only call spawnClient for new message sources after irc.pseudoclient is set 2016-09-01 13:08:20 -07:00
James Lu
e903a8226a permissions: move admin login clause into checkPermissions()
This is more persistent.
2016-08-31 13:32:42 -07:00
James Lu
556b388a4e core: Rehashable permissions; import coremods on start 2016-08-25 12:07:55 -07:00
James Lu
6af8e77ee1 permissions: apply add/removeDefaultPermissions on the right list 2016-08-25 12:07:36 -07:00
James Lu
f890ddac1b permissions, automode: work on default permissions & add example permissions config (#190)
- Fix possible type errors in add/removeDefaultPermissions by converting permlist values to sets.
- Fix wrong permission string being checked in automode.<command>.#channel
- automode: register and unregister default permissions on load/unload.
- permissions: add an 'also_show' argument to checkPermissions(), to display alternative permissions that weren't directly checked.
2016-08-25 11:45:57 -07:00
James Lu
b4b772354c permissions: fix inverted permissions list lookup 2016-08-25 00:58:19 -07:00
James Lu
91e39b7df9 WIP Permissions API (#190) 2016-08-25 00:45:05 -07:00
James Lu
126a07bdf6 core: rehashable file loggers with log rotation support
Closes #176. Closes #315.
2016-08-17 21:42:18 -07:00
James Lu
94aee8f05c Implement /TIME support (#228) 2016-08-12 19:19:09 -07:00
James Lu
a76bd8c5b2 core: make hostmask fetching a shared function 2016-08-12 19:18:56 -07:00
James Lu
e50684e367 Merge branch 'master' into devel 2016-08-04 10:29:17 -07:00
James Lu
a9fe0499e6 services_support: ignore invalid autojoin channels
Reported by @rvzm on IRC.

Closes #308.
2016-08-04 10:26:00 -07:00
James Lu
c9ce4d1507 Irc: make sorting in joinModes() an option, and explicitly enable it in WHOIS output
This prevents mode lists from being sorted when they really shouldn't be, such as when relaying mode changes ("+qo nick nick" became +oq nick nick").

(cherry picked from commit 4b27ebbee4)
2016-08-01 17:59:31 -07:00
James Lu
4b27ebbee4 Irc: make sorting in joinModes() an option, and explicitly enable it in WHOIS output
This prevents mode lists from being sorted when they really shouldn't be, such as when relaying mode changes ("+qo nick nick" became +oq nick nick").
2016-07-31 21:45:38 -07:00
James Lu
1ef89560e2 core: rename IrcUser.identified attribute to IrcUser.account 2016-07-29 20:16:05 -07:00
James Lu
f4922743fc core: SID and hostname options are now optional (#282)
Hostname defaults to a fallback hardcoded in world.fallback_hostname, while SID defaults to None (protocol modules have to deal with this themselves)
2016-07-28 22:23:59 -07:00
James Lu
8047186c58 plugins, coremods: remove usage of irc.conf (#273) 2016-07-27 17:02:04 -07:00
James Lu
0d563eaa57 control/utils: unload the PyLink service bot on shutdown 2016-07-26 16:26:01 -07:00
James Lu
a4dbd8d09f control: handle SIGINT for clean shutdown on ctrl-c
Closes #280.
2016-07-26 16:16:23 -07:00
James Lu
c8ec2d9600 handlers: remove obsolete comment about WHOIS 2016-07-24 13:48:03 -07:00
James Lu
e342889937 corecommands: really fix 'reload'
(cherry picked from commit 150bfe8c66)
2016-07-23 22:02:08 -07:00
James Lu
f51a882d23 exttargets: verify target is in channel before calling getPrefixModes 2016-07-17 10:49:42 -07:00
James Lu
b79f391be6 corecommands: fix no-identify-in-channel logic 2016-07-13 19:32:39 -07:00
James Lu
9256500a23 corecommands: replace irc.msg() with irc.reply()
Thanks to @Techman- for pointing this out.
2016-07-13 19:20:11 -07:00
James Lu
cf40a38c14 corecommands: actually assign reload() output to update the module 2016-07-11 16:53:32 -07:00
James Lu
2b60cbd59c handlers: fix wrong server name in WHOIS output (8e29e16 regression) 2016-07-11 16:14:05 -07:00
James Lu
6a1349847f handlers: handle WHOIS requests to unknown nicks instead of warning
"/whois pylink.server badnick" is allowed everywhere except InspIRCd.
2016-07-11 15:58:18 -07:00
James Lu
8e29e16144 handlers: always send WHOIS reply numerics from our server
This fixes "/whois pylink.server TARGET" syntax sending replies from bad sources, when the target is NOT a PyLink client.
2016-07-11 15:49:23 -07:00
James Lu
1cf560c465 handlers: only show the highest prefix mode for channels in WHOIS output
Closes #270.
2016-07-11 15:46:32 -07:00
James Lu
2c656341e2 handlers: Optionally disable extended WHOIS replies for users marked as a bot
Closes #271. This adds a new option, "whois_show_extensions_to_bots", to the bot: section of the config.
2016-07-11 15:01:34 -07:00
James Lu
8f78205406 handlers: remove idle and signon time in WHOIS output (#267)
We can't accurately track this for things like relay users without forwarding WHOIS replies like Janus does. I don't really like faking values either, so let's just remove this entirely
2016-07-10 22:06:02 -07:00
James Lu
5d251d511a corecommands: fix wrong plugin module name causing 'unload' to not work
Plugin modules are now named 'pylinkirc.plugins.abcd' instead of just 'abcd', since the import system is absolute now.
2016-07-10 21:41:08 -07:00