Commit graph

120 commits

Author SHA1 Message Date
Dennis Felsing cde07b420b Implement changes suggested by -Wuseless-cast
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
heinrich5991 e3657ab2d5 Use SHA256 instead of MD5 in some places
This only works in places where the actual choice of hashing function
doesn't matter.
2019-04-06 02:56:29 +02:00
heinrich5991 e44b1ca986 Use OpenSSL md5 if it is available
Fixes #1582.
2019-04-06 02:56:29 +02:00
def a116ed3dbe Revert "New try at not decompressing unknown packets"
Causes connection problems with old clients
This reverts commit a3b07dbf9c.
2018-12-30 12:22:05 +01:00
def 4b92e72763 Prevent copies 2018-12-17 22:15:41 +01:00
Dennis Felsing 9febf58f37 New try at recvmmsg with some improvements 2018-12-16 22:59:41 +01:00
def a3b07dbf9c New try at not decompressing unknown packets 2018-12-16 22:15:45 +01:00
def d884465710 Revert "Don't decompress packets from unknown IPs"
This reverts commit 9089c2b35a.
2018-12-14 17:12:49 +01:00
Dennis Felsing 0b256ff653 Allow connecting clients to compress
TODO: Look for better solution
2018-12-14 11:17:15 +01:00
Dennis Felsing 9089c2b35a Don't decompress packets from unknown IPs 2018-12-13 16:24:37 +01:00
heinrich5991 c7750f3616 Don't ignore CONNECT packets with data that we don't know
This specifically affects 0.6.5. Just treat them the same way as those
without any data.
2018-10-14 08:18:32 +02:00
Learath 5b95eddca1 DRY with net_addr_comp_noport 2018-10-08 21:04:04 +03:00
def 18529fa082 Revert "Implement recvmmsg"
This reverts commit de5fe64be5.
2018-07-29 23:07:59 +02:00
Dennis Felsing de5fe64be5 Implement recvmmsg 2018-07-25 16:06:00 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
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