To avoid configuration errors, throw a lua error and crash
if it's not possible to bind as specified in net.listen().
For special use-cases, freebind=true should be used instead.
/* Now focus on the first argument. */
lua_settop(L, 1);
- const bool res = net_listen_addrs(L, port, tls, kind, freebind);
- lua_pushboolean(L, res);
+ if (!net_listen_addrs(L, port, tls, kind, freebind))
+ lua_error_p(L, "net.listen() failed to bind");
+ lua_pushboolean(L, true);
return 1;
}
This section summarizes steps required for upgrade to newer Knot Resolver versions.
We advise users to also read :ref:`release_notes` for respective versions.
+4.x to 5.x
+==========
+
+Configuration file
+------------------
+
+* ``net.listen()`` throws an error if it fails to bind. Use ``freebind=true`` option
+ to bind to nonlocal addresses.
+
4.2.2 to 4.3+
=============