]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
datamodel: support interface names with dashes docs-develop-inte-3so3h3/deployments/3294
authorVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 19 Feb 2024 09:02:55 +0000 (10:02 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 19 Feb 2024 09:22:23 +0000 (10:22 +0100)
Dashes can't be present in normal identifiers in Lua,
so we switch to a different syntactic sugar for the same thing.

NEWS
manager/knot_resolver_manager/datamodel/templates/macros/network_macros.lua.j2
manager/tests/unit/datamodel/templates/test_network_macros.py

diff --git a/NEWS b/NEWS
index d4ce40fbe7db4c9024997fe8b60561c8c159e93e..fbf4e34858555535305e256a3be591712c248a7a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+Knot Resolver 6.0.7 (2024-0m-dd)
+================================
+
+Bugfixes
+--------
+- fix listening by interface name containing dashes (#900, !1500)
+
+
 Knot Resolver 6.0.6 (2024-02-13)
 ================================
 
index ff78fbd80b2c9e1ccbcb771cdb8fb4a54e1eaea4..79800f7dafe9bec56040c9c69ff64b3890d0fb6c 100644 (file)
@@ -31,7 +31,7 @@ net.listen(
 {%- if interface.addr -%}
 '{{ interface.addr }}',
 {%- elif interface.if_name -%}
-net.{{ interface.if_name }},
+net['{{ interface.if_name }}'],
 {%- endif -%}
 {%- if interface.port -%}
 {{ interface.port }},
index 63fcf3731bc5622543083893909cef677659290b..066463dffdf2afbe084d4338a4f5fcff75de109a 100644 (file)
@@ -26,10 +26,10 @@ def test_network_listen():
     )
 
     intrfc = ListenSchema({"interface": "eth0", "kind": "doh2"})
-    assert tmpl.render(listen=intrfc) == "net.listen(net.eth0,443,{kind='doh2',freebind=false})\n"
+    assert tmpl.render(listen=intrfc) == "net.listen(net['eth0'],443,{kind='doh2',freebind=false})\n"
     intrfc_list = ListenSchema({"interface": [intrfc.interface.to_std()[0], "lo"], "port": 5555, "kind": "doh2"})
     assert (
         tmpl.render(listen=intrfc_list)
-        == "net.listen(net.eth0,5555,{kind='doh2',freebind=false})\n"
-        + "net.listen(net.lo,5555,{kind='doh2',freebind=false})\n"
+        == "net.listen(net['eth0'],5555,{kind='doh2',freebind=false})\n"
+        + "net.listen(net['lo'],5555,{kind='doh2',freebind=false})\n"
     )