]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/res.c
event* -> rb_event*
[irc/rqf/shadowircd.git] / src / res.c
index f0a253fd1b73aeb25e29bb095d1d43f699d1c132..f61485e56fcc99688b8c13abdc3323513c03a33b 100644 (file)
--- a/src/res.c
+++ b/src/res.c
@@ -7,7 +7,7 @@
  * The authors takes no responsibility for any damage or loss
  * of property which results from the use of this software.
  *
- * $Id: res.c 3227 2007-03-05 01:14:46Z jilles $
+ * $Id: res.c 3301 2007-03-28 15:04:06Z jilles $
  * from Hybrid Id: res.c 459 2006-02-12 22:21:37Z db $
  *
  * July 1999 - Rewrote a bunch of stuff here. Change hostent builder code,
 #include "ircd_defs.h"
 #include "common.h"
 #include "ircd.h"
-#include "commio.h"
 #include "res.h"
 #include "reslib.h"
-#include "tools.h"
-#include "event.h"
 #include "irc_string.h"
 #include "sprintf_irc.h"
 #include "numeric.h"
@@ -70,7 +67,7 @@ typedef enum
 
 struct reslist
 {
-       dlink_node node;
+       rb_dlink_node node;
        int id;
        int sent;               /* number of requests sent */
        request_state state;    /* State the resolver machine is in */
@@ -88,7 +85,7 @@ struct reslist
 };
 
 static int res_fd;
-static dlink_list request_list = { NULL, NULL, 0 };
+static rb_dlink_list request_list = { NULL, NULL, 0 };
 
 static void rem_request(struct reslist *request);
 static struct reslist *make_request(struct DNSQuery *query);
