Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
BIND
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
633
Issues
633
List
Boards
Labels
Service Desk
Milestones
Merge Requests
104
Merge Requests
104
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ISC Open Source Projects
BIND
Commits
0b8d530c
Commit
0b8d530c
authored
Jan 04, 2019
by
Mark Andrews
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ensure base64/base32/hex fields in DNS records that should be non-empty are.
(cherry picked from commit
5e8b772a
)
parent
83ce05b9
Pipeline
#8599
passed with stages
in 20 minutes and 34 seconds
Changes
27
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
165 additions
and
60 deletions
+165
-60
CHANGES
CHANGES
+3
-0
bin/tests/system/checkzone/tests.sh
bin/tests/system/checkzone/tests.sh
+4
-3
bin/tests/system/checkzone/zones/bad-dhcid.db
bin/tests/system/checkzone/zones/bad-dhcid.db
+11
-0
bin/tests/system/checkzone/zones/bad-eid.db
bin/tests/system/checkzone/zones/bad-eid.db
+11
-0
bin/tests/system/checkzone/zones/bad-nimloc.db
bin/tests/system/checkzone/zones/bad-nimloc.db
+11
-0
bin/tests/system/checkzone/zones/crashzone.db
bin/tests/system/checkzone/zones/crashzone.db
+1
-1
lib/dns/rdata.c
lib/dns/rdata.c
+10
-7
lib/dns/rdata/generic/cert_37.c
lib/dns/rdata/generic/cert_37.c
+1
-1
lib/dns/rdata/generic/ds_43.c
lib/dns/rdata/generic/ds_43.c
+1
-1
lib/dns/rdata/generic/ipseckey_45.c
lib/dns/rdata/generic/ipseckey_45.c
+1
-1
lib/dns/rdata/generic/key_25.c
lib/dns/rdata/generic/key_25.c
+1
-1
lib/dns/rdata/generic/keydata_65533.c
lib/dns/rdata/generic/keydata_65533.c
+1
-1
lib/dns/rdata/generic/openpgpkey_61.c
lib/dns/rdata/generic/openpgpkey_61.c
+1
-1
lib/dns/rdata/generic/rrsig_46.c
lib/dns/rdata/generic/rrsig_46.c
+1
-1
lib/dns/rdata/generic/sig_24.c
lib/dns/rdata/generic/sig_24.c
+1
-1
lib/dns/rdata/generic/sshfp_44.c
lib/dns/rdata/generic/sshfp_44.c
+1
-1
lib/dns/rdata/generic/tlsa_52.c
lib/dns/rdata/generic/tlsa_52.c
+1
-1
lib/dns/rdata/in_1/dhcid_49.c
lib/dns/rdata/in_1/dhcid_49.c
+1
-1
lib/dns/rdata/in_1/eid_31.c
lib/dns/rdata/in_1/eid_31.c
+1
-1
lib/dns/rdata/in_1/nimloc_32.c
lib/dns/rdata/in_1/nimloc_32.c
+1
-1
lib/isc/base32.c
lib/isc/base32.c
+17
-5
lib/isc/base64.c
lib/isc/base64.c
+17
-5
lib/isc/hex.c
lib/isc/hex.c
+17
-5
lib/isc/include/isc/base32.h
lib/isc/include/isc/base32.h
+15
-6
lib/isc/include/isc/base64.h
lib/isc/include/isc/base64.h
+16
-8
lib/isc/include/isc/hex.h
lib/isc/include/isc/hex.h
+16
-7
util/copyrights
util/copyrights
+3
-0
No files found.
CHANGES
View file @
0b8d530c
5126. [bug] Named incorrectly accepted empty base64 and hex encoded
fields when reading master files. [GL #807]
5125. [bug] Allow for up to 100 records or 64k of data when caching
a negative response. [GL #804]
...
...
bin/tests/system/checkzone/tests.sh
View file @
0b8d530c
...
...
@@ -36,15 +36,16 @@ done
for
db
in
zones/bad
*
.db
do
echo_i
"checking
$db
(
$n
)"
ret
=
0
ret
=
0
v
=
0
case
$db
in
zones/bad-dns-sd-reverse.db
)
$CHECKZONE
-k
fail
-i
local
0.0.0.0.in-addr.arpa
$db
>
test.out.
$n
2>&1
&&
ret
=
1
$CHECKZONE
-k
fail
-i
local
0.0.0.0.in-addr.arpa
$db
>
test.out.
$n
2>&1
||
v
=
$?
;;
*
)
$CHECKZONE
-i
local
example
$db
>
test.out.
$n
2>&1
&&
ret
=
1
$CHECKZONE
-i
local
example
$db
>
test.out.
$n
2>&1
||
v
=
$?
;;
esac
test
$v
=
1
||
ret
=
1
n
=
`
expr
$n
+ 1
`
if
[
$ret
!=
0
]
;
then
echo_i
"failed"
;
fi
status
=
`
expr
$status
+
$ret
`
...
...
bin/tests/system/checkzone/zones/bad-dhcid.db
0 → 100644
View file @
0b8d530c
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;
; See the COPYRIGHT file distributed with this work for additional
; information regarding copyright ownership.
@ 3600 DHCID
@ 3600 DHCID
bin/tests/system/checkzone/zones/bad-eid.db
0 → 100644
View file @
0b8d530c
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;
; See the COPYRIGHT file distributed with this work for additional
; information regarding copyright ownership.
@ EID
@ EID
bin/tests/system/checkzone/zones/bad-nimloc.db
0 → 100644
View file @
0b8d530c
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;
; See the COPYRIGHT file distributed with this work for additional
; information regarding copyright ownership.
@ 3600 NIMLOC
@ 3600 NIMLOC
bin/tests/system/checkzone/zones/crashzone.db
View file @
0b8d530c
...
...
@@ -14,7 +14,7 @@ dyn.example.net. 7200 IN SOA ns1.example.net. hostmaster.example.net. (
1209600 ; expire (2 weeks)
7200 ; minimum (2 hours)
)
7200 RRSIG SOA 7 3 7200 2010 20100225214229 30323 dyn.example.net.
7200 RRSIG SOA 7 3 7200 2010 20100225214229 30323 dyn.example.net.
MuyI
7200 NS ns1.example.net.
7200 NS ns2.example.net.
3600 RRSIG DNSKEY 7 3 3600 20100227180048 (
...
...
lib/dns/rdata.c
View file @
0b8d530c
...
...
@@ -888,13 +888,16 @@ unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t type,
if
(
result
!=
ISC_R_SUCCESS
)
return
(
result
);
result
=
isc_hex_tobuffer
(
lexer
,
buf
,
(
unsigned
int
)
token
.
value
.
as_ulong
);
if
(
result
!=
ISC_R_SUCCESS
)
goto
failure
;
if
(
isc_buffer_usedlength
(
buf
)
!=
token
.
value
.
as_ulong
)
{
result
=
ISC_R_UNEXPECTEDEND
;
goto
failure
;
if
(
token
.
value
.
as_ulong
!=
0U
)
{
result
=
isc_hex_tobuffer
(
lexer
,
buf
,
(
unsigned
int
)
token
.
value
.
as_ulong
);
if
(
result
!=
ISC_R_SUCCESS
)
{
goto
failure
;
}
if
(
isc_buffer_usedlength
(
buf
)
!=
token
.
value
.
as_ulong
)
{
result
=
ISC_R_UNEXPECTEDEND
;
goto
failure
;
}
}
if
(
dns_rdatatype_isknown
(
type
))
{
...
...
lib/dns/rdata/generic/cert_37.c
View file @
0b8d530c
...
...
@@ -55,7 +55,7 @@ fromtext_cert(ARGS_FROMTEXT) {
RETTOK
(
dns_secalg_fromtext
(
&
secalg
,
&
token
.
value
.
as_textregion
));
RETERR
(
mem_tobuffer
(
target
,
&
secalg
,
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/ds_43.c
View file @
0b8d530c
...
...
@@ -82,7 +82,7 @@ generic_fromtext_ds(ARGS_FROMTEXT) {
length
=
ISC_SHA384_DIGESTLENGTH
;
break
;
default:
length
=
-
1
;
length
=
-
2
;
break
;
}
return
(
isc_hex_tobuffer
(
lexer
,
target
,
length
));
...
...
lib/dns/rdata/generic/ipseckey_45.c
View file @
0b8d530c
...
...
@@ -108,7 +108,7 @@ fromtext_ipseckey(ARGS_FROMTEXT) {
/*
* Public key.
*/
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/key_25.c
View file @
0b8d530c
...
...
@@ -55,7 +55,7 @@ generic_fromtext_key(ARGS_FROMTEXT) {
if
((
flags
&
0xc000
)
==
0xc000
)
return
(
ISC_R_SUCCESS
);
result
=
isc_base64_tobuffer
(
lexer
,
target
,
-
1
);
result
=
isc_base64_tobuffer
(
lexer
,
target
,
-
2
);
if
(
result
!=
ISC_R_SUCCESS
)
return
(
result
);
...
...
lib/dns/rdata/generic/keydata_65533.c
View file @
0b8d530c
...
...
@@ -76,7 +76,7 @@ fromtext_keydata(ARGS_FROMTEXT) {
if
((
flags
&
0xc000
)
==
0xc000
)
return
(
ISC_R_SUCCESS
);
result
=
isc_base64_tobuffer
(
lexer
,
target
,
-
1
);
result
=
isc_base64_tobuffer
(
lexer
,
target
,
-
2
);
if
(
result
!=
ISC_R_SUCCESS
)
return
(
result
);
...
...
lib/dns/rdata/generic/openpgpkey_61.c
View file @
0b8d530c
...
...
@@ -28,7 +28,7 @@ fromtext_openpgpkey(ARGS_FROMTEXT) {
/*
* Keyring.
*/
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/rrsig_46.c
View file @
0b8d530c
...
...
@@ -140,7 +140,7 @@ fromtext_rrsig(ARGS_FROMTEXT) {
/*
* Sig.
*/
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/sig_24.c
View file @
0b8d530c
...
...
@@ -112,7 +112,7 @@ fromtext_sig(ARGS_FROMTEXT) {
/*
* Sig.
*/
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/sshfp_44.c
View file @
0b8d530c
...
...
@@ -50,7 +50,7 @@ fromtext_sshfp(ARGS_FROMTEXT) {
/*
* Digest.
*/
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/generic/tlsa_52.c
View file @
0b8d530c
...
...
@@ -56,7 +56,7 @@ generic_fromtext_tlsa(ARGS_FROMTEXT) {
/*
* Certificate Association Data.
*/
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/in_1/dhcid_49.c
View file @
0b8d530c
...
...
@@ -29,7 +29,7 @@ fromtext_in_dhcid(ARGS_FROMTEXT) {
UNUSED
(
options
);
UNUSED
(
callbacks
);
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_base64_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/in_1/eid_31.c
View file @
0b8d530c
...
...
@@ -28,7 +28,7 @@ fromtext_in_eid(ARGS_FROMTEXT) {
UNUSED
(
rdclass
);
UNUSED
(
callbacks
);
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/dns/rdata/in_1/nimloc_32.c
View file @
0b8d530c
...
...
@@ -28,7 +28,7 @@ fromtext_in_nimloc(ARGS_FROMTEXT) {
UNUSED
(
rdclass
);
UNUSED
(
callbacks
);
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
1
));
return
(
isc_hex_tobuffer
(
lexer
,
target
,
-
2
));
}
static
inline
isc_result_t
...
...
lib/isc/base32.c
View file @
0b8d530c
...
...
@@ -282,31 +282,43 @@ static isc_result_t
base32_tobuffer
(
isc_lex_t
*
lexer
,
const
char
base
[],
bool
pad
,
isc_buffer_t
*
target
,
int
length
)
{
unsigned
int
before
,
after
;
base32_decode_ctx_t
ctx
;
isc_textregion_t
*
tr
;
isc_token_t
token
;
bool
eol
;
REQUIRE
(
length
>=
-
2
);
base32_decode_init
(
&
ctx
,
length
,
base
,
pad
,
target
);
before
=
isc_buffer_usedlength
(
target
);
while
(
!
ctx
.
seen_end
&&
(
ctx
.
length
!=
0
))
{
unsigned
int
i
;
if
(
length
>
0
)
if
(
length
>
0
)
{
eol
=
false
;
else
}
else
{
eol
=
true
;
}
RETERR
(
isc_lex_getmastertoken
(
lexer
,
&
token
,
isc_tokentype_string
,
eol
));
if
(
token
.
type
!=
isc_tokentype_string
)
if
(
token
.
type
!=
isc_tokentype_string
)
{
break
;
}
tr
=
&
token
.
value
.
as_textregion
;
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
{
RETERR
(
base32_decode_char
(
&
ctx
,
tr
->
base
[
i
]));
}
}
if
(
ctx
.
length
<
0
&&
!
ctx
.
seen_end
)
after
=
isc_buffer_usedlength
(
target
);
if
(
ctx
.
length
<
0
&&
!
ctx
.
seen_end
)
{
isc_lex_ungettoken
(
lexer
,
&
token
);
}
RETERR
(
base32_decode_finish
(
&
ctx
));
if
(
length
==
-
2
&&
before
==
after
)
{
return
(
ISC_R_UNEXPECTEDEND
);
}
return
(
ISC_R_SUCCESS
);
}
...
...
lib/isc/base64.c
View file @
0b8d530c
...
...
@@ -173,31 +173,43 @@ base64_decode_finish(base64_decode_ctx_t *ctx) {
isc_result_t
isc_base64_tobuffer
(
isc_lex_t
*
lexer
,
isc_buffer_t
*
target
,
int
length
)
{
unsigned
int
before
,
after
;
base64_decode_ctx_t
ctx
;
isc_textregion_t
*
tr
;
isc_token_t
token
;
bool
eol
;
REQUIRE
(
length
>=
-
2
);
base64_decode_init
(
&
ctx
,
length
,
target
);
before
=
isc_buffer_usedlength
(
target
);
while
(
!
ctx
.
seen_end
&&
(
ctx
.
length
!=
0
))
{
unsigned
int
i
;
if
(
length
>
0
)
if
(
length
>
0
)
{
eol
=
false
;
else
}
else
{
eol
=
true
;
}
RETERR
(
isc_lex_getmastertoken
(
lexer
,
&
token
,
isc_tokentype_string
,
eol
));
if
(
token
.
type
!=
isc_tokentype_string
)
if
(
token
.
type
!=
isc_tokentype_string
)
{
break
;
}
tr
=
&
token
.
value
.
as_textregion
;
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
{
RETERR
(
base64_decode_char
(
&
ctx
,
tr
->
base
[
i
]));
}
}
if
(
ctx
.
length
<
0
&&
!
ctx
.
seen_end
)
after
=
isc_buffer_usedlength
(
target
);
if
(
ctx
.
length
<
0
&&
!
ctx
.
seen_end
)
{
isc_lex_ungettoken
(
lexer
,
&
token
);
}
RETERR
(
base64_decode_finish
(
&
ctx
));
if
(
length
==
-
2
&&
before
==
after
)
{
return
(
ISC_R_UNEXPECTEDEND
);
}
return
(
ISC_R_SUCCESS
);
}
...
...
lib/isc/hex.c
View file @
0b8d530c
...
...
@@ -121,31 +121,43 @@ hex_decode_finish(hex_decode_ctx_t *ctx) {
isc_result_t
isc_hex_tobuffer
(
isc_lex_t
*
lexer
,
isc_buffer_t
*
target
,
int
length
)
{
unsigned
int
before
,
after
;
hex_decode_ctx_t
ctx
;
isc_textregion_t
*
tr
;
isc_token_t
token
;
bool
eol
;
REQUIRE
(
length
>=
-
2
);
hex_decode_init
(
&
ctx
,
length
,
target
);
before
=
isc_buffer_usedlength
(
target
);
while
(
ctx
.
length
!=
0
)
{
unsigned
int
i
;
if
(
length
>
0
)
if
(
length
>
0
)
{
eol
=
false
;
else
}
else
{
eol
=
true
;
}
RETERR
(
isc_lex_getmastertoken
(
lexer
,
&
token
,
isc_tokentype_string
,
eol
));
if
(
token
.
type
!=
isc_tokentype_string
)
if
(
token
.
type
!=
isc_tokentype_string
)
{
break
;
}
tr
=
&
token
.
value
.
as_textregion
;
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
for
(
i
=
0
;
i
<
tr
->
length
;
i
++
)
{
RETERR
(
hex_decode_char
(
&
ctx
,
tr
->
base
[
i
]));
}
}
if
(
ctx
.
length
<
0
)
after
=
isc_buffer_usedlength
(
target
);
if
(
ctx
.
length
<
0
)
{
isc_lex_ungettoken
(
lexer
,
&
token
);
}
RETERR
(
hex_decode_finish
(
&
ctx
));
if
(
length
==
-
2
&&
before
==
after
)
{
return
(
ISC_R_UNEXPECTEDEND
);
}
return
(
ISC_R_SUCCESS
);
}
...
...
lib/isc/include/isc/base32.h
View file @
0b8d530c
...
...
@@ -96,18 +96,27 @@ isc_result_t
isc_base32hexnp_tobuffer
(
isc_lex_t
*
lexer
,
isc_buffer_t
*
target
,
int
length
);
/*!<
* \brief Convert text encoded in base32, base32hex, or base32hex
* non-padded from a lexer context into data.
* non-padded from a lexer context into `target`. If 'length' is
* non-negative, it is the expected number of encoded octets to convert.
*
* If 'length' is -1 then 0 or more encoded octets are expected.
* If 'length' is -2 then 1 or more encoded octets are expected.
*
* Returns:
*\li #ISC_R_BADBASE32 -- invalid base32 encoding.
*\li #ISC_R_UNEXPECTEDEND: the text does not contain the expected
* number of encoded octets.
*
* Requires:
*\li 'lex' is a valid lexer context
*\li 'lex
er
' is a valid lexer context
*\li 'target' is a buffer containing binary data
*\li 'length' is
an integer
*\li 'length' is
-2, -1, or non-negative
*
* Ensures:
*\li target will contain the data represented by the base32 encoded
* string parsed by the lexer. No more than
length bytes will be read,
*
if length is positive. The 'used' pointer in target will be
* advanced as necessary.
* string parsed by the lexer. No more than
`length` octets will
*
be read, if `length` is non-negative. The 'used' pointer in
*
'target' will be
advanced as necessary.
*/
isc_result_t
...
...
lib/isc/include/isc/base64.h
View file @
0b8d530c
...
...
@@ -71,22 +71,30 @@ isc_base64_decodestring(const char *cstr, isc_buffer_t *target);
isc_result_t
isc_base64_tobuffer
(
isc_lex_t
*
lexer
,
isc_buffer_t
*
target
,
int
length
);
/*!<
* \brief Convert base64 encoded text from a lexer context into data.
* \brief Convert base64 encoded text from a lexer context into
* `target`. If 'length' is non-negative, it is the expected number of
* encoded octets to convert.
*
* If 'length' is -1 then 0 or more encoded octets are expected.
* If 'length' is -2 then 1 or more encoded octets are expected.
*
* Returns:
*\li #ISC_R_BADBASE64 -- invalid base64 encoding.
*\li #ISC_R_UNEXPECTEDEND: the text does not contain the expected
* number of encoded octets.
*
* Requires:
*\li 'lex' is a valid lexer context
*\li 'lex
er
' is a valid lexer context
*\li 'target' is a buffer containing binary data
*\li 'length' is
an integer
*\li 'length' is
-2, -1, or non-negative
*
* Ensures:
*\li target will contain the data represented by the base64 encoded
* string parsed by the lexer. No more than
length bytes will be read,
*
if length is positive. The 'used' pointer in target will be
* advanced as necessary.
* string parsed by the lexer. No more than
`length` octets will
*
be read, if `length` is non-negative. The 'used' pointer in
*
'target' will be
advanced as necessary.
*/
ISC_LANG_ENDDECLS
#endif
/* ISC_BASE64_H */
lib/isc/include/isc/hex.h
View file @
0b8d530c
...
...
@@ -71,21 +71,30 @@ isc_hex_decodestring(const char *cstr, isc_buffer_t *target);
isc_result_t
isc_hex_tobuffer
(
isc_lex_t
*
lexer
,
isc_buffer_t
*
target
,
int
length
);
/*!<
* \brief Convert hex encoded text from a lexer context into data.
* \brief Convert hex-encoded text from a lexer context into
* `target`. If 'length' is non-negative, it is the expected number of
* encoded octets to convert.
*
* If 'length' is -1 then 0 or more encoded octets are expected.
* If 'length' is -2 then 1 or more encoded octets are expected.
*
* Returns:
*\li #ISC_R_BADHEX -- invalid hex encoding
*\li #ISC_R_UNEXPECTEDEND: the text does not contain the expected
* number of encoded octets.
*
* Requires:
*\li 'lex' is a valid lexer context
*\li 'lex
er
' is a valid lexer context
*\li 'target' is a buffer containing binary data
*\li 'length' is
an integer
*\li 'length' is
-2, -1, or non-negative
*
* Ensures:
*\li target will contain the data represented by the hex encoded
* string parsed by the lexer. No more than
length bytes will be read,
*
if length is positive. The 'used' pointer in target will be
* advanced as necessary.
* string parsed by the lexer. No more than
`length` octets will
*
be read, if `length` is non-negative. The 'used' pointer in
*
'target' will be
advanced as necessary.
*/
ISC_LANG_ENDDECLS
#endif
/* ISC_HEX_H */
util/copyrights
View file @
0b8d530c
...
...
@@ -778,8 +778,11 @@
./bin/tests/system/checkzone/zones/.gitattributes X 2015,2018,2019
./bin/tests/system/checkzone/zones/bad-badclass.raw X 2015,2018,2019
./bin/tests/system/checkzone/zones/bad-caa-rr.db ZONE 2015,2016,2018,2019
./bin/tests/system/checkzone/zones/bad-dhcid.db ZONE 2019
./bin/tests/system/checkzone/zones/bad-dns-sd-reverse.db ZONE 2015,2016,2018,2019
./bin/tests/system/checkzone/zones/bad-eid.db ZONE 2019
./bin/tests/system/checkzone/zones/bad-generate-tkey.db ZONE 2018,2019
./bin/tests/system/checkzone/zones/bad-nimloc.db ZONE 2019
./bin/tests/system/checkzone/zones/bad-nsap-empty.db ZONE 2015,2016,2018,2019
./bin/tests/system/checkzone/zones/bad-nsap-odd-nibble.db ZONE 2015,2016,2018,2019
./bin/tests/system/checkzone/zones/bad-nsec3-padded.db ZONE 2014,2016,2018,2019
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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