summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-18 18:40:53 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-18 21:35:28 +0200
commitf07f46d36e17ea07b0db65e3856cc090033d9e78 (patch)
tree0c98755d9466a3079edc1e7880bf9192c69a1b59 /src
parentb81a37d19abfac0dbc1f49860dbe75a4f8caed61 (diff)
downloadvyos-1x-f07f46d36e17ea07b0db65e3856cc090033d9e78.tar.gz
vyos-1x-f07f46d36e17ea07b0db65e3856cc090033d9e78.zip
ipoe-server: T2324: migrate RADIUS configuration to common CLI syntax
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/service_ipoe-server.py6
-rwxr-xr-xsrc/migration-scripts/ipoe-server/0-to-123
2 files changed, 26 insertions, 3 deletions
diff --git a/src/conf_mode/service_ipoe-server.py b/src/conf_mode/service_ipoe-server.py
index 25c33cc6d..958fbd561 100755
--- a/src/conf_mode/service_ipoe-server.py
+++ b/src/conf_mode/service_ipoe-server.py
@@ -137,7 +137,7 @@ def get_config():
#
# authentication mode radius servers and settings
if conf.exists(['authentication', 'mode', 'radius']):
- for server in conf.list_nodes(['authentication', 'radius-server']):
+ for server in conf.list_nodes(['authentication', 'radius', 'server']):
radius = {
'server' : server,
'key' : '',
@@ -145,7 +145,7 @@ def get_config():
'port' : '1812'
}
- conf.set_level(base_path + ['authentication', 'radius-server', server])
+ conf.set_level(base_path + ['authentication', 'radius', 'server', server])
if conf.exists(['fail-time']):
radius['fail-time'] = conf.return_value(['fail-time'])
@@ -161,7 +161,7 @@ def get_config():
#
# advanced radius-setting
- conf.set_level(base_path + ['authentication', 'radius-settings'])
+ conf.set_level(base_path + ['authentication', 'radius'])
if conf.exists(['acct-timeout']):
ipoe['radius_acct_tmo'] = conf.return_value(['acct-timeout'])
diff --git a/src/migration-scripts/ipoe-server/0-to-1 b/src/migration-scripts/ipoe-server/0-to-1
index 94addcbdb..c04a7fb19 100755
--- a/src/migration-scripts/ipoe-server/0-to-1
+++ b/src/migration-scripts/ipoe-server/0-to-1
@@ -15,6 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# - remove primary/secondary identifier from nameserver
+# - Unifi RADIUS configuration by placing it all under "authentication radius" node
import os
import sys
@@ -58,6 +59,28 @@ else:
config.delete(dns_base)
+ # Migrate radius-settings node to RADIUS and use this as base for the
+ # later migration of the RADIUS servers - this will save a lot of code
+ radius_settings = base + ['authentication', 'radius-settings']
+ if config.exists(radius_settings):
+ config.rename(radius_settings, 'radius')
+
+ # Migrate RADIUS server
+ radius_server = base + ['authentication', 'radius-server']
+ if config.exists(radius_server):
+ new_base = base + ['authentication', 'radius', 'server']
+ config.set(new_base)
+ config.set_tag(new_base)
+ for server in config.list_nodes(radius_server):
+ old_base = radius_server + [server]
+ config.copy(old_base, new_base + [server])
+
+ # remove old req-limit node
+ if config.exists(new_base + [server, 'req-limit']):
+ config.delete(new_base + [server, 'req-limit'])
+
+ config.delete(radius_server)
+
try:
with open(file_name, 'w') as f:
f.write(config.to_string())