# HG changeset patch # User Waqas Hussain # Date 1314256156 -18000 # Node ID c69cbac4178f85a038ed4894032247b76e339d16 # Parent 86be454168fbb6cc35cc69eb9baf520cdedf63d7 certmanager: Support setting ciphers in SSL config. LuaSec apparently ignores the documented ciphers option. diff -r 86be454168fb -r c69cbac4178f core/certmanager.lua --- a/core/certmanager.lua Thu Aug 25 12:07:36 2011 +0500 +++ b/core/certmanager.lua Thu Aug 25 12:09:16 2011 +0500 @@ -41,11 +41,19 @@ cafile = resolve_path(config_path, user_ssl_config.cafile); verify = user_ssl_config.verify or default_verify; options = user_ssl_config.options or default_options; - ciphers = user_ssl_config.ciphers; depth = user_ssl_config.depth; }; local ctx, err = ssl_newcontext(ssl_config); + + -- LuaSec ignores the cipher list from the config, so we have to take care + -- of it ourselves (W/A for #x) + if ctx and user_ssl_config.ciphers then + local success; + success, err = ssl.context.setcipher(ctx, user_ssl_config.ciphers); + if not success then ctx = nil; end + end + if not ctx then err = err or "invalid ssl config" local file = err:match("^error loading (.-) %(");