resolver.c.patch   [plain text]


--- /tmp/jabberd-2.1.24.1/resolver/resolver.c	2008-04-27 02:57:39.000000000 -0700
+++ ./jabberd2/resolver/resolver.c	2009-05-26 13:08:16.000000000 -0700
@@ -88,6 +88,8 @@ static void _resolver_config_expand(reso
 
     r->router_pemfile = config_get_one(r->config, "router.pemfile", 0);
 
+    r->router_private_key_password = config_get_one(r->config, "router.private_key_password", 0);
+
     r->retry_init = j_atoi(config_get_one(r->config, "router.retry.init", 0), 3);
     r->retry_lost = j_atoi(config_get_one(r->config, "router.retry.lost", 0), 3);
     if((r->retry_sleep = j_atoi(config_get_one(r->config, "router.retry.sleep", 0), 2)) < 1)
@@ -242,7 +244,7 @@ static int _resolver_sx_callback(sx_t s,
                     if(ns >= 0) {
                         elem = nad_find_elem(nad, 0, ns, "starttls", 1);
                         if(elem >= 0) {
-                            if(sx_ssl_client_starttls(r->sx_ssl, s, NULL) == 0) {
+                            if(sx_ssl_client_starttls(r->sx_ssl, s, NULL, NULL) == 0) {
                                 nad_free(nad);
                                 return 0;
                             }
@@ -598,13 +600,13 @@ JABBER_MAIN("jabberd2resolver", "Jabber 
 
 #ifdef HAVE_SSL
     if(r->router_pemfile != NULL) {
-        r->sx_ssl = sx_env_plugin(r->sx_env, sx_ssl_init, r->router_pemfile, NULL, NULL);
+        r->sx_ssl = sx_env_plugin(r->sx_env, sx_ssl_init, r->router_pemfile, NULL, NULL, r->router_private_key_password);
         if(r->sx_ssl == NULL) {
             log_write(r->log, LOG_ERR, "failed to load SSL pemfile, SSL disabled");
             r->router_pemfile = NULL;
         }
     }
-#endif
+#endif // HAVE_SSL
 
     /* get sasl online */
     r->sx_sasl = sx_env_plugin(r->sx_env, sx_sasl_init, "xmpp", NULL, NULL);