Commit graph

94 commits

Author SHA1 Message Date
Thad Ward
759729b5a8 Prevent an infinite loop in a fairly rare case, where the infostring is too
full to accept a new name when there is a duplicate name.
2001-05-22 12:55:36 +00:00
Jeff Teunissen
272abade38 Backport Cvar callbacks to newtree. Software gamma still doesn't work in
GL, and I still don't know exactly why.
2001-05-13 05:10:02 +00:00
Jeff Teunissen
49d7b35d43 New server Cvar: sv_extensions. When set to zero, it disables the extended
challenge, causing QF clients to not detect a QuakeForge server. This
makes the client not add the QF-specific info strings, in turn making it
not overflow original QW clients' limited setinfo space. This also
probably makes certain proxies work with QF servers again. It /also/ has
the side effect of disabling compressed downloads. If you want compressed
downloads, you need sv_extensions on.

Also, remove the "stdver" setinfo in the client -- it's handled by
*qsg_version if there's a QF server on the other end, so it was just
wasted space.
2001-03-09 04:50:14 +00:00
Bill Currie
0ffba7e3da add fs_usercfg. defaults to "" (nothing) in oldstyle, or "~/.PACKAGErc" in
newstyle.
2001-02-10 00:40:55 +00:00
Ragnvald Maartmann-Moe IV
800ee05584 More whitespace than you can shake a shambler at. 2001-02-07 05:45:59 +00:00
Bill Currie
c6e087015c command docs patch from Misty-chan because his access hasn't completely come
through yet.
2001-02-06 02:56:14 +00:00
Bill Currie
4d08e219d9 make edict_t.v a union of entvars_t and pr_type_t[] 2001-02-02 21:22:35 +00:00
Bill Currie
a24894dc70 progs modularity improvements. what WAS sv_progs is now sv_pr_state, qwprog is
now sv_progs and the progs loading code no longer falls back to qwprogs.dat or
progs.dat. Also, call SV_Progs_Init_Cvars (forgot to do this earlier)
2001-01-28 23:27:48 +00:00
Bill Currie
3c18a79299 call SV_Progs_Init_Cvars to get r_skyname back 2001-01-28 22:06:40 +00:00
Bill Currie
bbac14a7d5 commands now sport descriptions (currently "No Description", but then I'm a
lazy bastard:)
2001-01-15 17:07:06 +00:00
Bill Currie
aa8785d2c2 fix the server info string output on the console. kludgy, but it works :) 2001-01-08 19:59:38 +00:00
Bill Currie
8723fde566 add a tab to the beginning of the logged rcon command 2001-01-07 12:07:08 +00:00
Bill Currie
544b4fa431 sv_phs doc fix from Misty 2001-01-06 06:50:29 +00:00
Bill Currie
451afbd488 various printf, Sys_Printf, Con_Printf cleanups. Con_Printf now ALWAYS prints
to consol/logfile whether output is recirected or not. Also, Con_Printf will
not print the time stamp if the last char of the previous print wasn't \n
2001-01-05 19:52:50 +00:00
Bill Currie
dd5363cdb5 commands and aliases now use hash tables 2001-01-04 20:51:35 +00:00
Bill Currie
381f5b6df4 cvars and cvar alias now use a hash table for lookups. commands and aliases
coming soon :)
2001-01-04 19:10:38 +00:00
Bill Currie
c746a0fc51 correct the description of zombie time 2001-01-03 04:40:09 +00:00
Bill Currie
2debf6f669 now only svs is reverenced where it shouldn't be, and that's to set info
strings (skybox and *progs). skybox is easy to take care of (aditional parse
functions), but I haven't yet decided what to do with *progs. Also, progs code
needs a bit of a cleanup, but that will come later.
2001-01-02 03:22:46 +00:00
Dabb
22d2cce11f Added " characters to multiline cvar descriptions to avoid compilation
probs and extra whitespaces in resulting help.
2000-12-31 09:05:25 +00:00
Bill Currie
b6c832d900 while not 100% complete (sv is still referred to as well as r_skyname), the
progs engine no longer refers to any global vars. This alows for multiple progs
being loaded (NOTE: NOT multiple mods, but (eg) for various protocol
extensions) and, once the last couple of issues are taken care of, CSQC.
2000-12-31 07:43:09 +00:00
Bill Currie
76a11bd74a cvar doc patches from Misty 2000-12-31 04:46:04 +00:00
Bill Currie
ccba39666b #include audit 2000-12-30 02:16:36 +00:00
Bill Currie
73980fe852 make qf-server REALY sleep when there are no clients currently connected 2000-12-29 05:32:24 +00:00
Bill Currie
80db620524 What's GameSpy? 2000-12-28 07:18:11 +00:00
Bill Currie
c3f6aa669a sv_main.c:
check sv_minqfversion->string[0] instead of value
sv_user.c:
	white space
