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

Port to trio async library #456

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

SlugFiller
Copy link
Contributor

@SlugFiller SlugFiller commented Sep 23, 2023

Changed from sync IO to async IO with cancellation scopes. This enables a few improvements that would have been difficult or impossible before:

  • GPG agent allows multiple concurrent clients
  • SSH agent no longer holds an exclusive lock for every request handled. Instead, the device is locked while being connected, only for the duration of operations done with the device.
  • Clean handling of exit from the agents with Ctrl+C
  • Clean handling of exit while device interaction or pinentry are running with Ctrl+C
  • When the device requests interaction, a pinentry message is displayed. It automatically closes when the operation completes.
  • It is possible to close the GPG agent with either the KILLAGENT message or Ctrl+C.
  • More gracefully handle various errors in GPG agent, preventing agent crash, or frozen client.

@SlugFiller SlugFiller force-pushed the trio-port branch 2 times, most recently from d38c788 to d20d427 Compare September 23, 2023 21:14
@romanz
Copy link
Owner

romanz commented Sep 24, 2023

Many thanks! Will try to review when I'll be available (hopefully in a few weeks).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants