Maint: pass network values to firewall constructor

This commit is contained in:
Quentin McGaw (desktop)
2021-07-23 19:04:17 +00:00
parent 02492c34a7
commit 122647b39d
2 changed files with 15 additions and 18 deletions

View File

@@ -228,11 +228,6 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
Level: firewallLogLevel, Level: firewallLogLevel,
}) })
routingConf := routing.NewRouting(routingLogger) routingConf := routing.NewRouting(routingLogger)
firewallLogger := logger.NewChild(logging.Settings{
Prefix: "firewall: ",
Level: firewallLogLevel,
})
firewallConf := firewall.NewConfigurator(firewallLogger, cmder, routingConf)
defaultInterface, defaultGateway, err := routingConf.DefaultRoute() defaultInterface, defaultGateway, err := routingConf.DefaultRoute()
if err != nil { if err != nil {
@@ -249,7 +244,12 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
return err return err
} }
firewallConf.SetNetworkInformation(defaultInterface, defaultGateway, localNetworks, defaultIP) firewallLogger := logger.NewChild(logging.Settings{
Prefix: "firewall: ",
Level: firewallLogLevel,
})
firewallConf := firewall.NewConfigurator(firewallLogger, cmder, routingConf,
defaultInterface, defaultGateway, localNetworks, defaultIP)
if err := routingConf.Setup(); err != nil { if err := routingConf.Setup(); err != nil {
if strings.Contains(err.Error(), "operation not permitted") { if strings.Contains(err.Error(), "operation not permitted") {

View File

@@ -50,23 +50,20 @@ type configurator struct { //nolint:maligned
} }
// NewConfigurator creates a new Configurator instance. // NewConfigurator creates a new Configurator instance.
func NewConfigurator(logger logging.Logger, cmder command.Commander, routing routing.Routing) Configurator { func NewConfigurator(logger logging.Logger, cmder command.Commander,
return &configurator{ routing routing.Routing, defaultInterface string, defaultGateway net.IP,
localNetworks []routing.LocalNetwork, localIP net.IP) *Config {
return &Config{
commander: cmder, commander: cmder,
logger: logger, logger: logger,
routing: routing, routing: routing,
allowedInputPorts: make(map[uint16]string), allowedInputPorts: make(map[uint16]string),
ip6Tables: ip6tablesSupported(context.Background(), cmder), ip6Tables: ip6tablesSupported(context.Background(), cmder),
customRulesPath: "/iptables/post-rules.txt", customRulesPath: "/iptables/post-rules.txt",
// Obtained from routing
defaultInterface: defaultInterface,
defaultGateway: defaultGateway,
localNetworks: localNetworks,
localIP: localIP,
} }
} }
func (c *configurator) SetNetworkInformation(
defaultInterface string, defaultGateway net.IP, localNetworks []routing.LocalNetwork, localIP net.IP) {
c.networkInfoMutex.Lock()
defer c.networkInfoMutex.Unlock()
c.defaultInterface = defaultInterface
c.defaultGateway = defaultGateway
c.localNetworks = localNetworks
c.localIP = localIP
}