2000-12-14 07:46:17 +00:00
Dabb
c3a0ab3aa1 Packet logging support for debugging and educational purposes. 2000-12-11 15:30:52 +00:00
Jeff Teunissen
54e2a4d9d3 Okay, the big whitespace reformat. There is some silliness (case
statements, variable declarations), but all in all it's not bad.
2000-12-08 06:51:37 +00:00
Bill Currie
29970187d7 sprintf audit. 2000-12-05 16:51:01 +00:00
Bill Currie
eae11661e4 strncat parameter audit. Unfortunatly, strncat is counter-intutite: the n in
strncat is not the maximum length of the destination string, but of the SOURCE
string, thus strncat (dest, src, sizeof (dest)) is incorrect. It should be
strncat (dest, src, sizeof (text) - strlen (dest)). Even then, no terminating
nul will be written if src is too long, but at least it won't crash the stack:)
2000-12-05 16:04:12 +00:00
Zephaniah E. Hull
66e0e31b57 strcat -> strncat
sprintf -> snprintf

AKA, really big buffer overflow security fixes.

More to come, geez we have holes everywhere.
2000-12-05 11:08:30 +00:00
Bill Currie
c67a1b37e5 fix handling of +set on the command line so the global config file can be
overridden (so long as it doesn't use setrom:)
2000-11-30 19:53:25 +00:00
Bill Currie
42b3a83bd9 move host_parms from quakefs.c to somewhere a little more sensibe. 2000-11-29 23:26:45 +00:00
Dabb
008f880ea4 Well, let's be really strict and put SV_Init(void) here.. 2000-11-27 15:29:25 +00:00
Forest Hale
9ce5fc95df quakeparms_t audit.
changed all parms references to directly access host_parms to improve readability, and removed unused basedir references. (all remaining fields in quakeparms_t deserve to be there)
2000-11-27 13:17:48 +00:00
Jeff Teunissen
d82b6a2e88 sv_main.c: Set the client's last_check field to -1 on connect. Unless a
player connects immediately after a timekick sample, their time WILL be
off, so don't look at them the first sample.

sv_user.c: Another location to enforce sv_maxrate, make sv_timekick and
friends ignore a user's time if it's -1, and apply double fuzz to times
lower than we expect -- it's way too sensitive otherwise. Also, some
whitespace changes.
2000-11-26 12:43:49 +00:00
Jeff Teunissen
8465917ed1 Stole a proper version comparison function from dpkg. Version strings
(for sv_minqfversion) are no longer compared as floats, so a server admin
can require client versions with a lot more granularity. (e.g. 0.2.99beta5
is greater than 0.2.99beta4, but lower than 0.3.0)
2000-11-26 09:48:01 +00:00
Jeff Teunissen
6f40c97643 New Cvars:
sv_minqfversion: Set to the minimum allowable QuakeForge version you want
to allow on a server. QF clients prior to current CVS _will_not_work_ with
this cvar, as the QF version was not reported previously.

sv_maxrate: Change maximum rate algorithm; if sv_maxrate is nonzero, it is
the maximum rate allowed by the server. If it is unset, the maximum is
10000 like it used to be. The rate is silently capped, so it won't kick.

Cvar fixed: sv_timekick and friends; Now kicks on too little time passed
as well.

Functionality removed: "Last message repeated X times". It causes too much
trouble.
2000-11-25 14:20:04 +00:00
Bill Currie
24477b651a white space cleanup 2000-11-14 16:16:07 +00:00
Jeff Teunissen
ba11d00aba compat.h: Add str*equal () convenience macros
cl_main.c: Clean up version string a little
cmd.c: Add setrom parsing to first init phase, clean up includes a little
cvar.c: setrom command now uses set's semantics. Cvar_Set, Cvar_Set_f,
Cvar_Setrom_f now do a Con_DPrintf to report attempts to set CVAR_ROM
cvars.
sv_main.c: Clean up version string a little
vid.c: -winsize, -width, and -height no longer use Cvar_SetROM. The code
looks a little uglier, but it's more correct.
2000-11-04 07:42:43 +00:00
Bill Currie
5c2257399d oops :/ 2000-10-31 05:29:32 +00:00
Bill Currie
3a9eba4f03 ok, server now runs without segging on a cvar (with simple testing, anyway.
needs fuller bashing).
2000-10-31 05:24:34 +00:00
Bill Currie
56ac383268 server now starts without segging and fix a compile error in tga.c 2000-10-30 00:05:21 +00:00
Bill Currie
4057988e1f tree now builds again. Note: this includes some of my sky work, but so long as
gl_sky_clip is not set, it's not working won't affect you :)
2000-10-29 22:02:29 +00:00
Zephaniah E. Hull
13bd5ce012 The init sequence cleanup!
Also broke up client.h into a lot of smaller headers.
Oh, software rendering works again.

