diff --git a/.gitignore b/.gitignore index ba8b4afca..04a7d1eac 100755 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ __pycache__ snap/.snapcraft tcp-proxy/tcp-proxy rustybits/target +ext/installfiles/windows/*.back*.aip diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index 43b3223f5..3066eb788 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -1,8 +1,5 @@ - - - - + @@ -33,16 +30,18 @@ - + - - - + + + + + @@ -51,6 +50,7 @@ + @@ -112,6 +112,10 @@ + + + + @@ -147,6 +151,7 @@ + @@ -156,6 +161,7 @@ + @@ -254,6 +260,7 @@ + @@ -261,6 +268,7 @@ + @@ -282,6 +290,7 @@ + @@ -359,15 +368,6 @@ - - - - - - - - - @@ -379,6 +379,17 @@ + + + + + + + + + + + @@ -392,11 +403,12 @@ - - + + + @@ -458,6 +470,10 @@ + + + + @@ -468,6 +484,7 @@ + diff --git a/service/OneService.cpp b/service/OneService.cpp index 386b3c577..f2895dda1 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -2847,7 +2847,17 @@ class OneServiceImpl : public OneService { } _node->bondController()->addCustomLink(customPolicyStr, new Link(linkNameStr, ipvPref, mtu, capacity, enabled, linkMode, failoverToStr)); } - std::string linkSelectMethodStr(OSUtils::jsonString(customPolicy["activeReselect"], "always")); + // Check for new field name first, fall back to legacy field name for backward compatibility + std::string linkSelectMethodStr; + if (customPolicy.contains("linkSelectMethod")) { + linkSelectMethodStr = OSUtils::jsonString(customPolicy["linkSelectMethod"], "always"); + } else { + linkSelectMethodStr = OSUtils::jsonString(customPolicy["activeReselect"], "always"); + if (customPolicy.contains("activeReselect")) { + fprintf(stderr, "warning: 'activeReselect' is deprecated, please use 'linkSelectMethod' instead in policy '%s'\n", customPolicyStr.c_str()); + } + } + if (linkSelectMethodStr == "always") { newTemplateBond->setLinkSelectMethod(ZT_BOND_RESELECTION_POLICY_ALWAYS); }