Commit Graph

202 Commits

Author SHA1 Message Date
a2ea012f43 upgrade rustls 2024-05-28 12:56:18 +00:00
3556eb6ed7 Update rcgen 2024-05-20 13:08:55 -04:00
b2998676cb in order to update quinn / rusttls, move config to workspace Cargo.toml 2024-05-20 16:43:45 +02:00
e48fc4c2b2 additional cargo clippy for toolchain switch 2024-05-18 22:44:59 +02:00
941b204681 update some dependencies manually 2024-03-20 09:36:58 +01:00
fc076a39fb remove unmaintained fehler crate by updating lz-fear and zwitch to culpa 2024-02-10 11:30:36 +01:00
f56e1d84b5 Use wasmtime to execute wasm components as veloren plugins 2024-02-10 09:35:04 +00:00
b0bef3ebbf update few dependencies 2024-02-06 19:11:10 +01:00
cb25a409d5 more clippy fixes in all binaries 2023-10-06 09:12:31 +02:00
882a8d104c Revert "extended clippy from quality.sh"
This reverts commit 30ebb7f2edcf299e4886aa7de6573ef54353a8dd.
2023-10-05 22:00:49 +02:00
df03c92741 extended clippy from quality.sh 2023-10-05 22:00:49 +02:00
540f0d10f2 cargo clippy after toolchain-update 2023-10-05 22:00:49 +02:00
394c8892bb update toolchain to nightly-2023-09-28 2023-10-05 22:00:48 +02:00
cd98dd5245 Remove unused deps flagged by cargo-machete 2023-09-21 22:59:50 -04:00
b4216ec634 get rid of old criterion 2023-08-27 19:17:04 +02:00
96bf6309d2 small updates to dependencies 2023-08-27 19:17:04 +02:00
b03d0dcc7b Upgrade rustls and quinn
According to RUSTSEC-2023-0052 we need to upgrade rustls to 0.21
to get a fix for the issue which may or may not affect Veloren
since it's about client certificates but with the absence of a
PoC it seems like a good idea to upgrade anyway, just to be sure.

webpki has gone unmaintained (which rustls 0.20 depends on),
starting with rustls 0.21 it depends on rustls-webpki which
contains a fix for the issue. Since quinn also depends on
rustls 0.20 in 0.8 and 0.9 versions, we needed to upgrade it to
0.10 so that it depends on rustls 0.21 which we now use.
2023-08-23 06:35:36 +02:00
2101d8264c xVAR did some research here: https://discord.com/channels/449602562165833758/450065987006496768/979121835801202688
and because of that we decided to set the recv buffer to 512kB via linux kernel parameters.
We didn't had any problems on the official server so we wanted to bake that into code.
There is a calculator https://www.switch.ch/network/tools/tcp_throughput/?mss=1460&rtt=80&loss=1e-06&bw=10&rtt2=500&win=1024&Calculate=Calculate
that said for 10Mbits/ speed 16kB recv buffer and 500ms we only can expect effective 0.24 Mbits of actuall data speed.
Nothing mentioned increasing the send buffer, but it prob cant hurt from a server side or ?

 cat /proc/sys/net/core/wmem_default showed 212992
 cat /proc/sys/net/core/rmem_default showed 212992
 sysctl -w net.ipv4.tcp_wmem="4096 524288 4194304" was beeing used
 sysctl -w net.ipv4.tcp_wmem="4096 16384 4194304" was the default
