[dovecot-cvs] dovecot/src/login-common ssl-proxy-openssl.c,1.14,1.15

cras at procontrol.fi cras at procontrol.fi
Tue May 20 22:22:06 EEST 2003


Update of /home/cvs/dovecot/src/login-common
In directory danu:/tmp/cvs-serv18674

Modified Files:
	ssl-proxy-openssl.c 
Log Message:
Generate temporary RSA key when requested. Could be slow, should do some
caching in master process side..



Index: ssl-proxy-openssl.c
===================================================================
RCS file: /home/cvs/dovecot/src/login-common/ssl-proxy-openssl.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- ssl-proxy-openssl.c	19 May 2003 09:57:02 -0000	1.14
+++ ssl-proxy-openssl.c	20 May 2003 18:22:04 -0000	1.15
@@ -392,6 +392,12 @@
 	}
 }
 
+static RSA *ssl_gen_rsa_key(SSL *ssl __attr_unused__,
+			    int is_export __attr_unused__, int keylength)
+{
+	return RSA_generate_key(keylength, RSA_F4, NULL, NULL);
+}
+
 void ssl_proxy_init(void)
 {
 	const char *certfile, *keyfile, *paramfile;
@@ -423,6 +429,9 @@
 		i_fatal("Can't load private key file %s: %s",
 			keyfile, ssl_last_error());
 	}
+
+	if (SSL_CTX_need_tmp_RSA(ssl_ctx))
+		SSL_CTX_set_tmp_rsa_callback(ssl_ctx, ssl_gen_rsa_key);
 
         ssl_proxies = hash_create(default_pool, default_pool, 0, NULL, NULL);
 	ssl_initialized = TRUE;



More information about the dovecot-cvs mailing list