Refactor stateManager parameter to use value type instead of pointer in multiple functions

This commit is contained in:
Hakan Sariman
2025-03-18 20:34:44 +08:00
parent 01d01ac16f
commit a01e5abfee
38 changed files with 629 additions and 85 deletions

View File

@@ -15,7 +15,7 @@ import (
)
// NewFirewall creates a firewall manager instance
func NewFirewall(iface IFaceMapper, _ *statemanager.Manager, flowLogger nftypes.FlowLogger, disableServerRoutes bool) (firewall.Manager, error) {
func NewFirewall(iface IFaceMapper, _ statemanager.Manager, flowLogger nftypes.FlowLogger, disableServerRoutes bool) (firewall.Manager, error) {
if !iface.IsUserspaceBind() {
return nil, fmt.Errorf("not implemented for this OS: %s", runtime.GOOS)
}

View File

@@ -34,7 +34,7 @@ const SKIP_NFTABLES_ENV = "NB_SKIP_NFTABLES_CHECK"
// FWType is the type for the firewall type
type FWType int
func NewFirewall(iface IFaceMapper, stateManager *statemanager.Manager, flowLogger nftypes.FlowLogger, disableServerRoutes bool) (firewall.Manager, error) {
func NewFirewall(iface IFaceMapper, stateManager statemanager.Manager, flowLogger nftypes.FlowLogger, disableServerRoutes bool) (firewall.Manager, error) {
// on the linux system we try to user nftables or iptables
// in any case, because we need to allow netbird interface traffic
// so we use AllowNetbird traffic from these firewall managers
@@ -51,7 +51,7 @@ func NewFirewall(iface IFaceMapper, stateManager *statemanager.Manager, flowLogg
return createUserspaceFirewall(iface, fm, disableServerRoutes, flowLogger)
}
func createNativeFirewall(iface IFaceMapper, stateManager *statemanager.Manager, routes bool) (firewall.Manager, error) {
func createNativeFirewall(iface IFaceMapper, stateManager statemanager.Manager, routes bool) (firewall.Manager, error) {
fm, err := createFW(iface)
if err != nil {
return nil, fmt.Errorf("create firewall: %s", err)

View File

@@ -36,7 +36,7 @@ type aclManager struct {
optionalEntries map[string][]entry
ipsetStore *ipsetStore
stateManager *statemanager.Manager
stateManager statemanager.Manager
}
func newAclManager(iptablesClient *iptables.IPTables, wgIface iFaceMapper) (*aclManager, error) {
@@ -55,7 +55,7 @@ func newAclManager(iptablesClient *iptables.IPTables, wgIface iFaceMapper) (*acl
return m, nil
}
func (m *aclManager) init(stateManager *statemanager.Manager) error {
func (m *aclManager) init(stateManager statemanager.Manager) error {
m.stateManager = stateManager
m.seedInitialEntries()

View File

@@ -60,7 +60,7 @@ func Create(wgIface iFaceMapper) (*Manager, error) {
return m, nil
}
func (m *Manager) Init(stateManager *statemanager.Manager) error {
func (m *Manager) Init(stateManager statemanager.Manager) error {
state := &ShutdownState{
InterfaceState: &InterfaceState{
NameStr: m.wgIface.Name(),
@@ -167,7 +167,7 @@ func (m *Manager) SetLegacyManagement(isLegacy bool) error {
}
// Reset firewall to the default state
func (m *Manager) Close(stateManager *statemanager.Manager) error {
func (m *Manager) Close(stateManager statemanager.Manager) error {
m.mutex.Lock()
defer m.mutex.Unlock()

View File

@@ -76,7 +76,7 @@ type router struct {
wgIface iFaceMapper
legacyManagement bool
stateManager *statemanager.Manager
stateManager statemanager.Manager
ipFwdState *ipfwdstate.IPForwardingState
}
@@ -104,7 +104,7 @@ func newRouter(iptablesClient *iptables.IPTables, wgIface iFaceMapper) (*router,
return r, nil
}
func (r *router) init(stateManager *statemanager.Manager) error {
func (r *router) init(stateManager statemanager.Manager) error {
r.stateManager = stateManager
if err := r.cleanUpDefaultForwardRules(); err != nil {

View File

@@ -55,7 +55,7 @@ const (
// It declares methods which handle actions required by the
// Netbird client for ACL and routing functionality
type Manager interface {
Init(stateManager *statemanager.Manager) error
Init(stateManager statemanager.Manager) error
// AllowNetbird allows netbird interface traffic
AllowNetbird() error
@@ -103,7 +103,7 @@ type Manager interface {
SetLegacyManagement(legacy bool) error
// Close closes the firewall manager
Close(stateManager *statemanager.Manager) error
Close(stateManager statemanager.Manager) error
// Flush the changes to firewall controller
Flush() error

View File

@@ -67,7 +67,7 @@ func Create(wgIface iFaceMapper) (*Manager, error) {
}
// Init nftables firewall manager
func (m *Manager) Init(stateManager *statemanager.Manager) error {
func (m *Manager) Init(stateManager statemanager.Manager) error {
workTable, err := m.createWorkTable()
if err != nil {
return fmt.Errorf("create work table: %w", err)
@@ -243,7 +243,7 @@ func (m *Manager) SetLegacyManagement(isLegacy bool) error {
}
// Reset firewall to the default state
func (m *Manager) Close(stateManager *statemanager.Manager) error {
func (m *Manager) Close(stateManager statemanager.Manager) error {
m.mutex.Lock()
defer m.mutex.Unlock()

View File

@@ -13,7 +13,7 @@ import (
)
// Reset firewall to the default state
func (m *Manager) Close(stateManager *statemanager.Manager) error {
func (m *Manager) Close(stateManager statemanager.Manager) error {
m.mutex.Lock()
defer m.mutex.Unlock()

View File

@@ -23,7 +23,7 @@ const (
)
// Reset firewall to the default state
func (m *Manager) Close(*statemanager.Manager) error {
func (m *Manager) Close(statemanager.Manager) error {
m.mutex.Lock()
defer m.mutex.Unlock()

View File

@@ -322,7 +322,7 @@ func (m *Manager) initForwarder() error {
return nil
}
func (m *Manager) Init(*statemanager.Manager) error {
func (m *Manager) Init(statemanager.Manager) error {
return nil
}