- user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nickname", user->nick.c_str(), parameters[0].c_str());
+ source->WriteNotice(InspIRCd::Format("*** %s is not connected using TLS (SSL).", target->nick.c_str()));
+ }
+ else if (cert->GetError().length())
+ {
+ source->WriteNotice(InspIRCd::Format("*** %s is connected using TLS (SSL) but has not specified a valid client certificate (%s).",
+ target->nick.c_str(), cert->GetError().c_str()));
+ }
+ else if (!verbose)
+ {
+ source->WriteNotice(InspIRCd::Format("*** %s is connected using TLS (SSL) with a valid client certificate (%s).",
+ target->nick.c_str(), cert->GetFingerprint().c_str()));
+ }
+ else
+ {
+ source->WriteNotice("*** Distinguished Name: " + cert->GetDN());
+ source->WriteNotice("*** Issuer: " + cert->GetIssuer());
+ source->WriteNotice("*** Key Fingerprint: " + cert->GetFingerprint());
+ }
+ }
+
+ CmdResult HandleUser(LocalUser* source, const std::string& nick)
+ {
+ User* target = ServerInstance->FindNickOnly(nick);
+ if (!target || target->registered != REG_ALL)
+ {
+ source->WriteNumeric(Numerics::NoSuchNick(nick));