static bool loadConfigurationFromFile(const std::string& configurationFile, bool isClient, bool configCheck)
{
if (boost::ends_with(configurationFile, ".yml")) {
+ // the bindings are always needed, for example for inline Lua
+ dnsdist::lua::setupLuaBindingsOnly(*(g_lua.lock()), isClient, configCheck);
+
if (auto tentativeLuaConfFile = lookForTentativeConfigurationFileWithExtension(configurationFile, "lua")) {
vinfolog("Loading configuration from auto-discovered Lua file %s", *tentativeLuaConfFile);
- dnsdist::lua::setupLuaBindingsOnly(*(g_lua.lock()), isClient, configCheck);
dnsdist::configuration::lua::loadLuaConfigurationFile(*(g_lua.lock()), *tentativeLuaConfFile, configCheck);
}
vinfolog("Loading configuration from YAML file %s", configurationFile);
if not cls._yaml_config_template:
confFile = luaConfFile
- with open(luaConfFile, 'w') as conf:
+ if len(cls._config_template.strip(' \n\t')) > 0:
+ with open(luaConfFile, 'w') as conf:
conf.write("-- Autogenerated by dnsdisttests.py\n")
conf.write(f"-- dnsdist will listen on {cls._dnsDistPort}\n")
conf.write(cls._config_template % params)
if not cls._yaml_config_template:
- conf.write("\n")
- conf.write("setSecurityPollSuffix('')")
+ conf.write("\n")
+ conf.write("setSecurityPollSuffix('')")
+ elif os.path.exists(luaConfFile):
+ os.unlink(luaConfFile)
if cls._skipListeningOnCL:
dnsdistcmd = [os.environ['DNSDISTBIN'], '--supervised', '-C', confFile ]