diff --git a/plinth/modules/wireguard/utils.py b/plinth/modules/wireguard/utils.py index ecb97581f..c7915bac3 100644 --- a/plinth/modules/wireguard/utils.py +++ b/plinth/modules/wireguard/utils.py @@ -40,7 +40,6 @@ def get_nm_info(): info['listen_port'] = settings.get_listen_port() info['fwmark'] = settings.get_fwmark() info['mtu'] = settings.get_mtu() - info['default_route'] = settings.get_ip4_auto_default_route() info['peers'] = {} for peer_index in range(settings.get_peers_len()): peer = settings.get_peer(peer_index) @@ -57,6 +56,13 @@ def get_nm_info(): info['peers'][peer_info['public_key']] = peer_info + # This is default route when all IPs are in allowed IPs list. + info['default_route'] = False + for peer_info in info['peers'].values(): + if ('0.0.0.0/0' in peer_info['allowed_ips'] + and '::/0' in peer_info['allowed_ips']): + info['default_route'] = True + settings_ipv4 = connection.get_setting_ip4_config() if settings_ipv4 and settings_ipv4.get_num_addresses(): info['ip_address'] = settings_ipv4.get_address(0).get_address()