Bug 16592 - RNAME in DNS/SOA-Eintrag muß Punkte vor @ in Email mit Backslash escapen
Summary: RNAME in DNS/SOA-Eintrag muß Punkte vor @ in Email mit Backslash escapen
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
Version: UCS 2.3
Hardware: Other Linux
: P5 minor
Target Milestone: UCS 2.3-2
Assignee: Janek Walkenhorst
QA Contact: Felix Botner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-26 13:21 CET by Philipp Hahn
Modified: 2010-05-18 10:00 CEST (History)
1 user (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):
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2009-11-26 13:21:50 CET
Im Start-of-Authority-Eintrag einer DNS-Domain wird die Email-Adresse der Responsible Person (RNAME) angegeben. Das @-Zeichen wird dabei durch einen Punkt (.) ersetzt. Kommen aber im Local-Part der Email-Adresse (der Teil links vom @) auch Punkte vor, so müssen diese mit einem Backslash (\) escaped werden.

Derzeit wird aus der Email-Adresse 'Philipp.Hahn@univention.test.' zunächst ein 'Philipp.Hahn.univention.test' im LDAP und DNS, und beim nächsten mal im UDM daraus ein 'Philipp@Hahn.univention.test'. Richtig wäre im LDAP und DNS ein 'Philipp\.Hahn.univention.test'.

Siehe http://tools.ietf.org/html/rfc1035#section-8
Comment 1 Janek Walkenhorst univentionstaff 2010-03-29 15:33:54 CEST
[RFC1035] sagt "[..] dots or other special characters [..]" müssen mit einem '\' maskiert werden.

Aus [RFC819] und [RFC822] ergeben sich folgende 13 "special characters":
"(),.:;<>@[\]

[RFC1035] http://tools.ietf.org/html/rfc1035#section-8
[RFC819]  http://tools.ietf.org/html/rfc819#page-10
[RFC822]  http://tools.ietf.org/html/rfc822#section-3.3
Comment 2 Janek Walkenhorst univentionstaff 2010-03-29 17:24:03 CEST
Fixed:
SVN Revision 16047, 16048:

univention-directory-manager-modules (5.0.60-1) unstable; urgency=low

  * dns: forward-zone: contact: (Bug #16592)
    + use email address syntax
    + append trailing '.' if missing
    + fix escaping to allow '.' in local-part of email address

(changes for Bug #17429 recommended)

Changelog:
\item Der Wert für Verantwortliche Person eines DNS Forward Lookup Zone Start of Authority Eintrags kann jetzt auch Punkte enthalten.
Zusätzlich wird der Wert jetzt als E-Mail-Adresse geprüft. (\ucsBug{16592})
Comment 3 Stefan Gohmann univentionstaff 2010-04-27 10:48:47 CEST
Durch die Änderung 

+ append trailing '.' if missing

geht jetzt ucs-test schief.

info 2010-04-27 05:26	 Value of "sOARecord" is "juediizb.hwaupvzq. afjnwqea.chwaloak.rstcbajg. 27 13 17 42 12".
info 2010-04-27 05:26	 Expected: "juediizb.hwaupvzq. afjnwqea.chwaloak.rstcbajg 27 13 17 42 12"

Wo ist definiert, dass auch die E-Mail-Adresse mit einem Punkt enden muss?
Comment 4 Stefan Gohmann univentionstaff 2010-04-27 10:55:35 CEST
(In reply to comment #3)
> Durch die Änderung 
> 
> + append trailing '.' if missing
> 
> geht jetzt ucs-test schief.

Sofern der Punkt am Ende korrekt ist, sollten die Testskripte angepasst werden:

/usr/share/ucs-test/scripts/67_udm-dns/02_create_and_remove_forward_zone_many_attributes
/usr/share/ucs-test/scripts/67_udm-dns/03_check_serial_number_incremen
Comment 5 Stefan Gohmann univentionstaff 2010-04-27 11:09:36 CEST
(In reply to comment #4)
> (In reply to comment #3)
> > Durch die Änderung 
> > 
> > + append trailing '.' if missing
> > 
> > geht jetzt ucs-test schief.
> 
> Sofern der Punkt am Ende korrekt ist, 

Hinweis von Philipp:
 Ein Test mit bind9 hat ergeben, daß der Punkt ans Ende muß. Ansonsten wird nochmals $ORIGIN angehängt.
Comment 6 Philipp Hahn univentionstaff 2010-04-27 11:12:30 CEST
local.conf.proxy:
  zone "pmhahn.de" {
        type master;
        notify no;
        file "/etc/bind/db.test";
 };

/etc/bind/db.test:
 $ORIGIN pmhahn.de.
 @       IN      SOA     pmhahn.de. root.localhost (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL


# host -t soa pmhahn.de. localhost
pmhahn.de has SOA record pmhahn.de. root.localhost.pmhahn.de. 2 604800 86400 2419200 604800

Da die "<hostmaster-email>" dort als Name und nicht als Zeichenkette erwartet wird, ist sie Kandidat für das Anhängen von $ORIGIN und muß deshalb mit einem '.' abgeschlossen werden.
Comment 7 Stefan Gohmann univentionstaff 2010-04-27 11:28:52 CEST
(In reply to comment #4)
> (In reply to comment #3)
> > Durch die Änderung 
> > 
> > + append trailing '.' if missing
> > 
> > geht jetzt ucs-test schief.
> 
> Sofern der Punkt am Ende korrekt ist, sollten die Testskripte angepasst werden:
> 
> /usr/share/ucs-test/scripts/67_udm-dns/02_create_and_remove_forward_zone_many_attributes
> /usr/share/ucs-test/scripts/67_udm-dns/03_check_serial_number_incremen

Die Testskripte wurden angepasst.
Comment 8 Felix Botner univentionstaff 2010-05-06 12:22:27 CEST
OK

   * hans.peter.mueller@univention.qa im UDM gesetzt
   * im LDAP hans\.peter\.mueller.univention.qa. (richtig escaped, Punkt am Ende)
   * Im DNS wird der Punkt im local Teil auch gequotet

-> host -t soa univention.qa localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:

univention.qa has SOA record qamaster.univention.qa. hans\.peter\.mueller.univention.qa. 17 28800 7200 604800 10800

Changelog angepasst
Comment 9 Stefan Gohmann univentionstaff 2010-05-18 10:00:06 CEST
UCS 2.3-2 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden:
"Clone This Bug".