diff options
-rw-r--r-- | net/dns.lua | 2 | ||||
-rwxr-xr-x | prosodyctl | 3 | ||||
-rw-r--r-- | util-src/signal.c | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/net/dns.lua b/net/dns.lua index fa570af1..e6749025 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -397,7 +397,7 @@ function resolver:AAAA(rr) end addr = table.concat(addr, ":"):gsub("%f[%x]0+(%x)","%1"); local zeros = {}; - for item in addr:gmatch(":[0:]+:") do + for item in addr:gmatch(":[0:]+:[0:]+:") do table.insert(zeros, item) end if #zeros == 0 then @@ -945,6 +945,9 @@ function commands.cert(arg) if pposix.getuid() ~= cert_dir_attrs.uid then show_warning("The directory "..cert_basedir.." is not owned by the current user, won't be able to write files to it"); return 1; + elseif not cert_dir_attrs.permissions then -- COMPAT with LuaFilesystem < 1.6.2 (hey CentOS!) + show_message("Unable to check permissions on "..cert_basedir.." (LuaFilesystem 1.6.2+ required)"); + show_message("Please confirm that Prosody (and only Prosody) can write to this directory)"); elseif cert_dir_attrs.permissions:match("^%.w..%-..%-.$") then show_warning("The directory "..cert_basedir.." not only writable by its owner"); return 1; diff --git a/util-src/signal.c b/util-src/signal.c index b94beffa..9e6f6f63 100644 --- a/util-src/signal.c +++ b/util-src/signal.c @@ -172,7 +172,7 @@ static void sighook(lua_State *L, lua_Debug *ar) { lua_pushstring(L, LUA_SIGNAL); lua_gettable(L, LUA_REGISTRYINDEX); - for(int i = 1; i <= nsig; i--) { + for(int i = 0; i < nsig; i++) { lua_pushnumber(L, signals[i]); lua_gettable(L, -2); lua_call(L, 0, 0); @@ -196,7 +196,7 @@ static void handle(int sig) { } if(nsig < MAX_PENDING_SIGNALS) { - signals[++nsig] = sig; + signals[nsig++] = sig; } } |