mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-25 00:24:37 +08:00
Merge pull request #1372 from gravitl/hotfix_v0.14.5_listen_port
update logic for determing when to check for free port
This commit is contained in:
commit
31073b7380
7 changed files with 23 additions and 27 deletions
10
.github/workflows/buildandrelease.yml
vendored
10
.github/workflows/buildandrelease.yml
vendored
|
@ -325,11 +325,11 @@ jobs:
|
|||
- name: Build
|
||||
run: |
|
||||
cd netclient
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags="-X 'main.Version=${NETMAKER_VERSION}'" -o build/netclient-freebsd/netclient main.go
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=5 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm5/netclient main.go
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=6 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm6/netclient main.go
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=7 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm7/netclient main.go
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm64/netclient main.go
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd/netclient .
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=5 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm5/netclient .
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=6 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm6/netclient .
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=7 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm7/netclient .
|
||||
env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm64/netclient .
|
||||
|
||||
- name: Upload freebsd to Release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
|
|
12
.github/workflows/pr-approval.yml
vendored
12
.github/workflows/pr-approval.yml
vendored
|
@ -1,12 +0,0 @@
|
|||
name: Manual PR Testing
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: trstringer/manual-approval@v1
|
||||
with:
|
||||
secret: ${{ secrets.DEVOPS_API_TOKEN }}
|
||||
approvers: theguy951357,afeiszli,mattkasun,0xdcarns
|
||||
minimum-approvals: 1
|
|
@ -23,7 +23,7 @@ func GetLocalListenPort(ifacename string) (int32, error) {
|
|||
defer client.Close()
|
||||
device, err := client.Device(ifacename)
|
||||
if err != nil {
|
||||
logger.Log(0, "failed to parse interface")
|
||||
logger.Log(0, "failed to parse interface", ifacename)
|
||||
return 0, err
|
||||
}
|
||||
return int32(device.ListenPort), nil
|
||||
|
@ -35,7 +35,7 @@ func UpdateLocalListenPort(nodeCfg *config.ClientConfig) error {
|
|||
ifacename := getRealIface(nodeCfg.Node.Interface, nodeCfg.Node.Address)
|
||||
localPort, err := GetLocalListenPort(ifacename)
|
||||
if err != nil {
|
||||
logger.Log(1, "error encountered checking local listen port: ", err.Error())
|
||||
logger.Log(1, "error encountered checking local listen port: ", ifacename, err.Error())
|
||||
} else if nodeCfg.Node.LocalListenPort != localPort && localPort != 0 {
|
||||
logger.Log(1, "local port has changed from ", strconv.Itoa(int(nodeCfg.Node.LocalListenPort)), " to ", strconv.Itoa(int(localPort)))
|
||||
nodeCfg.Node.LocalListenPort = localPort
|
||||
|
|
|
@ -34,7 +34,7 @@ func UpdateLocalListenPort(nodeCfg *config.ClientConfig) error {
|
|||
var err error
|
||||
localPort, err := GetLocalListenPort(nodeCfg.Node.Interface)
|
||||
if err != nil {
|
||||
logger.Log(1, "error encountered checking local listen port: ", err.Error())
|
||||
logger.Log(1, "error encountered checking local listen port for interface : ",nodeCfg.Node.Interface err.Error())
|
||||
} else if nodeCfg.Node.LocalListenPort != localPort && localPort != 0 {
|
||||
logger.Log(1, "local port has changed from ", strconv.Itoa(int(nodeCfg.Node.LocalListenPort)), " to ", strconv.Itoa(int(localPort)))
|
||||
nodeCfg.Node.LocalListenPort = localPort
|
||||
|
|
|
@ -106,12 +106,17 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
|
|||
file := ncutils.GetNetclientPathSpecific() + nodeCfg.Node.Interface + ".conf"
|
||||
|
||||
if ifaceDelta { // if a change caused an ifacedelta we need to notify the server to update the peers
|
||||
err = ncutils.ModPort(&newNode)
|
||||
if err != nil {
|
||||
logger.Log(0, "error modifying node port on", newNode.Name, "-", err.Error())
|
||||
return
|
||||
if newNode.ListenPort != nodeCfg.Node.LocalListenPort {
|
||||
if err := wireguard.RemoveConf(newNode.Interface, false); err != nil {
|
||||
logger.Log(0, "error remove interface", newNode.Interface, err.Error())
|
||||
}
|
||||
err = ncutils.ModPort(&newNode)
|
||||
if err != nil {
|
||||
logger.Log(0, "error modifying node port on", newNode.Name, "-", err.Error())
|
||||
return
|
||||
}
|
||||
informPortChange(&newNode)
|
||||
}
|
||||
informPortChange(&newNode)
|
||||
if err := wireguard.UpdateWgInterface(file, privateKey, nameserver, newNode); err != nil {
|
||||
logger.Log(0, "error updating wireguard config "+err.Error())
|
||||
return
|
||||
|
|
|
@ -62,7 +62,10 @@ func Pull(network string, iface bool) (*models.Node, error) {
|
|||
logger.Log(0, "unable to update server config: "+err.Error())
|
||||
}
|
||||
}
|
||||
if nodeGET.Node.ListenPort != cfg.Node.ListenPort {
|
||||
if nodeGET.Node.ListenPort != cfg.Node.LocalListenPort {
|
||||
if err := wireguard.RemoveConf(resNode.Interface, false); err != nil {
|
||||
logger.Log(0, "error remove interface", resNode.Interface, err.Error())
|
||||
}
|
||||
err = ncutils.ModPort(&resNode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -548,7 +548,7 @@ func GetDevicePeers(iface string) ([]wgtypes.Peer, error) {
|
|||
defer client.Close()
|
||||
device, err := client.Device(iface)
|
||||
if err != nil {
|
||||
logger.Log(0, "failed to parse interface")
|
||||
logger.Log(0, "failed to parse interface", iface)
|
||||
return nil, err
|
||||
}
|
||||
return device.Peers, nil
|
||||
|
|
Loading…
Reference in a new issue