Commit graph

277 commits

Author SHA1 Message Date
Thilo Schulz
e02617ee89 Little fix for the sanity check fix from previous rev... 2006-06-16 20:47:29 +00:00
Thilo Schulz
813a6ecdc3 - Fix bug that allows a malicious server to write and overwrite any files in the quake3 directory.
Reported by Luigi Auriemma.
- Moved directory traversal check to a more proper location.
- Added a few sanity checks for checksum/pakname storage to fix a crash that can occur under certain circumstances.
2006-06-16 20:38:08 +00:00
Thilo Schulz
c9c15562ea Fix client "freezes" if a user with ASCII characters > 127 enters a server. Reported by tjw 2006-06-11 14:56:58 +00:00
Thilo Schulz
84296bfc2c Fixed a crash in md4 routines when using them on files with zero length, reported by Lukasz Saduniowski. 2006-06-01 00:58:19 +00:00
Ryan C. Gordon
997dffc649 Correction in PowerPC JIT code. Fixes crash in server browser, etc, on Mac OS X
and probably PowerPC Linux, too...fixes Bugzilla #2519.
2006-05-29 03:02:54 +00:00
Thilo Schulz
a08a539c10 Fix JIT compiler code execution on NX-protected win32 OS 2006-05-15 15:57:02 +00:00
Thilo Schulz
60293f49ee Fix bug that permits download of arbitrary files from a download enabled server by checking requested file name against the list of loaded pk3 files. See CVE-2006-2082 2006-05-08 19:53:41 +00:00
Thilo Schulz
d21411452e Add string length checking to function COM_StripExtension. This fixes the R_RemapShader buffer overflow exploit that can be found here:
http://milw0rm.com/exploits/1750
2006-05-06 01:56:24 +00:00
Thilo Schulz
235e2c215f - Introduced various new typedefs for windows platform (int32_t, int64_t, etc...)
- Applied md5 64-bit safety patch by Tony White.
2006-04-27 13:39:41 +00:00
Thilo Schulz
c116695ea7 - "baseq3" literal replacement patch (by Erik Auerswald) applied
- Commented setting of the cl_guid cvar because md5.c is not 64-bit safe.
2006-04-26 13:36:58 +00:00
Thilo Schulz
70fca10af2 Replaced various "baseq3" strings with the centrally defined BASEGAME macro. 2006-04-26 11:27:12 +00:00
Thilo Schulz
31fdab187c Fix didn't work yet because it didn't use the buffer where the filename extension chop-off is done. D'oh! 2006-04-23 20:04:42 +00:00
Tim Angus
56294e2da8 * Oops 2006-04-23 18:04:51 +00:00
Tim Angus
8aecee5158 * cl_guid for semi-reliable server authentication (from tjw) 2006-04-22 22:21:56 +00:00
Thilo Schulz
40d5eee8ef Fix prohibits illegal downloading of id PK3 files from servers. That bug is hit by *every* official server release from ID. 2006-04-22 18:24:50 +00:00
Thilo Schulz
e7daf33d8e - botlib logfile now gets stored in the fs_game directory in fs_homepath. (patch from Erik Auerswald)
- Added proper error handling when fopening qconsole.log
- Fixed bug where r_chat.c gets loaded in botlib even when bot_nochat is 1.
2006-04-21 17:04:21 +00:00
Zachary Slater
9ee853343e Was that intentional? (version change) 2006-04-19 22:51:20 +00:00
Tim Angus
f63472025f * Change window title 2006-03-24 17:28:27 +00:00
Ludwig Nussel
be6ca402e8 accept pak0.pk3 in demoq3/ as well 2006-03-08 11:02:20 +00:00
Ludwig Nussel
39f2e449b6 use mmap to allocate memory for generated code to be able to set PROT_EXEC 2006-03-04 11:14:44 +00:00
Tim Angus
4ec0c94828 * Displace the '\n's passed to SV_Shutdown 2006-02-28 23:01:23 +00:00
Ludwig Nussel
a99e721711 try to fix msvc build 2006-02-26 20:01:45 +00:00
Aaron Gyes
966ffaa0f2 o rly 2006-02-20 22:08:23 +00:00
Aaron Gyes
cc9ead2fd7 Bump version number. 2006-02-20 22:04:16 +00:00
Ludwig Nussel
4c242115dc - change long to intptr_t for 64bit windows compatability
- change vmMain arguments back to int. 64bit types are apparently not
  needed there. Only the syscall function needs them.
