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