diff options
| author | 2020-03-31 01:54:54 -0600 | |
|---|---|---|
| committer | 2020-04-04 19:12:28 -0600 | |
| commit | d6133886f5a84000fcb2df6e993d252ecb55b72d (patch) | |
| tree | 20dad857c235c1f1be472af81420e6ffa6177995 /src | |
| parent | Squish the cmd_whowas header. (diff) | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/coremods/core_hostname_lookup.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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 |
