Fix handling default settings

If a setting has ben set to empty string, dict.get will return it and
not default argument. This is wrong when default is something else.
This commit is contained in:
Timotej Lazar 2024-04-30 09:38:14 +02:00
parent f8d71b7b06
commit cac7658566
2 changed files with 5 additions and 5 deletions

View file

@ -90,7 +90,7 @@ def save_config():
# config files, then increment version before unlocking.
with db.locked():
settings = db.read('settings')
version = settings['version'] = int(settings.get('version', 0)) + 1
version = settings['version'] = int(settings.get('version') or '0') + 1
# Populate IP sets.
ipsets = collections.defaultdict(set)
@ -155,7 +155,7 @@ def save_config():
# Print wireguard config.
with open(output / 'etc/wireguard/wg.conf', 'w', encoding='utf-8') as f:
f.write(wg_intf.format(
port=settings.get('wg_port', 51820),
port=settings.get('wg_port') or 51820,
key=settings.get('wg_key')))
for ip, data in wireguard.items():
f.write(wg_peer.format(