Project

General

Profile

Actions

Bug #25842

closed

DNS resolver should not be case sensitive

Added by Michael Schiessl over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Low
Category:
foreman-installer script
Target version:
-
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

I'm totally new here, so I'd like to say kindly hello to the project team in first.

I installed foreman on a bare metal installed CentOS7 like described in your documentation and faced against a minor bug in foreman-installer prerequsites.

The installer already fails if the hostname is case-sensitive for forward and reverse resolution only.

[root@FOREMAN ~]# foreman-installer -i
Reverse DNS foreman.testlab.site.example.local does not match hostname FOREMAN.testlab.site.example.local
Your system does not meet configuration criteria
[root@FOREMAN ~]#
[root@FOREMAN ~]#
[root@FOREMAN ~]# host FOREMAN.testlab.site.example.local
FOREMAN.testlab.site.example.local has address 10.20.30.40
[root@FOREMAN ~]# host 10.20.30.40
40.30.20.10.in-addr.arpa domain name pointer foreman.testlab.site.example.local.
[root@FOREMAN ~]#

DNS names should not be case sensitive.

See also here
http :// tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00
https :// developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case

As a workaround I added following line to /etc/hosts
10.20.30.40 esh-mgmtsrv01-t foreman.testlab.site.example.local

After the workaround the installer succeeded

Actions #1

Updated by Ewoud Kohl van Wijngaarden over 5 years ago

  • Category set to foreman-installer script
  • Triaged changed from No to Yes
  • Found in Releases 1.20.0 added

The offending check appears to be https://github.com/theforeman/foreman-installer/blob/575a642380833b4a4b1ca9d186e8ded26b4fd831/checks/dns.rb#L29

If you wrap the hostnames in Resolv::DNS::Name.create() you use Ruby's DNS-aware comparisons:

[1] pry(main)> Resolv::DNS::Name.create("y.z") == Resolv::DNS::Name.create("Y.Z")
=> true

This would be a great first contribution :)

Note we recently added a check to prevent uppercase hostnames. This was mostly motivated by Katello because these kind of bugs show up in more places.

https://github.com/theforeman/foreman-installer/blob/575a642380833b4a4b1ca9d186e8ded26b4fd831/checks/hostname.rb#L52-L53

That said, IMHO we should support this because the RFCs allow it.

Actions #2

Updated by The Foreman Bot about 5 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Ewoud Kohl van Wijngaarden
  • Pull request https://github.com/theforeman/foreman-installer/pull/325 added
Actions #3

Updated by Ewoud Kohl van Wijngaarden about 5 years ago

  • Status changed from Ready For Testing to Closed
Actions #4

Updated by Tomer Brisker about 5 years ago

  • Fixed in Releases 1.22.0 added
Actions

Also available in: Atom PDF