def read_config(self, *args, **kwargs): try: serialized = self.core.config_manager.get(self.MASTER_KEY) except (ConfigError, KeyError): self.warning('Openvpn not configured, default values loaded.') self.openvpn_cfg = OpenVpnConf() return try: self.openvpn_cfg = OpenVpnConf.deserialize(serialized) except DatastructureIncompatible: self.openvpn_cfg = OpenVpnConf.deserialize(serialized)
def service_setOpenVpnConfig(self, context, serialized, message): if not _acceptclient(context): raise OpenVpnError(OPENVPN_CLIENT_TOO_OLD, tr('Impossible to ' 'configure openvpn with this frontend version; ' 'please upgrade')) openvpn_cfg = OpenVpnConf.deserialize(serialized) is_valid, msg = openvpn_cfg.isValidWithMsg() if is_valid: self.openvpn_cfg = openvpn_cfg self.save_config(message, context=context, action=CONFIG_MODIFICATION) else: raise OpenVpnError(OPENVPN_INVALID_CONFIGURATION, msg)