2006-02-18 19:07:23 +00:00
Tim Angus
ab29f29495 * Fix to a memory leak in CM_ValidateFacet 2006-01-27 18:14:01 +00:00
Tim Angus
8a6be4aef4 * Persistent console history 2006-01-24 04:35:19 +00:00
Tim Angus
4ab96373e6 * Only check the checksum on baseq3 pak0.pk3 2006-01-22 17:05:43 +00:00
Tim Angus
c3f7915a8b * Overhaul of console autocompletion
- No longer does weird stuff like move the cursor inappropriately
  - Autocomplete works with compound commands
  - Special autocomplete on some commands e.g. \map, \demo
  - Removed various hacks used to counter the original autocomplete code
2006-01-22 01:58:50 +00:00
Tim Angus
7913ec3c4b * Fix a bug with command/cvar autocompletion 2006-01-21 01:35:42 +00:00
Tim Angus
58c8175024 * Added Q_isnan for NaN tests with -ffast-math
* Fixed UT/OpenAL work around
2006-01-19 20:28:12 +00:00
Tim Angus
6a396f761f * Yet another MD4 implementation
* Removed Com_BlockChecksumkey and replaced its functionality in the calling
  function
2006-01-18 15:53:50 +00:00
Tim Angus
0856744622 * GPL MD4 implementation
* Removed obsolete compilation instructions from the id readme
* Removed MD4 license from the id readme
2006-01-18 01:20:42 +00:00
Tim Angus
b4898caac4 * Fix to a stupid bug I introduced whilst trying to be clever 2006-01-15 15:30:52 +00:00
Tim Angus
e74947be2c * x86 OS X support 2006-01-15 15:22:13 +00:00
Tim Angus
216bda8cd7 * Patch from https://bugzilla.icculus.org/show_bug.cgi?id=2540 2006-01-13 20:54:07 +00:00
Ludwig Nussel
13039ef44f make memory for generated opcodes executable so the program works with
enabled NX feature.
2006-01-06 19:11:05 +00:00
Tim Angus
e95f1f2106 * Fix to the gcc4/-O0 x86 JIT compiler bug 2006-01-06 00:04:05 +00:00
Tim Angus
560b02488c * Up the defaults for zone and hunk memory since some mods (UT) have large
memory requirements that will have increased versus 1.32b due to some of the
  alignment fixes
2006-01-05 16:49:59 +00:00
Tim Angus
1171a63aea * Remove FS_SetRestrictions
* Add FS_CheckPak0 for better error messages where dumb users are involved
2006-01-05 02:06:25 +00:00
Tim Angus
6e24cfe7d3 * Fix the MinGW and (hopefully) OS X builds
* Remove custom memcpy/memset code
2006-01-04 03:40:49 +00:00
Tim Angus
a21eb2bbcb * AVI video output
- Uses motion jpeg codec by default
  - Use cl_avidemo to set a framerate
  - \video [filename] to start capture
  - \stopvideo to stop capture
  - Audio capture is a bit ropey
2006-01-04 03:12:12 +00:00
Ludwig Nussel
92ad3e99dc fix typo in comment 2005-12-30 17:52:56 +00:00
Tim Angus
db5faeaeaa * NetBSD support patch from optical (alex@rigbo.se) 2005-12-27 19:46:01 +00:00
Tim Angus
1704eecc52 * Replaced ALIGN macro with PAD
* Moved ALIGN16 macro from tr_local.h to ALIGN in q_shared.h
2005-12-05 17:32:54 +00:00
Ryan C. Gordon
cfdd586ef8 Look for correct filename extension when loading native DLLs. 2005-12-05 01:11:41 +00:00
Ryan C. Gordon
ff9c89f8fe Better altivec cvar handling. Should fix crashes at startup, or curious
people that toggle it on at runtime on a G3.
2005-12-04 21:40:25 +00:00
Tim Angus
796ba11301 * Ditch Mac OS 9 support 2005-12-01 21:36:16 +00:00
Ryan C. Gordon
4784374221 Make sure Q3_BIG_ENDIAN and Q3_LITTLE_ENDIAN are defined correctly for
PowerPC/x86 Mac OS X. Fixes Bugzilla #2510.
2005-11-29 03:31:31 +00:00
Tim Angus
382c6adb54 * Disable ccache by default. If you want it, add USE_CCACHE=1 to Makefile.local
* Remove -gfull from linux section in Makefile -- it's darwin only
* Cast away some warnings that surfaced from using "new" AL headers
* Various whitespace and consistency fixes
2005-11-26 15:01:28 +00:00
Ryan C. Gordon
721b9a7d01 Mac OS X work...lots of little changes that touch a lot of random places.
Still work to be done, but this at least matches the PowerPC Linux status
 now.

