mirror of
https://github.com/juanfont/headscale.git
synced 2025-01-18 18:00:04 +09:00
fix sighup issue with empty acl (#2296)
Fixes #2291 Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
parent
e00b9d9a91
commit
ec8729b772
3 changed files with 16 additions and 0 deletions
|
@ -838,6 +838,10 @@ func (h *Headscale) Serve() error {
|
|||
Str("signal", sig.String()).
|
||||
Msg("Received SIGHUP, reloading ACL and Config")
|
||||
|
||||
if h.cfg.Policy.IsEmpty() {
|
||||
continue
|
||||
}
|
||||
|
||||
if err := h.loadPolicyManager(); err != nil {
|
||||
log.Error().Err(err).Msg("failed to reload Policy")
|
||||
}
|
||||
|
@ -1102,6 +1106,10 @@ func (h *Headscale) policyBytes() ([]byte, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if p.Data == "" {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return []byte(p.Data), err
|
||||
}
|
||||
|
||||
|
|
|
@ -122,6 +122,10 @@ func (pm *PolicyManagerV1) SSHPolicy(node *types.Node) (*tailcfg.SSHPolicy, erro
|
|||
}
|
||||
|
||||
func (pm *PolicyManagerV1) SetPolicy(polB []byte) (bool, error) {
|
||||
if len(polB) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
pol, err := LoadACLPolicyFromBytes(polB)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("parsing policy: %w", err)
|
||||
|
|
|
@ -211,6 +211,10 @@ type PolicyConfig struct {
|
|||
Mode PolicyMode
|
||||
}
|
||||
|
||||
func (p *PolicyConfig) IsEmpty() bool {
|
||||
return p.Mode == PolicyModeFile && p.Path == ""
|
||||
}
|
||||
|
||||
type LogConfig struct {
|
||||
Format string
|
||||
Level zerolog.Level
|
||||
|
|
Loading…
Reference in a new issue