Alibek Omarov
334bebb1fb
engine: use memcpy when reading sprite model to avoid unaligned access
2026-05-17 12:34:21 +05:00
Alibek Omarov
92bad81d9a
engine: client: fix off-by-one
2026-05-17 11:48:20 +05:00
Alibek Omarov
4c667d9d8c
engine: client: bound current_position with HISTORY_MASK, in case of something passes invalid values
2026-05-17 11:45:22 +05:00
Alibek Omarov
cb04e9cbd5
engine: server: also use constant time string comparison for sv_password
2026-05-17 11:26:53 +05:00
Alibek Omarov
c2c781f039
engine: server: harden rcon, use constant time comparison, do not output untrusted data to log
2026-05-17 11:23:55 +05:00
Alibek Omarov
fe2019ee06
engine: common: add more cases to COM_IsSafeToDownload
2026-05-17 11:20:00 +05:00
Alibek Omarov
e5c091c303
engine: client: fix off-by-one error in CL_ParseResource
2026-05-17 11:17:42 +05:00
Alibek Omarov
9d050e7ed3
engine: limit decompressed buffer alloc size to 64MiB
2026-05-17 11:17:23 +05:00
Alibek Omarov
be35b3503e
engine: limit maximum amount of pending fragbufs
2026-05-17 10:54:51 +05:00
Alibek Omarov
5fad4ae6ca
engine: client: mark rcon and connect commands privileged
2026-05-17 10:51:44 +05:00
Alibek Omarov
9082a47348
engine: validate paths before downloading
2026-05-17 10:41:59 +05:00
Alibek Omarov
8120669e5b
engine: restore bounds check in Delta_FindStructByIndex, as it gets passed arbitrary numbers too
2026-05-16 21:27:51 +05:00
Alibek Omarov
fb6c4a224c
engine: check for overflow in split packet reassembly
2026-05-16 21:13:47 +05:00
Alibek Omarov
166763a887
engine: common: limit amount of delta encoded fields by 64 in GoldSrc protocol (because this is the maximum it allows anyway)
2026-05-16 21:12:49 +05:00
Alibek Omarov
e56cf4e1da
engine: client: validate player index and max players
2026-05-16 21:00:50 +05:00
Alibek Omarov
fc4b982ecc
engine: client: correctly skip message that would overflow temp entity buffer
2026-05-16 20:59:57 +05:00
Alibek Omarov
d305292340
engine: zone: in CheckAlloc walk through over both allocation chains, so that we don't read out of bounds if passed pointer is not allocated by zone allocator
2026-05-16 12:56:49 +05:00
Alibek Omarov
9ee6be87d7
engine: host: try to avoid recursive Host_Error
2026-05-16 12:37:08 +05:00
Alibek Omarov
4e4a54ab68
engine: despite byte-swapping code is no-op on little endian, it still fires and can read out of bounds on some models, leading to crash
2026-05-16 12:21:46 +05:00
Владислав Сухов
c6fb702fb1
engine: add MenuFactory native object
2026-05-15 08:48:58 +05:00
Alibek Omarov
50f7f3bb87
engine: server: mark str64 as maybe unused
2026-05-13 11:12:19 +05:00
Alibek Omarov
996f0e906b
engine: client: drop double free check from dbghulls
2026-05-13 10:53:21 +05:00
Alibek Omarov
0f490a2f16
engine: client: fix warnings, cleanup unused or maybe-uninitialized variables
2026-05-13 10:48:37 +05:00
Alibek Omarov
ff8efebba2
engine: fix more warnings
2026-05-13 10:46:44 +05:00
Alibek Omarov
2dc132f817
engine: common: fix up warnings, clean up unused variables
2026-05-13 10:13:52 +05:00
Alibek Omarov
dccd076b92
engine: platform: sdl2: cleanup unused variables
2026-05-13 10:09:49 +05:00
Alibek Omarov
cb7ea5729a
engine: server: cleanup unused variables
2026-05-13 10:09:37 +05:00
Alibek Omarov
63e112bf4c
engine: client: soundlib: add more broken null files
2026-05-13 09:32:50 +05:00
Alibek Omarov
0aac2e4d32
engine: zone: add small allocation optimization, reducing the size of <255 bytes allocations at the cost of less debug info
...
Keep it opt-in through a flag at pool alloc time.
Opt-in console related allocations, they are usually small enough strings.
2026-05-13 09:32:50 +05:00
Alibek Omarov
33b3cdb0f5
engine: client: soundlib: catch broken null.wav and replace it with silence
2026-05-10 03:02:24 +05:00
Alibek Omarov
9c4edaed21
engine: client: sound: switch to single-pass mixing, now channels gets upscaled directly to DMA speed, fixing the issue with s_lerping
2026-05-10 02:48:23 +05:00
Alibek Omarov
881f0c5ca7
engine: show the missing library warning message on Android, but only if APK doesn't try to override it, skip client for now
2026-05-09 16:57:21 +05:00
Alibek Omarov
262f32b002
engine: platform: android: implement library loading from VFS paths on Android
2026-05-09 16:57:21 +05:00
Zane van Iperen
843f6297ed
engine: net_ws: fix NET_QueuePacket indentation after previous change
2026-05-09 13:15:17 +05:00
Zane van Iperen
d1510345f1
engine: net_ws: round-robin IPv4/IPv6 reads
...
Previously, it would always return on the first one that had activity.
In practice, this meant that if IPv4 starts getting slammed, IPv6 reads
wouldn't happen.
2026-05-09 13:15:17 +05:00
Alibek Omarov
52953a7647
engine: platform: posix: drop crash info into crash.log on Android
2026-05-07 15:48:34 +05:00
Alibek Omarov
ebeff144f9
Merge remote-tracking branch 'origin/master'
2026-05-07 13:50:55 +05:00
Alibek Omarov
c8cc953d48
engine: platform: posix: make crash message a global because the stack could be limited when we hit crash handler
2026-05-07 13:45:39 +05:00
Alibek Omarov
d6bf06e997
engine: common: check XASH3D_BASEDIR when opening log file, fixes engine.log creation on Android
2026-05-07 12:23:56 +05:00
Alibek Omarov
c8e1c2673f
engine: client: sound: revert singleplayer check for local sounds
2026-05-07 11:57:09 +05:00
Alibek Omarov
c2df265de7
engine: operate on a local copy of dspriteframe_t to avoid unaligned access on ARMv7
2026-05-07 11:56:08 +05:00
Alibek Omarov
086cb6aab8
engine: move {gamedir}/downloaded directory to {gamedir}_downloads for compatibility
...
Some mods like Sven-Coop 4.8 stupidly open game files directly and need this to
load downloaded soundcache.
2026-05-07 10:32:00 +05:00
Alibek Omarov
e6a44b70e0
engine: client: always load client.dll last to crash on nullptr in mods that fetch cvar pointers early, add comment for anyone who would modify this file
2026-05-05 01:15:16 +05:00
Alibek Omarov
fdb59e990e
engine: rename Host_IsLocalGame to Host_IsSinglePlayerGame to avoid confusion
2026-05-05 01:04:57 +05:00
Alibek Omarov
eb79bc6b40
engine: use Host_IsLocalClient where it should be, as it checks for local games, not specifically singleplayer games
2026-05-05 01:03:03 +05:00
Alibek Omarov
e907e9fc95
engine: client: fix check for local game when deciding to enable netchan splitsize extension
2026-05-05 00:38:33 +05:00
SNMetamorph
fc356c88b3
engine: client: minor fixes in steam broker client side code
2026-05-02 10:50:21 +05:00
SNMetamorph
2635fd9739
engine: common: make use NET_MakeSocketNonBlocking instead of direct system API functions
2026-05-02 10:50:21 +05:00
SNMetamorph
653fe51fd4
engine: client: refactor data serializing in steam broker client side logic code
2026-05-02 10:50:21 +05:00
SNMetamorph
980d9fcaab
engine: client: improve logging in steam broker client side logic code
2026-05-02 10:50:21 +05:00