You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current keyring implementation which is returned via keyring.go:37 does only expose the Agent interface for an SSH Agent, but it implements also the ExternalAgent.
// NewKeyring returns an Agent that holds keys in memory. It is safe// for concurrent use by multiple goroutines.funcNewKeyring() Agent {
return&keyring{}
}
The proposal is to implement a constructor returning the ExtendedAgent interface, so one must not reimplement the SignWithFlags functions of the keyring:
// NewExtendedKeyringreturns an ExtededAgent that holds keys in memory. It is safe// for concurrent use by multiple goroutines.funcNewExtendedKeyring() ExtendedAgent {
return&keyring{}
}
This would also keep the interface returned by NewKeyring() stable.
The text was updated successfully, but these errors were encountered:
ianlancetaylor
changed the title
proposal : x/crypto/ssh/agent: Expose ExtendedAgent for a new keyring via new NewExtendedKeyring constructor
proposal: x/crypto/ssh/agent: Expose ExtendedAgent for a new keyring via new NewExtendedKeyring constructor
Mar 22, 2024
ianlancetaylor
changed the title
proposal: x/crypto/ssh/agent: Expose ExtendedAgent for a new keyring via new NewExtendedKeyring constructor
proposal: x/crypto/ssh/agent: expose ExtendedAgent for a new keyring via new NewExtendedKeyring constructor
Mar 22, 2024
Proposal Details
The current keyring implementation which is returned via keyring.go:37 does only expose the
Agent
interface for an SSH Agent, but it implements also theExternalAgent
.The proposal is to implement a constructor returning the ExtendedAgent interface, so one must not reimplement the
SignWithFlags
functions of the keyring:This would also keep the interface returned by
NewKeyring()
stable.The text was updated successfully, but these errors were encountered: