mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-29 18:33:05 +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
2 changed files with 11 additions and 8 deletions
|
@ -13,7 +13,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
DefaultPreAuthKeyExpiry = 24 * time.Hour
|
DefaultPreAuthKeyExpiry = 1 * time.Hour
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -145,14 +145,12 @@ var createPreAuthKeyCmd = &cobra.Command{
|
||||||
Ephemeral: ephemeral,
|
Ephemeral: ephemeral,
|
||||||
}
|
}
|
||||||
|
|
||||||
if cmd.Flags().Changed("expiration") {
|
duration, _ := cmd.Flags().GetDuration("expiration")
|
||||||
duration, _ := cmd.Flags().GetDuration("expiration")
|
expiration := time.Now().UTC().Add(duration)
|
||||||
expiration := time.Now().UTC().Add(duration)
|
|
||||||
|
|
||||||
log.Trace().Dur("expiration", duration).Msg("expiration has been set")
|
log.Trace().Dur("expiration", duration).Msg("expiration has been set")
|
||||||
|
|
||||||
request.Expiration = timestamppb.New(expiration)
|
request.Expiration = timestamppb.New(expiration)
|
||||||
}
|
|
||||||
|
|
||||||
ctx, client, conn, cancel := getHeadscaleCLIClient()
|
ctx, client, conn, cancel := getHeadscaleCLIClient()
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
|
@ -426,7 +426,12 @@ func (s *IntegrationCLITestSuite) TestPreAuthKeyCommandWithoutExpiry() {
|
||||||
assert.Nil(s.T(), err)
|
assert.Nil(s.T(), err)
|
||||||
|
|
||||||
assert.Len(s.T(), listedPreAuthKeys, 1)
|
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() {
|
func (s *IntegrationCLITestSuite) TestPreAuthKeyCommandReusableEphemeral() {
|
||||||
|
|
Loading…
Reference in a new issue