aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2015-11-17 17:12:45 +0000
committerMatthew Wild <mwild1@gmail.com>2015-11-17 17:12:45 +0000
commitdc786b603f38d2ed33ec00133689fdd27aae3db5 (patch)
tree2dbe4eb578cb9b2bdffa5f395573b3f6d3a6ea39
parentdd417c0f4a850be9280c2589f0a582aa0d7d566d (diff)
parenta799177379bbe294f1bb5fe1b8b800e2cee72738 (diff)
downloadprosody-dc786b603f38d2ed33ec00133689fdd27aae3db5.tar.gz
prosody-dc786b603f38d2ed33ec00133689fdd27aae3db5.zip
Merge 0.10->trunk
-rw-r--r--certs/openssl.cnf14
-rw-r--r--plugins/muc/muc.lib.lua2
-rwxr-xr-xprosody4
3 files changed, 14 insertions, 6 deletions
diff --git a/certs/openssl.cnf b/certs/openssl.cnf
index 091409c4..ee17b1cf 100644
--- a/certs/openssl.cnf
+++ b/certs/openssl.cnf
@@ -13,8 +13,8 @@ SRVName = 1.3.6.1.5.5.7.8.7
default_bits = 4096
default_keyfile = example.com.key
distinguished_name = distinguished_name
-req_extensions = v3_extensions
-x509_extensions = v3_extensions
+req_extensions = certrequest
+x509_extensions = selfsigned
# ask about the DN?
prompt = no
@@ -28,16 +28,22 @@ organizationName = Your Organisation
organizationalUnitName = XMPP Department
emailAddress = xmpp@example.com
-[ v3_extensions ]
+[ certrequest ]
# for certificate requests (req_extensions)
-# and self-signed certificates (x509_extensions)
basicConstraints = CA:FALSE
keyUsage = digitalSignature,keyEncipherment
extendedKeyUsage = serverAuth,clientAuth
subjectAltName = @subject_alternative_name
+[ selfsigned ]
+
+# and self-signed certificates (x509_extensions)
+
+basicConstraints = CA:TRUE
+subjectAltName = @subject_alternative_name
+
[ subject_alternative_name ]
# See http://tools.ietf.org/html/rfc6120#section-13.7.1.2 for more info.
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 7db463e5..b2f89972 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -546,7 +546,7 @@ function room_mt:handle_iq_to_occupant(origin, stanza)
if (type == "error" or type == "result") then
do -- deconstruct_stanza_id
if not occupant then return nil; end
- local from_jid, id, to_jid_hash = (base64.decode(stanza.attr.id) or ""):match("^(.+)%z(.*)%z(.+)$");
+ local from_jid, id, to_jid_hash = (base64.decode(stanza.attr.id) or ""):match("^(%Z+)%z(%Z*)%z(.+)$");
if not(from == from_jid or from == jid_bare(from_jid)) then return nil; end
local from_occupant_jid = self:get_occupant_jid(from_jid);
if from_occupant_jid == nil then return nil; end
diff --git a/prosody b/prosody
index 61be6c2e..47998583 100755
--- a/prosody
+++ b/prosody
@@ -372,8 +372,10 @@ function loop()
prosody.events.fire_event("very-bad-error", {error = err, traceback = traceback});
end
+ local sleep = require"socket".sleep;
+
while select(2, xpcall(server.loop, catch_uncaught_error)) ~= "quitting" do
- socket.sleep(0.2);
+ sleep(0.2);
end
end