From 0851470da34275f60ff5c0eacf8ff53193d77500 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 5 Mar 2010 14:49:56 +0000 Subject: certmanager: Fix nil global access (thanks Marc) --- core/certmanager.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/certmanager.lua b/core/certmanager.lua index c2db63fe..7b7d95e4 100644 --- a/core/certmanager.lua +++ b/core/certmanager.lua @@ -3,7 +3,7 @@ local log = require "util.logger".init("certmanager"); local ssl = ssl; local ssl_newcontext = ssl and ssl.newcontext; -local setmetatable = setmetatable; +local setmetatable, tostring = setmetatable, tostring; local prosody = prosody; -- cgit v1.2.3 From 1967ba02a55f3b3d326020b27c73fcab78e0262d Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 5 Mar 2010 15:00:11 +0000 Subject: certmanager: Friendlier error reporting on OpenWRT and other cases where we don't understand the OpenSSL error --- core/certmanager.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/certmanager.lua b/core/certmanager.lua index 7b7d95e4..fa920b91 100644 --- a/core/certmanager.lua +++ b/core/certmanager.lua @@ -39,8 +39,10 @@ function create_context(host, mode, config) reason = "Check that the path is correct, and the file exists."; elseif reason == "system lib" then reason = "Previous error (see logs), or other system error."; + elseif reason == "(null)" or not reason then + reason = "Check that the file exists and the permissions are correct"; else - reason = "Reason: "..tostring(reason or "unknown"):lower(); + reason = "Reason: "..tostring(reason):lower(); end log("error", "SSL/TLS: Failed to load %s: %s", file, reason); else -- cgit v1.2.3 From c071b4638d4a78d9c7e76ae973553e04cb5e22b6 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 5 Mar 2010 16:45:46 +0000 Subject: net.server_select: Fix for traceback when a read returns an error and no data (thanks dersd) --- net/server_select.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/server_select.lua b/net/server_select.lua index c4a1f19a..49cbe25d 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -430,7 +430,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport end local _readbuffer = function( ) -- this function reads data local buffer, err, part = receive( socket, pattern ) -- receive buffer with "pattern" - if not err or (err == "wantread" or err == "timeout") or string_len(part) > 0 then -- received something + if not err or (err == "wantread" or err == "timeout") or (part and string_len(part) > 0) then -- received something local buffer = buffer or part or "" local len = string_len( buffer ) if len > maxreadlen then -- cgit v1.2.3 From 322f02b17fac1dc673a1250ddbc4a954dec98696 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 5 Mar 2010 18:15:08 +0000 Subject: net.dns: More reliable parsing of resolv.conf - allow multiple nameserver IPs on one line (thanks dersd) --- net/dns.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/net/dns.lua b/net/dns.lua index ca5f3c62..7d1cba8e 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -538,8 +538,13 @@ function resolver:adddefaultnameservers() -- - - - - adddefaultnameservers local resolv_conf = io.open("/etc/resolv.conf"); if resolv_conf then for line in resolv_conf:lines() do - local address = line:gsub("#.*$", ""):match('^%s*nameserver%s+(%d+%.%d+%.%d+%.%d+)%s*$'); - if address then self:addnameserver(address) end + line = line:gsub("#.*$", "") + :match('^%s*nameserver%s+(.*)%s*$'); + if line then + line:gsub("%f[%d.](%d+%.%d+%.%d+%.%d+)%f[^%d.]", function (address) + self:addnameserver(address) + end); + end end end if not self.server or #self.server == 0 then -- cgit v1.2.3 From a201db970b44ac05204b19aa1c3fa973ea6e2e2a Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 5 Mar 2010 18:33:28 +0000 Subject: net.dns: Trailing whitespace --- net/dns.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/dns.lua b/net/dns.lua index 7d1cba8e..8855cc61 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -532,7 +532,7 @@ function resolver:adddefaultnameservers() -- - - - - adddefaultnameservers if not self.server or #self.server == 0 then -- TODO log warning about no nameservers, adding opendns servers as fallback self:addnameserver("208.67.222.222"); - self:addnameserver("208.67.220.220") ; + self:addnameserver("208.67.220.220"); end else -- posix local resolv_conf = io.open("/etc/resolv.conf"); @@ -801,7 +801,7 @@ function resolver:feed(sock, packet) set(self.wanted, q.class, q.type, q.name, nil); end end - end + end return response; end -- cgit v1.2.3