MacOS-specific directory (and XCode project) is gone...this now uses SDL,
 OpenAL, and the Unix Makefiles.

--ryan.
2005-11-26 07:46:21 +00:00
Tim Angus
fee4381e18 * Remove the debug text that nobody seemed to notice 2005-11-19 02:14:34 +00:00
Tim Angus
82893aebc9 * Bleh.. whitespace 2005-11-16 20:25:36 +00:00
Tim Angus
387d8041ce * Partial implementation of FS_Seek for files in pk3s
* A couple of RIFF decoder tweaks/fixes
2005-11-16 20:23:37 +00:00
Tim Angus
736d34c989 * Small "bug" fix to MSG_WriteBits 2005-11-15 23:49:14 +00:00
Tim Angus
e8a953fea6 * Quiet some warnings on OS X 2005-11-13 23:05:00 +00:00
Ludwig Nussel
79ceef93cc store temporary files in /tmp to save space in ~ 2005-11-13 18:33:28 +00:00
Ludwig Nussel
c95d0c29e4 use common macro for alignment 2005-11-13 17:51:21 +00:00
Ludwig Nussel
b2f39d7ddd use system memcpy and memset 2005-11-06 18:22:49 +00:00
Ludwig Nussel
590988222f - crash solved 2005-11-06 16:32:42 +00:00
Ludwig Nussel
48ee88ad77 - move code for standalone compilation out of vm_x86_64.c
- reset vm->compiled if something goes wrong in VM_Compile
2005-11-06 13:50:28 +00:00
Ludwig Nussel
8a18ecb961 - fall back to interpreter if VM_Compile resets vm->compiled 2005-11-06 13:46:17 +00:00
Ludwig Nussel
87b12105bc - set umask to 0077 before writing the cdkey, the rest of the world
doesn't need to read it.
2005-11-06 13:45:20 +00:00
Tim Angus
4eaebe4a31 * Tidy-up of q_platform.h
* Introduced Q3_BIG_ENDIAN and Q3_LITTLE_ENDIAN #defines
* Changed some stricmp to Q_stricmp so that #define stricmp strcasecmp could be
  removed
2005-11-06 00:29:59 +00:00
Ludwig Nussel
dfe20a177c - put ALIGN macro into q_shared.h
- yet another alignment fix for botlib
2005-11-05 19:06:10 +00:00
Tim Angus
81c1b3128b * Enable use of asm on Solaris-x86 2005-11-05 18:41:37 +00:00
Tim Angus
a31e38986c * Patch from AJ <anthonyj@planetquake.com> which replaces a bunch of hard coded
constants with #define constants
2005-11-05 15:54:56 +00:00
Tim Angus
d41de844d3 * Oops, missed a bit 2005-11-05 00:42:28 +00:00
Tim Angus
a87185a96f * Centralise architecture defines in q_platform.h 2005-11-05 00:29:40 +00:00
Tim Angus
e4b7a04d5c * Replaced a bunch of inline and __inline with ID_INLINE
* Replaced a bunch of __i386__ with id386
* General tidy up of asm preprocessor decisions
* Removed C_ONLY from the dedicated server build
2005-11-04 22:32:00 +00:00
Ludwig Nussel
e3e3d8b9aa actually when calling from the vm to the engine there are more than 10
arguments
2005-11-02 21:45:48 +00:00
Ludwig Nussel
5f79f9958b pass only 10 arguments. vm_* doesn't use more anyways. 2005-11-02 20:58:27 +00:00
Ludwig Nussel
3ce5d5dccd pass only 10 arguments. vm_* doesn't use more anyways. 2005-11-02 20:56:13 +00:00
Ludwig Nussel
e121614406 allocate memory pointer aligned 2005-11-02 20:34:25 +00:00
Tim Angus
87cd6f8a93 * Split off q_platform.h from q_shared.h
* Removed lcc PATH hack and replaced with something slightly less hacky
* Removed all platform specific hostfiles from lcc and replaced with bytecode.c
  (from ankon)
