mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-23 18:15:26 +00:00
When creating a preauthkey, the default expiration was passed through as
a nil value, instead of the default value (1h). This resulted in the preauthkey being created with expiration key '0001-01-01 00:00:00', which meant the key would not work, because it was already expired. This commit applies the default expiration time (1h) when a preauthkey is created without a specific expiration. It also updates an integration test to make sure this bug does not reoccur.
This commit is contained in:
parent
a52a4d45c0
commit
c7f3e0632b
@ -13,7 +13,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultPreAuthKeyExpiry = 24 * time.Hour
|
||||
DefaultPreAuthKeyExpiry = 1 * time.Hour
|
||||
)
|
||||
|
||||
func init() {
|
||||
@ -145,14 +145,12 @@ var createPreAuthKeyCmd = &cobra.Command{
|
||||
Ephemeral: ephemeral,
|
||||
}
|
||||
|
||||
if cmd.Flags().Changed("expiration") {
|
||||
duration, _ := cmd.Flags().GetDuration("expiration")
|
||||
expiration := time.Now().UTC().Add(duration)
|
||||
|
||||
log.Trace().Dur("expiration", duration).Msg("expiration has been set")
|
||||
|
||||
request.Expiration = timestamppb.New(expiration)
|
||||
}
|
||||
|
||||
ctx, client, conn, cancel := getHeadscaleCLIClient()
|
||||
defer cancel()
|
||||
|
@ -426,7 +426,12 @@ func (s *IntegrationCLITestSuite) TestPreAuthKeyCommandWithoutExpiry() {
|
||||
assert.Nil(s.T(), err)
|
||||
|
||||
assert.Len(s.T(), listedPreAuthKeys, 1)
|
||||
assert.True(s.T(), time.Time{}.Equal(listedPreAuthKeys[0].Expiration.AsTime()))
|
||||
|
||||
assert.True(s.T(), listedPreAuthKeys[0].Expiration.AsTime().After(time.Now()))
|
||||
assert.True(
|
||||
s.T(),
|
||||
listedPreAuthKeys[0].Expiration.AsTime().Before(time.Now().Add(time.Minute*70)),
|
||||
)
|
||||
}
|
||||
|
||||
func (s *IntegrationCLITestSuite) TestPreAuthKeyCommandReusableEphemeral() {
|
||||
|
Loading…
Reference in New Issue
Block a user