Bug 31312 - Formally Correct Alias creates error in DNS Module on the cli
Formally Correct Alias creates error in DNS Module on the cli
Status: CLOSED WORKSFORME
Product: UCS
Classification: Unclassified
Component: DNS
UCS 3.1
Other Linux
: P1 critical (vote)
: ---
Assigned To: UCS maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-08 08:10 CEST by Kevin Dominik Korte
Modified: 2018-04-13 13:32 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Dominik Korte univentionstaff 2013-05-08 08:10:31 CEST
In UCS a number of DNS entries are semantically wrong, as they represent
complete DNS entries, not relative ones, but do not conclude with a dot in the
end, e.g. domains are univention.example.com instead of univention.example.com. (including the dot)

If you now add a correct DNS alias, such as proxy.univention.example.com., the superordinate is not present as UCS creates it with univention.example.com, leaving out the dot in the end. This renders the DNS Module unusable until the alias is removed using the computers module or an LDAP modify.
Comment 1 Kevin Dominik Korte univentionstaff 2013-05-10 10:13:51 CEST
Auch an Ticket#2013041821001047 aufgetreten
Comment 2 Stefan Gohmann univentionstaff 2013-05-13 07:45:24 CEST
Can you give an example?
Comment 3 Kevin Dominik Korte univentionstaff 2013-05-13 08:09:39 CEST
(In reply to comment #2)
> Can you give an example?

The Master was created with either
master.test.example.com
or
master.test.example.com.

In both cases this creates the DNS Domain
test.example.com

Formally correct would be the domain
test.example.com.

If you now add
proxy.test.example.com.

the dns/alias module of the udm is not working anymore
Comment 4 Kevin Dominik Korte univentionstaff 2013-05-13 09:37:58 CEST
Command:
root@master:~# udm dns/alias list
Information provided is not sufficient: superordinate object not present

Error (log level 4):
13.05.13 09:31:23.644  LDAP        ( INFO    ) : uldap.search filter=(&(objectClass=dNSZone)(!(relativeDomainName=@))(!(zoneName=*.in-addr.arpa))(!(aRecord=*))(!(zoneName=*.ip6.arpa))(!(aAAARecord=*))(cNAMERecord=*)) base=dc=univention,dc=example,dc=com scope=sub attr=[] unique=0 required=0 timeout=-1 sizelimit=0
13.05.13 09:31:23.647  ADMIN       ( WARN    ) : Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 394, in doit
    out=_doit(arglist)
  File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 1120, in _doit
    for object in univention.admin.modules.lookup(module, co, lo, scope='sub', superordinate=superordinate, base=position.getDn(), filter=filter):
  File "/usr/lib/pymodules/python2.6/univention/admin/modules.py", line 797, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/dns/alias.py", line 166, in lookup
    res.append((object(co, lo, None, dn=dn, superordinate=superordinate, attributes = attrs )))
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/dns/alias.py", line 119, in __init__
    raise univention.admin.uexceptions.insufficientInformation, 'superordinate object not present'
insufficientInformation: superordinate object not present

ldapsearches:
root@master:/var/log/univention# univention-ldapsearch '(&(objectClass=dNSZone)(!(relativeDomainName=@))(!(zoneName=*.in-addr.arpa))(!(aRecord=*))(!(zoneName=*.ip6.arpa))(!(aAAARecord=*))(cNAMERecord=*))'
# extended LDIF
#
# LDAPv3
# base <dc=univention,dc=example,dc=com> (default) with scope subtree
# filter: (&(objectClass=dNSZone)(!(relativeDomainName=@))(!(zoneName=*.in-addr.arpa))(!(aRecord=*))(!(zoneName=*.ip6.arpa))(!(aAAARecord=*))(cNAMERecord=*))
# requesting: ALL
#

# 4b09e077-4bc8-4f05-9a73-ff7cda7f6882._msdcs, univention.example.com, dns, u
 nivention.example.com
dn: relativeDomainName=4b09e077-4bc8-4f05-9a73-ff7cda7f6882._msdcs,zoneName=un
 ivention.example.com,cn=dns,dc=univention,dc=example,dc=com
cNAMERecord: master.univention.example.com.
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/alias
dNSTTL: 80600
relativeDomainName: 4b09e077-4bc8-4f05-9a73-ff7cda7f6882._msdcs
zoneName: univention.example.com

# tester, univention.example.com, dns, univention.example.com
dn: relativeDomainName=tester,zoneName=univention.example.com,cn=dns,dc=univen
 tion,dc=example,dc=com
objectClass: top
objectClass: dNSZone
relativeDomainName: tester
cNAMERecord: master.univention.example.com.
zoneName: univention.example.com

# search result
search: 3
result: 0 Success

# numResponses: 3
# numEntries: 2


# univention.example.com, dns, univention.example.com
dn: zoneName=univention.example.com,cn=dns,dc=univention,dc=example,dc=com
nSRecord: master.univention.example.com.
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/forward_zone
dNSTTL: 10800
relativeDomainName: @
zoneName: univention.example.com
aRecord: 10.200.10.9
sOARecord: master.univention.example.com. root.univention.example.com. 28 2880
 0 7200 604800 10800

root@master:/var/log/univention# univention-ldapsearch '(&(zoneName=univention.example.com)(univentionObjectType=dns/forward_zone))'
# extended LDIF
#
# LDAPv3
# base <dc=univention,dc=example,dc=com> (default) with scope subtree
# filter: (&(zoneName=univention.example.com)(univentionObjectType=dns/forward_zone))
# requesting: ALL
#

# univention.example.com, dns, univention.example.com
dn: zoneName=univention.example.com,cn=dns,dc=univention,dc=example,dc=com
nSRecord: master.univention.example.com.
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/forward_zone
dNSTTL: 10800
relativeDomainName: @
zoneName: univention.example.com
aRecord: 10.200.10.9
sOARecord: master.univention.example.com. root.univention.example.com. 28 2880
 0 7200 604800 10800

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1
Comment 5 Kevin Dominik Korte univentionstaff 2013-05-13 09:43:00 CEST
Missunderstanding regarding the DNS-CLI Modul. The Superordinate has to be given in the cli version of the UDM.
Comment 6 Stefan Gohmann univentionstaff 2017-09-15 14:06:32 CEST
Set status of old resolved issues to closed.