And yes, this does hit a hell of a lot of files.
2000-10-29 15:35:24 +00:00
Bill Currie
d295f183ba remove va from commdef.h and fix the consequences 2000-10-21 07:34:56 +00:00
Bill Currie
f0c35d7f9d o rcon now prints (hidden) instead of the rcon password
* taniwha  drops a 900lb security manual on zoid's head
	 <taniwha> nah, make that kg :)
 o  fix a potential buffer overflow
2000-10-20 18:03:26 +00:00
Bill Currie
2682888425 the big cvar value -> int_val audit. seems to work ok 2000-10-17 03:17:42 +00:00
Bill Currie
fc6ff9374d A solution to the problem of when to set the extended info keys. This allows
for nice large amounts of client info to be sent to a QuakeForge server.

sv_main.c:
	Append " QF" to the challenge reply. This DOES NOT break older clients
	because atoi stops parsing at the first non-number character but
	returns the value of what it successfully parsed. If a client does
	choke on this, its libc is broken and not to spec.

cl_main.c:
	Check for "QF" in the challenge string and if it's there, set the
	QF extended info keys before connecting. Also, make sure the extended
	info keys are NOT set prior to starting the connect process. This is
	done is the CL_Disconnect function.
2000-10-04 16:22:51 +00:00
Bill Currie
86f87122c0 zlib support (gzipped pack contents). if you have a probelm with gzgets, you
have 3 choices: remove /usr/X11R6/lib/libz.a, --diable-zlib, or fix configure.
I do intend on fixing it myself.
2000-09-27 19:44:26 +00:00
Zephaniah E. Hull
210ba16069 First off in gl_draw.c we have some nice cleanup code for the upload
code.

Then we have the completely purge of treating 'unsigned' as a type, it
is NOT a type, it is a TYPE MODIFIER!

Under gcc for x86 it happens to try and do something sane, just treat it
as a unsigned int, but that is EVIL, it is a MODIFIER and if ANYONE adds
code which uses unsigned as a type in itself I /WILL/ harm them!!!
2000-09-22 09:08:08 +00:00