diff options
author | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2013-05-30 10:56:53 +0000 |
---|---|---|
committer | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2013-05-30 10:56:53 +0000 |
commit | 040e76a005043fe2993eb17f1ae37efbf67ad37c (patch) | |
tree | 5b0e9e05507d13bda8f4ff151e2f593c78c82139 /src/s_user.c | |
parent | 9f69ad60ff28ba4f1d22b0e92fcf54f1757dcac4 (diff) |
- m_svsmode(), user_set_hostmask(): minor cleanups and fixes to previous commit
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2144 82007160-df01-0410-b94d-b575c5fd34c7
Diffstat (limited to 'src/s_user.c')
-rw-r--r-- | src/s_user.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/s_user.c b/src/s_user.c index d63eebe..095100e 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -1057,16 +1057,8 @@ user_set_hostmask(struct Client *target_p, const char *hostname, const int what) { dlink_node *ptr = NULL; - sendto_common_channels_local(target_p, 0, 0, ":%s!%s@%s QUIT :Changing hostname", - target_p->name, target_p->username, target_p->host); - - if (IsUserHostIp(target_p)) - delete_user_host(target_p->username, target_p->host, !MyConnect(target_p)); - - strlcpy(target_p->host, hostname, sizeof(target_p->host)); - - add_user_host(target_p->username, target_p->host, !MyConnect(target_p)); - SetUserHost(target_p); + if (!strcmp(target_p->host, hostname)) + return; switch (what) { @@ -1080,14 +1072,24 @@ user_set_hostmask(struct Client *target_p, const char *hostname, const int what) if (!HasFlag(target_p, FLAGS_AUTH_SPOOF)) DelFlag(target_p, FLAGS_IP_SPOOFING); break; - default: break; + default: return; } + sendto_common_channels_local(target_p, 0, 0, ":%s!%s@%s QUIT :Changing hostname", + target_p->name, target_p->username, target_p->host); + + if (IsUserHostIp(target_p)) + delete_user_host(target_p->username, target_p->host, !MyConnect(target_p)); + + strlcpy(target_p->host, hostname, sizeof(target_p->host)); + + add_user_host(target_p->username, target_p->host, !MyConnect(target_p)); + SetUserHost(target_p); + if (MyClient(target_p)) { sendto_one(target_p, form_str(RPL_NEWHOSTIS), me.name, - target_p->name, target_p->username, - target_p->host); + target_p->name, target_p->host); clear_ban_cache_client(target_p); } |