Comments (5)
Now I can no longer reproduce the logged error...
The deviating keys problem is still reproducible and it does not recover at all - at least not within 3 hours
from rosenpass.
it works, thx
from rosenpass.
Hi there, thank you for reporting this!
Good to see somebody is using outfile :)
[2023-04-10T13:23:10Z ERROR rosenpass] unexpected error after processing 0 messages: Operation not permitted (os error 1) disabled backtrace
I am not sure what causes this error. You may be able to debug by setting env variable RUST_BACKTRACE=1
.
I think it is because both peers know the endpoint of the other and initiate the key exchange at the same time, which would also explain the error messages and that the first 2 exchanges run within 3 seconds.
If you keep it running, how long does it take for RP to recover? Does it recover at all?
from rosenpass.
I can confirm that this happens; was able to reproduce. @textaligncenter thank you for reporting.
Anyone running into this issue: As @textaligncenter mentioned, specifying endpoint
on only one peer seems to work around this issue for now.
It looks a lot like some sort of race condition involving retransmission handling; I keep seeing key outputs in quick succession. Normally it should take minutes between each output. Both peers keep specifying the same β mismatched β key. Occasionally I see the respective other key being used by a client but the key quickly gets overwritten by the other one. On both sidesβ¦
Ftr: Here is what I use to test:
./target/debug/rosenpass exchange private-key ~/tmp/k1/pqsk public-key ~/tmp/k1/pqpk listen 127.0.0.1:11000 verbose peer public-key ~/tmp/k2/pqpk endpoint 127.0.0.1:9999 outfile ~/tmp/osk1 | ts | while read -r l; do echo "$l $(cat ~/tmp/osk1)"; done | tee ~/tmp/log1
./target/debug/rosenpass exchange private-key ~/tmp/k2/pqsk public-key ~/tmp/k2/pqpk listen 127.0.0.1:9999 verbose peer public-key ~/tmp/k1/pqpk outfile ~/tmp/osk2 | ts | while read -r l; do echo "$l $(cat ~/tmp/osk2)"; done | tee ~/tmp/log2
./target/debug/rosenpass exchange private-key ~/tmp/k2/pqsk public-key ~/tmp/k2/pqpk listen 127.0.0.1:9999 verbose peer public-key ~/tmp/k1/pqpk endpoint 127.0.0.1:11000 outfile ~/tmp/osk2 | ts | while read -r l; do echo "$l $(cat ~/tmp/osk2)"; done | tee ~/tmp/log2
from rosenpass.
Could you give #78 a try @textaligncenter ?
from rosenpass.
Related Issues (20)
- Testing: Integration test validating that the PSK can be successfully set with our broker
- `rp` script should not run as root
- Rp script should run as SUDO_USER
- Socket-handler broker should use asynchronous duplex processing
- Move prefix-length encoding into a helper
- PSK Brokers should use minimal dependencies
- Derivable lenses with type support
- Communication between unix-socket broker and priviledged broker should be able to use FIFOs
- Rosenpass and socket broker should support TCP transport
- Remove dependency on libsodium HOT 2
- Cargo run failed.
- Document that we use chacha20poly1305 with 96 bit nonces
- Create deb package HOT 2
- Create snap package
- Document API of wireguard broker
- Add and keep up-to-date a tag pointing to the most recent stable release? HOT 1
- Figure out methodology to ensure that code in the constant time subcrate is actually constant time HOT 1
- Typo in `rosenpass validate`
- Config file does not support referring to home directory using `~` HOT 3
- Advanced configuration management
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 rosenpass.