#include "reject.h"
#include "sslproc.h"
-extern char *crypt();
-
#ifndef INADDR_NONE
#define INADDR_NONE ((unsigned int) 0xffffffff)
#endif
if(ServerConfEncrypted(tmp_p))
{
- if(!strcmp(tmp_p->passwd, crypt(client_p->localClient->passwd,
+ if(!strcmp(tmp_p->passwd, rb_crypt(client_p->localClient->passwd,
tmp_p->passwd)))
{
server_p = tmp_p;
set_chcap_usage_counts(client_p);
rb_dlinkAdd(client_p, &client_p->lnode, &me.serv->servers);
- del_unknown_ip(client_p);
rb_dlinkMoveNode(&client_p->localClient->tnode, &unknown_list, &serv_list);
rb_dlinkAddTailAlloc(client_p, &global_serv_list);
}
}
-static void
-serv_connect_ev(void *data)
-{
- struct Client *client_p = data;
- serv_connect_callback(client_p->localClient->F, RB_OK, client_p);
-}
-
static void
serv_connect_ssl_callback(rb_fde_t *F, int status, void *data)
{
struct Client *client_p = data;
rb_fde_t *xF[2];
+ rb_connect_sockaddr(F, (struct sockaddr *)&client_p->localClient->ip, sizeof(client_p->localClient->ip));
if(status != RB_OK)
{
- /* XXX deal with failure */
+ /* Print error message, just like non-SSL. */
+ serv_connect_callback(F, status, data);
return;
}
- rb_connect_sockaddr(F, (struct sockaddr *)&client_p->localClient->ip, sizeof(client_p->localClient->ip));
rb_socketpair(AF_UNIX, SOCK_STREAM, 0, &xF[0], &xF[1], "Outgoing ssld connection");
del_from_cli_fd_hash(client_p);
client_p->localClient->F = xF[0];
client_p->localClient->ssl_ctl = start_ssld_connect(F, xF[1], rb_get_fd(xF[0]));
SetSSL(client_p);
- rb_event_addonce("serv_connect_ev", serv_connect_ev, client_p, 1);
+ serv_connect_callback(client_p->localClient->F, RB_OK, client_p);
}
/*