How to validate SRV record?
Nikolay Shaplov
n at shaplov.ru
Thu Aug 23 15:52:28 UTC 2012
Hi!
I am trying to write a validator for name field of SRV record, and I met
several issues I can not understand. May be you can help me with that.
0. Bind does not really validate name of SRV record:
_te__st_._te--st!?.rrr!e
is considered to be correct record. (BIND 9.7.3) So I can not use bind to get
what is right and what is wrong.
1. RFC 2782 says that name field should have this format:
_Service._Proto.Name
1.1. Name as far as I get, should be validated as a common hostname. Am I
right?
1.2. Service should be validated according to RFC 6335
1.3. What algorithm should be used to validate Proto? I can use the same as
for Service, but are there any strict guide lines about that?
2. RFC 2782 has the following example:
$ORIGIN example.com.
@ SOA server.example.com. root.example.com. (
1995032001 3600 3600 604800 86400 )
NS server.example.com.
NS ns1.ip-provider.net.
NS ns2.ip-provider.net.
; foobar - use old-slow-box or new-fast-box if either is
; available, make three quarters of the logins go to
; new-fast-box.
_foobar._tcp SRV 0 1 9 old-slow-box.example.com.
SRV 0 3 9 new-fast-box.example.com.
; if neither old-slow-box or new-fast-box is up, switch to
; using the sysdmin's box and the server
SRV 1 0 9 sysadmins-box.example.com.
SRV 1 0 9 server.example.com.
server A 172.30.79.10
old-slow-box A 172.30.79.11
sysadmins-box A 172.30.79.12
new-fast-box A 172.30.79.13
; NO other services are supported
*._tcp SRV 0 0 0 .
*._udp SRV 0 0 0 .
From it I can get, that _Service can be replaced by '*' and both _Service and
_Proto can be ommited.
2.1. Where in 2782 or in other RFCs it is said that _Service can be replaced
with asterisk? Can _Proto be replaced whith asterisk too?
2.2. Where in 2782 or in other RFCs it is said that _Service._Proto can be
omitted as shown in example? how all this would work it this case?
More information about the bind-users
mailing list