Skip to content
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

feat(windows): move connlib into a subprocess #3349

Closed
wants to merge 89 commits into from

Conversation

ReactorScram
Copy link
Collaborator

@ReactorScram ReactorScram commented Jan 23, 2024

Todo

Edit tasklist title
Beta Give feedback Tasklist Todo, more options

Delete tasklist

Delete tasklist block?
Are you sure? All relationships in this tasklist will be removed.
  1. Refactor
    Options
  2. Research tokio_codec, tokio_util, StreamExt, and splitting the named pipe into read and write halves
    Options
  3. Document security of named pipes (e.g. can non-root processes read them?)
    Options
  4. Document no-harness tests for cargo test
    Options
  5. Fix log files
    Options
  6. Make connlib subprocess handle token instead of GUI process
    Options
  7. Negative test for security features
    Options
Loading

Tests

Edit tasklist title
Beta Give feedback Tasklist Tests, more options

Delete tasklist

Delete tasklist block?
Are you sure? All relationships in this tasklist will be removed.
  1. Make sure the log files are separated (I assume two processes won't automatically cooperate to write to the same file correctly)
    Options
  2. Test export log zip
    Options
  3. Make sure the crash handler does something reasonable for either process crashing
    Options
  4. Make sure signing out closes the tunnel process gracefully
    Options
  5. Make sure quitting the GUI closes the tunnel process gracefully
    Options
  6. Make sure killing the GUI process kills the tunnel process
    Options
  7. Make sure killing the tunnel process causes the GUI to do something reasonable
    Options
Loading

… and make sure normal execution doesn't depend on debug subcommands
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
@ReactorScram ReactorScram added the area/windows_client Issues related to the Windows client label Jan 24, 2024
@ReactorScram ReactorScram changed the base branch from reactorscram/ipc-api to main January 25, 2024 18:18
@ReactorScram
Copy link
Collaborator Author

I tried to refactor with this too but it was taking too long and I hit a snag where I wanted to read the cookie before the codec was created https://docs.rs/tokio-util/latest/tokio_util/codec/length_delimited/struct.LengthDelimitedCodec.html#

@ReactorScram
Copy link
Collaborator Author

Per standup, will abandon this and just split off a subprocess crate, since it took a long time to figure out and some other Rust + Windows project might find it convenient.

@ReactorScram
Copy link
Collaborator Author

the crate was split out in #3414, if that merges and firezone-connection works well, we can close this

@ReactorScram
Copy link
Collaborator Author

Closing, if we need this again subzone has moved over here https://github.com/firezone/subzone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/windows_client Issues related to the Windows client
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant