mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-10 11:51:35 +01:00
util/syspolicy: remove handler, other dead code
Fixes #17022 Change-Id: I6a0f6488ae3ea75c5844dfcba68e1e8024e930be Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
04f00339b6
commit
d8ac539bf9
@ -1,99 +0,0 @@
|
|||||||
// Copyright (c) Tailscale Inc & AUTHORS
|
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
|
|
||||||
package syspolicy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"tailscale.com/util/syspolicy/pkey"
|
|
||||||
"tailscale.com/util/syspolicy/rsop"
|
|
||||||
"tailscale.com/util/syspolicy/setting"
|
|
||||||
"tailscale.com/util/syspolicy/source"
|
|
||||||
)
|
|
||||||
|
|
||||||
// TODO(nickkhyl): delete this file once other repos are updated.
|
|
||||||
|
|
||||||
// Handler reads system policies from OS-specific storage.
|
|
||||||
//
|
|
||||||
// Deprecated: implementing a [source.Store] should be preferred.
|
|
||||||
type Handler interface {
|
|
||||||
// ReadString reads the policy setting's string value for the given key.
|
|
||||||
// It should return ErrNoSuchKey if the key does not have a value set.
|
|
||||||
ReadString(key string) (string, error)
|
|
||||||
// ReadUInt64 reads the policy setting's uint64 value for the given key.
|
|
||||||
// It should return ErrNoSuchKey if the key does not have a value set.
|
|
||||||
ReadUInt64(key string) (uint64, error)
|
|
||||||
// ReadBool reads the policy setting's boolean value for the given key.
|
|
||||||
// It should return ErrNoSuchKey if the key does not have a value set.
|
|
||||||
ReadBoolean(key string) (bool, error)
|
|
||||||
// ReadStringArray reads the policy setting's string array value for the given key.
|
|
||||||
// It should return ErrNoSuchKey if the key does not have a value set.
|
|
||||||
ReadStringArray(key string) ([]string, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RegisterHandler wraps and registers the specified handler as the device's
|
|
||||||
// policy [source.Store] for the program's lifetime.
|
|
||||||
//
|
|
||||||
// Deprecated: using [RegisterStore] should be preferred.
|
|
||||||
func RegisterHandler(h Handler) {
|
|
||||||
rsop.RegisterStore("DeviceHandler", setting.DeviceScope, handlerStore{h})
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ source.Store = handlerStore{}
|
|
||||||
|
|
||||||
// handlerStore is a [source.Store] that calls the underlying [Handler].
|
|
||||||
//
|
|
||||||
// TODO(nickkhyl): remove it when the corp and android repos are updated.
|
|
||||||
type handlerStore struct {
|
|
||||||
h Handler
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lock implements [source.Lockable].
|
|
||||||
func (s handlerStore) Lock() error {
|
|
||||||
if lockable, ok := s.h.(source.Lockable); ok {
|
|
||||||
return lockable.Lock()
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unlock implements [source.Lockable].
|
|
||||||
func (s handlerStore) Unlock() {
|
|
||||||
if lockable, ok := s.h.(source.Lockable); ok {
|
|
||||||
lockable.Unlock()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// RegisterChangeCallback implements [source.Changeable].
|
|
||||||
func (s handlerStore) RegisterChangeCallback(callback func()) (unregister func(), err error) {
|
|
||||||
if changeable, ok := s.h.(source.Changeable); ok {
|
|
||||||
return changeable.RegisterChangeCallback(callback)
|
|
||||||
}
|
|
||||||
return func() {}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadString implements [source.Store].
|
|
||||||
func (s handlerStore) ReadString(key pkey.Key) (string, error) {
|
|
||||||
return s.h.ReadString(string(key))
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadUInt64 implements [source.Store].
|
|
||||||
func (s handlerStore) ReadUInt64(key pkey.Key) (uint64, error) {
|
|
||||||
return s.h.ReadUInt64(string(key))
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadBoolean implements [source.Store].
|
|
||||||
func (s handlerStore) ReadBoolean(key pkey.Key) (bool, error) {
|
|
||||||
return s.h.ReadBoolean(string(key))
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadStringArray implements [source.Store].
|
|
||||||
func (s handlerStore) ReadStringArray(key pkey.Key) ([]string, error) {
|
|
||||||
return s.h.ReadStringArray(string(key))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Done implements [source.Expirable].
|
|
||||||
func (s handlerStore) Done() <-chan struct{} {
|
|
||||||
if expirable, ok := s.h.(source.Expirable); ok {
|
|
||||||
return expirable.Done()
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
@ -4,7 +4,6 @@
|
|||||||
package syspolicy
|
package syspolicy
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"tailscale.com/types/lazy"
|
|
||||||
"tailscale.com/util/syspolicy/internal"
|
"tailscale.com/util/syspolicy/internal"
|
||||||
"tailscale.com/util/syspolicy/pkey"
|
"tailscale.com/util/syspolicy/pkey"
|
||||||
"tailscale.com/util/syspolicy/setting"
|
"tailscale.com/util/syspolicy/setting"
|
||||||
@ -78,24 +77,6 @@ func init() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
var implicitDefinitionMap lazy.SyncValue[setting.DefinitionMap]
|
|
||||||
|
|
||||||
// WellKnownSettingDefinition returns a well-known, implicit setting definition by its key,
|
|
||||||
// or an [ErrNoSuchKey] if a policy setting with the specified key does not exist
|
|
||||||
// among implicit policy definitions.
|
|
||||||
func WellKnownSettingDefinition(k pkey.Key) (*setting.Definition, error) {
|
|
||||||
m, err := implicitDefinitionMap.GetErr(func() (setting.DefinitionMap, error) {
|
|
||||||
return setting.DefinitionMapOf(implicitDefinitions)
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if d, ok := m[k]; ok {
|
|
||||||
return d, nil
|
|
||||||
}
|
|
||||||
return nil, ErrNoSuchKey
|
|
||||||
}
|
|
||||||
|
|
||||||
// RegisterWellKnownSettingsForTest registers all implicit setting definitions
|
// RegisterWellKnownSettingsForTest registers all implicit setting definitions
|
||||||
// for the duration of the test.
|
// for the duration of the test.
|
||||||
func RegisterWellKnownSettingsForTest(tb testenv.TB) {
|
func RegisterWellKnownSettingsForTest(tb testenv.TB) {
|
||||||
|
|||||||
@ -46,13 +46,6 @@ func TestKnownKeysRegistered(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNotAWellKnownSetting(t *testing.T) {
|
|
||||||
d, err := WellKnownSettingDefinition("TestSettingDoesNotExist")
|
|
||||||
if d != nil || err == nil {
|
|
||||||
t.Fatalf("got %v, %v; want nil, %v", d, err, ErrNoSuchKey)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func listStringConsts[T ~string](filename string) (map[string]T, error) {
|
func listStringConsts[T ~string](filename string) (map[string]T, error) {
|
||||||
fset := token.NewFileSet()
|
fset := token.NewFileSet()
|
||||||
src, err := os.ReadFile(filename)
|
src, err := os.ReadFile(filename)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user