File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -245,16 +245,43 @@ func (a *Agent) LoadKeys(keyDir string) error {
245245// Unsupported functions
246246func (a * Agent ) Add (key agent.AddedKey ) error {
247247 slog .Debug ("called add" )
248+ for _ , agent := range a .agents {
249+ if err := agent .Add (key ); err == nil {
250+ return nil
251+ }
252+ }
248253 return ErrOperationUnsupported
249254}
250255
251256func (a * Agent ) Remove (key ssh.PublicKey ) error {
252257 slog .Debug ("called remove" )
258+
259+ for _ , agent := range a .agents {
260+ lkeys , err := agent .List ()
261+ if err != nil {
262+ slog .Debug ("agent returned err on List(): %v" , err )
263+ continue
264+ }
265+
266+ for _ , k := range lkeys {
267+ if ! bytes .Equal (k .Marshal (), key .Marshal ()) {
268+ continue
269+ }
270+ if err := agent .Remove (key ); err != nil {
271+ slog .Debug ("agent returned err on Remove(): %v" , err )
272+ }
273+ }
274+ }
253275 return ErrOperationUnsupported
254276}
255277
256278func (a * Agent ) RemoveAll () error {
257279 slog .Debug ("called removeall" )
280+ for _ , agent := range a .agents {
281+ if err := agent .RemoveAll (); err == nil {
282+ return nil
283+ }
284+ }
258285 return a .Close ()
259286}
260287
You can’t perform that action at this time.
0 commit comments