heinrich5991
9454dfbff9
Remove superfluous parameter from CServer::NewClientNoAuthCallback
...
The `Reset` parameter was only ever set to true, at the only call site.
2018-05-09 23:50:25 +02:00
heinrich5991
6247aa0c7f
Enable -Wextra
and -Wformat=2
...
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.
Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
heinrich5991
1d81d56850
Introduce new, vanilla-compatible server info protocol
...
This means that we have a reliable and fast way to query for extended info,
while also not wasting network bandwidth.
The protocol is designed to be extensible, there's four bytes space for
encoding more request types (currently zeroed), and there's one string in each
response packet and one string for each player available (currently the empty
string).
The protocol itself has no problems with more than 64 players, although the
current client implementation will drop the player info after the 64th player,
because it uses a static array for storage.
Also fixes #130 , the player list is just sorted each time new player info
arrives.
2017-03-29 12:56:13 +02:00
necropotame
b8e4e5beea
Fix style in several places
2017-03-22 19:45:14 +01:00
Dennis Felsing
45bf601570
Merge pull request #495 from heinrich5991/pr_ddnet_smaller_dummy_map
...
Reduce dummy map size from 549 bytes to 191 bytes
2016-07-03 23:26:42 +02:00
heinrich5991
0244640aca
Also don't send the token magic to unsupported clients
...
Since only the client can initiate the secure session, there's basically
no reason to send this magic to clients which didn't advertise the
feature.
2016-06-08 09:57:17 +02:00
Dennis Felsing
3dd2f23d45
Merge pull request #499 from heinrich5991/pr_ddnet_no_tokens_for_vanilla
...
Don't send token to harmless vanilla clients
2016-06-07 16:22:29 +02:00
heinrich5991
a2e64f0a16
Don't send token to harmless vanilla clients
2016-06-07 15:52:57 +02:00
heinrich5991
4d6657e3f1
Fix CRC of dummy map
2016-05-26 11:06:56 +02:00
heinrich5991
b075f1ff1b
Use a dummy map with background
2016-05-25 23:47:34 +02:00
heinrich5991
702ed7e023
Reduce dummy map size from 549 bytes to 191 bytes
...
Also include a tool to generate said map; the map is generated without
any hacks. It could likely be made smaller using a few tricks.
2016-05-24 01:47:04 +02:00
heinrich5991
e353aa80b2
Don't send uninitialized memory over the network
2016-05-23 11:48:23 +02:00
def
1645310750
Keep reading packets after invalid control packet
2016-05-17 23:44:57 +02:00
east
1cbaa0c4ef
copy resendbuffer on timeout protection
2016-05-07 19:28:16 +02:00
def
61e47422f6
Clean up debug messages a bit (lower case, no useless errors)
2016-05-02 21:35:32 +02:00
def
86a0f46937
Add a connection limit ( fixes #408 )
2016-04-27 22:09:18 +02:00
east
a5de7596fa
comments added
2016-04-23 17:44:42 +02:00
east
32ba1c9239
Antispoof dm1 fallback on flood added
2016-04-23 17:23:01 +02:00
def
c78ade00c1
Fix bug where timed out people can connect more than sv_max_clients_per_ip times
2016-01-03 01:42:28 +01:00
east
c1cbfcacf4
correctly reset network connection
2015-08-23 18:12:13 +02:00
east
cf9e1373d7
correctly reset client
2015-08-23 17:51:28 +02:00
east
c47697bdef
session rejoin
2015-08-23 17:01:01 +02:00
east
09166494a5
Antispoof: fix error state
2015-08-23 12:29:41 +02:00
east
79a523e8a8
websocket support fixed
2015-08-21 13:08:40 +02:00
east
6ab2a558b3
Disable vanilla antispoof on password protected servers
2015-08-17 17:06:32 +02:00
def
51dda4e72b
Fix aliasing warning
2015-08-16 19:14:17 +02:00
def
e21d6e8574
Remove useless variable
2015-08-16 19:08:33 +02:00
east
e9a1c3ef92
vanilla handshake: add vital flags and use correct sequence (support for 0.6.4)
2015-08-15 10:38:39 +02:00
east
a084f1e31e
use complete map as dummy map
2015-08-14 18:37:00 +02:00
east
48fc0f93bb
added enable/disable conf var for vanilla antispoof
2015-08-14 18:36:28 +02:00
east
051ec30832
vanilla handshake: ignore unknown sequence
2015-08-14 18:36:13 +02:00
east
9f1ab9a7bf
added simple flooding detection (temprorary)
2015-08-14 18:34:22 +02:00
east
aabd777858
fixed includes
2015-08-14 18:33:42 +02:00
east
d1382349f5
vanilla token handshake implemented
2015-08-14 18:30:49 +02:00
east
a2174bf179
anti spoof for token protocol added
2015-08-14 18:30:12 +02:00
heinrich5991
71548fc0d6
If no rcon password is set, generate one
...
After the generation (using the OS random number generator), the password is
displayed to the user on stdout.
2015-06-21 19:56:35 +02:00
def
5dd83b58ff
Fix security token conversion in a platform independent way
2015-04-18 23:54:19 +02:00
def
0ffa79671b
Get rid of all GCC warnings
2015-04-18 21:33:51 +02:00
eeeee
0dc332c931
fix timeout protection with tokens
...
timeout protection code now transfers the token properly
2015-03-05 22:33:01 -08:00
heinrich5991
fa0708b99d
Make the secure random stuff platform-independent
2015-03-06 01:35:08 +01:00
eeeee
85acfd9d77
added security token to protocol
...
to prevent packet injection from spoofed source ips
2015-03-05 11:07:03 -08:00
def
efeb2b9417
Minor fix
2014-09-11 21:38:13 +02:00
def
5b72302672
Instead of banning players for reconnecting too often, make them wait 3 seconds ( fixes #27 )
2014-09-09 23:27:28 +02:00
def
c9d70ed81b
Try to fix crash related to bad connection and reconnecting
2014-08-18 23:50:24 +02:00
def
f1e4700ae8
Add a timeout protection message
2014-08-17 05:04:37 +02:00
def
ce0eb1a2c2
try fix
2014-08-17 04:20:36 +02:00
def
2bdc6a1f4d
Some more tries to fix timeout stuff
2014-08-16 15:43:49 +02:00
def
07aa08703d
Remove (probably buggy) implicit timeout protection
2014-08-16 14:43:22 +02:00
def
e90d84b89f
Fix the wrong "Timeout Protection over" error
2014-08-11 22:22:01 +02:00
def
85b7475ae4
remove debug output
2014-08-09 18:13:21 +02:00