Write auth file in openvpn loop
This commit is contained in:
@@ -107,13 +107,6 @@ func _main(background context.Context, args []string) int {
|
|||||||
fatalOnError(err)
|
fatalOnError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ovpnConf.WriteAuthFile(
|
|
||||||
allSettings.OpenVPN.User,
|
|
||||||
allSettings.OpenVPN.Password,
|
|
||||||
allSettings.System.UID,
|
|
||||||
allSettings.System.GID)
|
|
||||||
fatalOnError(err)
|
|
||||||
|
|
||||||
defaultInterface, defaultGateway, defaultSubnet, err := routingConf.DefaultRoute()
|
defaultInterface, defaultGateway, defaultSubnet, err := routingConf.DefaultRoute()
|
||||||
fatalOnError(err)
|
fatalOnError(err)
|
||||||
|
|
||||||
@@ -216,7 +209,7 @@ func _main(background context.Context, args []string) int {
|
|||||||
unboundDone := make(chan struct{})
|
unboundDone := make(chan struct{})
|
||||||
serverDone := make(chan struct{})
|
serverDone := make(chan struct{})
|
||||||
|
|
||||||
openvpnLooper := openvpn.NewLooper(ovpnConf, allSettings.OpenVPN, logger, streamMerger, fatalOnError)
|
openvpnLooper := openvpn.NewLooper(ovpnConf, allSettings.OpenVPN, logger, streamMerger, fatalOnError, allSettings.System.UID, allSettings.System.GID)
|
||||||
// wait for restartOpenvpn
|
// wait for restartOpenvpn
|
||||||
go openvpnLooper.Run(ctx, restartOpenvpn, openvpnDone)
|
go openvpnLooper.Run(ctx, restartOpenvpn, openvpnDone)
|
||||||
|
|
||||||
|
|||||||
@@ -21,10 +21,12 @@ type looper struct {
|
|||||||
logger logging.Logger
|
logger logging.Logger
|
||||||
streamMerger command.StreamMerger
|
streamMerger command.StreamMerger
|
||||||
fatalOnError func(err error)
|
fatalOnError func(err error)
|
||||||
|
uid int
|
||||||
|
gid int
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewLooper(conf Configurator, settings settings.OpenVPN, logger logging.Logger,
|
func NewLooper(conf Configurator, settings settings.OpenVPN, logger logging.Logger,
|
||||||
streamMerger command.StreamMerger, fatalOnError func(err error)) Looper {
|
streamMerger command.StreamMerger, fatalOnError func(err error), uid, gid int) Looper {
|
||||||
return &looper{
|
return &looper{
|
||||||
conf: conf,
|
conf: conf,
|
||||||
settings: settings,
|
settings: settings,
|
||||||
@@ -43,6 +45,13 @@ func (l *looper) Run(ctx context.Context, restart <-chan struct{}, done chan<- s
|
|||||||
}
|
}
|
||||||
for {
|
for {
|
||||||
openvpnCtx, openvpnCancel := context.WithCancel(ctx)
|
openvpnCtx, openvpnCancel := context.WithCancel(ctx)
|
||||||
|
err := l.conf.WriteAuthFile(
|
||||||
|
l.settings.User,
|
||||||
|
l.settings.Password,
|
||||||
|
l.uid,
|
||||||
|
l.gid,
|
||||||
|
)
|
||||||
|
l.fatalOnError(err)
|
||||||
stream, waitFn, err := l.conf.Start(openvpnCtx)
|
stream, waitFn, err := l.conf.Start(openvpnCtx)
|
||||||
l.fatalOnError(err)
|
l.fatalOnError(err)
|
||||||
go l.streamMerger.Merge(openvpnCtx, stream,
|
go l.streamMerger.Merge(openvpnCtx, stream,
|
||||||
|
|||||||
Reference in New Issue
Block a user