summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Simon McVittie [Sat, 30 Jul 2011 17:07:48 +0000]
Client_HandleGetServersReponse: say which client this is
Simon McVittie [Sat, 30 Jul 2011 17:07:18 +0000]
run_all_tests.sh: exit nonzero if any test fails
Simon McVittie [Sat, 30 Jul 2011 17:06:59 +0000]
tests: simulate a modern Quake III Arena version
All versions of Q3 that are still relevant use the Quake III Arena 1.32
protocol, which is number 68, in their infoResponse.
(Recent ioquake3 versions support protocol 68 as a "legacy protocol" -
it's still what appears in their infoResponse, but when a client actually
tries to connect, they'll try to use a newer protocol, transparently
falling back to protocol 68 on failure. As far as dpmaster is concerned,
this is basically still protocol 68.)
Simon McVittie [Sat, 30 Jul 2011 17:03:11 +0000]
All tests: exit nonzero on failure
Simon McVittie [Sat, 30 Jul 2011 17:01:00 +0000]
Distinguish between Quake3Arena-based games by the protocol in their info response
Such games should really use the DarkPlaces heartbeat protocol and put
a gamename key in their infoResponse, but historically, they haven't
(because ioQuake3 didn't support it). For instance, OpenArena 0.8.x
doesn't.
This patch also pre-configures an "openarena" game-name, representing
OpenArena 0.8.1 or compatible (including 0.8.5). As a side benefit, this
will make IPv6 queries from OA 0.8.5 work, which they didn't previously.
molivier [Sat, 23 Jul 2011 12:29:31 +0000]
I can no longer officially support Mac OS X since the release of version 10.7 (Lion) makes my mac system (10.5 - Leopard) obsolete. Minor editings in the documentation. Bumped version to 2.2
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@11251
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 18 Jul 2011 21:17:24 +0000]
Reduced the number of hash tables (one for all servers, and one for all clients). Moved most of the contents of readme.txt in 2 new files, with some minor editings here and there. Made the test duration an optional parameter to Test_Run(). Added a basic test for the flood protection. Fixed the parsing of the flood protection parameters
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@11248
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 1 Sep 2010 22:58:12 +0000]
Flood protection against abusive client requests, by Timothee Besset. Updated documentation. Only print the first non-matching parameter when building a getserversResponse in verbose mode. Code cleaning and factorization.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@10433
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 22 Aug 2010 17:06:16 +0000]
Fixed a bug that prevented daemonization when chrooted (thanks to LordHavoc for diagnosing this one). Fixed a warning when building with GCC. New system for managing game properties, including built-in support for "Return to Castle Wolfenstein" and "Wolfenstein: Enemy Territory". Shutdown heartbeats and unknown heartbeats are now ignored. Fixed the game type when printing the server list in the log
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@10414
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Fri, 28 Aug 2009 19:18:50 +0000]
Minor editing in the readme file. Bumped version to 2.1
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@9153
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 9 Jul 2009 07:14:04 +0000]
A gametype value can now be any string (no whitespace allowed though), not just a number. Updated the documentation accordingly. Bumped version to 2.1-devel. Fixed a couple of comments regarding version numbers in the query script
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@9053
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 31 May 2009 22:46:27 +0000]
- Minor code cleaning in the test suite
- Fixed IPv6 support in query_remote_master.pl
- Simulated clients can now optionally ignore EOT marks in getservers(Ext) responses
- Ignore EOT marks and fixed game family when querying for Q3A games in query_remote_master.pl
- Minor editing in the documentation
- Bumped version to 2.0
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@9002
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 28 May 2009 23:01:49 +0000]
Added a section "USING DPMASTER WITH YOUR GAME" in techinfo.txt. Minor editings in the doc files. Bumped version to 2.0 RC5
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8996
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 17 May 2009 23:11:51 +0000]
- Passing the dpmaster binary path is now a named option in the test suite: --dpmaster-path
- Improved the query_remote_master script: all parameters can now be set from the command line
- Sys_SockaddrToString() now requires the exact sockaddr length (it fixes the resolver failure on OpenBSD)
- Added a help message to the Makefile. Renamed some of its targets for clarity and coherence
- Fixed warnings when compiling with MinGW and MSVS. Minor changes and fixes for portability sake
- Replaced the old MSVS 6 project files by MSVS 8 (2005) project files
- Updated documentation (compiling, basic usage, test suite), including various typo fixes and minor changes here and there
- dpmaster 2.0 RC4
- Fixed a potential resource leak when resolving an address (the leak is possible in theory, but probably not in practice though, since no structure should be returned if getaddrinfo fails)
- Removed the need for the test suite to have a dpmaster binary even when it uses a remote master
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8977
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 10 May 2009 21:24:39 +0000]
- Removed the need to explicitly tell when a client getservers won't be answered
- Added a master server property for each used command line options
- Fixed the case when both USR1 and USR2 are received almost simultaneously (the log file wasn't closed)
- Removed the need to explicitly tell when a server cannot be answered because it's on the loopback interface
- Renamed run_all.sh to run_all_tests.sh
- Only the last packet of a getservers response get an EOT mark now.
- Added very basic support for querying a remote master server with the testlib.
- Fixed the code parsing the getservers responses in the testsuite regarding '\n' characters (it now uses the pack/unpack functions).
- Added a check for duplicate entries in the getservers responses.
- A few other minor fixes and changes in the code and the test suite.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8953
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 5 May 2009 23:36:37 +0000]
- Fixed a crash when removing the last server in the list, in Sv_Remove()
- Added an error message when the log file can't be opened. Fixed multiple usage of the same va_list variable in Com_Printf() - bad, at least on x86_64. Fixed a couple of comments.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8946
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 5 May 2009 23:35:04 +0000]
- Added a server property "cannotBeAnswered" to replace "cannotBeRegistered" when the server should not even get a "getinfo" message from the master
- Added a master server property "gamepolicy" to manage the game policy option
- Removed the need to explicitly tell when a server isn't registrable
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8945
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 29 Apr 2009 00:03:28 +0000]
- Improved the way the game name and family are handled in the test lib for Q3A clients and servers. Added support for a new client property: "cannotBeAswered", which must be set when a client query is malformed and shouldn't even be answered by the master
- Reject getserversExt messages with no game name
- Skip leading whitespaces in front of the game name in getservers(Ext) queries
- Added a test for the case where a getserversExt query is completely empty (no game name, no protocol, and no options)
- Removed the "-Wdeclaration-after-statement" flag because OpenBSD's gcc doesn't support it
- Various minor fixes and improvements in the documentation
- Forgot to print the gametype when dumping the server list at the beginning of a log file
- Added some delays when simulating the clients, to make sure the servers have enough time to register before the getservers messages are sent
- Improved a bit the way the infostring parser handles very long keys and values
- Clear the date string if there's an error while building it
- dpmaster 2.0 RC2
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8940
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 23 Apr 2009 23:02:03 +0000]
Minor changes for Win32 / UNIX compatibility regarding the socket API.
getservers messages with an invalid protocol number (or without any) are
now correctly ignored. Modified the priority of several printings.
Renamed Sv_ResolveAddr() to Sv_ResolveIPv4Addr(). No warning is printed
anymore if a server changes its game name. Changed a few of printings
for clarity and/or presentation. No longer tolerate several mapping
declarations for the same address. Use "NON-PRINTABLE ADDRESS" instead
of an empty string if we can't convert an address in
Sys_SockaddrToString(). Increased the default hash size to 10 bits.
Fixed a couple of typos in the help text of the game policy option.
Bumped version to 2.0 RC1.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8939
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 16 Apr 2009 22:00:21 +0000]
* The parsing of the server list now starts at a random slot, in an attempt to be fair to all servers regarding their position in the server lists that are sent to clients.
* Modified the command line parsing code to allow more than one parameter by option
* Added support for gametype filters in getservers(Ext) queries
* New option "--game-policy" to filter games
* Updated documentation
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8931
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 24 Jan 2009 15:35:04 +0000]
Oops... I forgot to add the new files
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8669
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 24 Jan 2009 15:31:29 +0000]
Forgot to compare the scope IDs in Sv_SameIPv6Addr(). Added command line
option "--hash-ports", used by the test suite. Simplified a bit the hash
function. Added a test script for the maximum number of servers per
address. The address quotas for IPv6 are now by subnets, instead of by
individual addresses like IPv4. Added explicit error messages when
errors are found in the command line options. Fixed compilation and
Sys_GetLastNetErrorString() on Win32. The interrupt handler now uses
what seems to be the proper type for variables it accesses
(sig_atomic_t). Moved code around. Various minor code editings and
cleanups. Updated copyright notices
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8668
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 27 Sep 2008 10:00:32 +0000]
Added the flag for compilation warning regarding variable declarations after statements
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8514
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 27 Sep 2008 09:54:11 +0000]
Win32 compilation fixes
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8513
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 27 Sep 2008 09:53:54 +0000]
Changed the --allow-loopback entry in the Changelog
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8512
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 24 Sep 2008 21:09:07 +0000]
Game names containing whitespaces are not compatible with the format of
the "getservers" requests, so make sure to not even allow them in
infoResponse messages.
Added a warning when a server is rejected because the server list is
full.
Added a small note about "Quake3Arena" being the game name used for Q3A
in IPv6-capable queries in "techinfo.txt".
Stop trying to do something smart with the detection of the Socket6 Perl
module in the test suite (it doesn't work), so the Socket6 Perl module
is now required to run the test suite.
Added a "--allow-loopback" option to dpmaster, used by the test suite,
to disable the automatic rejection of servers talking from a loopback
interface.
Fixed a bug where the clients waited for unregistrable servers in the
test suite.
Minor changes and fixes here and there in the test suite, the
documentation, and dpmaster's help text.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8510
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 8 Jul 2008 12:56:14 +0000]
Work in progress version of dpmaster 2.0: added support for IPv6, logging, multiple listening interfaces, and long options; increased the default number of servers to 4096; modified the hash function to get up to 16-bit hashes; updated documentation
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8389
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 9 Jun 2008 09:32:53 +0000]
Removed an artifact from an ancient world, obviously no longer of any use there
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8348
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 9 Jun 2008 07:36:28 +0000]
Updated the copyright notices. Increased the default maximum number of servers per IP address from 16 to 32
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8346
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 8 Jun 2008 17:28:57 +0000]
Bumped version number to 1.7
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8342
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 8 Jun 2008 17:26:26 +0000]
Added a few more servers, with different game names and protocol numbers
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8341
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 8 Jun 2008 17:24:33 +0000]
Added a "dpmaster-output" option to print the master server output during the tests
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8340
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 8 Jun 2008 17:23:41 +0000]
Removed the verbose option
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8339
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 8 Jun 2008 16:52:04 +0000]
Modified slightly the pattern for the names of the test scripts
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8338
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 16:58:14 +0000]
Silented a warning on MSVS
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8337
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 14:36:35 +0000]
Another attempt at fixing those end-of-line issues
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8336
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 14:18:54 +0000]
Fixed line-endings to please MSVS
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8335
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 13:40:01 +0000]
Updated readme file
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8334
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 13:38:02 +0000]
Reduced the number of printed timestamps to one per packet reception since dpmaster only does work on those occasions anyway.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8333
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sat, 7 Jun 2008 13:32:13 +0000]
A couple of minor string fixes
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8331
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Fri, 6 Jun 2008 21:24:21 +0000]
Updated documentation and presentation string
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8330
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Sat, 1 Mar 2008 02:19:24 +0000]
now prints timestamps (in UTC) on every message to make logging useful
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@8164
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 6 Jan 2008 11:15:25 +0000]
Minor editing
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7926
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 2 Dec 2007 17:36:31 +0000]
Much better test scripts, still in Perl, with most of the code shared via a Perl module
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7752
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 2 Dec 2007 17:33:58 +0000]
Minor text editing
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7751
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 2 Dec 2007 17:27:23 +0000]
Removed irrelevant comment
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7750
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Thu, 17 May 2007 17:45:09 +0000]
revert the last patch because it could never happen
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7305
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Thu, 17 May 2007 17:40:14 +0000]
fix a crash in dpmaster when a query comes in with no servers in the
database (such as at startup), thanks to whiskas for reporting this
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@7304
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 28 Jan 2007 22:41:00 +0000]
Improved the test script a bit: it now tests the validity of the received server list and exits
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6764
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 2 Jan 2007 18:38:47 +0000]
Added a simple and dirty Perl script to do some automated tests on a dpmaster binary. It still needs quite a lot of work before being really useful though
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6679
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 2 Jan 2007 18:33:23 +0000]
Moved all files but "readme.txt" to either the "doc" or "src" subdirectory
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6678
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 5 Nov 2006 12:00:53 +0000]
Lots of small changes and fixes. This should be considered like beta code. Feel free to try it and report any problem, with a debug log ("make debug" and "-v" on the command line) if possible. As for the changes: new server list management code, added a limit to the number of servers per address (-N on the command line to change it, default to 16), and made various little fixes that are listed in the readme.txt file
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6611
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 2 Nov 2006 05:17:58 +0000]
The "heartbeat" description in "techinfo.txt" has been corrected. The maximum number of servers recorded by default is now 1024. The default hash size has been increased from 6 bits to 8 bits. A rare bug where a server was occasionally skipped was fixed. A few minor code changes.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6610
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 6 Jul 2006 11:44:57 +0000]
Fixed compilation with MS VS2005 and its stupid "security" deprecations
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6500
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 3 Jul 2006 14:52:13 +0000]
Made it clearer that dpmaster can support any game out of the box
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@6497
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 24 Aug 2005 06:36:49 +0000]
Bumped version to 1.6
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@5650
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 31 Jul 2005 07:44:00 +0000]
Several getserversResponse may now be sent for a single getservers. A getserversResponse packet can no longer exceed 1400 bytes. Bumped version to 1.6cvs.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@5550
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 14 Jun 2005 23:03:57 +0000]
Bumped version to 1.5.2cvs: the maximum number of servers recorded by
default has doubled (now 256); the default hash size has been
increased from 5 bits to 6 bits; several updates and corrections in
the documentation
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@5437
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 25 Oct 2004 07:08:59 +0000]
Dpmaster 1.5.1: fixed compilation on FreeBSD and changed a couple of things in "techinfo.txt"
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@4702
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 2 Sep 2004 14:45:51 +0000]
Moved a header inclusion to please OpenBSD. Bumped version to "1.5". Several little changes in the printings to make them more informative. A few minor changes in the documentation too.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@4420
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 4 Aug 2004 15:56:21 +0000]
Make dpmaster compile on NetBSD again. Changed version to 1.5cvs. Binaries produced by GCC are now stripped (much smaller). Updated the documentation (including 2 new sections "COMPILING DPMASTER" and "PROTOCOL")
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@4298
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 29 Jul 2004 15:37:42 +0000]
Splitted the monolithic code file into several modules and added some documentation.
Added address mapping, random-sized challenge.
The checks for finding out timed-out servers are now longer delayed, which should guarantee an optimal usage of the storage space in the server list.
Dpmaster now rejects infoResponse messages with a timed-out challenge - even if it was valid, and accepts again the servers on a loopback address if they have an address mapping associated with them.
Bumped version to "2.0cvs"
I've changed way too much code to even hope this new version of dpmaster is bug free. I have already done some simple tests and will conduct a more complete test suit next week. Until then, considere this code INSECURE, if not unstable.
That said, feel free to test it and report any bug or strange behaviour.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@4293
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 22 Jul 2004 11:03:26 +0000]
Renamed the local variable "interface" to "itf", because "interface" is a keyword for MSVC (?), and so the code didn't compile. Thanks to Vic for pointing out this mistake
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@4282
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 28 Jan 2004 15:10:44 +0000]
Dpmaster now quits if it can't chroot, switch privileges or daemonize, which is a much more secure behaviour than before. Added the '-l' option to specify a local address dpmaster should listen on. Bumped version to 1.4
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3842
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 9 Dec 2003 08:20:02 +0000]
Modified Makefile to please BSD make. Packets coming from a loopback address are now rejected with a warning (the "loopback address resolution" was pretty broken and quite useless anyway)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3713
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 30 Sep 2003 06:51:25 +0000]
Bumped version to 1.3.1. SECURITY WARNING: 2 exploitable buffer overflows were fixed (I hope you run a chrooted dp..). Verbose option parsing fixed. Paranoid buffer overflow checkings added, in case of future code changes
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3515
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Sun, 6 Jul 2003 08:17:14 +0000]
added fflush in MsgPrint to make logging more useful
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3173
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Sun, 6 Jul 2003 08:10:09 +0000]
fix a signed/unsigned comparison
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3172
d7cf8633-e32d-0410-b094-
e92efae38249
rain [Fri, 27 Jun 2003 13:49:19 +0000]
Q3 seems to dislike /s in challenges (treating them like \)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3105
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Thu, 22 May 2003 11:27:30 +0000]
fixed critical bug that misparsed getservers packets and never reported servers (does not warrant version increase because 1.3 has not been released yet -- good thing apparently!)
added a lot of informative debugging messages in getserversResponse
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@3010
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 23 Apr 2003 06:46:05 +0000]
Gave Quake 3 Arena getservers messages a real gamename. Updated README
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2980
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 22 Apr 2003 07:23:51 +0000]
Why my text editor was using tab-as-spaces, I don't know...
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2979
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 22 Apr 2003 07:18:39 +0000]
The game type is useless now, and so it has been removed
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2978
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Mon, 21 Apr 2003 15:10:13 +0000]
got rid of game check in HandleGetServers because there are only two identifiable protocols (darkplaces and quake3) for the getservers request, which does not allow it to identify the GAME_QFUSION case, which was breaking qfusion support entirely... it remains in question whether this is wise or not, but oh well, it can't break anything I can see at the moment.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2976
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Mon, 14 Apr 2003 12:45:50 +0000]
removed Quake2 support from 1.3 changes list (just QFusion support)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2947
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Mon, 14 Apr 2003 12:34:39 +0000]
removed Quake2 support (it was insecure about server info, no challenge)
QFusion now uses Q3/DP protocol (which has a challenge)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2946
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Wed, 9 Apr 2003 05:10:40 +0000]
restructured message parsing a bit (now uses #defines for all the strings, and uses their strlen to adjust msg for parsing the rest of the message once identified)
QFusion/Quake2 should work now (heartbeat works, ping/ack unconfirmed but should work)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2937
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Tue, 8 Apr 2003 19:51:11 +0000]
added QFusion and Quake2 support (untested)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2936
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 8 Apr 2003 06:10:16 +0000]
Fixed my previous fix; it caused a NULL pointer dereference nearly each time a server timed out. Bumped version to 1.2.1.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2932
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Sat, 29 Mar 2003 12:07:49 +0000]
Elric fixed a major bug (infinite loop in HandleGetServers that only occurred after very long runs)
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2876
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 12 Mar 2003 14:52:08 +0000]
Version 1.0, finally! Changed a few comments. Increased MIN_PACKET_SIZE to 10. Made the messages more explicit when dpmaster rejects a packet. Also, the contents of a packe is now dumped in debug mode before any validity check.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2838
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Wed, 12 Mar 2003 07:14:46 +0000]
Added the license file and a readme file
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2837
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Tue, 11 Mar 2003 10:24:24 +0000]
Bumped version to "1.1 beta 2". Changed how the server timeout values are calculated: until we receive the 1st infoResponse, the timeout value is set by the heartbeats (they "give" 2 sec), then it can only be updated by infoReponse messages (they "give" 15 minutes). Invalid infoResponse messages overwrote previous server data, this is no longer the case.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2823
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 10 Mar 2003 09:18:10 +0000]
Updated copyright notice. Bumped version to "1.1 beta 1". Made hash size customizable ('-H' command line option). Added a few UNIX-only features: '-D' will cause dpmaster to run as a daemon, and if run with super-user privileges, it will chroot itself in /var/empty/ and drop its privileges in favor of those of user "nobody" (this path and this name are customizable via '-j' and '-u'). Removed the "-Werror" flags from the makefile. Plus the usual amount of little fixes here and there, as usual.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2822
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Fri, 7 Mar 2003 15:22:41 +0000]
The 1st heartbeat from a server has now a much smaller timeout value than the other ones. Also, I fixed / tweaked a couple of minor things.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2816
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Fri, 7 Mar 2003 11:33:42 +0000]
Dpmaster current version is now 1.1 alpha. The default max number of servers has been reduced to 128 and the hash size to 5 bits. The heartbeat timeout is now 4 minutes. Verbose levels were added, along with a '-v' command line option. Made the search for servers which have reached their timeout limit less intensive, and so much more CPU friendly. A lot of messages were modified, to reflect those changes among other things.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2815
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Fri, 7 Mar 2003 10:59:13 +0000]
Merged the 2 makefiles and removed the dependency files generation (it's not really useful for one single source file). You now have to use "make mingw" to cross-compile though.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2814
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Wed, 26 Feb 2003 08:56:56 +0000]
changed line endings to CRLF like MSVC wants
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2784
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Wed, 26 Feb 2003 08:54:39 +0000]
The name says it all... I'm not sure how to integrate this into the main makefile.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2783
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 24 Feb 2003 09:16:34 +0000]
Fixed an enormous bug in HandleGetServers; basically, I forgot to change the browsing method in this function when I added the hash table. I also changed a few strings and bumped the version to 1.01.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2781
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Sun, 20 Oct 2002 07:44:39 +0000]
Win32 del command doesn't take several parameters of Win9x (it does on Win2k). Thanks to LordHavoc for the remark.
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2543
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Thu, 17 Oct 2002 11:22:29 +0000]
Why bother with 2 Makefiles when one can do the job?
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2537
d7cf8633-e32d-0410-b094-
e92efae38249
molivier [Mon, 14 Oct 2002 06:24:26 +0000]
Fixed the binary name and removed an unused lib in MinGW makefile. Added command line options (port, testmode, max nb servers). Server records are now stored in linked lists indexed by a simple hash function. Localhost addresses are automatically translated into valid internet addresses. GetInfo challenges stay valid for a couple of seconds now, fixing a basic race condition. Fixed a few things for compilation with MinGW. Plus probably a few minor changes here and there I don't remember
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2523
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Wed, 25 Sep 2002 00:35:15 +0000]
does this need any explanation?
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2440
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Tue, 24 Sep 2002 23:09:49 +0000]
warning level 4 and warnings as errors was too high, now warning level 3 and warnings are not errors
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2439
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Tue, 24 Sep 2002 23:07:32 +0000]
uncommented PrintPacket
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2438
d7cf8633-e32d-0410-b094-
e92efae38249
havoc [Tue, 24 Sep 2002 11:49:35 +0000]
Initial revision
git-svn-id: svn://svn.icculus.org/twilight/trunk/dpmaster@2429
d7cf8633-e32d-0410-b094-
e92efae38249