* Turned lcc option "-S" on permanently
* Improved q3cpp so that it recursively adds include dirs to its list
2005-11-01 22:09:15 +00:00
Ludwig Nussel
48683c91a8 use memcpy to fix use of misaligned data 2005-11-01 19:59:14 +00:00
Tim Angus
acf1f46a2b * More Solaris work 2005-11-01 16:05:06 +00:00
Tim Angus
c41483634c * General decrufting:
* Removed Q3_STATIC and associated defines
* Removed MAC_STATIC
* Replaced __LCC__ with Q3_VM
* Removed bspc and splines directories
2005-10-29 23:13:09 +00:00
Tim Angus
63fdc74843 * Fix to the VM interpreter on the linux ppc dedicated server 2005-10-29 22:06:43 +00:00
Tim Angus
c5bdb034f2 * Beginnings of Solaris support from Vincent S. Cojot
* Note this patch also splits USE_SDL into USE_SDL_VIDEO and USE_SDL_AUDIO
2005-10-29 22:05:20 +00:00
Ludwig Nussel
58512aff09 use memcpy for OP_BLOCK_COPY 2005-10-29 17:42:12 +00:00
Tim Angus
05e8ab9538 * Added STATUS
* Updated TODO
* Moved ChangeLog to root
* Updated ChangeLog
* s/Foobar/Quake III Arena Source Code/
* Biggest patch EVAR. I wonder how many mail boxes this will fill...
2005-10-29 01:53:09 +00:00
Tim Angus
ffdc69f138 * Deleted code/unix/vm_x86.c - wtf was that about anyway?
* Removed HAVE_VM_NATIVE
* Removed DLL_ONLY
* Replace HAVE_VM_COMPILED with NO_VM_COMPILED -- this means the JIT compiler
  should be enabled on the OS X and VC builds now
* Remove the remainder of the freetype building stuff
2005-10-29 00:23:10 +00:00
Tim Angus
b1b7f975f1 * Fix the x86 vm 2005-10-27 22:38:25 +00:00
Tim Angus
556b3307c5 * ...and the other common headers 2005-10-27 22:05:38 +00:00
Tim Angus
bc9ee5644b * Ignore __attribute__ when not using gcc 2005-10-27 21:49:36 +00:00
Ludwig Nussel
0bf8e3a8b0 add x86_64 vm. experimental, not enabled by default. you need as for it
to work.
2005-10-27 21:13:47 +00:00
Tim Angus
3a2ad50406 * Moved various source files from their mod sdk locations to places more
appropriate for open source Q3
* This patch looks bigger than it really is, however it will probably break the
  VC and OS X builds (easy to fix though)
2005-10-26 19:45:21 +00:00
Tim Angus
9f55ae2dce * Fixed a bug with QVM loading on big endian architectures 2005-10-26 17:09:50 +00:00
Tim Angus
f01ed7b3da * Tab completed commands no longer treated like cvars 2005-10-21 19:52:52 +00:00
Tim Angus
f306b2895f * Tiny patch to print values of cvars when tab completing ala ET 2005-10-21 00:09:34 +00:00
Tim Angus
535545684f * Adjusted VM_LoadQVM interface 2005-10-14 17:09:03 +00:00
Tim Angus
f7c82c1adc * Fixed some annoying code duplication 2005-10-13 23:08:45 +00:00
Tim Angus
35cb35ff61 * (Non-trivial) fix to the "opStack corrupted in compiled code" bug 2005-10-13 14:47:00 +00:00
Ludwig Nussel
f62601ac53 don't call VM_Compile if it's not supported so the VM_Compile symbol
isn't needed
2005-10-09 13:05:44 +00:00
Tim Angus
d0204def78 * Removed nonsensical "smells like demo data, continueing[sic] anyways" message 2005-09-26 22:26:13 +00:00
Ludwig Nussel
d5fbff3f44 revert int->long change as it breaks on 64bit. Actually only
VM_CallInterpreted hurts as VM_CallCompiled is only used on 32bit. Use
same arg types for consistency nevertheless.
2005-09-26 22:23:46 +00:00
Tim Angus
d12b4d4d09 * Potential fix to ppc vm 2005-09-26 20:37:30 +00:00
Tim Angus
47d4c2bfe5 * 64 bit fix 2005-09-26 20:09:52 +00:00
Tim Angus
cde9e9e93c * Fixed some long/int warnings, hopefully this doesn't disrupt the MSVC and/or 64bit builds 2005-09-26 16:13:14 +00:00
Tim Angus
1ad7f9cff1 * Fix to broken win32 fix patch 2005-09-26 13:47:59 +00:00
Zachary Slater
aff4d7d858 Hopefully this will fix win32 msvc.netsuperduper++220000 extra entropy edition
compilation, and I updated the readme a little apparently.
2005-09-26 02:36:52 +00:00
Tim Angus
4bc5c29115 * FreeBSD fixes/updates from Andreas Kohn 2005-09-25 22:04:51 +00:00
Tim Angus
fe14a45ad1 * Applied ajax's cleanup patch 2005-09-23 17:39:14 +00:00
Tim Angus
4c6f59c541 * Applied Thilo Schulz's MDR patch 2005-09-23 17:08:25 +00:00
Tim Angus
2b8395a4d0 * Replaced lots of __linux__ || __FreeBSD__ with __GNUC__
* MinGW port now uses asm versions of SnapVector and ftol
* Improved the handling of mangled symbols in vm_x86.c
2005-09-23 02:59:15 +00:00
Tim Angus
fcaf343d7f * Port to MinGW 2005-09-22 03:21:33 +00:00
Tim Angus
33a48a0336 * Fix to multiple buffer overflow bugs in CL_Rcon_f
* Fix to COM_ParseExt 1 byte overwrite bug
* Fixed some missing calls to trap_FS_FCloseFile
* Fixed q3msgboom and q3infoboom bugs
* Fixed some qboolean type confusion
* Above fixes from http://www.quakesrc.org/forums/viewtopic.php?t=5374
2005-09-19 17:45:29 +00:00
Six
54351a83c4 . 2005-09-04 05:45:05 +00:00
Six
38e3825516 Changed inline to __inline.
Visual C does not accept the inline keyword, only __inline.

