Comments (4)
(One might also consider that using FnvHashMap
s here is a form of premature optimization and we should just switch to std HashMap
s until benchmarking proves that these matter; in which case we also might want to consider https://github.com/Amanieu/hashbrown.)
from quinn.
I'm not sure how easy it is to spoof IP addresses these days.
In IPv6, any attacker can easily control at least 80 bits of their IP address in addition to their source port, leaving 48 fixed. No idea if this is enough to be an issue for hash collisions.
from quinn.
(One might also consider that using
FnvHashMap
s here is a form of premature optimization and we should just switch to stdHashMap
s until benchmarking proves that these matter; in which case we also might want to consider https://github.com/Amanieu/hashbrown.)
However, FxHash (what hashbrown uses) is not nessecarily more secure than FnvHash. They explicitly state it's not good to be used where DDoS or collision attacks are a concern - see the disclamer on the readme for https://github.com/cbreeden/fxhash
It's faster, but not as resilient against collisions.
from quinn.
As I understand it hashbrown (like the std hash map) can use different hashing algorithms, so we could pick one that's collision-resistant.
from quinn.
Related Issues (20)
- Unclear which, if any `RecvStream::read_*` methods are cancel-safe HOT 1
- Connection close during handshake by server is not transmitted to client properly HOT 2
- How can I use socks5 udp socket as AsyncUdpSocket HOT 6
- Programmatic probing of new paths HOT 6
- congestion control question: unreliable datagrams and reliable streams interaction HOT 3
- PATH_CHALLENGE is never sent HOT 10
- Add CI for mobile platforms (iOS & Android) HOT 1
- Add Connection::is_closed method HOT 1
- Expose poll_write & poll_close HOT 1
- Add faillible synchronous open_uni & open_bi methods HOT 11
- Using `rustls` v22 and greater with quinn HOT 5
- Unable to verify Let's Encrypt certificate chain HOT 4
- prev_path cannot be validated HOT 2
- After planned migration, connection is linkable to prev. path HOT 1
- Add riscv64 Support HOT 5
- Is there a heartbeat mechanism? HOT 1
- Underflow computing growth in stream data flow control credit HOT 6
- Tags 0.10.5 and 0.10.6 are missing HOT 1
- 0-RTT packets can be lost due to race condition introduced along with Incoming HOT 1
- Debug formatting could be improved HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quinn.