Novell eDir enabled DNS does not allow the underscore character in names (check-names)

  • 3775731
  • 23-Jan-2008
  • 27-Apr-2012

Environment

Novell Open Enterprise Server 2 (OES2)

Situation

If you have invalid characters like the underscore character in the name of a DNS server, a Zone, or a resource record and you load the novell-named service you may see an error like the following:

ER: zone example_ex/IN: loading master file master/example_ex: bad owner name (check-names)


If you have any error message with check-names in it, in the named.run file or the messages file, this document will tell you how to address that error.

Resolution

By default Novell DNS does not allow the underscore character in the name of a DNS server, a Zone, or a resource record.

To be specific,the default value for the Bind option 'check-names' is fail.

You can set the value for this option to ignore using ConsoleOne or iManager.

Since this is a zone level bind option you will need to make the change to each zone that you want to ignore the name checking rules on.

Do not make the change in the named.conf file because this configuration file gets re-written with information read from eDir by the novell-named daemon at load time.

Using ConsoleOne:
In ConsoleOne right click on the zone and go to properties > on the Other tab look for dnipAdditionalOptions. If it exists, it should have a check-names value. If the check-names value is not there, add it and set the value to ignore.

The value would look like this:
check-names ignore; (The semicolon is required)

If the dnipAdditionalOptions is not there, add it using the Add button and add the value, check-names ignore;

Apply the changes and restart the daemon.

Using iManager:
Select the Directory Administration role under Roles and Tasks > Modify Object > Use the object selector to find the zone that you want to modify, or type it in using the format object.context > OK > highlight the dnipAdditionalOptions in the Valued Attributes list > Edit > add check-names ignore; (The semicolon is required) > OK > OK > Restart the daemon.

Status

Reported to Engineering

Additional Information

Why the zone fails to load when the DNS server name has an underscore in it:

When novell-named loads it reads zone information from eDirectory and creates database files for each zone. These database files can be found in the /etc/opt/novell/named directory.

If your DNS server has an underscore in its name the database files will have a reference to that DNS server with the underscore in its name.

Initially when this database file does not exist it is created with the information from edirectory and the name is not checked so the zone loads fine.

When novell-named is restarted it will read the database file this time. Since there is an underscore in the DNS server name in the database file it will fail on check-names function.

Setting the check-names ignore attribute on that zone will keep the DNS server name from being checked when the database file for that zone is read and the zone will load.