mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-26 23:05:11 +00:00
Core handling of TTLs (#4230)
* govet cleanup in token store * adding general ttl handling to login requests * consolidating TTL calculation to system view * deprecate LeaseExtend * deprecate LeaseExtend * set the increment to the correct value * move calculateTTL out of SystemView * remove unused value * add back clearing of lease id * implement core ttl in some backends * removing increment and issue time from lease options * adding ttl tests, fixing some compile issue * adding ttl tests * fixing some explicit max TTL logic * fixing up some tests * removing unneeded test * off by one errors... * adding back some logic for bc * adding period to return on renewal * tweaking max ttl capping slightly * use the appropriate precision for ttl calculation * deprecate proto fields instead of delete * addressing feedback * moving TTL handling for backends to core * mongo is a secret backend not auth * adding estimated ttl for backends that also manage the expiration time * set the estimate values before calling the renew request * moving calculate TTL to framework, revert removal of increment and issue time from logical * minor edits * addressing feedback * address more feedback
This commit is contained in:
@@ -291,24 +291,6 @@ func (b *Backend) SanitizeTTLStr(ttlStr, maxTTLStr string) (ttl, maxTTL time.Dur
|
||||
}
|
||||
}
|
||||
|
||||
ttl, maxTTL, err = b.SanitizeTTL(ttl, maxTTL)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// SanitizeTTL caps the boundaries of ttl and max_ttl values to the
|
||||
// backend mount's max_ttl value.
|
||||
func (b *Backend) SanitizeTTL(ttl, maxTTL time.Duration) (time.Duration, time.Duration, error) {
|
||||
sysMaxTTL := b.System().MaxLeaseTTL()
|
||||
if ttl > sysMaxTTL {
|
||||
return 0, 0, fmt.Errorf("\"ttl\" value must be less than allowed max lease TTL value '%s'", sysMaxTTL.String())
|
||||
}
|
||||
if maxTTL > sysMaxTTL {
|
||||
return 0, 0, fmt.Errorf("\"max_ttl\" value must be less than allowed max lease TTL value '%s'", sysMaxTTL.String())
|
||||
}
|
||||
if ttl > maxTTL && maxTTL != 0 {
|
||||
ttl = maxTTL
|
||||
}
|
||||
return ttl, maxTTL, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user