diff --git a/cmd/gluetun/main.go b/cmd/gluetun/main.go index ef4192f7..2e335e8a 100644 --- a/cmd/gluetun/main.go +++ b/cmd/gluetun/main.go @@ -395,7 +395,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation, "http server", defaultGoRoutineSettings) httpServer := server.New(httpServerCtx, controlServerAddress, controlServerLogging, logger.NewChild(logging.Settings{Prefix: "http server: "}), - buildInfo, openvpnLooper, unboundLooper, updaterLooper, publicIPLooper) + buildInfo, openvpnLooper, portForwardLooper, unboundLooper, updaterLooper, publicIPLooper) go httpServer.Run(httpServerCtx, httpServerDone) controlGroupHandler.Add(httpServerHandler) diff --git a/internal/server/handler.go b/internal/server/handler.go index 7afdba50..aed0a318 100644 --- a/internal/server/handler.go +++ b/internal/server/handler.go @@ -8,6 +8,7 @@ import ( "github.com/qdm12/gluetun/internal/dns" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/openvpn" + "github.com/qdm12/gluetun/internal/portforward" "github.com/qdm12/gluetun/internal/publicip" "github.com/qdm12/gluetun/internal/updater" "github.com/qdm12/golibs/logging" @@ -16,13 +17,14 @@ import ( func newHandler(ctx context.Context, logger logging.Logger, logging bool, buildInfo models.BuildInformation, openvpnLooper openvpn.Looper, + pfGetter portforward.Getter, unboundLooper dns.Looper, updaterLooper updater.Looper, publicIPLooper publicip.Looper, ) http.Handler { handler := &handler{} - openvpn := newOpenvpnHandler(ctx, openvpnLooper, logger) + openvpn := newOpenvpnHandler(ctx, openvpnLooper, pfGetter, logger) dns := newDNSHandler(ctx, unboundLooper, logger) updater := newUpdaterHandler(ctx, updaterLooper, logger) publicip := newPublicIPHandler(publicIPLooper, logger) diff --git a/internal/server/openvpn.go b/internal/server/openvpn.go index a46b171d..7284d7b8 100644 --- a/internal/server/openvpn.go +++ b/internal/server/openvpn.go @@ -12,10 +12,11 @@ import ( ) func newOpenvpnHandler(ctx context.Context, looper openvpn.Looper, - logger logging.Logger) http.Handler { + pfGetter portforward.Getter, logger logging.Logger) http.Handler { return &openvpnHandler{ ctx: ctx, looper: looper, + pf: pfGetter, logger: logger, } } diff --git a/internal/server/server.go b/internal/server/server.go index 93be5b9c..f396049e 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -10,6 +10,7 @@ import ( "github.com/qdm12/gluetun/internal/dns" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/openvpn" + "github.com/qdm12/gluetun/internal/portforward" "github.com/qdm12/gluetun/internal/publicip" "github.com/qdm12/gluetun/internal/updater" "github.com/qdm12/golibs/logging" @@ -26,11 +27,11 @@ type server struct { } func New(ctx context.Context, address string, logEnabled bool, logger logging.Logger, - buildInfo models.BuildInformation, - openvpnLooper openvpn.Looper, unboundLooper dns.Looper, + buildInfo models.BuildInformation, openvpnLooper openvpn.Looper, + pfGetter portforward.Getter, unboundLooper dns.Looper, updaterLooper updater.Looper, publicIPLooper publicip.Looper) Server { handler := newHandler(ctx, logger, logEnabled, buildInfo, - openvpnLooper, unboundLooper, updaterLooper, publicIPLooper) + openvpnLooper, pfGetter, unboundLooper, updaterLooper, publicIPLooper) return &server{ address: address, logger: logger,