]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_serv.c
Move to ratbox3 reject and throttle code.
[irc/rqf/shadowircd.git] / src / s_serv.c
index be25f8b74cb274a97562e503624a8f054f43b2bd..e29fdba03e2e5dc88447ef10e0f64a9119d281e0 100644 (file)
@@ -55,8 +55,6 @@
 #include "reject.h"
 #include "sslproc.h"
 
-extern char *crypt();
-
 #ifndef INADDR_NONE
 #define INADDR_NONE ((unsigned int) 0xffffffff)
 #endif
@@ -343,7 +341,7 @@ check_server(const char *name, struct Client *client_p)
 
                        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;
@@ -762,7 +760,6 @@ server_estab(struct Client *client_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);
 
@@ -1178,24 +1175,18 @@ serv_connect(struct server_conf *server_p, struct Client *by)
        }
 }
 
-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];
@@ -1203,7 +1194,7 @@ serv_connect_ssl_callback(rb_fde_t *F, int status, void *data)
 
        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);
 }
 
 /*