@@ -174,13 +171,13 @@ static int res_ourserver(const struct irc_sockaddr_storage *inp)
  */
 static time_t timeout_query_list(time_t now)
 {
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
        struct reslist *request;
        time_t next_time = 0;
        time_t timeout = 0;
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, request_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, request_list.head)
        {
                request = ptr->data;
                timeout = request->sentat + request->timeout;
@@ -215,7 +212,7 @@ static time_t timeout_query_list(time_t now)
  */
 static void timeout_resolver(void *notused)
 {
-       timeout_query_list(CurrentTime);
+       timeout_query_list(rb_current_time());
 }
 
 /*
@@ -228,13 +225,13 @@ static void start_resolver(void)
 
        if (res_fd <= 0)        /* there isn't any such thing as fd 0, that's just a myth. */
        {
-               if ((res_fd = comm_socket(irc_nsaddr_list[0].ss_family, SOCK_DGRAM, 0,
+               if ((res_fd = rb_socket(irc_nsaddr_list[0].ss_family, SOCK_DGRAM, 0,
                               "UDP resolver socket")) == -1)
                        return;
 
                /* At the moment, the resolver FD data is global .. */
-               comm_setselect(res_fd, FDLIST_NONE, COMM_SELECT_READ, res_readreply, NULL, 0);
-               eventAdd("timeout_resolver", timeout_resolver, NULL, 1);
+               rb_setselect(res_fd, FDLIST_NONE, COMM_SELECT_READ, res_readreply, NULL, 0);
+               rb_event_add("timeout_resolver", timeout_resolver, NULL, 1);
        }
 }
 
@@ -244,7 +241,7 @@ static void start_resolver(void)
 void init_resolver(void)
 {
 #ifdef HAVE_SRAND48
-       srand48(CurrentTime);
+       srand48(rb_current_time());
 #endif
        start_resolver();
 }
@@ -254,7 +251,7 @@ void init_resolver(void)
  */
 void restart_resolver(void)
 {
-       comm_close(res_fd);
+       rb_close(res_fd);
        res_fd = -1;
        eventDelete(timeout_resolver, NULL);    /* -ddosen */
        start_resolver();
@@ -289,9 +286,9 @@ void add_local_domain(char *hname, size_t size)
  */
 static void rem_request(struct reslist *request)
 {
-       dlinkDelete(&request->node, &request_list);
-       MyFree(request->name);
-       MyFree(request);
+       rb_dlinkDelete(&request->node, &request_list);
+       rb_free(request->name);
+       rb_free(request);
 }
 
 /*
@@ -299,16 +296,16 @@ static void rem_request(struct reslist *request)
  */
 static struct reslist *make_request(struct DNSQuery *query)
 {
-       struct reslist *request = MyMalloc(sizeof(struct reslist));
+       struct reslist *request = rb_malloc(sizeof(struct reslist));
 
-       request->sentat = CurrentTime;
+       request->sentat = rb_current_time();
        request->retries = 3;
        request->resend = 1;
        request->timeout = 4;   /* start at 4 and exponential inc. */
        request->query = query;
        request->state = REQ_IDLE;
 
-       dlinkAdd(request, &request->node, &request_list);
+       rb_dlinkAdd(request, &request->node, &request_list);
 
        return request;
 }
@@ -319,11 +316,11 @@ static struct reslist *make_request(struct DNSQuery *query)
  */
 void delete_resolver_queries(const struct DNSQuery *query)
 {
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
        struct reslist *request;
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, request_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, request_list.head)
        {
                if ((request = ptr->data) != NULL)
                {
@@ -352,7 +349,7 @@ static int send_res_msg(const char *msg, int len, int rcount)
        if (max_queries == 0)
                max_queries = 1;
 
-       for (i = 0; i < max_queries; i++)
+       for (i = 0; sent < max_queries && i < irc_nscount; i++)
        {
                if (sendto(res_fd, msg, len, 0,
                     (struct sockaddr *)&(irc_nsaddr_list[i]), 
@@ -368,10 +365,10 @@ static int send_res_msg(const char *msg, int len, int rcount)
  */
 static struct reslist *find_id(int id)
 {
-       dlink_node *ptr;
+       rb_dlink_node *ptr;
        struct reslist *request;
 
-       DLINK_FOREACH(ptr, request_list.head)
+       RB_DLINK_FOREACH(ptr, request_list.head)
        {
                request = ptr->data;
 
@@ -414,7 +411,7 @@ static void do_query_name(struct DNSQuery *query, const char *name, struct resli
        if (request == NULL)
        {
                request = make_request(query);
-               request->name = (char *)MyMalloc(strlen(host_name) + 1);
+               request->name = (char *)rb_malloc(strlen(host_name) + 1);
                strcpy(request->name, host_name);
                request->state = REQ_A;
        }
@@ -436,7 +433,7 @@ static void do_query_number(struct DNSQuery *query, const struct irc_sockaddr_st
        {
                request = make_request(query);
                memcpy(&request->addr, addr, sizeof(struct irc_sockaddr_storage));
-               request->name = (char *)MyMalloc(HOSTLEN + 1);
+               request->name = (char *)rb_malloc(HOSTLEN + 1);
        }
 
        if (addr->ss_family == AF_INET)
@@ -444,7 +441,7 @@ static void do_query_number(struct DNSQuery *query, const struct irc_sockaddr_st
                struct sockaddr_in *v4 = (struct sockaddr_in *)addr;
                cp = (const unsigned char *)&v4->sin_addr.s_addr;
 
-               ircsprintf(request->queryname, "%u.%u.%u.%u.in-addr.arpa", (unsigned int)(cp[3]),
+               rb_sprintf(request->queryname, "%u.%u.%u.%u.in-addr.arpa", (unsigned int)(cp[3]),
                           (unsigned int)(cp[2]), (unsigned int)(cp[1]), (unsigned int)(cp[0]));
        }
 #ifdef IPV6
@@ -745,7 +742,7 @@ static void res_readreply(int fd, void *data)
        /* Re-schedule a read *after* recvfrom, or we'll be registering
         * interest where it'll instantly be ready for read :-) -- adrian
         */
-       comm_setselect(fd, FDLIST_NONE, COMM_SELECT_READ, res_readreply, NULL, 0);
+       rb_setselect(fd, FDLIST_NONE, COMM_SELECT_READ, res_readreply, NULL, 0);
        /* Better to cast the sizeof instead of rc */
        if (rc <= (int)(sizeof(HEADER)))
                return;
@@ -834,7 +831,7 @@ static void res_readreply(int fd, void *data)
                         */
                        reply = make_dnsreply(request);
                        (*request->query->callback) (request->query->ptr, reply);
-                       MyFree(reply);
+                       rb_free(reply);
                        rem_request(request);
                }
        }
@@ -851,7 +848,7 @@ static struct DNSReply *make_dnsreply(struct reslist *request)
        struct DNSReply *cp;
        s_assert(request != 0);
 
-       cp = (struct DNSReply *)MyMalloc(sizeof(struct DNSReply));
+       cp = (struct DNSReply *)rb_malloc(sizeof(struct DNSReply));
 
        cp->h_name = request->name;
        memcpy(&cp->addr, &request->addr, sizeof(cp->addr));