heinrich5991
1a35595bce
Unify buffer handling in UDP sockets across operating systems
...
Previously, only Linux used an internal buffer (for optimized
receiving). Now all OSs use an internal buffer so that the call to
`net_udp_recv` behaves the same on all platforms.
2022-03-05 14:11:03 +01:00
heinrich5991
a8664a0100
Hide the recvmmsg as an implementation detail
2022-03-04 19:33:06 +01:00
heinrich5991
3211b1de67
Remove unused Flags
argument in network code
2022-03-04 19:33:06 +01:00
heinrich5991
471bb441a1
Move NETSOCKET behind a pointer so it can grow
2022-03-04 19:33:06 +01:00
Dennis Felsing
e2c48ec47e
Don't try to send messages outside of sv_max_clients (fixes# 4750)
2022-02-21 16:33:53 +01:00
Dennis Felsing
cc4be4b3b1
s/errornous/erroneous/g
2022-02-21 15:54:55 +01:00
Dennis Felsing
68e4eb21d5
Add modernize-use-bool-literals
2022-02-15 00:12:52 +01:00
Jupeyy
a663799188
uint64 -> uint64_t, int64 -> int64_t
2021-06-24 17:19:17 +02:00
heinrich5991
7663641ed2
Fix some variable name's style
2020-11-08 17:15:48 +01:00
def
165857a5a8
Fix variable names manually
2020-11-02 22:40:40 +01:00
def
b1f0fd8969
Enable modernize-loop-convert clang-tidy check
...
and run clang-format afterwards
https://clang.llvm.org/extra/clang-tidy/checks/modernize-loop-convert.html
2020-11-02 22:40:24 +01:00
def
3be8a592e5
Run clang-format
...
Purely automatic change. In case of conflict with this change, apply the
other change and rerun the formatting to restore it:
$ python scripts/fix_style.py
2020-09-26 21:50:15 +02:00
Andrii
cec8bf2195
Read server port from CNetServer but not from app config
2020-08-27 19:54:44 +03:00
heinrich5991
2db4e2a3c8
Fix the same token being generated for each client
...
Theoretically, a regression test would be nice here, but we don't really
have the infrastructure…
This fixes a spoofing vulnerability.
2020-08-10 22:38:49 +02:00
Learath
28905c4659
Disable timeout for 0.7 clients
2020-06-20 19:52:23 +03:00
Learath
da68923ac3
Implement a switch for 0.7 compatibility
2020-06-19 22:08:41 +03:00
Learath
2f760e3e40
Forgot to drop port
2020-06-19 20:28:55 +03:00
Learath
88ca573682
Serverinfo and Register support for 0.7
...
Co-authored-by: Tim Schumacher <tim@timakro.de>
2020-06-19 20:28:55 +03:00
Learath
f9cc634683
Fix recvmmsg issue
2020-06-19 20:28:54 +03:00
Learath
f7e9df7abf
Move the rest of the translation to CServer
2020-06-19 20:27:15 +03:00
Learath
b0e5a37fa9
Do message translation differently
2020-06-19 20:27:15 +03:00
Tim Schumacher
442148a194
Begin work on 0.7 support
2020-06-19 20:27:15 +03:00
def
85bb376bdc
sv_server_info_per_second, sv_van_conn_per_second: allow 0 to disable
...
Clean up code a bit, also allow larger values
2019-06-11 18:12:43 +02:00
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