Commit graph

22293 commits

Author SHA1 Message Date
AJ Martinez
5a475c7888 Cleanup + fix off-by-one in gamestate 2023-03-28 01:25:55 -07:00
AJ Martinez
056355d8ed C is portable, they lied lyingly like a liar 2023-03-28 01:25:55 -07:00
AJ Martinez
78b30802bb Let's try fixing potential UB on GetNodeAddressInt 2023-03-28 01:25:55 -07:00
AJ Martinez
5a17bcc251 Fix all remote players being considered GUESTs 2023-03-28 01:25:55 -07:00
AJ Martinez
cdf7a7a2ce Fix old key comparison in KickUnverifiedPlayers 2023-03-28 01:25:55 -07:00
AJ Martinez
694c094fac C is a morally incorrect programming language 2023-03-28 01:25:55 -07:00
AJ Martinez
c46612329e Don't UpdateChallenges during NetKeepAlive, could lead to challenge spam 2023-03-28 01:25:55 -07:00
AJ Martinez
05f8b2196c Push pretty RRID to Lua instead of unsanitized madness 2023-03-28 01:25:55 -07:00
AJ Martinez
b990669212 Tyop 2023-03-28 01:25:55 -07:00
AJ Martinez
ecc2c65742 Cleanup and comments 2023-03-28 01:25:55 -07:00
AJ Martinez
5a52199dc8 Refactor challenge creation, no more duplicated memory shenanigans 2023-03-28 01:25:55 -07:00
AJ Martinez
f0e6e5c962 Instead of using gamemap, make client-client challenges more resistant by including IP 2023-03-28 01:25:54 -07:00
AJ Martinez
96a71bb60d Don't try to do netgame shit in singleplayer and crash 2023-03-28 01:25:54 -07:00
AJ Martinez
630555ca51 More bad actor cvars 2023-03-28 01:25:54 -07:00
AJ Martinez
30ca69e51d Don't sign game traffic, we shouldn't need it anymore 2023-03-28 01:25:54 -07:00
AJ Martinez
a1f82b2a37 Use server IP and timestamp in PT_SERVERCHALLENGE to avoid signature reuse 2023-03-28 01:25:54 -07:00
AJ Martinez
f873df764e USE THE ENTIRE 64 BYTES OF THE CHALLENGE YOU IDIOT also check time/gamemap 2023-03-28 01:25:54 -07:00
AJ Martinez
32b1ff3d3e SERVER needs to respond to PT_CHALLENGEALL, dummy 2023-03-28 01:25:54 -07:00
AJ Martinez
a57901babf It's mediocre security fixup time 2023-03-28 01:25:54 -07:00
AJ Martinez
f9832eb77f Give gamestate resend integrity check some teeth 2023-03-28 01:25:54 -07:00
AJ Martinez
137f166043 Cvars to do bad network things in DEVELOP, fixes to bad network things 2023-03-28 01:25:54 -07:00
AJ Martinez
7f479d14c2 I do not understand version control and no one can make me learn 2023-03-28 01:25:54 -07:00
AJ Martinez
f5b7238ba9 I will never understand why the VSCode diff editor does this to me 2023-03-28 01:25:54 -07:00
AJ Martinez
2afc43383e Jart node deadlock fixup part 2 2023-03-28 01:25:52 -07:00
AJ Martinez
a8c129321a Block nodes while an auth challenge is taking place (jart) 2023-03-28 01:20:44 -07:00
AJ Martinez
44f2ce7288 Expand XD_ADDPLAYER buffer 2023-03-28 01:20:44 -07:00
AJ Martinez
72d2249e1f Don't freak out and sigfail if we weren't even expecting a challenge 2023-03-28 01:20:44 -07:00
AJ Martinez
15ec5ee90b Client bails if server doesn't verify, first pass 2023-03-28 01:20:44 -07:00
AJ Martinez
59c4086ffc Missing newline 2023-03-28 01:20:44 -07:00
AJ Martinez
25e9207fa2 Check for pubkey modifiation when gamestate is resent 2023-03-28 01:20:44 -07:00
AJ Martinez
33760dec51 I don't even know, unfuck everything 2023-03-28 01:20:44 -07:00
AJ Martinez
a1b0625f66 Don't sigcheck game traffic if you're not the server, you can't do anything with it 2023-03-28 01:20:43 -07:00
AJ Martinez
ca767a554b Let people know when they're kicked for sigfail 2023-03-28 01:20:43 -07:00
AJ Martinez
7889ffd93b Instantly destroy anyone who sigfails 2023-03-28 01:20:43 -07:00
AJ Martinez
2925843ea2 Sigfail command for testing, fix guest join sigcheck, scaffolding for sigfail kick reason 2023-03-28 01:20:43 -07:00
AJ Martinez
936da9870c Move guest profile checks into dedicated method 2023-03-28 01:20:43 -07:00
AJ Martinez
baedcc6ade Add allowguests cvar 2023-03-28 01:20:43 -07:00
AJ Martinez
b758001661 We don't need payloadsize, we don't trust it anyway 2023-03-28 01:20:43 -07:00
AJ Martinez
3747ba6cbd Sign game traffic that could be used to cause problems 2023-03-28 01:20:43 -07:00
AJ Martinez
0f3d740fd4 Correctly populate local keys as a netgame client 2023-03-28 01:20:43 -07:00
AJ Martinez
cc0390cc64 Don't respond to challenges out of sequence 2023-03-28 01:20:43 -07:00
AJ Martinez
c46ad8d52b Fix GUESTs trying to sign 2023-03-28 01:20:43 -07:00
AJ Martinez
f2c66a2171 Expose public_key to Lua 2023-03-28 01:20:43 -07:00
AJ Martinez
66c6ba125d Final fixup for profile-level keys and passing to player_t 2023-03-28 01:20:41 -07:00
AJ Martinez
4ffae5d862 Store keypairs in profiles, do signature verification for all splitscreen players 2023-03-28 01:19:43 -07:00
AJ Martinez
cacb4f453f Scramble keys and challenges when init/closing node 2023-03-28 01:19:43 -07:00
AJ Martinez
7218c225ec Remove state trace debug print 2023-03-28 01:19:43 -07:00
AJ Martinez
138663bf5a Literally, unironically, draw the rest of the owl 2023-03-28 01:19:43 -07:00
AJ Martinez
9b77d95357 Pass key into player_t for other stuff to work with it 2023-03-28 01:19:43 -07:00
AJ Martinez
568dc59aa5 State scaffolding for challenge-response 2023-03-28 01:19:43 -07:00