@ -112,6 +112,11 @@ type Prefs struct {
// policies as configured by the Tailnet's admin(s).
RunSSH bool
// RunWebClient bool is whether this node should run a web client,
// permitting access to peers according to the
// policies as configured by the Tailnet's admin(s).
RunWebClient bool
// WantRunning indicates whether networking should be active on
// this node.
WantRunning bool
@ -236,6 +241,7 @@ type MaskedPrefs struct {
ExitNodeAllowLANAccessSet bool ` json:",omitempty" `
CorpDNSSet bool ` json:",omitempty" `
RunSSHSet bool ` json:",omitempty" `
RunWebClientSet bool ` json:",omitempty" `
WantRunningSet bool ` json:",omitempty" `
LoggedOutSet bool ` json:",omitempty" `
ShieldsUpSet bool ` json:",omitempty" `
@ -350,6 +356,9 @@ func (p *Prefs) pretty(goos string) string {
if p . RunSSH {
sb . WriteString ( "ssh=true " )
}
if p . RunWebClient {
sb . WriteString ( "webclient=true " )
}
if p . LoggedOut {
sb . WriteString ( "loggedout=true " )
}
@ -431,6 +440,7 @@ func (p *Prefs) Equals(p2 *Prefs) bool {
p . ExitNodeAllowLANAccess == p2 . ExitNodeAllowLANAccess &&
p . CorpDNS == p2 . CorpDNS &&
p . RunSSH == p2 . RunSSH &&
p . RunWebClient == p2 . RunWebClient &&
p . WantRunning == p2 . WantRunning &&
p . LoggedOut == p2 . LoggedOut &&
p . NotepadURLs == p2 . NotepadURLs &&
@ -691,6 +701,18 @@ func (p *Prefs) ShouldSSHBeRunning() bool {
return p . WantRunning && p . RunSSH
}
// ShouldWebClientBeRunning reports whether the web client server should be running based on
// the prefs.
func ( p PrefsView ) ShouldWebClientBeRunning ( ) bool {
return p . Valid ( ) && p . ж . ShouldWebClientBeRunning ( )
}
// ShouldWebClientBeRunning reports whether the web client server should be running based on
// the prefs.
func ( p * Prefs ) ShouldWebClientBeRunning ( ) bool {
return p . WantRunning && p . RunWebClient
}
// PrefsFromBytes deserializes Prefs from a JSON blob.
func PrefsFromBytes ( b [ ] byte ) ( * Prefs , error ) {
p := NewPrefs ( )