From d7f07fcc3a11a1b032362e22c40e1247383fc50d Mon Sep 17 00:00:00 2001 From: cyBerta <cyberta@riseup.net> Date: Mon, 19 Aug 2024 10:55:05 +0200 Subject: [PATCH] remove code duplication when starting to listen on openvpn UDP connections --- client/client.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client/client.go b/client/client.go index e8f7813..1a3ef1a 100644 --- a/client/client.go +++ b/client/client.go @@ -186,14 +186,9 @@ func (c *Client) Start() (bool, error) { c.updateState(running) - proxyAddr, err := net.ResolveUDPAddr("udp", c.ProxyAddr) - if err != nil { - return false, fmt.Errorf("cannot resolve UDP addr: %w", err) - } - - c.openvpnConn, err = net.ListenUDP("udp", proxyAddr) + c.openvpnConn, err = c.createOpenvpnConnection() if err != nil { - return false, fmt.Errorf("error accepting udp connection: %w", err) + return false, err } if c.hopEnabled { @@ -466,7 +461,12 @@ func (c *Client) createOpenvpnConnection() (*net.UDPConn, error) { return nil, err } - return net.ListenUDP("udp", proxyAddr) + udpConn, err := net.ListenUDP("udp", proxyAddr) + if err != nil { + c.error("error accepting udp connection: %v", err) + return nil, fmt.Errorf("error accepting udp connection: %w", err) + } + return udpConn, nil } func (c *Client) Stop() (bool, error) { -- GitLab