mirror of
https://github.com/hashicorp/vault.git
synced 2026-05-05 04:16:31 +02:00
CE side change for vault-24636 (#26675)
This commit is contained in:
parent
d23db14c46
commit
d4da61fc4e
@ -2653,6 +2653,31 @@ func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigByNameAndNamespace(name,
|
||||
return eConfig.Clone()
|
||||
}
|
||||
|
||||
func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigByID(id string) (*mfa.MFAEnforcementConfig, error) {
|
||||
if id == "" {
|
||||
return nil, fmt.Errorf("missing config id")
|
||||
}
|
||||
|
||||
txn := b.db.Txn(false)
|
||||
defer txn.Abort()
|
||||
|
||||
eConfigRaw, err := txn.First(memDBMFALoginEnforcementsTable, "id", id)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to fetch MFA login enforcement config from memdb using id: %w", err)
|
||||
}
|
||||
|
||||
if eConfigRaw == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
eConfig, ok := eConfigRaw.(*mfa.MFAEnforcementConfig)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("invalid type for MFA login enforcement config in memdb")
|
||||
}
|
||||
|
||||
return eConfig.Clone()
|
||||
}
|
||||
|
||||
func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigIterator() (memdb.ResultIterator, error) {
|
||||
txn := b.db.Txn(false)
|
||||
defer txn.Abort()
|
||||
@ -2710,6 +2735,32 @@ func (b *LoginMFABackend) deleteMFALoginEnforcementConfigByNameAndNamespace(ctx
|
||||
return nil
|
||||
}
|
||||
|
||||
func (b *LoginMFABackend) MemDBDeleteMFALoginEnforcementConfigByID(id string) error {
|
||||
if id == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
txn := b.db.Txn(true)
|
||||
defer txn.Abort()
|
||||
|
||||
eConfig, err := b.MemDBMFALoginEnforcementConfigByID(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if eConfig == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
err = txn.Delete(memDBMFALoginEnforcementsTable, eConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
txn.Commit()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (b *LoginMFABackend) MemDBDeleteMFALoginEnforcementConfigByNameAndNamespace(name, namespaceId, tableName string) error {
|
||||
if name == "" || namespaceId == "" {
|
||||
return nil
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user