Changeset

5621:63cfd59999b6

certmanager: Disable SSL compression if possible (LuaSec 0.5 or 0.4.1+OpenSSL 1.x)
author Matthew Wild <mwild1@gmail.com>
date Wed, 22 May 2013 14:32:02 +0100
parents 5598:3bb8aefd8ce0
children 5622:8bd1548a48b1 5628:ba5c2f6b799e
files core/certmanager.lua
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/core/certmanager.lua	Sat May 18 13:19:31 2013 +0200
+++ b/core/certmanager.lua	Wed May 22 14:32:02 2013 +0100
@@ -17,11 +17,12 @@
 local resolve_path = configmanager.resolve_relative_path;
 local config_path = prosody.paths.config;
 
-local luasec_has_noticket, luasec_has_verifyext;
+local luasec_has_noticket, luasec_has_verifyext, luasec_has_no_compression;
 if ssl then
 	local luasec_major, luasec_minor = ssl._VERSION:match("^(%d+)%.(%d+)");
 	luasec_has_noticket = tonumber(luasec_major)>0 or tonumber(luasec_minor)>=4;
 	luasec_has_verifyext = tonumber(luasec_major)>0 or tonumber(luasec_minor)>=5;
+	luasec_has_no_compression = tonumber(luasec_major)>0 or tonumber(luasec_minor)>=5;
 end
 
 module "certmanager"
@@ -39,6 +40,9 @@
 		default_verify[#default_verify+1] = default_verifyext[i]:sub(6);
 	end
 end
+if luasec_has_no_compression and configmanager.get("*", "ssl_compression") ~= true then
+	default_options[#default_options+1] = "no_compression";
+end
 
 function create_context(host, mode, user_ssl_config)
 	user_ssl_config = user_ssl_config or default_ssl_config;