3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-27 05:03:07 +01:00
Commit Graph

1500 Commits

Author SHA1 Message Date
James Lu
31bf984996 Revert "relay: don't try to force network disconnects"
This reverts commit 77edd9870c.
2016-07-13 18:43:22 -07:00
James Lu
51457f3550 Irc: treat unicode case sensitively in toLower() 2016-07-13 13:38:56 -07:00
James Lu
35a9d7ccba Irc: move self.aborted.clear() to connect() 2016-07-13 00:38:19 -07:00
James Lu
ad5cd51189 automode: fix wrong indent in modebot_uid check 2016-07-12 22:16:24 -07:00
James Lu
58d71b0907 classes.Protocol: use a lock with updateTS to ensure thread-safety
Closes #274.
2016-07-12 22:08:01 -07:00
James Lu
6598d56400 automode: fix join handler, make match() take multiple users instead of one 2016-07-12 21:58:08 -07:00
James Lu
76554dccd1 automode: refactor to send only one MODE per channel (#275) 2016-07-12 21:58:08 -07:00
James Lu
80d7be8c7d nefarious: add (untested) SVSNICK handler based on P10 docs
Closes #269.
2016-07-12 21:58:08 -07:00
James Lu
db93db7f4e docs/t: update pmodule-spec.md 2016-07-12 00:32:57 -07:00
James Lu
c5176b7386 Add last commit's image to docs contents 2016-07-12 00:29:14 -07:00
James Lu
a726352c44 Merge remote-tracking branch 'origin/master' into devel 2016-07-12 00:28:58 -07:00
James Lu
0823fb2a1e docs/technical: Add protocol modules inheritance graph 2016-07-12 00:28:13 -07:00
James Lu
256801c0b4 automode: send one MODE per user (first part of #275)
If a user matches multiple DB entries, only one is sent now. However, this still needs to be changed so if multiple people are being checked for entries at once, one MODE command is sent for the entire channel.
2016-07-12 00:08:11 -07:00
James Lu
d45aa6ae87 example-conf: mark relay:tag_nicks as experimental 2016-07-11 23:38:00 -07:00
James Lu
92466e4a00 relay: make tag_nicks default to True 2016-07-11 23:35:16 -07:00
James Lu
bced9506c3 ts6: add RSFNC to supported caps 2016-07-11 23:29:44 -07:00
James Lu
59f6c861e0 relay: treat SVSNICK as a cue to tag nicks
Closes #116.
2016-07-11 23:23:26 -07:00
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
4a756843ed README: fix typo 2016-07-11 20:17:17 -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