a hostname shall not start with a number
This commit is contained in:
parent
716d2b2348
commit
0c9d6554ae
|
@ -25,15 +25,19 @@ def test_domainname():
|
||||||
c.f = 'toto.com'
|
c.f = 'toto.com'
|
||||||
c.f = 'toto'
|
c.f = 'toto'
|
||||||
|
|
||||||
def test_domainname_special():
|
def test_special_domain_name():
|
||||||
"""domain name option that starts with a number
|
"""domain name option that starts with a number or not
|
||||||
"""
|
"""
|
||||||
d = DomainnameOption('d', '')
|
d = DomainnameOption('d', '')
|
||||||
od = OptionDescription('a', '', [d])
|
e = DomainnameOption('e', '', type_='netbios')
|
||||||
|
od = OptionDescription('a', '', [d,e])
|
||||||
c = Config(od)
|
c = Config(od)
|
||||||
c.read_write()
|
c.read_write()
|
||||||
c.d = '1toto.com'
|
c.d = '1toto.com'
|
||||||
c.d = '123toto.com'
|
c.d = '123toto.com'
|
||||||
|
c.e = 'toto'
|
||||||
|
raises(ValueError, "c.e = '1toto'")
|
||||||
|
|
||||||
|
|
||||||
def test_domainname_netbios():
|
def test_domainname_netbios():
|
||||||
d = DomainnameOption('d', '', type_='netbios')
|
d = DomainnameOption('d', '', type_='netbios')
|
||||||
|
|
|
@ -993,6 +993,10 @@ class DomainnameOption(Option):
|
||||||
end = ''
|
end = ''
|
||||||
extrachar = ''
|
extrachar = ''
|
||||||
extrachar_mandatory = ''
|
extrachar_mandatory = ''
|
||||||
|
if self._type != 'netbios':
|
||||||
|
allow_number = '\d'
|
||||||
|
else:
|
||||||
|
allow_number = ''
|
||||||
if self._type == 'netbios':
|
if self._type == 'netbios':
|
||||||
length = 14
|
length = 14
|
||||||
elif self._type == 'hostname':
|
elif self._type == 'hostname':
|
||||||
|
@ -1004,8 +1008,9 @@ class DomainnameOption(Option):
|
||||||
else:
|
else:
|
||||||
extrachar = '\.'
|
extrachar = '\.'
|
||||||
end = '+[a-z]*'
|
end = '+[a-z]*'
|
||||||
self._domain_re = re.compile(r'^(?:[a-z\d][a-z\d\-{0}]{{,{1}}}{2}){3}$'
|
self._domain_re = re.compile(r'^(?:[a-z{0}][a-z\d\-{1}]{{,{2}}}{3}){4}$'
|
||||||
''.format(extrachar, length, extrachar_mandatory, end))
|
''.format(allow_number, extrachar, length,
|
||||||
|
extrachar_mandatory, end))
|
||||||
super(DomainnameOption, self).__init__(name, doc, default=default,
|
super(DomainnameOption, self).__init__(name, doc, default=default,
|
||||||
default_multi=default_multi,
|
default_multi=default_multi,
|
||||||
callback=callback,
|
callback=callback,
|
||||||
|
|
Loading…
Reference in New Issue