comment about token location ordering

Signed-off-by: David Lawrence <david.lawrence@docker.com> (github: endophage)
This commit is contained in:
David Lawrence 2015-11-09 16:53:32 -08:00
parent d2ca58bbf4
commit e0c5bb7b83
1 changed files with 8 additions and 4 deletions

View File

@ -38,7 +38,9 @@ const (
// what key mode to use when generating keys // what key mode to use when generating keys
var ( var (
yubikeyKeymode = KeymodeTouch | KeymodePinOnce yubikeyKeymode = KeymodeTouch | KeymodePinOnce
slotIDs = []int{2, 1, 3, 0} // order in which to prefer token locations on the yubikey.
// corresponds to: 9c, 9e, 9d, 9a
slotIDs = []int{2, 1, 3, 0}
) )
// SetYubikeyKeyMode - sets the mode when generating yubikey keys. // SetYubikeyKeyMode - sets the mode when generating yubikey keys.
@ -525,9 +527,11 @@ func getNextEmptySlot(ctx *pkcs11.Ctx, session pkcs11.SessionHandle) ([]byte, er
} }
} }
} }
for _, i := range slotIDs { // iterate the token locations in our preferred order and use the first
if !taken[i] { // available one. Otherwise exit the loop and return an error.
return []byte{byte(i)}, nil for _, loc := range slotIDs {
if !taken[loc] {
return []byte{byte(loc)}, nil
} }
} }
return nil, errors.New("Yubikey has no available slots.") return nil, errors.New("Yubikey has no available slots.")