smcv/dpmaster.git
9 months agoClient_HandleGetServersReponse: say which client this is master smcv/master
Simon McVittie [Sat, 30 Jul 2011 17:07:48 +0000]
Client_HandleGetServersReponse: say which client this is

9 months agorun_all_tests.sh: exit nonzero if any test fails
Simon McVittie [Sat, 30 Jul 2011 17:07:18 +0000]
run_all_tests.sh: exit nonzero if any test fails

9 months agotests: simulate a modern Quake III Arena version
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.)

9 months agoAll tests: exit nonzero on failure
Simon McVittie [Sat, 30 Jul 2011 17:03:11 +0000]
All tests: exit nonzero on failure

9 months agoDistinguish between Quake3Arena-based games by the protocol in their info response
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.

9 months agoI can no longer officially support Mac OS X since the release of version 10.7 (Lion... git-svn 2.2
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

10 months agoReduced the number of hash tables (one for all servers, and one for all clients)...
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

20 months agoFlood protection against abusive client requests, by Timothee Besset. Updated documen...
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

20 months agoFixed a bug that prevented daemonization when chrooted (thanks to LordHavoc for diagn...
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

2 years agoMinor editing in the readme file. Bumped version to 2.1 2.1
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

2 years agoA gametype value can now be any string (no whitespace allowed though), not just a...
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

2 years ago- Minor code cleaning in the test suite 2.0
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

2 years agoAdded a section "USING DPMASTER WITH YOUR GAME" in techinfo.txt. Minor editings in...
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

3 years ago- Passing the dpmaster binary path is now a named option in the test suite: --dpmaste...
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

3 years ago- Removed the need to explicitly tell when a client getservers won't be answered
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

3 years ago- Fixed a crash when removing the last server in the list, in Sv_Remove()
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

3 years ago- Added a server property "cannotBeAnswered" to replace "cannotBeRegistered" when...
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

3 years ago- Improved the way the game name and family are handled in the test lib for Q3A clien...
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

3 years agoMinor changes for Win32 / UNIX compatibility regarding the socket API.
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

3 years ago* The parsing of the server list now starts at a random slot, in an attempt to be...
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

3 years agoOops... I forgot to add the new files
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

3 years agoForgot to compare the scope IDs in Sv_SameIPv6Addr(). Added command line
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

3 years agoAdded the flag for compilation warning regarding variable declarations after statements
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

3 years agoWin32 compilation fixes
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

3 years agoChanged the --allow-loopback entry in the Changelog
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

3 years agoGame names containing whitespaces are not compatible with the format of
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

3 years agoWork in progress version of dpmaster 2.0: added support for IPv6, logging, multiple...
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

3 years agoRemoved an artifact from an ancient world, obviously no longer of any use there
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

3 years agoUpdated the copyright notices. Increased the default maximum number of servers per...
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

3 years agoBumped version number to 1.7 1.7
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

3 years agoAdded a few more servers, with different game names and protocol numbers
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

3 years agoAdded a "dpmaster-output" option to print the master server output during the tests
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

3 years agoRemoved the verbose option
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

3 years agoModified slightly the pattern for the names of the test scripts
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

3 years agoSilented a warning on MSVS
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

3 years agoAnother attempt at fixing those end-of-line issues
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

3 years agoFixed line-endings to please MSVS
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

3 years agoUpdated readme file
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

3 years agoReduced the number of printed timestamps to one per packet reception since dpmaster...
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

3 years agoA couple of minor string fixes
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

3 years agoUpdated documentation and presentation string
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

4 years agonow prints timestamps (in UTC) on every message to make logging useful
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

4 years agoMinor editing
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

4 years agoMuch better test scripts, still in Perl, with most of the code shared via a Perl...
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

4 years agoMinor text editing
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

4 years agoRemoved irrelevant comment
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

5 years agorevert the last patch because it could never happen
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

5 years agofix a crash in dpmaster when a query comes in with no servers in the
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

5 years agoImproved the test script a bit: it now tests the validity of the received server...
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

5 years agoAdded a simple and dirty Perl script to do some automated tests on a dpmaster binary...
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

5 years agoMoved all files but "readme.txt" to either the "doc" or "src" subdirectory
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

5 years agoLots of small changes and fixes. This should be considered like beta code. Feel free...
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

5 years agoThe "heartbeat" description in "techinfo.txt" has been corrected. The maximum number...
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

5 years agoFixed compilation with MS VS2005 and its stupid "security" deprecations
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

5 years agoMade it clearer that dpmaster can support any game out of the box
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

6 years agoBumped version to 1.6 1.6
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

6 years agoSeveral getserversResponse may now be sent for a single getservers. A getserversRespo...
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

6 years agoBumped version to 1.5.2cvs: the maximum number of servers recorded by
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

7 years agoDpmaster 1.5.1: fixed compilation on FreeBSD and changed a couple of things in "techi... 1.5.1
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

7 years agoMoved a header inclusion to please OpenBSD. Bumped version to "1.5". Several little... 1.5
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

7 years agoMake dpmaster compile on NetBSD again. Changed version to 1.5cvs. Binaries produced...
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

7 years agoSplitted the monolithic code file into several modules and added some documentation.
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

7 years agoRenamed the local variable "interface" to "itf", because "interface" is a keyword...
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

8 years agoDpmaster now quits if it can't chroot, switch privileges or daemonize, which is a... 1.4
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

8 years agoModified Makefile to please BSD make. Packets coming from a loopback address are...
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

8 years agoBumped version to 1.3.1. SECURITY WARNING: 2 exploitable buffer overflows were fixed... 1.3.1
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

8 years agoadded fflush in MsgPrint to make logging more useful
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

8 years agofix a signed/unsigned comparison
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

8 years agoQ3 seems to dislike /s in challenges (treating them like \)
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

8 years agofixed critical bug that misparsed getservers packets and never reported servers ...
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

9 years agoGave Quake 3 Arena getservers messages a real gamename. Updated README
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

9 years agoWhy my text editor was using tab-as-spaces, I don't know...
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

9 years agoThe game type is useless now, and so it has been removed
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

9 years agogot rid of game check in HandleGetServers because there are only two identifiable...
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

9 years agoremoved Quake2 support from 1.3 changes list (just QFusion support)
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

9 years agoremoved Quake2 support (it was insecure about server info, no challenge)
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

9 years agorestructured message parsing a bit (now uses #defines for all the strings, and uses...
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

9 years agoadded QFusion and Quake2 support (untested)
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

9 years agoFixed my previous fix; it caused a NULL pointer dereference nearly each time a server... 1.2.1
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

9 years agoElric fixed a major bug (infinite loop in HandleGetServers that only occurred after... 1.2
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

9 years agoVersion 1.0, finally! Changed a few comments. Increased MIN_PACKET_SIZE to 10. Made... 1.1
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

9 years agoAdded the license file and a readme file
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

9 years agoBumped version to "1.1 beta 2". Changed how the server timeout values are calculated...
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

9 years agoUpdated copyright notice. Bumped version to "1.1 beta 1". Made hash size customizable...
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

9 years agoThe 1st heartbeat from a server has now a much smaller timeout value than the other...
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

9 years agoDpmaster current version is now 1.1 alpha. The default max number of servers has...
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

9 years agoMerged the 2 makefiles and removed the dependency files generation (it's not really...
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

9 years agochanged line endings to CRLF like MSVC wants
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

9 years agoThe name says it all... I'm not sure how to integrate this into the main makefile.
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

9 years agoFixed an enormous bug in HandleGetServers; basically, I forgot to change the browsing...
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

9 years agoWin32 del command doesn't take several parameters of Win9x (it does on Win2k). Thanks...
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

9 years agoWhy bother with 2 Makefiles when one can do the job?
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

9 years agoFixed the binary name and removed an unused lib in MinGW makefile. Added command...
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

9 years agodoes this need any explanation?
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

9 years agowarning level 4 and warnings as errors was too high, now warning level 3 and warnings...
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

9 years agouncommented PrintPacket
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

9 years agoInitial revision
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