diff --git a/CHANGES b/CHANGES index 379eee9398..0c30e46b98 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +5060. [bug] GID, UID and UINFO could not be loaded using unknown + record format. [GL #627] + 5059. [bug] Display a per-view list of zones in the web interface. [GL #427] diff --git a/bin/tests/system/genzone.sh b/bin/tests/system/genzone.sh index fac51f7d29..cdd09a5623 100644 --- a/bin/tests/system/genzone.sh +++ b/bin/tests/system/genzone.sh @@ -370,9 +370,14 @@ csync02 CSYNC 0 0 spf01 SPF "v=spf1 -all" spf02 SPF "v=spf1" " -all" -; type 100 (UINFO - not implemented by BIND) -; type 101 (UID - not implemented by BIND) -; type 102 (GID - not implemented by BIND) +; type 100 (UINFO - not implemented by BIND - unknown record format only) +uinfo01 UINFO \# 1 01 + +; type 101 (UID - not implemented by BIND - unknown record format only) +uid01 UID \# 1 02 + +; type 102 (GID - not implemented by BIND - unknown record format only) +gid01 GID \# 1 03 ; type 103 (UNSPEC - XXXMUKS TODO - this has some weird encoding - see btoa_totext()) diff --git a/bin/tests/system/xfer/dig1.good b/bin/tests/system/xfer/dig1.good index f45627ab70..2ac04d3e36 100644 --- a/bin/tests/system/xfer/dig1.good +++ b/bin/tests/system/xfer/dig1.good @@ -43,6 +43,7 @@ ds02.example. 3600 IN NS ns43.example. ds02.example. 3600 IN DS 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390 eui48.example. 3600 IN EUI48 01-23-45-67-89-ab eui64.example. 3600 IN EUI64 01-23-45-67-89-ab-cd-ef +gid01.example. 3600 IN GID \# 1 03 gpos01.example. 3600 IN GPOS "-22.6882" "116.8652" "250.0" gpos02.example. 3600 IN GPOS "" "" "" hinfo01.example. 3600 IN HINFO "Generic PC clone" "NetBSD-1.4" @@ -146,6 +147,8 @@ txt12.example. 3600 IN TXT "\"foo\"" txt13.example. 3600 IN TXT "foo;" txt14.example. 3600 IN TXT "foo;" txt15.example. 3600 IN TXT "bar\\;" +uid01.example. 3600 IN UID \# 1 02 +uinfo01.example. 3600 IN UINFO \# 1 01 uri01.example. 3600 IN URI 10 20 "https://www.isc.org/" uri02.example. 3600 IN URI 30 40 "https://www.isc.org/HolyCowThisSureIsAVeryLongURIRecordIDontEvenKnowWhatSomeoneWouldEverWantWithSuchAThingButTheSpecificationRequiresThatWesupportItSoHereWeGoTestingItLaLaLaLaLaLaLaSeriouslyThoughWhyWouldYouEvenConsiderUsingAURIThisLongItSeemsLikeASillyIdeaButEnhWhatAreYouGonnaDo/" uri03.example. 3600 IN URI 30 40 "" diff --git a/bin/tests/system/xfer/dig2.good b/bin/tests/system/xfer/dig2.good index 8b1751ea48..2a3856bbbe 100644 --- a/bin/tests/system/xfer/dig2.good +++ b/bin/tests/system/xfer/dig2.good @@ -43,6 +43,7 @@ ds02.example. 3600 IN NS ns43.example. ds02.example. 3600 IN DS 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390 eui48.example. 3600 IN EUI48 01-23-45-67-89-ab eui64.example. 3600 IN EUI64 01-23-45-67-89-ab-cd-ef +gid01.example. 3600 IN GID \# 1 03 gpos01.example. 3600 IN GPOS "-22.6882" "116.8652" "250.0" gpos02.example. 3600 IN GPOS "" "" "" hinfo01.example. 3600 IN HINFO "Generic PC clone" "NetBSD-1.4" @@ -146,6 +147,8 @@ txt12.example. 3600 IN TXT "\"foo\"" txt13.example. 3600 IN TXT "foo;" txt14.example. 3600 IN TXT "foo;" txt15.example. 3600 IN TXT "bar\\;" +uid01.example. 3600 IN UID \# 1 02 +uinfo01.example. 3600 IN UINFO \# 1 01 uri01.example. 3600 IN URI 10 20 "https://www.isc.org/" uri02.example. 3600 IN URI 30 40 "https://www.isc.org/HolyCowThisSureIsAVeryLongURIRecordIDontEvenKnowWhatSomeoneWouldEverWantWithSuchAThingButTheSpecificationRequiresThatWesupportItSoHereWeGoTestingItLaLaLaLaLaLaLaSeriouslyThoughWhyWouldYouEvenConsiderUsingAURIThisLongItSeemsLikeASillyIdeaButEnhWhatAreYouGonnaDo/" uri03.example. 3600 IN URI 30 40 "" diff --git a/lib/dns/gen.c b/lib/dns/gen.c index 885b7d659d..248d13e180 100644 --- a/lib/dns/gen.c +++ b/lib/dns/gen.c @@ -689,7 +689,8 @@ main(int argc, char **argv) { "DNS_RDATATYPEATTR_NOTQUESTION" #define METAQUESTIONONLY "DNS_RDATATYPEATTR_META | " \ "DNS_RDATATYPEATTR_QUESTIONONLY" -#define RESERVED "DNS_RDATATYPEATTR_RESERVED" +#define RESERVEDNAME "0" +#define RESERVED "DNS_RDATATYPEATTR_RESERVED" /* * Add in reserved/special types. This will let us @@ -698,9 +699,9 @@ main(int argc, char **argv) { insert_into_typenames(0, "reserved0", RESERVED); insert_into_typenames(31, "eid", RESERVED); insert_into_typenames(32, "nimloc", RESERVED); - insert_into_typenames(100, "uinfo", RESERVED); - insert_into_typenames(101, "uid", RESERVED); - insert_into_typenames(102, "gid", RESERVED); + insert_into_typenames(100, "uinfo", RESERVEDNAME); + insert_into_typenames(101, "uid", RESERVEDNAME); + insert_into_typenames(102, "gid", RESERVEDNAME); insert_into_typenames(251, "ixfr", METAQUESTIONONLY); insert_into_typenames(252, "axfr", METAQUESTIONONLY); insert_into_typenames(253, "mailb", METAQUESTIONONLY);