From e605c6c29ee08d6149881cc836121daef1287522 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Tue, 28 Dec 2004 22:31:58 +0000 Subject: [PATCH] Eliminate use of TRUE and FALSE and functions from . git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1287 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ircd/gline.c | 4 +-- ircd/ircd.c | 86 +++++++++++++++++++++------------------------------- ircd/match.c | 5 +-- 3 files changed, 36 insertions(+), 59 deletions(-) diff --git a/ircd/gline.c b/ircd/gline.c index 68b7a9e..6de0362 100644 --- a/ircd/gline.c +++ b/ircd/gline.c @@ -43,14 +43,12 @@ #include "msg.h" #include "numnicks.h" #include "numeric.h" -#include "sys.h" /* FALSE bleah */ #include "whocmds.h" /* #include -- Now using assert in ircd_log.h */ #include #include #include -#include /* for inet_ntoa */ #define CHECK_APPROVED 0 /**< Mask is acceptable */ #define CHECK_OVERRIDABLE 1 /**< Mask is acceptable, but not by default */ @@ -244,7 +242,7 @@ do_gline(struct Client *cptr, struct Client *sptr, struct Gline *gline) /* let the ops know about it */ sendto_opmask_butone(0, SNO_GLINE, "G-line active for %s", - get_client_name(acptr, TRUE)); + get_client_name(acptr, SHOW_IP)); /* and get rid of him */ if ((tval = exit_client_msg(cptr, acptr, &me, "G-lined (%s)", diff --git a/ircd/ircd.c b/ircd/ircd.c index 175f1e8..2ed022b 100644 --- a/ircd/ircd.c +++ b/ircd/ircd.c @@ -244,79 +244,61 @@ static int check_pid(void) */ static void try_connections(struct Event* ev) { struct ConfItem* aconf; - struct Client* cptr; struct ConfItem** pconf; - int connecting; - int confrq; time_t next = 0; struct ConnectionClass* cltmp; - struct ConfItem* con_conf = 0; struct Jupe* ajupe; - const char* con_class = NULL; assert(ET_EXPIRE == ev_type(ev)); assert(0 != ev_timer(ev)); - connecting = FALSE; Debug((DEBUG_NOTICE, "Connection check at : %s", myctime(CurrentTime))); for (aconf = GlobalConfList; aconf; aconf = aconf->next) { - /* Also when already connecting! (update holdtimes) --SRB */ - if (!(aconf->status & CONF_SERVER) || aconf->address.port == 0 || aconf->hold == 0) + /* Only consider server items with non-zero port and non-zero + * connect times that are not actively juped. + */ + if (!(aconf->status & CONF_SERVER) + || aconf->address.port == 0 + || aconf->hold == 0 + || ((ajupe = jupe_find(aconf->name)) && JupeIsActive(ajupe))) continue; - /* Also skip juped servers */ - if ((ajupe = jupe_find(aconf->name)) && JupeIsActive(ajupe)) - continue; + /* Update next possible connection check time. */ + if (next > aconf->hold || next == 0) + next = aconf->hold; - /* Skip this entry if the use of it is still on hold until - * future. Otherwise handle this entry (and set it on hold until next - * time). Will reset only hold times, if already made one successfull - * connection... [this algorithm is a bit fuzzy... -- msa >;) ] + /* Skip this entry if its use is still on hold until future, too + * many links in its connection class, it is already linked, or if + * connect rules forbid a link now. */ - if (aconf->hold > CurrentTime && (next > aconf->hold || next == 0)) { - next = aconf->hold; + cltmp = aconf->conn_class; + if ((aconf->hold > CurrentTime) + || (Links(cltmp) >= MaxLinks(cltmp)) + || FindServer(aconf->name) + || conf_eval_crule(aconf->name, CRULE_MASK)) continue; - } - cltmp = aconf->conn_class; - confrq = get_con_freq(cltmp); - if(confrq == 0) - aconf->hold = next = 0; - else - aconf->hold = CurrentTime + confrq; - - /* Found a CONNECT config with port specified, scan clients and see if - * this server is already connected? - */ - cptr = FindServer(aconf->name); + /* We want to connect; update entry's hold time. */ + aconf->hold = ConFreq(cltmp) ? CurrentTime + ConFreq(cltmp) : 0; - if (!cptr && (Links(cltmp) < MaxLinks(cltmp)) && - (!connecting /*|| (ConClass(cltmp) > con_class)*/)) { - /* - * Check connect rules to see if we're allowed to try - */ - if (0 == conf_eval_crule(aconf->name, CRULE_MASK)) { - con_class = ConClass(cltmp); - con_conf = aconf; - /* We connect only one at time... */ - connecting = TRUE; - } - } - if ((next > aconf->hold) || (next == 0)) - next = aconf->hold; - } - if (connecting) { - if (con_conf->next) { /* are we already last? */ - /* Put the current one at the end and make sure we try all connections */ - for (pconf = &GlobalConfList; (aconf = *pconf); pconf = &(aconf->next)) - if (aconf == con_conf) + /* Ensure it is at the end of the list for future checks. */ + if (aconf->next) { + /* Find aconf's location in the list and splice it out. */ + for (pconf = &GlobalConfList; *pconf; pconf = &(*pconf)->next) + if (*pconf == aconf) *pconf = aconf->next; - (*pconf = con_conf)->next = 0; + /* Reinsert it at the end of the list (where pconf is now). */ + *pconf = aconf; + aconf->next = 0; } - if (connect_server(con_conf, 0)) + /* Activate the connection itself. */ + if (connect_server(aconf, 0)) sendto_opmask_butone(0, SNO_OLDSNO, "Connection to %s activated.", - con_conf->name); + aconf->name); + + /* And stop looking for further candidates. */ + break; } if (next == 0) diff --git a/ircd/match.c b/ircd/match.c index 1424007..7651151 100644 --- a/ircd/match.c +++ b/ircd/match.c @@ -847,7 +847,6 @@ int mmexec(const char *wcm, int wminlen, const char *rcm, int rminlen) #include #include #include -#include /** Parse an input string as an IPv4 address. * @param[in] in Text form of address. @@ -857,15 +856,13 @@ int mmexec(const char *wcm, int wminlen, const char *rcm, int rminlen) static int ipmask_parse_ipv4(const char *in, struct in_addr *out) { int class; - char ipname[16]; int ad[4] = { 0 }; int bits = 0; class = sscanf(in, "%d.%d.%d.%d/%d", &ad[0], &ad[1], &ad[2], &ad[3], &bits); if (class != 5) bits = class * 8; - ircd_snprintf(0, ipname, sizeof(ipname), "%d.%d.%d.%d", ad[0], ad[1], ad[2], ad[3]); - out->s_addr = inet_addr(ipname); + out->s_addr = ntohl((ad[0] << 24) | (ad[1] << 16) | (ad[2] << 8) | ad[3]); return bits; } -- 2.20.1