Commit graph

1367 commits

Author SHA1 Message Date
James R
9b5b07b03c Completely rewrite party management code
Replaces g_splitscreen.c with g_party.cpp. Simplifies
party management functions.

Moves externs out of already bloated doomstat.h and
g_game.h into g_party.h.

Cuts down on globals spam.
2023-04-02 17:26:33 +01:00
James R
e3308b8e73 CL_ClearPlayer: reset playerconsole too 2023-04-02 17:26:07 +01:00
AJ Martinez
0d34c4f3d1 Also check -profile in CL_ConnectToServer 2023-04-01 22:36:35 -07:00
AJ Martinez
495b51f6c2 Merge branch 'licenses' into 'master'
Add LICENSE-3RD-PARTY.txt

See merge request KartKrew/Kart!1110
2023-03-31 03:00:58 +00:00
Sal
83b5b26a12 Merge branch 'packet-hack' into 'master'
Experimental: Improve level load processing

See merge request KartKrew/Kart!1077
2023-03-28 23:41:33 +00:00
James R
3b67f99d0d RRID: correct remaining instances of hardcoded sizes to defines 2023-03-28 03:54:29 -07:00
AJ Martinez
afe3220415 awaitingChallenge is, uh, a challenge, not a signature 2023-03-28 03:27:51 -07:00
AJ Martinez
86b6b2b1cd Clean up some mismatched and hardcoded sizes, use defines for crypto primitive size 2023-03-28 03:03:00 -07:00
AJ Martinez
3c561c564e Use 64-byte challenges consistently 2023-03-28 01:25:56 -07:00
AJ Martinez
e09b21ddae IsExternalAddress type fixup, move into i_tcp.c / SOCK_ abstraction 2023-03-28 01:25:56 -07:00
AJ Martinez
0df4251bc7 No, seriously, don't use STRINGN for pubkeys 2023-03-28 01:25:56 -07:00
AJ Martinez
bc9b4ef6a5 Explain evil wizard kick redirect behavior better 2023-03-28 01:25:56 -07:00
AJ Martinez
bf4781d26c Use READ/WRITEMEM instead of STRINGN for data that can contain 0s, dummy! 2023-03-28 01:25:56 -07:00
AJ Martinez
6510628586 Fail loudly on big-endian systems 2023-03-28 01:25:56 -07:00
AJ Martinez
119f23bd7b More consistent break convention in HandlePacketFromPlayer 2023-03-28 01:25:56 -07:00
AJ Martinez
b5cfc22a0a Fix splitscreen handling in SendChallenges 2023-03-28 01:25:56 -07:00
AJ Martinez
551c9af0fc Fix -Wunused in SIGNGAMETRAFFIC 2023-03-28 01:25:55 -07:00
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
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
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