Visual C does not recognize the #warning compiler directive
2005-09-04 05:19:58 +00:00
Ludwig Nussel
4a5f66fbe3 don't make unaligned used of OP_BLOCK_COPY an error. The bytecode
compiler doesn't care either.
2005-09-03 12:01:51 +00:00
Zachary Slater
f327407bb8 Cleanups from pomac! 2005-09-02 20:13:47 +00:00
Ludwig Nussel
1b62818a09 - add note about 64bit mods and the demo
- fix mod functions for 64bit
2005-08-30 22:38:59 +00:00
Ludwig Nussel
54d65a0ead - load qvm file by default again to avoid 'unpure' error
- fix loading qvms in 64bit q3
2005-08-30 21:25:54 +00:00
Ludwig Nussel
88171d6bb7 support for 64bit native mods 2005-08-30 20:30:17 +00:00
Ludwig Nussel
2078cfa9a0 always try native dll first 2005-08-30 15:38:05 +00:00
Ludwig Nussel
fc29447726 really don't add restrictions on demo data 2005-08-30 15:30:07 +00:00
Ludwig Nussel
9a455ba5ec disable demo restrictions 2005-08-30 11:37:53 +00:00
Ludwig Nussel
109da009d2 fix build on ppc. no guarantee it runs though 2005-08-30 11:37:41 +00:00
Ludwig Nussel
5ae70d54b0 remove svn:executable property 2005-08-28 17:54:51 +00:00
Zachary Slater
8b1d93b397 Patching from floam with some edits by myself:
I was working on a patch earlier to fix some more things up to be more
modern, and I added a couple lines from that cleanup patch I showed you
on irc. Some commented code was removed, some stuff was made to not be
broke (old head usage), the makefile should install things better, and a
a few GCC warnings were gagged. I also attempted to version it but
you'll probably want to change that to whatever versioning rules you
decide on using.
2005-08-28 03:46:44 +00:00
Zachary Slater
d54f831dd7 From ludwig: This one fixes a rendering error 2005-08-27 18:11:08 +00:00
Zachary Slater
7c8e2766c6 from floam: Finishes Ludwig's patch by adding vm_none stub. 2005-08-27 05:06:47 +00:00
Zachary Slater
f46ede91fb Ludwig's 1st diff: Some 64bit fixes for x86_64. Also fixes Makefile build. 2005-08-27 02:24:00 +00:00
Zachary Slater
59cce31e75 newlines fixed 2005-08-26 17:39:27 +00:00
Zachary Slater
5b755058f5 Itsa me, quake3io! 2005-08-26 04:48:05 +00:00
Travis Bradshaw
dbe4ddb103 The Quake III Arena sources as originally released under the GPL license on August 20, 2005. 2012-01-31 13:41:34 -06:00