3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-13 05:39:41 +01:00
Commit Graph

3019 Commits

Author SHA1 Message Date
James Lu
29d2fea3b2 nefarious: implement WHOIS handling & outbound numerics 2016-04-17 20:32:21 -07:00
James Lu
933029824c nefarious: AWAY and INVITE support 2016-04-17 20:28:51 -07:00
James Lu
20123c52e0 nefarious: implement TOPIC support 2016-04-16 18:46:31 -07:00
James Lu
68eed62f70 nefarious: implement outgoing SJOIN and SQUIT 2016-04-16 18:05:32 -07:00
James Lu
1892dd5fb4 nefarious: implement outgoing SJOIN (via BURST) 2016-04-16 17:49:59 -07:00
James Lu
25ca2f8399 nefarious: fix BURST prefix handling
When one userpair is given with some mode prefixes, it implicitly applies to all other following UIDs,
until another userpair is given with a prefix. For example: UID1,UID3:o,UID4,UID5 would assume that
UID1 has no prefixes, but UID3-5 all have op when joining.

This was not properly accounted for previously.
2016-04-16 17:06:48 -07:00
James Lu
fccfb62609 Merge branch 'devel' into wip/p10 2016-04-16 17:04:32 -07:00
James Lu
36683fc70e ts6: keep state properly when handling JOIN 2016-04-16 17:03:57 -07:00
James Lu
d635967d3b nefarious: keep state properly when handling JOIN 2016-04-16 17:00:50 -07:00
James Lu
20087c8872 nefarious: inbound SQUIT support 2016-04-16 16:54:34 -07:00
James Lu
a13211e0db nefarious: implement KILL, fix bugs in outgoing kick & incoming join 2016-04-16 16:46:30 -07:00
James Lu
e18c7025db nefarious: implement NICK, QUIT, PART, KICK 2016-04-15 14:08:33 -07:00
James Lu
560aa5b1f8 nefarious: MODE support 2016-04-15 13:50:09 -07:00
James Lu
1c7e0fbeae nefarious: handle inbound & outbound PRIVMSG/NOTICE 2016-04-15 12:30:52 -07:00
James Lu
f9f3e97f42 nefarious: handle end of burst (send acknowledgement and hook) 2016-04-15 12:30:31 -07:00
James Lu
cc16c610dd nefarious: handle ban exempts in BURST 2016-04-15 12:19:54 -07:00
James Lu
8a7c39691f nefarious: fix type error in handle_join 2016-04-15 12:12:17 -07:00
James Lu
1676d33795 nefarious: fix PING syntax for Nefarious 2016-04-15 12:12:07 -07:00
James Lu
b9e568c962 nefarious: don't send empty mode lists to parseModes
Doing so raises assertionerror, which causes the link to fail!
2016-04-15 11:53:08 -07:00
James Lu
3c8c6f2027 nefarious: fix syntax in BURST mode handling 2016-04-15 11:41:49 -07:00
James Lu
0d217845ab nefarious: Handle BURST, incoming & outgoing JOIN 2016-04-15 11:38:27 -07:00
James Lu
6682627af8 nefarious: handle PING / PONG
Doesn't seem to work yet...
2016-04-15 11:37:53 -07:00
James Lu
0f0ae8fc2f Protocol: remove desync warning in getUid 2016-04-15 11:37:53 -07:00
James Lu
8ba0412ece nefarious: set realhost = displayed host 2016-04-14 17:31:51 -07:00
James Lu
5796b75373 nefarious: track and send user IPs the P10 way - thanks @jobe1986 for the tips! 2016-04-14 17:25:45 -07:00
James Lu
393771a32a nefarious: split p10b64encode() away from P10SIDGenerator 2016-04-14 16:24:26 -07:00
James Lu
3299a871f2 nefarious: basic command handlers for NICK and SERVER
Still a bit incomplete atm. User IPs and accounts are not tracked yet.
2016-04-14 16:10:44 -07:00
James Lu
db911149db nefarious: update module header 2016-04-14 15:36:59 -07:00
James Lu
a12b2cb5dc nefarious: don't drop messages without a sender
During the initial link phase, the uplink server isn't even known. It sends "SERVER blah blah" and "PASS :whatever" as is.
2016-04-14 15:36:59 -07:00
James Lu
74af9b67ba protocols: p10.py -> nefarious.py 2016-04-12 07:00:45 -07:00
James Lu
c2c8dda4ef docs/t: revamp core-structure pic 2016-04-10 21:51:12 -07:00
James Lu
50afc52a03 pmodule-spec: be clearer about mode definitions
Clarify the difference between channel names/UIDs and channel/user objects. Also, reflect the API changes made in 8135f3a735.
2016-04-10 21:31:51 -07:00
James Lu
19f1ee1be8 p10: initial protocol stub (#87)
This can connect and spawn the main PyLink client right now... It can't do anything else
2016-04-10 20:24:58 -07:00
James Lu
3a00e46b48 Move getSid/getUid into classes.Protocol 2016-04-10 19:00:44 -07:00
James Lu
989b6374e6 docs/t: add channel-modes.csv (#200) 2016-04-09 18:30:43 -07:00
James Lu
38e098aef4 inspircd: normalize chmode +r name
This should be "registered", not "c_registered" in order to be consistent with other protocols.
2016-04-09 18:25:17 -07:00
James Lu
0ccdf4cfce unreal: require UMODE2 cap too
I realize we don't handle MODE being used for users at all. UMODE2 is always used when enabled, which is what we're expecting right now.
2016-04-09 11:43:26 -07:00
James Lu
5dee6ab651 unreal: simplify capability checks & require NICKIP cap 2016-04-09 11:34:09 -07:00
James Lu
29030073b9 unreal: request NICKIP capability, track Unreal 3.2 user IPs
Closes #196.
2016-04-09 10:17:25 -07:00
James Lu
264c803d8e coreplugin: modularize rehash, and add a SIGHUP handler for it
Closes #179.
2016-04-09 10:08:32 -07:00
James Lu
8f32727a3f Move rehash into core (Closes #178) 2016-04-09 09:54:04 -07:00
James Lu
92c600b7d3 README: update supported ircds 2016-04-08 23:00:39 -07:00
James Lu
62c8cd2405 protocols: s/_getNick/_getUid/g
The old function name _getNick was a bit misleading, as the function converted nicks to UIDs, not the other way around..
2016-04-08 22:21:37 -07:00
James Lu
248c0cbb78 hybrid: virtual umodes +d/+x don't take arguments 2016-04-08 22:20:23 -07:00
James Lu
32038e666a hybrid: track vHost changes (#198) 2016-04-08 22:02:08 -07:00
James Lu
d0655b701a hybrid: implement services account tracking (#198) 2016-04-08 21:38:41 -07:00
James Lu
3ec3d4cebb hybrid: Fix typo in 0be83449fb (#198) 2016-04-08 20:57:03 -07:00
James Lu
e4cd028e86 hybrid: prettier logging, fix wrong argument being passed to IrcUser 2016-04-08 20:46:03 -07:00
James Lu
b3447b74c2 hybrid: make a note of how hybrid UID differs from standard TS6
These are two mutually incompatible implementations, which is why this module exists separately from ts6!
2016-04-08 20:41:27 -07:00
James Lu
5a6a6ca40e hybrid: require caps EX IE SVS EOB HOPS QS TBURST SVS 2016-04-08 20:40:54 -07:00