X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_hostname_lookup.cpp;h=89c361555f4b8fc17cba0c0bc5c4327c7c1c7b5e;hb=49a165ef13cbe41dd7ed73e53a97437735868046;hp=fc01db15741441a5e1b375dd22a9444d3be48d67;hpb=409321b5cf0fdfa69b54ba2f371b57de2e1e1452;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_hostname_lookup.cpp b/src/coremods/core_hostname_lookup.cpp index fc01db157..89c361555 100644 --- a/src/coremods/core_hostname_lookup.cpp +++ b/src/coremods/core_hostname_lookup.cpp @@ -1,7 +1,10 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2013-2016 Adam + * Copyright (C) 2020 Matt Schatz + * Copyright (C) 2013-2015 Attila Molnar + * Copyright (C) 2013, 2017-2019 Sadie Powell + * Copyright (C) 2013, 2016 Adam * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -74,7 +77,7 @@ class UserResolver : public DNS::Request const DNS::ResourceRecord* ans_record = r->FindAnswerOfType(this->question.type); if (ans_record == NULL) { - HandleError(user, "Could not resolve your hostname: No " + this->manager->GetTypeStr(this->question.type) + " records found"); + HandleError(bound_user, "Could not resolve your hostname: No " + this->manager->GetTypeStr(this->question.type) + " records found"); return; } @@ -134,7 +137,8 @@ class UserResolver : public DNS::Request if (rev_match) { bound_user->WriteNotice("*** Found your hostname (" + this->question.name + (r->cached ? ") -- cached" : ")")); - bound_user->ChangeRealHost(this->question.name, true); + bool display_is_real = bound_user->GetDisplayedHost() == bound_user->GetRealHost(); + bound_user->ChangeRealHost(this->question.name, display_is_real); dl->unset(bound_user); } else @@ -151,7 +155,7 @@ class UserResolver : public DNS::Request { LocalUser* bound_user = IS_LOCAL(ServerInstance->FindUUID(uuid)); if (bound_user) - HandleError("Could not resolve your hostname: " + this->manager->GetErrorStr(query->error)); + HandleError(bound_user, "Could not resolve your hostname: " + this->manager->GetErrorStr(query->error)); } };