Add attribute to disable SSH Hosts list API
This commit is contained in:
parent
01423e36c9
commit
fb7f57a8df
2 changed files with 14 additions and 10 deletions
|
@ -92,16 +92,17 @@ type ASN1DN struct {
|
||||||
// cas.Options.
|
// cas.Options.
|
||||||
type AuthConfig struct {
|
type AuthConfig struct {
|
||||||
*cas.Options
|
*cas.Options
|
||||||
AuthorityID string `json:"authorityId,omitempty"`
|
AuthorityID string `json:"authorityId,omitempty"`
|
||||||
DeploymentType string `json:"deploymentType,omitempty"`
|
DeploymentType string `json:"deploymentType,omitempty"`
|
||||||
Provisioners provisioner.List `json:"provisioners,omitempty"`
|
Provisioners provisioner.List `json:"provisioners,omitempty"`
|
||||||
Admins []*linkedca.Admin `json:"-"`
|
Admins []*linkedca.Admin `json:"-"`
|
||||||
Template *ASN1DN `json:"template,omitempty"`
|
Template *ASN1DN `json:"template,omitempty"`
|
||||||
Claims *provisioner.Claims `json:"claims,omitempty"`
|
Claims *provisioner.Claims `json:"claims,omitempty"`
|
||||||
Policy *policy.Options `json:"policy,omitempty"`
|
Policy *policy.Options `json:"policy,omitempty"`
|
||||||
DisableIssuedAtCheck bool `json:"disableIssuedAtCheck,omitempty"`
|
DisableIssuedAtCheck bool `json:"disableIssuedAtCheck,omitempty"`
|
||||||
Backdate *provisioner.Duration `json:"backdate,omitempty"`
|
Backdate *provisioner.Duration `json:"backdate,omitempty"`
|
||||||
EnableAdmin bool `json:"enableAdmin,omitempty"`
|
EnableAdmin bool `json:"enableAdmin,omitempty"`
|
||||||
|
DisableSSHHostsListAPI bool `json:"disableSSHHostsListAPI,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// init initializes the required fields in the AuthConfig if they are not
|
// init initializes the required fields in the AuthConfig if they are not
|
||||||
|
|
|
@ -602,6 +602,9 @@ func (a *Authority) CheckSSHHost(ctx context.Context, principal, token string) (
|
||||||
|
|
||||||
// GetSSHHosts returns a list of valid host principals.
|
// GetSSHHosts returns a list of valid host principals.
|
||||||
func (a *Authority) GetSSHHosts(ctx context.Context, cert *x509.Certificate) ([]config.Host, error) {
|
func (a *Authority) GetSSHHosts(ctx context.Context, cert *x509.Certificate) ([]config.Host, error) {
|
||||||
|
if a.GetConfig().AuthorityConfig.DisableSSHHostsListAPI {
|
||||||
|
return nil, errs.New(http.StatusNotFound, "ssh hosts list api disabled")
|
||||||
|
}
|
||||||
if a.sshGetHostsFunc != nil {
|
if a.sshGetHostsFunc != nil {
|
||||||
hosts, err := a.sshGetHostsFunc(ctx, cert)
|
hosts, err := a.sshGetHostsFunc(ctx, cert)
|
||||||
return hosts, errs.Wrap(http.StatusInternalServerError, err, "getSSHHosts")
|
return hosts, errs.Wrap(http.StatusInternalServerError, err, "getSSHHosts")
|
||||||
|
|
Loading…
Reference in a new issue