Merge pull request #287 from smallstep/nil-templates

Avoid nil pointer panic on step ssh config with no templates.

Fixes #289
This commit is contained in:
Mariano Cano 2020-06-16 12:12:35 -07:00 committed by GitHub
commit 72bb6e159f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 0 deletions

View File

@ -125,6 +125,10 @@ func (a *Authority) GetSSHConfig(ctx context.Context, typ string, data map[strin
return nil, errs.NotFound("getSSHConfig: ssh is not configured")
}
if a.config.Templates == nil {
return nil, errs.NotFound("getSSHConfig: ssh templates are not configured")
}
var ts []templates.Template
switch typ {
case provisioner.SSHUserCert:

View File

@ -455,6 +455,7 @@ func TestAuthority_GetSSHConfig(t *testing.T) {
{"badType", fields{tmplConfig, userSigner, hostSigner}, args{"bad", nil}, nil, true},
{"userError", fields{tmplConfigErr, userSigner, hostSigner}, args{"user", nil}, nil, true},
{"hostError", fields{tmplConfigErr, userSigner, hostSigner}, args{"host", map[string]string{"Function": "foo"}}, nil, true},
{"noTemplates", fields{nil, userSigner, hostSigner}, args{"user", nil}, nil, true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {