Package: ioquake3 / 1.36+u20161101+dfsg1-2+deb9u1

Metadata

Package Version Patches format
ioquake3 1.36+u20161101+dfsg1-2+deb9u1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
security/Don t load .pk3s as .dlls and don t load user config file.patch | (download)

code/client/cl_main.c | 4 2 + 2 - 0 !
code/qcommon/files.c | 6 6 + 0 - 0 !
code/sys/sys_main.c | 7 7 + 0 - 0 !
3 files changed, 15 insertions(+), 2 deletions(-)

 don't load .pk3s as .dlls,
 and don't load user config files from .pk3s.

security/Don t open .pk3 files as OpenAL drivers.patch | (download)

code/client/snd_openal.c | 8 7 + 1 - 0 !
1 file changed, 7 insertions(+), 1 deletion(-)

 don't open .pk3 files as openal drivers.

security/Merge some file writing extension checks from OpenJK.patch | (download)

code/client/cl_console.c | 6 6 + 0 - 0 !
code/qcommon/common.c | 7 7 + 0 - 0 !
2 files changed, 13 insertions(+)

 merge some file writing extension checks from openjk.

Thanks Ensiform.
https://github.com/JACoders/OpenJK/commit/05928a57f9e4aae15a3bd0
https://github.com/JACoders/OpenJK/commit/ef124fd0fc48af164581176

security/Fix improve buffer overflow in MSG_ReadBits MSG_WriteBits.patch | (download)

code/qcommon/huffman.c | 27 18 + 9 - 0 !
code/qcommon/msg.c | 40 35 + 5 - 0 !
code/qcommon/qcommon.h | 6 3 + 3 - 0 !
3 files changed, 56 insertions(+), 17 deletions(-)

 fix/improve buffer overflow in msg_readbits/msg_writebits

Prevent reading past end of message in MSG_ReadBits. If read past
end of msg->data buffer (16348 bytes) the engine could SEGFAULT.
Make MSG_WriteBits use an exact buffer overflow check instead of
possibly failing with a few bytes left.

debian/Add sv_dorestart which can be set by game code to re.patch | (download)

code/server/server.h | 1 1 + 0 - 0 !
code/server/sv_ccmds.c | 6 5 + 1 - 0 !
code/server/sv_init.c | 1 1 + 0 - 0 !
code/server/sv_main.c | 1 1 + 0 - 0 !
4 files changed, 8 insertions(+), 1 deletion(-)

 add sv_dorestart, which can be set by game code to restart the map

debian/Let servers set sv_fps too.patch | (download)

code/client/cl_parse.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 let servers set sv_fps, too


debian/Add a special vmMagic that causes equivalent native .patch | (download)

code/qcommon/files.c | 6 3 + 3 - 0 !
code/qcommon/qcommon.h | 2 1 + 1 - 0 !
code/qcommon/qfiles.h | 4 4 + 0 - 0 !
code/qcommon/vm.c | 57 56 + 1 - 0 !
4 files changed, 64 insertions(+), 5 deletions(-)

 add a special vmmagic that causes equivalent native code to be
 loaded instead

This means that mods can build everything from source without relying on
the non-GPL q3lcc compiler. By padding the fake QVM with bytes chosen
to match the CRC-32 of the upstream-released QVM, it's even possible to
be network-compatible with the upstream one, and so play on pure servers.

If the magic number in the fake QVM file is immediately followed by a
non-empty string (e.g. "pak0"), we try using it as a subdirectory name,
so we end up loading something like pak0/qagamex86_64.so; otherwise we
just use the base name, as if for VMI_NATIVE. This is necessary for mods
like OpenArena, where the game-code for 0.8.1 and 0.8.5 is not
network-compatible, so 0.8.5 clients on a 0.8.1 pure server need to load
the 0.8.1 game-code.

debian/Run in a window by default on new installations.patch | (download)

code/renderergl1/tr_init.c | 2 1 + 1 - 0 !
code/renderergl2/tr_init.c | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 run in a window by default on new installations

Debian Games Team policy seems to be to default to windowed to avoid
resetting screen geometry, breaking multi-head, etc. r_fullscreen
is "archived" (saved to the user configuration), so this doesn't
affect current players.

Most people will want to configure a higher resolution than 640x480
anyway, at which point it's easy to switch fullscreen on too.

Also set default r_mode to 3 (640x480) in renderergl2, matching
renderergl1.

debian/ui reinstate minimal code to determine whether this .patch | (download)

code/q3_ui/ui_gameinfo.c | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 ui: reinstate minimal code to determine whether this is the demo


debian/Request confirmation if a user enables auto downloading.patch | (download)

code/q3_ui/ui_preferences.c | 38 37 + 1 - 0 !
1 file changed, 37 insertions(+), 1 deletion(-)

 request confirmation if a user enables auto-downloading

The Q3 UI toolkit isn't great at large amounts of text, so just point
to a deb.li link into the Debian wiki.

[Adapted from src:openarena for src:ioquake3]