-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
obfs4 Transport stateDir handling #132
Comments
We could in theory use the obfs4ServerFactory directly and do the generation steps done by obfs4.ServerFactory without the |
#130 adds a temporary fix that creates an ioutil.tempdir for each obfs4 session ensuring separation of state. However this is probably not a good long-term fix as file descriptor limitations might cause issues, also we probably don't need any of the files to begin with. |
Temporary fix described above was moved to #135. Leaving this issue open for a more permanent solution - likely involving a fork of / patch to the obfs4 library. |
Added a pass on implementing a more permanent fix (and an upstream PR) where empty statedir string results in no files being parsed or created. https://github.com/jmwample/obfs4/tree/jmwample/stateless We could just use this for now with a |
Typical
obfs4
usage relies on a state directory on the server to store parsed configuration options and generated bridge parameters.However, our deployment violates several assumptions of the typical obfs4 model:
Because of this, neither of the files generated by obfs4.ServerFactory (called in the wrapping transport code here) are really of use. And we may actually need to consider what path we pass for
StateDir
as we do not want cause collisions based on a shared state directory path allowing one session to use another sessions cert / key information.The text was updated successfully, but these errors were encountered: