diff options
author | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2014-01-31 12:31:32 +0000 |
---|---|---|
committer | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2014-01-31 12:31:32 +0000 |
commit | 1fd30de6a32a89eacf67bd7204c49193ec43c102 (patch) | |
tree | a46cae36636688b1db3dea69fcd585612d3bb4d7 /modules/core | |
parent | 568a147d10334e1d77046d40e1004c5a41b8e199 (diff) |
- m_server.c:mr_server(): don't falsely exit a server with the reason
being "SID already exists" if it's just hash_find_server() that
returned non-NULL.
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2977 82007160-df01-0410-b94d-b575c5fd34c7
Diffstat (limited to 'modules/core')
-rw-r--r-- | modules/core/m_server.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/modules/core/m_server.c b/modules/core/m_server.c index 340492e..b7c71b9 100644 --- a/modules/core/m_server.c +++ b/modules/core/m_server.c @@ -178,8 +178,7 @@ mr_server(struct Client *client_p, struct Client *source_p, break; } - if ((client_p->id[0] && (target_p = hash_find_id(client_p->id))) - || (target_p = hash_find_server(name))) + if ((target_p = hash_find_server(name))) { /* This link is trying feed me a server that I already have * access through another path -- multiple paths not accepted @@ -192,6 +191,19 @@ mr_server(struct Client *client_p, struct Client *source_p, * connect - A1kmm. */ sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE, + "Attempt to re-introduce server %s from %s", + name, get_client_name(client_p, HIDE_IP)); + sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE, + "Attempt to re-introduce server %s from %s", + name, get_client_name(client_p, MASK_IP)); + sendto_one(client_p, "ERROR :Server already exists."); + exit_client(client_p, client_p, "Server already exists"); + return 0; + } + + if ((client_p->id[0] && (target_p = hash_find_id(client_p->id)))) + { + sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE, "Attempt to re-introduce server %s SID %s from %s", name, client_p->id, get_client_name(client_p, HIDE_IP)); @@ -200,7 +212,7 @@ mr_server(struct Client *client_p, struct Client *source_p, name, client_p->id, get_client_name(client_p, MASK_IP)); sendto_one(client_p, "ERROR :Server ID already exists."); - exit_client(client_p, client_p, "Server ID Exists"); + exit_client(client_p, client_p, "Server ID already exists"); return 0; } |