From 1853eaeeaebed7d0e9c922ac679ceee927ca63bd Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Tue, 21 May 2013 07:17:39 +0000 Subject: [PATCH] - Quick attempt at cleaning up the mess for SIDs. --- src/aln.c | 4 +--- src/modules/m_server.c | 8 +++++--- src/parse.c | 12 +++++++----- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/aln.c b/src/aln.c index 52d6267fa..addc6fb02 100644 --- a/src/aln.c +++ b/src/aln.c @@ -68,7 +68,5 @@ aClient *find_server_quick_straight(char *name) aClient *find_server_quickx(char *name, aClient *cptr) { - if (name) - cptr = (aClient *)find_server_quick_search(name); - return cptr; + return find_server(name, cptr); } diff --git a/src/modules/m_server.c b/src/modules/m_server.c index 07047602c..ab9b2ea6d 100644 --- a/src/modules/m_server.c +++ b/src/modules/m_server.c @@ -78,7 +78,9 @@ DLLFUNC int MOD_INIT(m_server)(ModuleInfo *modinfo) { CommandAdd(modinfo->handle, MSG_SERVER, m_server, MAXPARA, M_UNREGISTERED|M_SERVER); CommandAdd(modinfo->handle, "SID", m_server_remote, MAXPARA, M_UNREGISTERED|M_SERVER); + MARK_AS_OFFICIAL_MODULE(modinfo); + return MOD_SUCCESS; } @@ -579,7 +581,7 @@ CMD_FUNC(m_server_remote) sendto_locfailops("Link %s(%s) cancelled, too deep depth", cptr->name, servername); return exit_client(cptr, cptr, cptr, "Too deep link depth (leaf)"); } - acptr = make_client(cptr, find_server_quick(parv[0])); + acptr = make_client(cptr, find_server(parv[0], cptr)); (void)make_server(acptr); acptr->hopcount = hop; @@ -589,9 +591,9 @@ CMD_FUNC(m_server_remote) if (isdigit(*parv[3]) && parc > 4) strlcpy(acptr->id, parv[3], sizeof(acptr->id)); - acptr->serv->up = find_or_add(parv[0]); + acptr->serv->up = find_or_add(acptr->srvptr->name); SetServer(acptr); - ircd_log(LOG_SERVER, "SERVER %s", acptr->name); + ircd_log(LOG_SERVER, "SERVER %s (from %s)", acptr->name, acptr->srvptr->name); /* Taken from bahamut makes it so all servers behind a U:lined * server are also U:lined, very helpful if HIDE_ULINES is on */ diff --git a/src/parse.c b/src/parse.c index 43cb00a56..f8b72e54e 100644 --- a/src/parse.c +++ b/src/parse.c @@ -101,9 +101,13 @@ aClient inline *find_server(char *name, aClient *cptr) { if (name) { - cptr = hash_find_server(name, cptr); + aClient *acptr; + + if ((acptr = find_client(name, NULL)) != NULL && IsServer(acptr)) + return acptr; } - return cptr; + + return NULL; } @@ -243,9 +247,7 @@ int parse(aClient *cptr, char *buffer, char *bufend) if (*sender && IsServer(cptr)) { from = find_client(sender, (aClient *)NULL); - if (!from || match(from->name, sender)) - from = find_server_quick(sender); - else if (!from && index(sender, '@')) + if (!from && index(sender, '@')) from = find_nickserv(sender, (aClient *)NULL); para[0] = sender;