diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/botserv.c | 21 | ||||
-rw-r--r-- | src/core/bs_bot.c | 4 | ||||
-rw-r--r-- | src/init.c | 2 | ||||
-rw-r--r-- | src/nickserv.c | 4 |
4 files changed, 19 insertions, 12 deletions
diff --git a/src/botserv.c b/src/botserv.c index 2aeca8249..14d8249e2 100644 --- a/src/botserv.c +++ b/src/botserv.c @@ -558,20 +558,27 @@ BotInfo *findbot(const char *nick) BotInfo *bi; if (!nick || !*nick) - return NULL; + return NULL; - for (bi = botlists[tolower(*nick)]; bi; bi = bi->next) + /* + * XXX Less than efficient, but we need to do this for good TS6 support currently. This *will* improve. -- w00t + */ + for (int i = 0; i < 256; i++) { - if (!stricmp(nick, bi->nick)) - return bi; - - if (nick == bi->uid) - return bi; + for (bi = botlists[i]; bi; bi = bi->next) + { + if (!stricmp(nick, bi->nick)) + return bi; + + if (nick == bi->uid) + return bi; + } } return NULL; } + /*************************************************************************/ /* Returns ban data associated with an user if it exists, allocates it diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c index d56f93539..e518315f5 100644 --- a/src/core/bs_bot.c +++ b/src/core/bs_bot.c @@ -165,7 +165,7 @@ int do_bot(User * u) /* We make the bot online, ready to serve */ ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real, - ircd->botserv_bot_mode); + ircd->botserv_bot_mode, bi->uid.c_str()); notice_lang(s_BotServ, u, BOT_BOT_ADDED, bi->nick, bi->user, bi->host, bi->real); @@ -300,7 +300,7 @@ int do_bot(User * u) ircdproto->SendQuit(bi, "Quit: Be right back"); ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real, - ircd->botserv_bot_mode); + ircd->botserv_bot_mode, bi->uid.c_str()); bi->RejoinAll(); } diff --git a/src/init.c b/src/init.c index 6ba89f052..4d31551bb 100644 --- a/src/init.c +++ b/src/init.c @@ -42,7 +42,7 @@ void introduce_user(const char *user) for (bi = botlists[i]; bi; bi = bi->next) { if (!user || !stricmp(user, bi->nick)) - ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real, ircd->botserv_bot_mode); + ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real, ircd->botserv_bot_mode, bi->uid.c_str()); } } } diff --git a/src/nickserv.c b/src/nickserv.c index deefa6112..2ee174c73 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -848,7 +848,7 @@ void cancel_user(User * u) if (ircd->svsnick) { ircdproto->SendClientIntroduction(u->nick, NSEnforcerUser, NSEnforcerHost, - "Services Enforcer", "+"); + "Services Enforcer", "+", ts6_uid_retrieve()); add_ns_timeout(na, TO_RELEASE, NSReleaseTimeout); } else { ircdproto->SendSVSKill(s_NickServ, u->nick, @@ -859,7 +859,7 @@ void cancel_user(User * u) if (ircd->svsnick) { ircdproto->SendClientIntroduction(u->nick, NSEnforcerUser, NSEnforcerHost, - "Services Enforcer", "+"); + "Services Enforcer", "+", ts6_uid_retrieve()); add_ns_timeout(na, TO_RELEASE, NSReleaseTimeout); } else { ircdproto->SendSVSKill(s_NickServ, u->nick, |