James Lu
21d03e7b69
protocols: implement SVSNICK hooks for InspIRCd, Charybdis, UnrealIRCd ( #269 )
...
More testing still needs to be done with this on Nefarious, as atheme (what I'm testing against) doesn't use P10 SVSNICK yet.
2016-07-11 23:21:08 -07:00
James Lu
bc369bf6a6
relay: force tags when a nick collision happens
2016-07-11 21:54:48 -07:00
James Lu
95ff33876c
relay: handle KILLs to untagged clients as a cue to tag them ( #116 )
2016-07-11 21:43:43 -07:00
James Lu
5bfba0a411
relay: make default nick tagging and separator global options ( #116 )
2016-07-11 21:43:43 -07:00
James Lu
1b0829f401
ctcp: totally not an easter egg update
2016-07-11 16:59:44 -07:00
James Lu
cf40a38c14
corecommands: actually assign reload() output to update the module
2016-07-11 16:53:32 -07:00
James Lu
6904ba9606
commands: remove reference to 'signon time'
2016-07-11 16:49:08 -07:00
James Lu
7c1a80708b
unreal: demote mode bounce notices to DEBUG
2016-07-11 16:37:01 -07:00
James Lu
77edd9870c
relay: don't try to force network disconnects
...
This doesn't work, and seems to cause PyLink to freeze instead.
2016-07-11 16:35:35 -07:00
James Lu
a6d9016464
automode: add clearacc, syncacc commands
...
Closes #262 . Closes #263 .
2016-07-11 16:29:17 -07:00
James Lu
cb7e7abec5
automode: treat channels case insensitively in 'delacc'
2016-07-11 16:29:02 -07:00
James Lu
64dd7e9387
unreal: fix server name of the uplink not being saved
...
Closes #268 .
2016-07-11 16:20:10 -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
c04f9d1879
protocols: move handlers for AWAY, VERSION, WHOIS, and QUIT to ircs2s_common
2016-07-11 16:08:46 -07:00
James Lu
d91589c4da
protocols: move handle_whois to ts6_common
2016-07-11 16:00:08 -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
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