X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/9f6bbe3cf9c786c5089bfd605315aed5268e8974..9ac19244c0202cecd67f3fdb00f21b409a2394ae:/modules/m_whois.c diff --git a/modules/m_whois.c b/modules/m_whois.c index 044493b..40a8d52 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -35,10 +35,9 @@ #include "s_conf.h" #include "s_serv.h" #include "send.h" -#include "irc_string.h" -#include "sprintf_irc.h" +#include "match.h" #include "s_conf.h" -#include "s_log.h" +#include "logger.h" #include "msg.h" #include "parse.h" #include "modules.h" @@ -190,7 +189,10 @@ do_whois(struct Client *client_p, struct Client *source_p, int parc, const char nick++; } - target_p = find_named_person(nick); + if(MyClient(source_p)) + target_p = find_named_person(nick); + else + target_p = find_person(nick); if(target_p != NULL) { @@ -237,16 +239,9 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) char *t; int tlen; hook_data_client hdata; - char *name; - char quest[] = "?"; int visible; int extra_space = 0; - if(target_p->name[0] == '\0') - name = quest; - else - name = target_p->name; - if(target_p->user == NULL) { s_assert(0); @@ -324,6 +319,10 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) GlobalSetOptions.operstring)); } + if(IsSSLClient(target_p)) + sendto_one_numeric(source_p, RPL_WHOISSECURE, form_str(RPL_WHOISSECURE), + target_p->name); + if(MyClient(target_p)) { if (IsDynSpoof(target_p) && (IsOper(source_p) || source_p == target_p)) @@ -367,7 +366,6 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) target_p->name, target_p->sockhost); } - } hdata.client = source_p;