Lines 104-133
def validate_zonename(zonename):
|
Link Here
|
---|
|
104 |
'foo' |
104 |
'foo' |
105 |
>>> validate_zonename('foo.bar') |
105 |
>>> validate_zonename('foo.bar') |
106 |
'foo.bar' |
106 |
'foo.bar' |
107 |
>>> validate_zonename('foo.zone') # doctest: +IGNORE_EXCEPTION_DETAIL |
107 |
>>> validate_zonename('foo.zone') # doctest: +ELLIPSIS |
108 |
Traceback (most recent call last): |
108 |
Traceback (most recent call last): |
109 |
... |
109 |
... |
110 |
InvalidZone: |
110 |
InvalidZone: ... |
111 |
>>> validate_zonename('foo.proxy') # doctest: +IGNORE_EXCEPTION_DETAIL |
111 |
>>> validate_zonename('foo.proxy') # doctest: +ELLIPSIS |
112 |
Traceback (most recent call last): |
112 |
Traceback (most recent call last): |
113 |
... |
113 |
... |
114 |
InvalidZone: |
114 |
InvalidZone: ... |
115 |
>>> validate_zonename('.') # doctest: +IGNORE_EXCEPTION_DETAIL |
115 |
>>> validate_zonename('.') # doctest: +ELLIPSIS |
116 |
Traceback (most recent call last): |
116 |
Traceback (most recent call last): |
117 |
... |
117 |
... |
118 |
InvalidZone: |
118 |
InvalidZone: ... |
119 |
>>> validate_zonename('..') # doctest: +IGNORE_EXCEPTION_DETAIL |
119 |
>>> validate_zonename('..') # doctest: +ELLIPSIS |
120 |
Traceback (most recent call last): |
120 |
Traceback (most recent call last): |
121 |
... |
121 |
... |
122 |
InvalidZone: |
122 |
InvalidZone: ... |
123 |
>>> validate_zonename('fo..o') # doctest: +IGNORE_EXCEPTION_DETAIL |
123 |
>>> validate_zonename('fo..o') # doctest: +ELLIPSIS |
124 |
Traceback (most recent call last): |
124 |
Traceback (most recent call last): |
125 |
... |
125 |
... |
126 |
InvalidZone: |
126 |
InvalidZone: ... |
127 |
>>> validate_zonename('fo"bar"o') # doctest: +IGNORE_EXCEPTION_DETAIL |
127 |
>>> validate_zonename('fo"bar"o') # doctest: +ELLIPSIS |
128 |
Traceback (most recent call last): |
128 |
Traceback (most recent call last): |
129 |
... |
129 |
... |
130 |
InvalidZone: |
130 |
InvalidZone: ... |
131 |
""" |
131 |
""" |
132 |
if not zonename: |
132 |
if not zonename: |
133 |
raise InvalidZone('empty zonename not allowed') |
133 |
raise InvalidZone('empty zonename not allowed') |
Lines 135-141
def validate_zonename(zonename):
|
Link Here
|
---|
|
135 |
raise InvalidZone('zone name %r contains invalid characters' % (zonename,)) |
135 |
raise InvalidZone('zone name %r contains invalid characters' % (zonename,)) |
136 |
if zonename.endswith('.zone') or zonename.endswith('.proxy'): |
136 |
if zonename.endswith('.zone') or zonename.endswith('.proxy'): |
137 |
raise InvalidZone('.zone or .proxy TLD are not supported.') |
137 |
raise InvalidZone('.zone or .proxy TLD are not supported.') |
138 |
if '..' in zonename or zonename in ('.', '..'): |
138 |
if '..' in zonename or zonename == '.': |
139 |
raise InvalidZone('zone name must not be ".", ".." or contain "..".') |
139 |
raise InvalidZone('zone name must not be ".", ".." or contain "..".') |
140 |
if zonename in ('0.in-addr.arpa', '127.in-addr.arpa', '255.in-addr.arpa'): |
140 |
if zonename in ('0.in-addr.arpa', '127.in-addr.arpa', '255.in-addr.arpa'): |
141 |
raise InvalidZone('zone must not be 0, 127, 255.') |
141 |
raise InvalidZone('zone must not be 0, 127, 255.') |