Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
BIND
Commits
dc3912f3
Commit
dc3912f3
authored
Aug 22, 2015
by
Mark Andrews
Browse files
4190. [protocol] Accept Active Diretory gc._msdcs.<forest> name as
valid with check-names. <forest> still needs to be LDH. [RT #40399]
parent
7d0dfa63
Changes
8
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
dc3912f3
4190. [protocol] Accept Active Diretory gc._msdcs.<forest> name as
valid with check-names. <forest> still needs to be
LDH. [RT #40399]
4189. [cleanup] Don't exit on overly long tokens in named.conf.
[RT #40418]
...
...
bin/tests/system/checkzone/tests.sh
View file @
dc3912f3
...
...
@@ -22,7 +22,14 @@ for db in zones/good*.db
do
echo
"I:checking
$db
(
$n
)"
ret
=
0
$CHECKZONE
-i
local
example
$db
>
test.out.
$n
2>&1
||
ret
=
1
case
$db
in
zones/good-gc-msdcs.db
)
$CHECKZONE
-k
fail
-i
local
example
$db
>
test.out.
$n
2>&1
||
ret
=
1
;;
*
)
$CHECKZONE
-i
local
example
$db
>
test.out.
$n
2>&1
||
ret
=
1
;;
esac
n
=
`
expr
$n
+ 1
`
if
[
$ret
!=
0
]
;
then
echo
"I:failed"
;
fi
status
=
`
expr
$status
+
$ret
`
...
...
bin/tests/system/checkzone/zones/good-gc-msdcs.db
0 → 100644
View file @
dc3912f3
; Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 600
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
NS ns
ns A 192.0.2.1
gc._msdcs A 192.0.2.2
lib/dns/include/dns/name.h
View file @
dc3912f3
...
...
@@ -995,10 +995,6 @@ dns_name_split(dns_name_t *name, unsigned int suffixlabels,
*
*\li 'suffix' is a valid name or NULL, and cannot be read-only.
*
*\li If non-NULL, 'prefix' and 'suffix' must have dedicated buffers.
*
*\li 'prefix' and 'suffix' cannot point to the same buffer.
*
* Ensures:
*
*\li On success:
...
...
lib/dns/name.c
View file @
dc3912f3
...
...
@@ -2155,11 +2155,9 @@ dns_name_split(dns_name_t *name, unsigned int suffixlabels,
REQUIRE
(
prefix
!=
NULL
||
suffix
!=
NULL
);
REQUIRE
(
prefix
==
NULL
||
(
VALID_NAME
(
prefix
)
&&
prefix
->
buffer
!=
NULL
&&
BINDABLE
(
prefix
)));
REQUIRE
(
suffix
==
NULL
||
(
VALID_NAME
(
suffix
)
&&
suffix
->
buffer
!=
NULL
&&
BINDABLE
(
suffix
)));
splitlabel
=
name
->
labels
-
suffixlabels
;
...
...
lib/dns/rdata.c
View file @
dc3912f3
...
...
@@ -224,6 +224,21 @@ unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
/*% IPv6 Address Size */
#define NS_LOCATORSZ 8
/*
* Active Diretory gc._msdcs.<forest> prefix.
*/
static
unsigned
char
gc_msdcs_data
[]
=
"
\002
gc
\006
_msdcs"
;
static
unsigned
char
gc_msdcs_offset
[]
=
{
0
,
3
};
static
const
dns_name_t
gc_msdcs
=
{
DNS_NAME_MAGIC
,
gc_msdcs_data
,
10
,
2
,
DNS_NAMEATTR_READONLY
,
gc_msdcs_offset
,
NULL
,
{(
void
*
)
-
1
,
(
void
*
)
-
1
},
{
NULL
,
NULL
}
};
/*%
* convert presentation level address to network order binary form.
* \return
...
...
lib/dns/rdata/in_1/a_1.c
View file @
dc3912f3
...
...
@@ -210,6 +210,7 @@ digest_in_a(ARGS_DIGEST) {
static
inline
isc_boolean_t
checkowner_in_a
(
ARGS_CHECKOWNER
)
{
dns_name_t
prefix
,
suffix
;
REQUIRE
(
type
==
dns_rdatatype_a
);
REQUIRE
(
rdclass
==
dns_rdataclass_in
);
...
...
@@ -217,6 +218,19 @@ checkowner_in_a(ARGS_CHECKOWNER) {
UNUSED
(
type
);
UNUSED
(
rdclass
);
/*
* Handle Active Diretory gc._msdcs.<forest> name.
*/
if
(
dns_name_countlabels
(
name
)
>
2U
)
{
dns_name_init
(
&
prefix
,
NULL
);
dns_name_init
(
&
suffix
,
NULL
);
dns_name_split
(
name
,
dns_name_countlabels
(
name
)
-
2
,
&
prefix
,
&
suffix
);
if
(
dns_name_equal
(
&
gc_msdcs
,
&
prefix
)
&&
dns_name_ishostname
(
&
suffix
,
ISC_FALSE
))
return
(
ISC_TRUE
);
}
return
(
dns_name_ishostname
(
name
,
wildcard
));
}
...
...
lib/dns/rdata/in_1/aaaa_28.c
View file @
dc3912f3
...
...
@@ -207,6 +207,7 @@ digest_in_aaaa(ARGS_DIGEST) {
static
inline
isc_boolean_t
checkowner_in_aaaa
(
ARGS_CHECKOWNER
)
{
dns_name_t
prefix
,
suffix
;
REQUIRE
(
type
==
dns_rdatatype_aaaa
);
REQUIRE
(
rdclass
==
dns_rdataclass_in
);
...
...
@@ -214,6 +215,19 @@ checkowner_in_aaaa(ARGS_CHECKOWNER) {
UNUSED
(
type
);
UNUSED
(
rdclass
);
/*
* Handle Active Diretory gc._msdcs.<forest> name.
*/
if
(
dns_name_countlabels
(
name
)
>
2U
)
{
dns_name_init
(
&
prefix
,
NULL
);
dns_name_init
(
&
suffix
,
NULL
);
dns_name_split
(
name
,
dns_name_countlabels
(
name
)
-
2
,
&
prefix
,
&
suffix
);
if
(
dns_name_equal
(
&
gc_msdcs
,
&
prefix
)
&&
dns_name_ishostname
(
&
suffix
,
ISC_FALSE
))
return
(
ISC_TRUE
);
}
return
(
dns_name_ishostname
(
name
,
wildcard
));
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment