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
2a08ae98b0
Irc: consistently sort getPrefixModes output
2016-07-11 15:21:17 -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
ba20016a83
example-conf: drop references to use_experimental_whois
2016-07-10 22:39:16 -07:00
James Lu
9c2bec7a3d
relay: don't create relay clones with the user's original TS
...
There's no point of doing this. Relay should purposely lose nick collisions anyways because it can simply switch to the next one.
2016-07-10 22:25:01 -07:00
James Lu
84452bec2e
inspircd: always make PyLink handle WHOIS ( closes #267 )
...
This removes the use_experimental_whois option, which is always enabled now.
The rationale behind this is that PyLink cannot accurately track signon and idle times for things like relay users, without forwarding WHOIS requests between servers in a way the hooks system is really not optimized to do. However, no IDLE response means that no WHOIS data is ever sent back to the calling user, so this workaround is probably the best solution, aside from faking values.
2016-07-10 22:08:56 -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
James Lu
c1cd6f42a0
updateTS: Fix mode tracking again
...
It looks like we actually do need to track whether we're sending or receiving modes. This time, do so /properly/.
2016-07-10 21:36:18 -07:00
James Lu
fa59e2bded
ts6_common: force nick TS to 100 in SAVE
2016-07-10 21:20:47 -07:00
James Lu
a06b478a2e
ts6_common: update nick TS on SAVE as well ( #267 )
2016-07-10 21:14:12 -07:00
James Lu
16b162ffbe
protocols: update nick TS on nick change ( #267 )
2016-07-10 21:10:57 -07:00
James Lu
ade0fa707e
nefarious: fix wrong variable in last commit
2016-07-10 21:01:01 -07:00
James Lu
8b04a51daf
nefarious: only send EOB_ACK to uplink
...
Closes #266 .
2016-07-10 20:37:21 -07:00
James Lu
1675c43841
ts6: the @cooper fix
...
Validate that incoming TS is valid, because bad user timestamps like 0 will cause InspIRCd networks to SQUIT if forwarded over Relay.
2016-07-10 20:37:07 -07:00
James Lu
b90d7c3bec
0.9-alpha1
2016-07-09 00:26:22 -07:00
James Lu
ca638f77e3
docs/t: drop update-autogen, it's broken now
2016-07-09 00:25:58 -07:00
James Lu
0d0cccea63
Merge branch 'staging'
2016-07-09 00:20:45 -07:00
James Lu
7cfcef7c0f
Relicense docs under CC-BY-SA-4.0
2016-07-09 00:14:24 -07:00
James Lu
b88b9614f6
automode: join channels where automode is enabled ( #264 )
...
Still a WIP: when automode is killed, it won't join any relay leaf channels. Perhaps Relay needs to learn how to queue channels for services bots when they join a remote channel, and then remove them when that channel is delinked, etc.
2016-07-08 13:01:56 -07:00
James Lu
c1476dda59
setup.py: drop py_modules entry
...
It looks like this ended up installing the main PyLink modules twice.
2016-07-08 12:57:35 -07:00
James Lu
7d321e2e6c
inspircd: only send services_login hooks if the user exists
...
With SASL, services_login can be called before the user is registered. We should ignore that because the actual accountname is still bursted later.
2016-07-08 12:08:13 -07:00
James Lu
de7533a46e
automode: more explicit check for the modebot UID being available
2016-07-07 22:57:31 -07:00
James Lu
ba53d63d37
ServiceBot: make sure all the defaultdict(set) instances are SEPARATE
...
Bit of a Python oddity here - If you initialize a class like defaultdict in a class constructor, the same instance is used for all instances of the class?
This fixes all service bots joining the same channel, when they really shouldn't be.
2016-07-07 22:56:05 -07:00
James Lu
7a7b590295
corecommands: quick fix for 'reload' not updating things
...
The real issue is the 'unload' doesn't seem to cleanly unload things anymore. (Even though that was a pretty bad hack in the first place)
That needs to be cleaned up in the next release.
2016-07-07 22:48:38 -07:00
James Lu
f97f2d2fda
automode: call unregisterService() on unload
2016-07-07 22:41:51 -07:00
James Lu
4f26a29196
utils: unregisterService should be case insensitive
2016-07-07 22:41:39 -07:00
James Lu
df41dabb71
relay: drop prefix modes if the target doesn't have a relay clone yet
...
This fixes modes like ('+v', None) from being accidentally sent by Relay, when Automode happens to set modes before all relay clients are spawned.
2016-07-07 22:16:34 -07:00
James Lu
00766041f3
plugins: make DB save delay configurable
2016-07-07 22:16:21 -07:00
James Lu
db3517b43a
automode: only those with admin login can change access entries
2016-07-07 21:57:36 -07:00
James Lu
4999ecd11f
Integrate services_support and automode
...
New hook: PYLINK_SERVICE_JOIN
2016-07-07 21:54:59 -07:00
James Lu
b3310eaf78
relay: also send internal hook for services login, for integration with automode
2016-07-07 21:43:25 -07:00
James Lu
0d502095c5
relay: integrate with automode by sending relay JOINs as a hook
2016-07-07 21:38:12 -07:00
James Lu
2be4811673
automode: separate matching into a separate function & listen for services login changes
2016-07-07 21:31:36 -07:00
James Lu
552070132d
automode: implement JOIN handler for a new working ACL system!
...
Closes #170 .
2016-07-07 21:23:06 -07:00
James Lu
d365f04199
Automode plugin stub ( #204 )
...
This supports adding/removing/listing entries and saving them to a DB, but no modes are set yet.
2016-07-07 21:06:28 -07:00
James Lu
14b30b26c0
exttargets: $pylinkacc matcher
...
Closes #170 .
2016-07-07 12:10:09 -07:00
James Lu
1cec67725a
exttargets: add $channel matcher ( #170 )
2016-07-07 12:00:23 -07:00
James Lu
1a8976afb6
exttargets: add $server matcher ( #170 )
2016-07-07 11:26:11 -07:00
James Lu
50d30d4e20
Irc: implement exttarget inversion ( #170 )
2016-07-07 11:18:06 -07:00
James Lu
ae2eefc73e
opercmds: actually make 'checkban' oper-only
2016-07-07 11:18:06 -07:00
James Lu
7dda8ebe58
exttargets: add $ircop matcher ( #170 )
2016-07-07 11:18:06 -07:00
James Lu
724ab0a45e
exttargets: match account names case insensitively
2016-07-07 11:18:06 -07:00
James Lu
aba1f4cf24
opercmds: fix typo in help.
...
(cherry picked from commit 37e1c7d538
)
2016-07-07 10:11:31 -07:00
James Lu
3e28856944
exttargets: fix typo in comment
2016-07-07 00:41:31 -07:00
James Lu
c034877d04
exttargets: $account scenario 3 matching should require logged in status
2016-07-07 00:29:52 -07:00
James Lu
183a4cbd75
core: add extban support in matchHost, and $account matching ( #170 )
...
The following forms are supported in $account, with groups separated by a
literal colon. All account and network name matching is currently case sensitive:
$account -> Returns True (a match) if the target is registered.
$account:accountname -> Returns True if the target's account name matches the one given, and the target is connected to the local network..
$account:accountname:netname -> Returns True if both the target's account name and origin network name match the ones given.
$account:*:netname -> Matches all logged in users on the given network.
2016-07-07 00:26:52 -07:00
James Lu
2b88c8d630
opercmds/changehost: actually commit changes mentioned in last commit
2016-07-06 23:47:31 -07:00
James Lu
d3877b0194
Irc: introduce matchHost() wrapper around ircmatch
...
This makes the latter a core dependency. Refactor changehost and opercmds plugins to take advantage of this new core function.
2016-07-06 23:11:36 -07:00
James Lu
37e1c7d538
opercmds: fix typo in help.
2016-07-06 22:36:29 -07:00