Commit graph

98 commits

Author SHA1 Message Date
Thilo Schulz
06628af7c5 Don't do game_restart if game directory changed from "" to "baseq3" or "baseq3" to "" 2011-08-03 00:58:33 +00:00
Thilo Schulz
8ab958fab9 Fix pak order when reconnecting to a server.
When /connect to the same server is issued while already connected, an initial call to CL_Disconnect will remove all pak file references
and reset the pak order.
Reordering only occurs through FS_Restart, which in turn is called when checksum feed changes. Because we reconnect to the same server,
checksum feed never changes and pak file order is not restored to server order again. With certain pak file constellations between client/server,
this may result in an inability to load files from paks which are not correctly detected as referenced paks.
2011-08-01 01:14:26 +00:00
Thilo Schulz
23f6fd1633 Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings 2011-07-29 12:27:00 +00:00
Thilo Schulz
c4f739b8d0 Fix extension name comparison for DLL files 2011-07-24 22:12:21 +00:00
Thilo Schulz
e06c117e9e - Implement dual protocol support (#4962)
- Fix several UDP spoofing security issues
2011-07-12 11:59:48 +00:00
Thilo Schulz
d57ba6a57b - Automatically reset fs_game to "" if it was supplied by the user and is equal to com_basegame
- Fix problem where users could change values of CVAR_INIT variables after the call to Cvar_Get() via Com_StartupVariable()
- Move sound shutdown after client shutdown so VMs don't hold invalid sound handles in memory
2011-06-22 23:00:36 +00:00
Thilo Schulz
dee3724a13 - Improve game_restart:
* differing screen resolutions and network settings are now honoured when changing fs_game
  * Fix hunk memory leak on game_restart
  * Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
  * Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
  * Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
2011-06-21 11:18:35 +00:00
Thilo Schulz
af5020c57c - Don't try to load QVM/DLL files on pure servers
- Fallback after failed DLL load will be VMI_COMPILED, not INTERPRETED
2011-06-15 22:25:13 +00:00
Thilo Schulz
9219cde4e8 - Small change to search path order - local files not in .pk3s take precedence over files in pk3s. Should make life easier for modders/mappers wanting to override textures that are already contained in some older pk3
- Make VM loading more robust, change loading order: when vm_* == 0 first try loading DLL, then QVM in *each* search directory/path
- Fix FS_FileForHandle that would return a FILE pointer to invalid file handle 0
2011-06-15 22:09:26 +00:00
Thilo Schulz
698a9c51ec Fix newlines in Com_Error, patch by Zack Middleton (#5023) 2011-06-06 14:51:02 +00:00
Thilo Schulz
b509d770a7 - Remove Q_strrchr(), replace with standard, portable strrchr()
- Add strrchr() to bg_lib.c, patch by DevHC
2011-05-15 14:08:03 +00:00
Thilo Schulz
c95bd0a684 Remove newlines from Com_Error message format strings, patch by DevHC 2011-05-12 14:02:48 +00:00
Thilo Schulz
d34c6b7e0b Revert protocol 69 pending further discussion (#4962) 2011-04-27 20:17:45 +00:00
Thilo Schulz
a5580d8974 - Harden the client and server protocol against UDP spoofing attacks. This will defend ioquake3 against http://aluigi.altervista.org/papers/q3noclient.txt (#3041)
- Retains full compatibility to the old but unsecure protocol between clients and servers
- Harden the connection process against DoS attacks, possibly connected to UDP spoofing
2011-04-27 16:03:35 +00:00
Tim Angus
52ead6fa36 * Crash recovery for com_pipeFile (Lakitu7) 2011-03-30 21:58:31 +00:00
Thilo Schulz
3bf8ec2dab (#4925) - com_pipefile to create a named pipe for sending commands from other processes, patch by Chris Schwarz 2011-03-10 01:01:27 +00:00
Thilo Schulz
8c3f320504 (#3767) Some protection from malicious qvms - patches and ideas by Amanieu d'Antras and Ben Millwood 2011-03-08 01:39:34 +00:00
Thilo Schulz
c0cca7a0a8 - Fix potential out-of-bounds read in files.c, fix by using new FS_IsExt
- Add capability to load demos with com_protocol suffix, partially applied patches from Simon McVittie
- Fix demo loading if protocol number has more digits than 2
- Minor refactoring, replace all occurances of suffix "dm_" with global macro DEMOEXT
2011-03-07 22:08:48 +00:00
Thilo Schulz
fef4d12d68 Refactoring patch by DevHC 2011-03-05 19:20:37 +00:00
Thilo Schulz
4dc750aedb Merge "which" command upstream from Tremulous, patch provided by Chris Schwarz 2011-02-10 23:07:07 +00:00
Thilo Schulz
614f315ce8 Fix console tab autocomplete for exec and condump on pure servers, patch by Zack Middleton 2011-02-10 19:58:20 +00:00
Zachary Slater
5e0d0efd2e http://www.angryflower.com/aposter.html
(minor English issues, most of which are via /dev/humancontroller)
2011-02-09 05:51:33 +00:00
Thilo Schulz
956c9a262a First batch of getting replacing malloc() with Z_Malloc 2011-02-09 00:02:42 +00:00
Thilo Schulz
eb11388cac Fix STANDALONE in files.c 2011-02-08 20:27:49 +00:00
Thilo Schulz
7bb5906599 Patch by Simon McVittie to improve dynamic library loading (#4700) 2011-02-04 17:47:57 +00:00
Thilo Schulz
0eb5d1720c Fix banfile writing to wrong game directory 2011-02-04 12:34:11 +00:00
Thilo Schulz
3148416c04 - Change runtime standalone detection:
* com_standalone now read-only
  * add new cvars com_basegame, com_homepath
  * standalone now automatically detected when com_basegame is set to something different than baseq3 and no id pak pk3s are found
  * This fixes https://bugzilla.icculus.org/show_bug.cgi?id=4699
- Replace a few hardcoded string literals with macros
- Add checks for Team Arena PK3s to FS_CheckPak0()
2011-02-04 12:04:56 +00:00
Ludwig Nussel
a9fdf0ef3b need to hardcode "baseq3" to prevent download of id files even if compiled STANDALONE 2010-02-28 08:56:54 +00:00
Thilo Schulz
258429efe7 - Add unset command for cvars created by the user
- Fix crash bug when maximum number of cvars has been reached
- Fix cvar_restart
- Add possibility to cleanly switch mods ingame (#2819)
2009-11-09 22:41:42 +00:00
Thilo Schulz
606ce66726 This is true always, anyways. 2009-11-09 13:50:48 +00:00
Tim Angus
108705d31f * Rewrite win32 Sys_Mkdir to use CreateDirectory
* Make FS_ReplaceSeparators filter out runs of multiple separators
* Make FS_CreatePath skip creation of the root directory
2009-11-07 16:43:02 +00:00
Tim Angus
0f9a5e09eb * Improve displayed error message when pak?.pk3 is missing 2009-11-06 16:25:14 +00:00
Tim Angus
eee9770fbf * Reimplement r1597-1598 in a better way (Oopss)
* Fix Sys_SetEnv warning
2009-11-05 20:20:23 +00:00
Thilo Schulz
fd57c987c4 Fix infinite loop in case an invalid pk3 file has been downloaded from the server. Thanks tjw for reporting (#3074) 2009-10-19 22:36:17 +00:00
Thilo Schulz
cc919c05fd Just unix2dos, nothing to see here ... 2009-10-19 14:00:16 +00:00
Thilo Schulz
5a882a72e4 fs_fakeChkSum is indeed obsolete and unnecessary. Removing it altogether now. 2009-10-12 03:20:44 +00:00
Thilo Schulz
fd90f4f579 Fix fake checksum handling if client is unpure, make sure client does not remain unpure after FS_Restart. Thanks to /dev/humancontroller for reporting. http://bugzilla.icculus.org/show_bug.cgi?id=3605, thanks 2009-10-11 16:34:26 +00:00
Tim Angus
083bd1b005 * ...and actually r1626 this time 2009-09-16 09:30:21 +00:00
Ryan C. Gordon
826f05f95f Let a separate libdir be specified for loading libraries.
Partially fixes Bugzilla #4271.
2009-09-15 06:32:05 +00:00
Ryan C. Gordon
5079343ecd Fixed infinite recursion of writing crashlog because we're out of file handles.
Fixes Bugzilla #3772.
2009-09-15 00:19:22 +00:00
Tim Angus
48d8c8876b * s/FS_FilenameIsExecutable/FS_CheckFilenameIsNotExecutable/g
* Fix potential buffer under run in FS_CheckFilenameIsNotExecutable
2009-02-26 13:02:59 +00:00
Tim Angus
b555d68b3f * (bug #3729) server dependencies on client.h (Ben Millwood)
* (bug #3731) BUILD_MISSIONPACK flag in Makefile (Gabriel Schnoering
  <gabriel.schnoering@gmail.com>)
* (bug #3756) Q3VM crashes on unaligned block copy with SIGBUS (Patrick Baggett
  <baggett.patrick@figglesoftware.com>) and...
* (bug #3755) IOQuake3 shouldn't use GCC-specific __FUNCTION__
2008-08-22 22:47:26 +00:00
Tim Angus
2c0861c1ce * (bug 3610) Server sending unnecessary newline with SV_ConSay_F (Tyler Schwend
<TylerSchwend@gmail.com>)
* (bug 3623) COMMAND is mapped to the ALT key (Matthias <Kapffer@macbay.de>)
* (bug 3665) Typo error in FS_FOpenFileByMode function (TsT <tst2006@gmail.com>)
* (bug 3669) Some files left out of Solaris Packages (Vincent Cojot
  <vincent@cojot.name>)
* (bug 3680) server quit messages (Ben Millwood)
* (bug 3682) Maps with >1024 models cause a segfault (misantropia
  <bnoordhuis@gmail.com>)
* (bug 3683) R_FindShader(): negative lightmap indexes cause stray pointers
  (misantropia <bnoordhuis@gmail.com>)
* (bug 3688) q3asm potential segfault fix and other changes (TsT
  <tst2006@gmail.com>)
* (bug 3695) Not allowing to write file with lib extention (.dll/.so/...) (TsT
  <tst2006@gmail.com>)
* (bug 3696) make-macosx-ub.sh outdated by revision 1340; test for Tiger not
   working (Matthias <Kapffer@macbay.de>)
* (bug 3698) #error reported as warning in q3cpp (and no #warning support)
  (Ben Millwood)
* (bug 3703) restoring the valued pre-SDL window behaviour (/dev/humancontroller
  <devhc97@gmail.com>)
2008-07-05 23:50:38 +00:00
Zachary Slater
4713fa4f79 Thanks to Lakitu7 for pointing this out. 2008-06-17 04:44:36 +00:00
Tim Angus
845de6a960 * Fix some recently introduced warnings
* Fix referenced pk3 list including excessive number of spaces
2008-04-12 18:58:06 +00:00
Thilo Schulz
f8d8a1c2f7 - fix a potential file descriptor leak in server side of pak downloading
- add new functions for banning clients from server, in engine part. This will also make it possible to ban ipv6 addresses in old mods.
2008-04-12 17:00:18 +00:00
Thilo Schulz
78a82bcba2 Add com_standalone cvar for at-runtime handling of mods that do not require the original quake3 game data. 2008-04-10 15:37:25 +00:00
Thilo Schulz
b3822d03e2 Include #ifdef to make it easier to create a stand-alone binary. 2008-04-09 23:43:30 +00:00
Thilo Schulz
eb3b59308b Add Multicast capabilities for LAN server scanning. 2008-04-09 14:37:42 +00:00
Thilo Schulz
99fe055931 Commit patch from Jacques Boscq, which will prohibit the calling of memcpy with src=dest 2008-03-25 21:45:20 +00:00