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

516 Commits

Author SHA1 Message Date
James Lu
f60e17907a hybrid, unreal: switch to irc.toLower() for channels 2016-08-01 18:06:38 -07:00
James Lu
9a59c68370 protocols: strip leading prefix modes before checking whether msg target is a channel
(cherry picked from commit 2c7b5669bd)
2016-08-01 17:59:31 -07:00
James Lu
f061a2fc68 ts6: replace str.lower() with irc.toLower() for channel names
(cherry picked from commit 791b124cf7)
2016-08-01 17:59:31 -07:00
James Lu
358e03f6ce ts6: don't unconditionally apply modes in outgoing sjoin() 2016-07-29 14:44:25 -07:00
James Lu
a56e464eb6 unreal: handle umode +r on burst as services login, even when no explicit accountname is set
Ref #296.

(cherry picked from commit 5800594d55)
2016-07-28 20:20:35 -07:00
James Lu
4fbb7b1791 unreal: remove obsolete comment about cloaked hosts
(cherry picked from commit e7ccfc9156)
2016-07-28 20:20:35 -07:00
James Lu
94ae457a82 nefarious: fix usermode changes internally applying on the wrong target
A regression from fca23c7d55 overwrote the target UID with a nick before passing it into applyModes(), which raises an "unknown mode target" warning and causes the mode change to be dropped.

(cherry picked from commit af21063834)
2016-07-28 20:20:35 -07:00
James Lu
bc5a508cd7 unreal: rework services login handling
This should now support SVS2MODE without account info, used by Anope versions < 2.0? Also, the protocol module no longer stores umode +r as an actual user mode, as doing so isn't needed.

Closes #296.

(cherry picked from commit 97d09c5015)
2016-07-28 20:20:35 -07:00
James Lu
9233a94379 nefarious: forward CMODE and KICK through the server if the sender isn't opped
This prevents mode bounces, kick failures, and the HACK server notices from showing up.

(cherry picked from commit fca23c7d55)
2016-07-28 20:20:35 -07:00
James Lu
47a0a7f8c6 Make plugins/ and protocols/ namespaces 2016-07-20 23:55:26 -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
bced9506c3 ts6: add RSFNC to supported caps 2016-07-11 23:29:44 -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
7c1a80708b unreal: demote mode bounce notices to DEBUG 2016-07-11 16:37:01 -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
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
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
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
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
e0f050c195 Irc: add getFriendlyName() abstraction
Closes #260.
2016-07-06 22:30:21 -07:00
James Lu
3b80802d1a protocols: rewrite encapsulated commands implicitly
Closes #182.
2016-07-05 13:27:31 -07:00
James Lu
ed6293e54a nefarious: define access_sort() as a static method 2016-07-05 00:42:17 -07:00
James Lu
5ef135d888 nefarious: use handle_kill (with kill path support) from ircs2s_common
Ref #239.
2016-07-05 00:31:24 -07:00
James Lu
bfa69815b4 protocols: split things common between nefarious and ts6_common into a new ircs2s_common module 2016-07-05 00:24:23 -07:00
James Lu
26f4a9c276 nefarious: fix 'changedmodes' type inconsistency causing crashes 2016-07-05 00:13:33 -07:00
James Lu
d549e2ae47 protocols: format kills properly in ts6_common.handle_kill() (#239)
This separates the kill handling for InspIRCd and other TS6 protocols, as InspIRCd pre-formats kills when they are sent.
2016-07-05 00:08:02 -07:00
James Lu
3457da16bd protocols: Move kill() into ts6_common, and make unreal.py use it
Ref #239. protocols/unreal was hardcoding a killpath, lazy me...
2016-07-04 23:43:11 -07:00
James Lu
d0b7d44f1a ts6: implement kill paths in outgoing KILL (#239) 2016-07-04 23:43:11 -07:00
James Lu
6c8731a55a inspircd: refactor opertype handling and opertypes for Services
This gives all protected service clients with +k a special "Network Service" opertype.
2016-07-01 21:03:10 -07:00
James Lu
55e0da96c3 Merge remote-tracking branch 'origin/master' into devel 2016-07-01 20:42:46 -07:00
James Lu
fde7860fc7 ts6: fix wrong args in TB handling
I'm not sure where I got that example from. It's wrong.
2016-07-01 19:45:13 -07:00
James Lu
e8ecc1c775 ts6: 10 modes per line, not 9
I must've made it shorter just to be safe, but that isn't necessary.
2016-06-27 23:40:58 -07:00
James Lu
982e7c43f2 ts6: cut off BMASK at 12 args per line to prevent message cutoff
Ref #253.
2016-06-27 23:35:56 -07:00
James Lu
12f1cce6a9 ts6: 12 users max are allowed in each SJOIN message, not 10 2016-06-27 23:13:39 -07:00
James Lu
f458a40e1c inspircd: new use_experimental_whois option, which forces PyLink to handle WHOIS requests locally 2016-06-27 22:28:37 -07:00
James Lu
57afa806e3 inspircd: implement raw numeric sending 2016-06-27 22:28:00 -07:00
James Lu
b1e138d9c5 nefarious: fix wrong variable in "/join 0" handling causing crashes
(cherry picked from commit 5cb550afd9)
2016-06-26 11:38:09 -07:00
James Lu
fbeb3a3747 protocols: fix ts actually defaulting to None in sjoin() 2016-06-25 13:56:24 -07:00
James Lu
d2956c3d00 protocols: return uplink field in SQUIT handlers 2016-06-25 13:34:43 -07:00
James Lu
5cb550afd9 nefarious: fix wrong variable in "/join 0" handling causing crashes 2016-06-25 11:33:56 -07:00
James Lu
167963ddc4 updateTS: fix handling for outbound modes
Outgoing and incoming modes should be handled the same way - we're only dealing with a "received TS" which could originate from PyLink (sjoin() in protocols) OR the uplink.
2016-06-24 13:24:44 -07:00
James Lu
77e13bce03 inspircd: fix logic for tracking existing bans in sjoin() 2016-06-23 22:36:22 -07:00
James Lu
6555ba2e6a nefarious: burst bans according to the P10 standard
Closes #250.
2016-06-23 22:36:22 -07:00