- const DNS::ResourceRecord &ans_record = r->answers[0];
- if (ans_record.rdata.empty() || ans_record.rdata.length() > ServerInstance->Config->Limits.MaxHost)
- return;
-
- if (notify)
- ServerInstance->SNO->WriteGlobalSno('w', "Connecting user %s detected as using CGI:IRC (%s), changing real host to %s", them->nick.c_str(), them->host.c_str(), ans_record.rdata.c_str());
-
- them->host = them->dhost = ans_record.rdata;
- them->InvalidateCache();
- lu->CheckLines(true);
- }
- }
-
- void OnError(const DNS::Query *r) CXX11_OVERRIDE
- {
- if (!notify)
- return;
-
- User* them = ServerInstance->FindUUID(theiruid);
- if ((them) && (!them->quitting))
- {
- ServerInstance->SNO->WriteToSnoMask('w', "Connecting user %s detected as using CGI:IRC (%s), but their host can't be resolved!", them->nick.c_str(), them->host.c_str());
- }
- }
-
- ~CGIResolver()
- {
- User* them = ServerInstance->FindUUID(theiruid);
- if (!them)
- return;
- int count = waiting.get(them);
- if (count)
- waiting.set(them, count - 1);
+ // If we are sending a snotice then the message will already be
+ // written to the logfile.
+ if (notify)
+ ServerInstance->SNO->WriteGlobalSno('w', buffer);
+ else
+ ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, buffer);