diff -urp ircii-pana-1.1.backup/include/vars.h ircii-pana-1.1/include/vars.h --- ircii-pana-1.1.backup/include/vars.h 2004-11-03 22:37:55.000000000 -0500 +++ ircii-pana-1.1/include/vars.h 2005-07-27 21:44:07.000000000 -0400 @@ -258,6 +258,7 @@ enum VAR_TYPES { SHOW_WHO_HOPCOUNT_VAR, SOCKS_HOST_VAR, SOCKS_PORT_VAR, + SSL_CERTIFICATES_VAR, STATUS_AWAY_VAR, STATUS_CDCCCOUNT_VAR, STATUS_CHANNEL_VAR, diff -urp ircii-pana-1.1.backup/source/server.c ircii-pana-1.1/source/server.c --- ircii-pana-1.1.backup/source/server.c 2004-11-03 22:37:55.000000000 -0500 +++ ircii-pana-1.1/source/server.c 2005-07-27 21:58:45.000000000 -0400 @@ -1309,6 +1309,8 @@ int finalize_server_connect(int refnum, if(!server_list[refnum].ctx) { + const char *certificates; + if (get_server_ssl (refnum) == 2) server_list[refnum].ctx = SSL_CTX_new (SSLv2_client_method()); else if (get_server_ssl (refnum) == 3) @@ -1316,6 +1318,15 @@ int finalize_server_connect(int refnum, else server_list[refnum].ctx = SSL_CTX_new (SSLv23_client_method()); CHK_NULL(server_list[refnum].ctx); + certificates = get_string_var(SSL_CERTIFICATES_VAR); + if (certificates) + { + SSL_CTX_use_certificate_chain_file(server_list[refnum].ctx, + certificates); + SSL_CTX_use_PrivateKey_file(server_list[refnum].ctx, + certificates, + SSL_FILETYPE_PEM); + } server_list[refnum].ssl_fd = SSL_new (server_list[refnum].ctx); CHK_NULL(server_list[refnum].ssl_fd); SSL_set_fd (server_list[refnum].ssl_fd, server_list[refnum].read); diff -urp ircii-pana-1.1.backup/source/vars.c ircii-pana-1.1/source/vars.c --- ircii-pana-1.1.backup/source/vars.c 2004-11-03 22:37:55.000000000 -0500 +++ ircii-pana-1.1/source/vars.c 2005-07-27 21:55:15.000000000 -0400 @@ -374,6 +374,7 @@ static IrcVariable irc_variable[] = { "SHOW_WHO_HOPCOUNT",0, BOOL_TYPE_VAR, DEFAULT_SHOW_WHO_HOPCOUNT, NULL, NULL, 0, 0 }, { "SOCKS_HOST",0, STR_TYPE_VAR, 0, NULL, set_use_socks, 0, VIF_BITCHX }, { "SOCKS_PORT",0, INT_TYPE_VAR, DEFAULT_SOCKS_PORT, NULL, NULL, 0, VIF_BITCHX }, + { "SSL_CERTIFICATES",0, STR_TYPE_VAR, 0, NULL, NULL, 0, VIF_BITCHX }, { "STATUS_AWAY",0, STR_TYPE_VAR, 0, NULL, BX_build_status, 0, 0 }, { "STATUS_CDCCCOUNT",0, STR_TYPE_VAR, 0, NULL, BX_build_status, 0, 0 }, { "STATUS_CHANNEL",0, STR_TYPE_VAR, 0, NULL, BX_build_status, 0, 0 },