diff options
Diffstat (limited to 'src/migration-scripts/interfaces/2-to-3')
-rw-r--r-- | src/migration-scripts/interfaces/2-to-3 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/migration-scripts/interfaces/2-to-3 b/src/migration-scripts/interfaces/2-to-3 new file mode 100644 index 0000000..695dcbf --- /dev/null +++ b/src/migration-scripts/interfaces/2-to-3 @@ -0,0 +1,40 @@ +# Copyright 2019-2024 VyOS maintainers and contributors <maintainers@vyos.io> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + +# Change syntax of openvpn encryption settings +# - move cipher from encryption to encryption cipher +# https://vyos.dev/T1704 + +from vyos.configtree import ConfigTree + +base = ['interfaces', 'openvpn'] + +def migrate(config: ConfigTree) -> None: + + if not config.exists(base): + # Nothing to do + return + # + # move cipher from "encryption" to "encryption cipher" + # + for intf in config.list_nodes(['interfaces', 'openvpn']): + # Check if encryption is set + if config.exists(['interfaces', 'openvpn', intf, 'encryption']): + # Get cipher used + cipher = config.return_value(['interfaces', 'openvpn', intf, 'encryption']) + # Delete old syntax + config.delete(['interfaces', 'openvpn', intf, 'encryption']) + # Add new syntax to config + config.set(['interfaces', 'openvpn', intf, 'encryption', 'cipher'], value=cipher) |