Skip to content

Commit 51e253b

Browse files
authored
Merge pull request #2097 from smallstep/dependabot/go_modules/github.com/slackhq/nebula-1.9.5
Bump github.com/slackhq/nebula from 1.9.4 to 1.9.5
2 parents f902049 + 4c7aa8a commit 51e253b

File tree

4 files changed

+39
-5
lines changed

4 files changed

+39
-5
lines changed

authority/provisioner/nebula.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@ func (p *Nebula) Init(config Config) (err error) {
6262
return errors.New("provisioner root(s) cannot be empty")
6363
}
6464

65-
p.caPool, err = nebula.NewCAPoolFromBytes(p.Roots)
65+
var certErrors []error
66+
p.caPool, certErrors, err = nebula.NewCAPoolFromBytes(p.Roots)
6667
if err != nil {
67-
return errs.InternalServer("failed to create ca pool: %v", err)
68+
return errs.InternalServer("failed to create CA pool: %v", err)
69+
}
70+
if len(certErrors) > 0 {
71+
return errs.InternalServer("failed to create CA pool: %v", certErrors)
6872
}
6973

7074
config.Audiences = config.Audiences.WithFragment(p.GetIDForToken())

authority/provisioner/nebula_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,31 @@ func mustNebulaCA(t *testing.T) (*cert.NebulaCertificate, ed25519.PrivateKey) {
6262
return nc, priv
6363
}
6464

65+
func mustExpiredNebulaCA(t *testing.T) (*cert.NebulaCertificate, ed25519.PrivateKey) {
66+
t.Helper()
67+
pub, priv, err := ed25519.GenerateKey(rand.Reader)
68+
require.NoError(t, err)
69+
nc := &cert.NebulaCertificate{
70+
Details: cert.NebulaCertificateDetails{
71+
Name: "ExpiredTestCA",
72+
Groups: []string{"expired"},
73+
Ips: []*net.IPNet{
74+
mustNebulaIPNet(t, "10.2.0.0/16"),
75+
},
76+
Subnets: []*net.IPNet{},
77+
NotBefore: time.Now().Add(-2 * time.Hour),
78+
NotAfter: time.Now().Add(-1 * time.Hour),
79+
PublicKey: pub,
80+
IsCA: true,
81+
Curve: cert.Curve_CURVE25519,
82+
},
83+
}
84+
err = nc.Sign(cert.Curve_CURVE25519, priv)
85+
require.NoError(t, err)
86+
87+
return nc, priv
88+
}
89+
6590
func mustNebulaP256CA(t *testing.T) (*cert.NebulaCertificate, *ecdsa.PrivateKey) {
6691
t.Helper()
6792

@@ -298,6 +323,10 @@ func TestNebula_Init(t *testing.T) {
298323
nc, _ := mustNebulaCA(t)
299324
ncPem, err := nc.MarshalToPEM()
300325
require.NoError(t, err)
326+
expiredNC, _ := mustExpiredNebulaCA(t)
327+
expiredPEM, err := expiredNC.MarshalToPEM()
328+
require.NoError(t, err)
329+
expiredPEM = append(expiredPEM, ncPem...) // needed so that regular error isn't triggered
301330

302331
cfg := Config{
303332
Claims: globalProvisionerClaims,
@@ -326,6 +355,7 @@ func TestNebula_Init(t *testing.T) {
326355
{"fail type", fields{"", "Nebulous", ncPem, nil, nil}, args{cfg}, true},
327356
{"fail name", fields{"Nebula", "", ncPem, nil, nil}, args{cfg}, true},
328357
{"fail root", fields{"Nebula", "Nebulous", nil, nil, nil}, args{cfg}, true},
358+
{"fail expired root", fields{"Nebula", "Nebulous", expiredPEM, nil, nil}, args{cfg}, true},
329359
{"fail bad root", fields{"Nebula", "Nebulous", ncPem[:16], nil, nil}, args{cfg}, true},
330360
{"fail bad claims", fields{"Nebula", "Nebulous", ncPem, &Claims{
331361
MinTLSDur: &Duration{Duration: 0},

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ require (
2525
github.com/prometheus/client_golang v1.20.5
2626
github.com/rs/xid v1.6.0
2727
github.com/sirupsen/logrus v1.9.3
28-
github.com/slackhq/nebula v1.9.4
28+
github.com/slackhq/nebula v1.9.5
2929
github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262
3030
github.com/smallstep/cli-utils v0.10.0
3131
github.com/smallstep/go-attestation v0.4.4-0.20240109183208-413678f90935

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,8 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5I
377377
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
378378
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
379379
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
380-
github.com/slackhq/nebula v1.9.4 h1:p06JxtXT/OBMWt2OQkY7F0phOBb42X93YWNsS1yqC9o=
381-
github.com/slackhq/nebula v1.9.4/go.mod h1:1+4q4wd3dDAjO8rKCttSb9JIVbklQhuJiBp5I0lbIsQ=
380+
github.com/slackhq/nebula v1.9.5 h1:ZrxcvP/lxwFglaijmiwXLuCSkybZMJnqSYI1S8DtGnY=
381+
github.com/slackhq/nebula v1.9.5/go.mod h1:1+4q4wd3dDAjO8rKCttSb9JIVbklQhuJiBp5I0lbIsQ=
382382
github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262 h1:unQFBIznI+VYD1/1fApl1A+9VcBk+9dcqGfnePY87LY=
383383
github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262/go.mod h1:MyOHs9Po2fbM1LHej6sBUT8ozbxmMOFG+E+rx/GSGuc=
384384
github.com/smallstep/cli-utils v0.10.0 h1:CfXNvHtIN5pAzGvGP0NEUZoGFcj5epNEB6RSpSfduek=

0 commit comments

Comments
 (0)