--- /tmp/jabberd-2.2.14/s2s/router.c 2011-05-31 15:11:37.000000000 -0700 +++ ./jabberd2/s2s/router.c 2011-06-22 20:13:00.000000000 -0700 @@ -145,7 +145,7 @@ int s2s_router_sx_callback(sx_t s, sx_ev if(ns >= 0) { elem = nad_find_elem(nad, 0, ns, "starttls", 1); if(elem >= 0) { - if(sx_ssl_client_starttls(s2s->sx_ssl, s, s2s->router_pemfile) == 0) { + if(sx_ssl_client_starttls(s2s->sx_ssl, s, s2s->router_pemfile, s2s->router_private_key_password) == 0) { nad_free(nad); return 0; } @@ -281,6 +281,7 @@ int s2s_router_sx_callback(sx_t s, sx_ev case event_CLOSED: mio_close(s2s->mio, s2s->fd); + s2s->fd = NULL; return -1; }