245 lines
8.0 KiB
Go
245 lines
8.0 KiB
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
// Code generated by tailscale.com/cmd/equaler; DO NOT EDIT.
|
|
|
|
package tailcfg
|
|
|
|
import (
|
|
"net/netip"
|
|
"time"
|
|
|
|
"golang.org/x/exp/slices"
|
|
"tailscale.com/types/key"
|
|
"tailscale.com/types/opt"
|
|
"tailscale.com/types/structs"
|
|
"tailscale.com/types/tkatype"
|
|
)
|
|
|
|
// Equal reports whether a and b are equal.
|
|
func (a *Node) Equal(b *Node) bool {
|
|
if a == b {
|
|
return true
|
|
}
|
|
return a != nil && b != nil &&
|
|
a.ID == b.ID &&
|
|
a.StableID == b.StableID &&
|
|
a.Name == b.Name &&
|
|
a.User == b.User &&
|
|
a.Sharer == b.Sharer &&
|
|
a.Key == b.Key &&
|
|
a.KeyExpiry.Equal(b.KeyExpiry) &&
|
|
((a.KeySignature == nil) == (b.KeySignature == nil)) &&
|
|
slices.Equal(a.KeySignature, b.KeySignature) &&
|
|
a.Machine == b.Machine &&
|
|
a.DiscoKey == b.DiscoKey &&
|
|
((a.Addresses == nil) == (b.Addresses == nil)) &&
|
|
slices.Equal(a.Addresses, b.Addresses) &&
|
|
((a.AllowedIPs == nil) == (b.AllowedIPs == nil)) &&
|
|
slices.Equal(a.AllowedIPs, b.AllowedIPs) &&
|
|
((a.Endpoints == nil) == (b.Endpoints == nil)) &&
|
|
slices.Equal(a.Endpoints, b.Endpoints) &&
|
|
a.DERP == b.DERP &&
|
|
a.Hostinfo.Equal(b.Hostinfo) &&
|
|
a.Created.Equal(b.Created) &&
|
|
a.Cap == b.Cap &&
|
|
((a.Tags == nil) == (b.Tags == nil)) &&
|
|
slices.Equal(a.Tags, b.Tags) &&
|
|
((a.PrimaryRoutes == nil) == (b.PrimaryRoutes == nil)) &&
|
|
slices.Equal(a.PrimaryRoutes, b.PrimaryRoutes) &&
|
|
((a.LastSeen == nil) == (b.LastSeen == nil)) && (a.LastSeen == nil || a.LastSeen.Equal(*b.LastSeen)) &&
|
|
((a.Online == nil) == (b.Online == nil)) && (a.Online == nil || *a.Online == *b.Online) &&
|
|
a.KeepAlive == b.KeepAlive &&
|
|
a.MachineAuthorized == b.MachineAuthorized &&
|
|
((a.Capabilities == nil) == (b.Capabilities == nil)) &&
|
|
slices.Equal(a.Capabilities, b.Capabilities) &&
|
|
a.UnsignedPeerAPIOnly == b.UnsignedPeerAPIOnly &&
|
|
a.ComputedName == b.ComputedName &&
|
|
a.computedHostIfDifferent == b.computedHostIfDifferent &&
|
|
a.ComputedNameWithHost == b.ComputedNameWithHost &&
|
|
a.DataPlaneAuditLogID == b.DataPlaneAuditLogID &&
|
|
a.Expired == b.Expired &&
|
|
((a.SelfNodeV4MasqAddrForThisPeer == nil) == (b.SelfNodeV4MasqAddrForThisPeer == nil)) && (a.SelfNodeV4MasqAddrForThisPeer == nil || *a.SelfNodeV4MasqAddrForThisPeer == *b.SelfNodeV4MasqAddrForThisPeer) &&
|
|
a.IsWireGuardOnly == b.IsWireGuardOnly &&
|
|
true
|
|
}
|
|
|
|
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
|
|
var _NodeEqualNeedsRegeneration = Node(struct {
|
|
ID NodeID
|
|
StableID StableNodeID
|
|
Name string
|
|
User UserID
|
|
Sharer UserID
|
|
Key key.NodePublic
|
|
KeyExpiry time.Time
|
|
KeySignature tkatype.MarshaledSignature
|
|
Machine key.MachinePublic
|
|
DiscoKey key.DiscoPublic
|
|
Addresses []netip.Prefix
|
|
AllowedIPs []netip.Prefix
|
|
Endpoints []string
|
|
DERP string
|
|
Hostinfo HostinfoView
|
|
Created time.Time
|
|
Cap CapabilityVersion
|
|
Tags []string
|
|
PrimaryRoutes []netip.Prefix
|
|
LastSeen *time.Time
|
|
Online *bool
|
|
KeepAlive bool
|
|
MachineAuthorized bool
|
|
Capabilities []string
|
|
UnsignedPeerAPIOnly bool
|
|
ComputedName string
|
|
computedHostIfDifferent string
|
|
ComputedNameWithHost string
|
|
DataPlaneAuditLogID string
|
|
Expired bool
|
|
SelfNodeV4MasqAddrForThisPeer *netip.Addr
|
|
IsWireGuardOnly bool
|
|
}{})
|
|
|
|
// Equal reports whether a and b are equal.
|
|
func (a *Hostinfo) Equal(b *Hostinfo) bool {
|
|
if a == b {
|
|
return true
|
|
}
|
|
return a != nil && b != nil &&
|
|
a.IPNVersion == b.IPNVersion &&
|
|
a.FrontendLogID == b.FrontendLogID &&
|
|
a.BackendLogID == b.BackendLogID &&
|
|
a.OS == b.OS &&
|
|
a.OSVersion == b.OSVersion &&
|
|
a.Container == b.Container &&
|
|
a.Env == b.Env &&
|
|
a.Distro == b.Distro &&
|
|
a.DistroVersion == b.DistroVersion &&
|
|
a.DistroCodeName == b.DistroCodeName &&
|
|
a.App == b.App &&
|
|
a.Desktop == b.Desktop &&
|
|
a.Package == b.Package &&
|
|
a.DeviceModel == b.DeviceModel &&
|
|
a.PushDeviceToken == b.PushDeviceToken &&
|
|
a.Hostname == b.Hostname &&
|
|
a.ShieldsUp == b.ShieldsUp &&
|
|
a.ShareeNode == b.ShareeNode &&
|
|
a.NoLogsNoSupport == b.NoLogsNoSupport &&
|
|
a.WireIngress == b.WireIngress &&
|
|
a.AllowsUpdate == b.AllowsUpdate &&
|
|
a.Machine == b.Machine &&
|
|
a.GoArch == b.GoArch &&
|
|
a.GoArchVar == b.GoArchVar &&
|
|
a.GoVersion == b.GoVersion &&
|
|
((a.RoutableIPs == nil) == (b.RoutableIPs == nil)) &&
|
|
slices.Equal(a.RoutableIPs, b.RoutableIPs) &&
|
|
((a.RequestTags == nil) == (b.RequestTags == nil)) &&
|
|
slices.Equal(a.RequestTags, b.RequestTags) &&
|
|
((a.Services == nil) == (b.Services == nil)) &&
|
|
slices.EqualFunc(a.Services, b.Services, func(aa Service, bb Service) bool { return aa.Equal(&bb) }) &&
|
|
((a.NetInfo == nil) == (b.NetInfo == nil)) && (a.NetInfo == nil || a.NetInfo.Equal(b.NetInfo)) &&
|
|
((a.SSH_HostKeys == nil) == (b.SSH_HostKeys == nil)) &&
|
|
slices.Equal(a.SSH_HostKeys, b.SSH_HostKeys) &&
|
|
a.Cloud == b.Cloud &&
|
|
a.Userspace == b.Userspace &&
|
|
a.UserspaceRouter == b.UserspaceRouter &&
|
|
true
|
|
}
|
|
|
|
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
|
|
var _HostinfoEqualNeedsRegeneration = Hostinfo(struct {
|
|
IPNVersion string
|
|
FrontendLogID string
|
|
BackendLogID string
|
|
OS string
|
|
OSVersion string
|
|
Container opt.Bool
|
|
Env string
|
|
Distro string
|
|
DistroVersion string
|
|
DistroCodeName string
|
|
App string
|
|
Desktop opt.Bool
|
|
Package string
|
|
DeviceModel string
|
|
PushDeviceToken string
|
|
Hostname string
|
|
ShieldsUp bool
|
|
ShareeNode bool
|
|
NoLogsNoSupport bool
|
|
WireIngress bool
|
|
AllowsUpdate bool
|
|
Machine string
|
|
GoArch string
|
|
GoArchVar string
|
|
GoVersion string
|
|
RoutableIPs []netip.Prefix
|
|
RequestTags []string
|
|
Services []Service
|
|
NetInfo *NetInfo
|
|
SSH_HostKeys []string
|
|
Cloud string
|
|
Userspace opt.Bool
|
|
UserspaceRouter opt.Bool
|
|
}{})
|
|
|
|
// Equal reports whether a and b are equal.
|
|
func (a *NetInfo) Equal(b *NetInfo) bool {
|
|
if a == b {
|
|
return true
|
|
}
|
|
return a != nil && b != nil &&
|
|
a.MappingVariesByDestIP == b.MappingVariesByDestIP &&
|
|
a.HairPinning == b.HairPinning &&
|
|
a.WorkingIPv6 == b.WorkingIPv6 &&
|
|
a.OSHasIPv6 == b.OSHasIPv6 &&
|
|
a.WorkingUDP == b.WorkingUDP &&
|
|
a.WorkingICMPv4 == b.WorkingICMPv4 &&
|
|
a.HavePortMap == b.HavePortMap &&
|
|
a.UPnP == b.UPnP &&
|
|
a.PMP == b.PMP &&
|
|
a.PCP == b.PCP &&
|
|
a.PreferredDERP == b.PreferredDERP &&
|
|
a.LinkType == b.LinkType &&
|
|
// Skipping DERPLatency because of codegen:noequal
|
|
true
|
|
}
|
|
|
|
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
|
|
var _NetInfoEqualNeedsRegeneration = NetInfo(struct {
|
|
MappingVariesByDestIP opt.Bool
|
|
HairPinning opt.Bool
|
|
WorkingIPv6 opt.Bool
|
|
OSHasIPv6 opt.Bool
|
|
WorkingUDP opt.Bool
|
|
WorkingICMPv4 opt.Bool
|
|
HavePortMap bool
|
|
UPnP opt.Bool
|
|
PMP opt.Bool
|
|
PCP opt.Bool
|
|
PreferredDERP int
|
|
LinkType string
|
|
DERPLatency map[string]float64
|
|
}{})
|
|
|
|
// Equal reports whether a and b are equal.
|
|
func (a *Service) Equal(b *Service) bool {
|
|
if a == b {
|
|
return true
|
|
}
|
|
return a != nil && b != nil &&
|
|
// Skipping _ because of codegen:noequal
|
|
a.Proto == b.Proto &&
|
|
a.Port == b.Port &&
|
|
a.Description == b.Description &&
|
|
true
|
|
}
|
|
|
|
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
|
|
var _ServiceEqualNeedsRegeneration = Service(struct {
|
|
_ structs.Incomparable
|
|
Proto ServiceProto
|
|
Port uint16
|
|
Description string
|
|
}{})
|