Skip to content

Commit d8d9043

Browse files
authored
fix(flashstart): allow bypasses to elude catch all (#1405)
1 parent 0460d22 commit d8d9043

File tree

1 file changed

+1
-17
lines changed

1 file changed

+1
-17
lines changed

packages/ns-flashstart/files/ns-flashstart

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -243,24 +243,7 @@ def __sync_pro_plus_profiles():
243243
dhcp_instances = __fetch_local_dhcp_instances()
244244
ip_set_instances = __fetch_instanced_services('firewall', 'ipset')
245245
redirect_instances = __fetch_instanced_services('firewall', 'redirect')
246-
247246
added_redirects = []
248-
# for each zone, generate bypass redirect rule
249-
for zone in e_uci.get('flashstart', 'global', 'zones', default=[], list=True, dtype=str):
250-
redirect_id = f'ns_flashstart_bypass_{zone}'
251-
if e_uci.get('firewall', redirect_id, default=None) is None:
252-
logging.debug(f'Creating new redirect {redirect_id}')
253-
e_uci.set('firewall', redirect_id, 'redirect')
254-
e_uci.set('firewall', redirect_id, 'ns_flashstart', True)
255-
e_uci.set('firewall', redirect_id, 'ns_tag', ['automated'])
256-
e_uci.set('firewall', redirect_id, 'name', f'Flashstart-bypass-DNS-from-{zone}')
257-
e_uci.set('firewall', redirect_id, 'src', zone)
258-
e_uci.set('firewall', redirect_id, 'src_dport', 53)
259-
e_uci.set('firewall', redirect_id, 'dest_port', 53)
260-
e_uci.set('firewall', redirect_id, 'proto', "tcp udp")
261-
e_uci.set('firewall', redirect_id, 'target', 'DNAT')
262-
e_uci.set('firewall', redirect_id, 'ipset', f'flashstart-bypass')
263-
added_redirects.append(redirect_id)
264247

265248
# fetch config
266249
config = __fetch_config()
@@ -305,6 +288,7 @@ def __sync_pro_plus_profiles():
305288
e_uci.set('firewall', redirect_id, 'target', 'DNAT')
306289
if profile['catch-all']:
307290
e_uci.set('firewall', redirect_id, 'name', f'Flashstart-catch-all-{zone}-{profile["id"]}')
291+
e_uci.set('firewall', redirect_id, 'ipset', f'!flashstart-bypass')
308292
else:
309293
e_uci.set('firewall', redirect_id, 'name', f'Flashstart-intercept-DNS-from-{zone}-{profile["id"]}')
310294
e_uci.set('firewall', redirect_id, 'ipset', f'flashstart-ipset-{profile["id"]}')

0 commit comments

Comments
 (0)