1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-06 23:43:13 +02:00

- Quick attempt at cleaning up the mess for SIDs.

This commit is contained in:
William Pitcock
2013-05-21 07:17:39 +00:00
parent 7f156ad566
commit 1853eaeeae
3 changed files with 13 additions and 11 deletions
+1 -3
View File
@@ -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);
}
+5 -3
View File
@@ -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
*/
+7 -5
View File
@@ -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;