From d6133886f5a84000fcb2df6e993d252ecb55b72d Mon Sep 17 00:00:00 2001 From: Matt Schatz Date: Tue, 31 Mar 2020 01:54:54 -0600 Subject: Don't override a different Displayed Host with the rDNS. If the dnsbl module is set to mark with a vHost, it can finish before the hostname resolution finishes. This is especially the case when the result is already cached. Resolves #1770. --- src/coremods/core_hostname_lookup.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/coremods/core_hostname_lookup.cpp b/src/coremods/core_hostname_lookup.cpp index 60f858ecd..0dd077a8e 100644 --- a/src/coremods/core_hostname_lookup.cpp +++ b/src/coremods/core_hostname_lookup.cpp @@ -136,7 +136,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 -- cgit v1.2.3