3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-30 23:09:23 +01:00
Commit Graph

103 Commits

Author SHA1 Message Date
James Lu
064cb9b6aa core: move reverseModes, joinModes into Irc 2016-04-30 16:33:46 -07:00
James Lu
bd0874a484 Merge branch 'wip/split-utils' into devel 2016-04-29 23:32:52 -07:00
James Lu
0061414ee5 nefarious: remove untested parsing of umode +h for now 2016-04-29 22:32:26 -07:00
James Lu
dd7b3821e9 nefarious: deduplicate outgoing BURST mode prefixes 2016-04-27 16:43:09 -07:00
James Lu
1bd2bd760c hybrid, nefarious: add missing BURST/SJOIN->JOIN hook mapping
Reported by Rascle on IRC.
2016-04-27 16:42:38 -07:00
James Lu
a8fc9428cf protocols: migrate to irc.parseModes/applyModes (#199) 2016-04-24 21:44:31 -07:00
James Lu
40a86de040 protocols: reword spawnClient description text 2016-04-24 21:17:56 -07:00
James Lu
f8c2ee3ed3 protocols: use KeyedDefaultdict to enumerate UID generators 2016-04-24 21:16:41 -07:00
James Lu
2c60aa6395 Separate UID/SID generators into various protocol modules (#199) 2016-04-24 21:08:07 -07:00
James Lu
128a6363d5 nefarious: easier SID encoding using struct 2016-04-23 10:54:54 -07:00
James Lu
0e0d96efc6 nefarious: properly decode IPv6 addresses, move IP decoding into separate function 2016-04-23 10:44:17 -07:00
James Lu
9f454402d2 nefarious: don't confuse the TS argument with the user list, if a BURST is sent with only bans 2016-04-18 21:29:00 -07:00
James Lu
fd909395ff nefarious: ignore empty BURSTs with no useful data 2016-04-18 20:59:06 -07:00
James Lu
bc578240bb nefarious: fix checks for what is an IPv6 / IPv4 address 2016-04-18 20:54:16 -07:00
James Lu
0fad0f7a2c nefarious: add missing import
Reported by Rascle on IRC.
2016-04-18 20:40:01 -07:00
James Lu
560311a98b nefarious: handle VERSION requests 2016-04-18 10:55:05 -07:00
James Lu
81d2450460 nefarious: relay KILL user data properly 2016-04-18 10:52:41 -07:00
James Lu
4b4db64705 nefarious: experimental host changing support via FAKE
This seems to work fine for changing remote users' hosts, but changing the host of internal PyLink clients doesn't seem to work at all...
2016-04-18 10:52:09 -07:00
James Lu
25aacbd1fa nefarious: actually check RECVPASS 2016-04-17 22:33:16 -07:00
James Lu
c379287482 nefarious: implement account & vhost checking
Many thanks to @jobe1986 again, for giving me the specifics on how all of this works. :)
2016-04-17 22:23:44 -07:00
James Lu
38441f0302 nefarious: fix typo in NICK change handling 2016-04-17 22:23:11 -07:00
James Lu
9d28be1dc8 nefarious: updateClient stub 2016-04-17 22:22:38 -07:00
James Lu
fbd71a88f5 nefarious: convert nicks to UID in mode handling 2016-04-17 21:26:21 -07:00
James Lu
1a8652e982 nefarious: fill in cmodes, umodes lists 2016-04-17 21:17:27 -07:00
James Lu
9362b74d78 nefarious: handle CLEARMODE 2016-04-17 20:52:38 -07:00
James Lu
2a6b096401 nefarious: add KNOCK stub (not supported on P10) 2016-04-17 20:33:35 -07:00
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
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
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