summon-keyring icon indicating copy to clipboard operation
summon-keyring copied to clipboard

The Keyring provider does not work on Windows

Open whip113 opened this issue 10 months ago • 0 comments

Summary

When trying to use Summon with the ring.py keyring provider, I encounter an error that "ring.py is not a valid Win32 application"

Steps to Reproduce

  1. Using Summon with the keyring provider on Windows...
  2. Store a secret in the keyring
  3. Use Summon to invoke a child process using the keyring provider
  4. observe error

Expected Results

Summon should use the keyring provider, obtain the secret from the keyring, and inject it as an environment variable for the child process

Actual Results

An error that ring.py is not a valid Win32 application

Reproducible

  • [X] Always
  • [ ] Sometimes
  • [ ] Non-Reproducible

Version/Tag number

Latest

Environment setup

Summon on Windows 10 workstation, using the keyring provider, run as Administrator

Additional Information

Windows is interpreting ring.py as an EXE instead of expanding it using python3.exe. This appears to be a Go limitation on Windows:

"Unlike the “system” library call from C and other languages, the os/exec package intentionally does not invoke the system shell and does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells."

whip113 avatar Apr 25 '24 16:04 whip113