diff --git a/privkey/all.go b/privkey/all.go index 2bc07b0..b8bf981 100644 --- a/privkey/all.go +++ b/privkey/all.go @@ -3,7 +3,6 @@ package privkey import ( "errors" "os" - "sync" ) var keyBytesProvider = func(sshKeyPath *string) ([]byte, error) { @@ -18,36 +17,22 @@ var keyBytesProvider = func(sshKeyPath *string) ([]byte, error) { } } -var providerMutex sync.RWMutex - // GetBytes returns the SSH private key bytes. // On iOS, it calls the provider function that was set by the iOS app // using SetKeyBytesProvider or SetKeyBytes. func GetBytes(sshKeyPath *string) ([]byte, error) { - providerMutex.RLock() - provider := keyBytesProvider - providerMutex.RUnlock() - - if provider == nil { - return nil, errors.New("key bytes provider not set - call SetKeyBytes first") - } - - keyBytes, err := provider(sshKeyPath) + keyBytes, err := keyBytesProvider(sshKeyPath) if err != nil { return nil, errors.New("unable to get key bytes from provider: " + err.Error()) } - if len(keyBytes) == 0 { return nil, errors.New("provider returned empty key bytes") } - return keyBytes, nil } // SetBytes allows the iOS app to directly set the SSH key bytes. func SetBytes(keyBytes []byte) { - providerMutex.Lock() - defer providerMutex.Unlock() keyBytesProvider = func(*string) ([]byte, error) { return keyBytes, nil }