2023-07-04 23:48:59 +02:00
53151a67bf remove the complete ip address from the logs in case they are gonna made public.
First we though about hashing it together with the username, but we dont have the username. hope that removing 50% of the information is enough to identify 2 addresses as equal or different without knowing the exact address
2023-05-27 14:30:40 +02:00
3a19669d53 use workspace dependencies to make our life easier maintaining them :) 2023-05-10 18:16:25 +02:00
af0d0f3ea4 Second attempt (success) 2023-05-06 00:30:54 -04:00
4be1e82ba9 update further dependencies 2023-05-04 23:42:05 +02:00
054f4f9453 update veloren deps 2023-05-04 11:58:43 +02:00
Sam
e819cd2309 Updated hashbrown, removed some to_owned calls in handling recently unequipped items 2023-04-19 18:43:40 -04:00
0ab7a2543e fix clippy errors 2022-11-28 14:08:11 +01:00
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
50d85940d8 implement a event channel that posts regular information on events for Participants 2022-07-03 21:21:59 +02:00
c2b043e524 add a comment about QUIC like Isse proposed 2022-07-03 20:51:49 +02:00
b5d0ee22e4 deactivate some features again and only keep the internal code for now to reuse it in automatic reconnect code 2022-06-30 22:14:24 +02:00
f3e4f022cb rather than letting the api/Participant handling the cleanup, we had to move over to the bParticipant::shutdownmanager.
Because the old case didn't account for the Scheduler got dropped but Participant keept around.
Shutdown behavior is quite easy now: bParticipant sends a oneshot, when that hits we stop. also when Participant gets droped we still stop as there woul dbe no sense in continue running the report_mgr ...
2022-06-30 22:14:24 +02:00
5b63035506 Add a new/unstable functionality report_channel.
This will ask the bparticipant for a list of all channels and their respective connection arguments.
With that one could prob reach the remote side.
The data is gathered by scheduler (or channel for the listener code).
It requeres some read logs so we shouldn't abuse that function call.

in bparticipant we have a new manager that also properly shuts down as the Participant holds the sender to the respective receiver.
The sender is always dropped. inside the Mutex via disconnect and outside via Drop (we need 2 Options as otherwise we would create a runtime inside async context implicitly o.O )
(also i didn't liked the alternative by just overwriting the sender with a fake one, i want a propper Option that can be taken)

The code might also come handy in the future when we implement a auto-reconnect feature in the bparticipant.
2022-06-30 22:14:24 +02:00
3da053c8b4 switch from read to read_buf in tcp sink. also always reserve 4 times 1500 as soon as we are under 1500 bytes in order to have less allocations when sending many small msg.
Note: maybe upgrading tokio helps against the connection issues, there is some mio related stuff: https://github.com/tokio-rs/tokio/releases/tag/tokio-1.18.0
Note: quick also still has the old read, but its more complicated, thus i only want to change it if its tested
2022-06-21 21:24:09 +02:00
754bf32580 add a check to break the sending loop if the current bytes got greater than the total bytes.
We calculate a max bandwidth, but due to framing the packages, i think its possible for the current_bytes to get a few bytes over the actuall planed bandwidth. which prob isn't that bad/unfair
2022-06-08 09:45:25 +02:00
e194a2e334 export unterlying errors via network crate, to generate more detailed logs 2022-05-23 02:00:56 +02:00
06f0239130 Avoid clone in Stream::send 2022-05-09 14:48:13 +00:00
affdf3131f update a bunch of dependencies, including clap3 2022-04-04 11:43:29 +02:00
a0a0e36246 update network dependencies 2022-04-02 15:44:07 +02:00
97a58f0e14 clean up socket2 networkwork code to do more on the socket2 before convertig it. 2022-02-05 13:08:46 +01:00
2528afafdd deactivate tests in CI, as they have often no IPv6 configured and would fail in that case 2022-02-05 13:04:16 +01:00
dcfde616d0 In case of IPv6 and NON Windows make sure to not listen on dualstack,
for that we need to create a socket2 socket and set_only_v6 to true.
We need to privude set_nonblocking for tokio to work and we need to set reuseaddr for it to work on linux systems
2022-02-05 13:04:16 +01:00
e9bee485ae Add a test for the new gameserver IPv6 IPv4 behavior 2022-02-05 13:04:16 +01:00
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
1a1acfae2c Fix RUSTSEC-2022-0006 2022-01-26 22:08:38 +01:00
fba89517de Move Veloren to 2021 edition 2022-01-26 16:46:40 +02:00
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
8b89903d57 Bump tracing-subscriber to 0.3.2
We were pulling two versions of it. Causing some compilation errors
2021-11-26 17:41:51 +00:00
aa93b4b53c update other binaries 2021-11-20 20:19:48 +01:00