Configparser does some interpolations by default

They interfere with wildcards passed to wireguard, so disabling it.
This commit is contained in:
Erik Thuning 2025-03-04 13:27:09 +01:00
parent 44dad4430c
commit edcabb3160

@ -86,7 +86,7 @@ def generate_user_clientside_config(client_ip: str,
server_port: int,
server_pubkey: str,
fragment_file: Path=None):
config = ConfigParser()
config = ConfigParser(interpolation=None)
config['Interface'] = {
'Address': f'{client_ip}/32',
'PrivateKey': client_privkey
@ -97,7 +97,7 @@ def generate_user_clientside_config(client_ip: str,
'PublicKey': server_pubkey
}
if fragment_file:
fragment = ConfigParser()
fragment = ConfigParser(interpolation=None)
fragment.read(fragment_file)
for section, contents in fragment.items():
for key, value in contents.items():
@ -197,14 +197,14 @@ class WireGuard:
return self.filepath(f'{config_id}{metasuffix}')
def generate_server_config(self):
config = ConfigParser()
config = ConfigParser(interpolation=None)
config['Interface'] = {
'Address': self.server_address,
'ListenPort': self.server_port,
'PrivateKey': self.server_privkey
}
if self.server_config_base:
fragment = ConfigParser()
fragment = ConfigParser(interpolation=None)
fragment.read(self.server_config_base)
for key, value in fragment['Interface'].items():
config['Interface'][key] = value