diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c index 415ecc9726..b8082cb435 100644 --- a/bin/dnssec/dnssec-signzone.c +++ b/bin/dnssec/dnssec-signzone.c @@ -451,10 +451,11 @@ expecttofindkey(dns_name_t *name) { case DNS_R_CNAME: case DNS_R_DNAME: return (false); + default: + dns_name_format(name, namestr, sizeof(namestr)); + fatal("failure looking for '%s DNSKEY' in database: %s", + namestr, isc_result_totext(result)); } - dns_name_format(name, namestr, sizeof(namestr)); - fatal("failure looking for '%s DNSKEY' in database: %s", namestr, - isc_result_totext(result)); /* NOTREACHED */ return (false); /* removes a warning */ } diff --git a/bin/named/server.c b/bin/named/server.c index 6cbcb85ebf..c622b2cf31 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -12799,6 +12799,8 @@ named_server_freeze(named_server_t *server, bool freeze, isc_lex_t *lex, "Check the logs to see the result."; result = ISC_R_SUCCESS; break; + default: + msg = "Unexpected error.\n"; } } } diff --git a/lib/dns/adb.c b/lib/dns/adb.c index fbe347d350..2209dc1d75 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -3928,6 +3928,8 @@ dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) { adbname->fetch6_err = FIND_ERR_SUCCESS; } break; + default: + (void)0; /* Suppress -Werror=switch. */ } if (dns_rdataset_isassociated(&rdataset)) { diff --git a/lib/dns/result_dns.c.in b/lib/dns/result_dns.c.in index fac03e9706..7278d468cc 100644 --- a/lib/dns/result_dns.c.in +++ b/lib/dns/result_dns.c.in @@ -1,18 +1,3 @@ -/* - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -/*! \file */ - -#include - static const char *dns_result_descriptions[DNS_R_NRESULTS] = { "label too long", /*%< 0 DNS_R_LABELTOOLONG */ "bad escape", /*%< 1 DNS_R_BADESCAPE */ diff --git a/lib/dns/result_dns.h.in b/lib/dns/result_dns.h.in index f7207a954b..48a15046a5 100644 --- a/lib/dns/result_dns.h.in +++ b/lib/dns/result_dns.h.in @@ -1,156 +1,132 @@ -/* - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -#ifndef ISC_DNS_RESULT_H -#define ISC_DNS_RESULT_H 1 - -/*! \file isc/result_dns.h */ - -#include - /* * DNS library result codes */ -#define DNS_R_LABELTOOLONG (ISC_RESULTCLASS_DNS + 0) -#define DNS_R_BADESCAPE (ISC_RESULTCLASS_DNS + 1) -/* - * Since we dropped the support of bitstring labels, deprecate the related - * result codes too. - * - #define DNS_R_BADBITSTRING (ISC_RESULTCLASS_DNS + 2) - #define DNS_R_BITSTRINGTOOLONG (ISC_RESULTCLASS_DNS + 3) - */ -#define DNS_R_EMPTYLABEL (ISC_RESULTCLASS_DNS + 4) -#define DNS_R_BADDOTTEDQUAD (ISC_RESULTCLASS_DNS + 5) -#define DNS_R_INVALIDNS (ISC_RESULTCLASS_DNS + 6) -#define DNS_R_UNKNOWN (ISC_RESULTCLASS_DNS + 7) -#define DNS_R_BADLABELTYPE (ISC_RESULTCLASS_DNS + 8) -#define DNS_R_BADPOINTER (ISC_RESULTCLASS_DNS + 9) -#define DNS_R_TOOMANYHOPS (ISC_RESULTCLASS_DNS + 10) -#define DNS_R_DISALLOWED (ISC_RESULTCLASS_DNS + 11) -#define DNS_R_EXTRATOKEN (ISC_RESULTCLASS_DNS + 12) -#define DNS_R_EXTRADATA (ISC_RESULTCLASS_DNS + 13) -#define DNS_R_TEXTTOOLONG (ISC_RESULTCLASS_DNS + 14) -#define DNS_R_NOTZONETOP (ISC_RESULTCLASS_DNS + 15) -#define DNS_R_SYNTAX (ISC_RESULTCLASS_DNS + 16) -#define DNS_R_BADCKSUM (ISC_RESULTCLASS_DNS + 17) -#define DNS_R_BADAAAA (ISC_RESULTCLASS_DNS + 18) -#define DNS_R_NOOWNER (ISC_RESULTCLASS_DNS + 19) -#define DNS_R_NOTTL (ISC_RESULTCLASS_DNS + 20) -#define DNS_R_BADCLASS (ISC_RESULTCLASS_DNS + 21) -#define DNS_R_NAMETOOLONG (ISC_RESULTCLASS_DNS + 22) -#define DNS_R_PARTIALMATCH (ISC_RESULTCLASS_DNS + 23) -#define DNS_R_NEWORIGIN (ISC_RESULTCLASS_DNS + 24) -#define DNS_R_UNCHANGED (ISC_RESULTCLASS_DNS + 25) -#define DNS_R_BADTTL (ISC_RESULTCLASS_DNS + 26) -#define DNS_R_NOREDATA (ISC_RESULTCLASS_DNS + 27) -#define DNS_R_CONTINUE (ISC_RESULTCLASS_DNS + 28) -#define DNS_R_DELEGATION (ISC_RESULTCLASS_DNS + 29) -#define DNS_R_GLUE (ISC_RESULTCLASS_DNS + 30) -#define DNS_R_DNAME (ISC_RESULTCLASS_DNS + 31) -#define DNS_R_CNAME (ISC_RESULTCLASS_DNS + 32) -#define DNS_R_BADDB (ISC_RESULTCLASS_DNS + 33) -#define DNS_R_ZONECUT (ISC_RESULTCLASS_DNS + 34) -#define DNS_R_BADZONE (ISC_RESULTCLASS_DNS + 35) -#define DNS_R_MOREDATA (ISC_RESULTCLASS_DNS + 36) -#define DNS_R_UPTODATE (ISC_RESULTCLASS_DNS + 37) -#define DNS_R_TSIGVERIFYFAILURE (ISC_RESULTCLASS_DNS + 38) -#define DNS_R_TSIGERRORSET (ISC_RESULTCLASS_DNS + 39) -#define DNS_R_SIGINVALID (ISC_RESULTCLASS_DNS + 40) -#define DNS_R_SIGEXPIRED (ISC_RESULTCLASS_DNS + 41) -#define DNS_R_SIGFUTURE (ISC_RESULTCLASS_DNS + 42) -#define DNS_R_KEYUNAUTHORIZED (ISC_RESULTCLASS_DNS + 43) -#define DNS_R_INVALIDTIME (ISC_RESULTCLASS_DNS + 44) -#define DNS_R_EXPECTEDTSIG (ISC_RESULTCLASS_DNS + 45) -#define DNS_R_UNEXPECTEDTSIG (ISC_RESULTCLASS_DNS + 46) -#define DNS_R_INVALIDTKEY (ISC_RESULTCLASS_DNS + 47) -#define DNS_R_HINT (ISC_RESULTCLASS_DNS + 48) -#define DNS_R_DROP (ISC_RESULTCLASS_DNS + 49) -#define DNS_R_NOTLOADED (ISC_RESULTCLASS_DNS + 50) -#define DNS_R_NCACHENXDOMAIN (ISC_RESULTCLASS_DNS + 51) -#define DNS_R_NCACHENXRRSET (ISC_RESULTCLASS_DNS + 52) -#define DNS_R_WAIT (ISC_RESULTCLASS_DNS + 53) -#define DNS_R_NOTVERIFIEDYET (ISC_RESULTCLASS_DNS + 54) -#define DNS_R_NOIDENTITY (ISC_RESULTCLASS_DNS + 55) -#define DNS_R_NOJOURNAL (ISC_RESULTCLASS_DNS + 56) -#define DNS_R_ALIAS (ISC_RESULTCLASS_DNS + 57) -#define DNS_R_USETCP (ISC_RESULTCLASS_DNS + 58) -#define DNS_R_NOVALIDSIG (ISC_RESULTCLASS_DNS + 59) -#define DNS_R_NOVALIDNSEC (ISC_RESULTCLASS_DNS + 60) -#define DNS_R_NOTINSECURE (ISC_RESULTCLASS_DNS + 61) -#define DNS_R_UNKNOWNSERVICE (ISC_RESULTCLASS_DNS + 62) -#define DNS_R_RECOVERABLE (ISC_RESULTCLASS_DNS + 63) -#define DNS_R_UNKNOWNOPT (ISC_RESULTCLASS_DNS + 64) -#define DNS_R_UNEXPECTEDID (ISC_RESULTCLASS_DNS + 65) -#define DNS_R_SEENINCLUDE (ISC_RESULTCLASS_DNS + 66) -#define DNS_R_NOTEXACT (ISC_RESULTCLASS_DNS + 67) -#define DNS_R_BLACKHOLED (ISC_RESULTCLASS_DNS + 68) -#define DNS_R_BADALG (ISC_RESULTCLASS_DNS + 69) -#define DNS_R_METATYPE (ISC_RESULTCLASS_DNS + 70) -#define DNS_R_CNAMEANDOTHER (ISC_RESULTCLASS_DNS + 71) -#define DNS_R_SINGLETON (ISC_RESULTCLASS_DNS + 72) -#define DNS_R_HINTNXRRSET (ISC_RESULTCLASS_DNS + 73) -#define DNS_R_NOMASTERFILE (ISC_RESULTCLASS_DNS + 74) -#define DNS_R_UNKNOWNPROTO (ISC_RESULTCLASS_DNS + 75) -#define DNS_R_CLOCKSKEW (ISC_RESULTCLASS_DNS + 76) -#define DNS_R_BADIXFR (ISC_RESULTCLASS_DNS + 77) -#define DNS_R_NOTAUTHORITATIVE (ISC_RESULTCLASS_DNS + 78) -#define DNS_R_NOVALIDKEY (ISC_RESULTCLASS_DNS + 79) -#define DNS_R_OBSOLETE (ISC_RESULTCLASS_DNS + 80) -#define DNS_R_FROZEN (ISC_RESULTCLASS_DNS + 81) -#define DNS_R_UNKNOWNFLAG (ISC_RESULTCLASS_DNS + 82) -#define DNS_R_EXPECTEDRESPONSE (ISC_RESULTCLASS_DNS + 83) -#define DNS_R_NOVALIDDS (ISC_RESULTCLASS_DNS + 84) -#define DNS_R_NSISADDRESS (ISC_RESULTCLASS_DNS + 85) -#define DNS_R_REMOTEFORMERR (ISC_RESULTCLASS_DNS + 86) -#define DNS_R_TRUNCATEDTCP (ISC_RESULTCLASS_DNS + 87) -#define DNS_R_LAME (ISC_RESULTCLASS_DNS + 88) -#define DNS_R_UNEXPECTEDRCODE (ISC_RESULTCLASS_DNS + 89) -#define DNS_R_UNEXPECTEDOPCODE (ISC_RESULTCLASS_DNS + 90) -#define DNS_R_CHASEDSSERVERS (ISC_RESULTCLASS_DNS + 91) -#define DNS_R_EMPTYNAME (ISC_RESULTCLASS_DNS + 92) -#define DNS_R_EMPTYWILD (ISC_RESULTCLASS_DNS + 93) -#define DNS_R_BADBITMAP (ISC_RESULTCLASS_DNS + 94) -#define DNS_R_FROMWILDCARD (ISC_RESULTCLASS_DNS + 95) -#define DNS_R_BADOWNERNAME (ISC_RESULTCLASS_DNS + 96) -#define DNS_R_BADNAME (ISC_RESULTCLASS_DNS + 97) -#define DNS_R_DYNAMIC (ISC_RESULTCLASS_DNS + 98) -#define DNS_R_UNKNOWNCOMMAND (ISC_RESULTCLASS_DNS + 99) -#define DNS_R_MUSTBESECURE (ISC_RESULTCLASS_DNS + 100) -#define DNS_R_COVERINGNSEC (ISC_RESULTCLASS_DNS + 101) -#define DNS_R_MXISADDRESS (ISC_RESULTCLASS_DNS + 102) -#define DNS_R_DUPLICATE (ISC_RESULTCLASS_DNS + 103) -#define DNS_R_INVALIDNSEC3 (ISC_RESULTCLASS_DNS + 104) -#define DNS_R_NOTMASTER (ISC_RESULTCLASS_DNS + 105) -#define DNS_R_BROKENCHAIN (ISC_RESULTCLASS_DNS + 106) -#define DNS_R_EXPIRED (ISC_RESULTCLASS_DNS + 107) -#define DNS_R_NOTDYNAMIC (ISC_RESULTCLASS_DNS + 108) -#define DNS_R_BADEUI (ISC_RESULTCLASS_DNS + 109) -#define DNS_R_NTACOVERED (ISC_RESULTCLASS_DNS + 110) -#define DNS_R_BADCDS (ISC_RESULTCLASS_DNS + 111) -#define DNS_R_BADCDNSKEY (ISC_RESULTCLASS_DNS + 112) -#define DNS_R_OPTERR (ISC_RESULTCLASS_DNS + 113) -#define DNS_R_BADDNSTAP (ISC_RESULTCLASS_DNS + 114) -#define DNS_R_BADTSIG (ISC_RESULTCLASS_DNS + 115) -#define DNS_R_BADSIG0 (ISC_RESULTCLASS_DNS + 116) -#define DNS_R_TOOMANYRECORDS (ISC_RESULTCLASS_DNS + 117) -#define DNS_R_VERIFYFAILURE (ISC_RESULTCLASS_DNS + 118) -#define DNS_R_ATZONETOP (ISC_RESULTCLASS_DNS + 119) -#define DNS_R_NOKEYMATCH (ISC_RESULTCLASS_DNS + 120) -#define DNS_R_TOOMANYKEYS (ISC_RESULTCLASS_DNS + 121) -#define DNS_R_KEYNOTACTIVE (ISC_RESULTCLASS_DNS + 122) -#define DNS_R_NSEC3ITERRANGE (ISC_RESULTCLASS_DNS + 123) -#define DNS_R_NSEC3SALTRANGE (ISC_RESULTCLASS_DNS + 124) -#define DNS_R_NSEC3BADALG (ISC_RESULTCLASS_DNS + 125) -#define DNS_R_NSEC3RESALT (ISC_RESULTCLASS_DNS + 126) +DNS_R_LABELTOOLONG = ISC_RESULTCODE_DNS(0), +DNS_R_BADESCAPE = ISC_RESULTCODE_DNS(1), +/* Note: 2 and 3 are deprecated. */ +DNS_R_EMPTYLABEL = ISC_RESULTCODE_DNS(4), +DNS_R_BADDOTTEDQUAD = ISC_RESULTCODE_DNS(5), +DNS_R_INVALIDNS = ISC_RESULTCODE_DNS(6), +DNS_R_UNKNOWN = ISC_RESULTCODE_DNS(7), +DNS_R_BADLABELTYPE = ISC_RESULTCODE_DNS(8), +DNS_R_BADPOINTER = ISC_RESULTCODE_DNS(9), +DNS_R_TOOMANYHOPS = ISC_RESULTCODE_DNS(10), +DNS_R_DISALLOWED = ISC_RESULTCODE_DNS(11), +DNS_R_EXTRATOKEN = ISC_RESULTCODE_DNS(12), +DNS_R_EXTRADATA = ISC_RESULTCODE_DNS(13), +DNS_R_TEXTTOOLONG = ISC_RESULTCODE_DNS(14), +DNS_R_NOTZONETOP = ISC_RESULTCODE_DNS(15), +DNS_R_SYNTAX = ISC_RESULTCODE_DNS(16), +DNS_R_BADCKSUM = ISC_RESULTCODE_DNS(17), +DNS_R_BADAAAA = ISC_RESULTCODE_DNS(18), +DNS_R_NOOWNER = ISC_RESULTCODE_DNS(19), +DNS_R_NOTTL = ISC_RESULTCODE_DNS(20), +DNS_R_BADCLASS = ISC_RESULTCODE_DNS(21), +DNS_R_NAMETOOLONG = ISC_RESULTCODE_DNS(22), +DNS_R_PARTIALMATCH = ISC_RESULTCODE_DNS(23), +DNS_R_NEWORIGIN = ISC_RESULTCODE_DNS(24), +DNS_R_UNCHANGED = ISC_RESULTCODE_DNS(25), +DNS_R_BADTTL = ISC_RESULTCODE_DNS(26), +DNS_R_NOREDATA = ISC_RESULTCODE_DNS(27), +DNS_R_CONTINUE = ISC_RESULTCODE_DNS(28), +DNS_R_DELEGATION = ISC_RESULTCODE_DNS(29), +DNS_R_GLUE = ISC_RESULTCODE_DNS(30), +DNS_R_DNAME = ISC_RESULTCODE_DNS(31), +DNS_R_CNAME = ISC_RESULTCODE_DNS(32), +DNS_R_BADDB = ISC_RESULTCODE_DNS(33), +DNS_R_ZONECUT = ISC_RESULTCODE_DNS(34), +DNS_R_BADZONE = ISC_RESULTCODE_DNS(35), +DNS_R_MOREDATA = ISC_RESULTCODE_DNS(36), +DNS_R_UPTODATE = ISC_RESULTCODE_DNS(37), +DNS_R_TSIGVERIFYFAILURE = ISC_RESULTCODE_DNS(38), +DNS_R_TSIGERRORSET = ISC_RESULTCODE_DNS(39), +DNS_R_SIGINVALID = ISC_RESULTCODE_DNS(40), +DNS_R_SIGEXPIRED = ISC_RESULTCODE_DNS(41), +DNS_R_SIGFUTURE = ISC_RESULTCODE_DNS(42), +DNS_R_KEYUNAUTHORIZED = ISC_RESULTCODE_DNS(43), +DNS_R_INVALIDTIME = ISC_RESULTCODE_DNS(44), +DNS_R_EXPECTEDTSIG = ISC_RESULTCODE_DNS(45), +DNS_R_UNEXPECTEDTSIG = ISC_RESULTCODE_DNS(46), +DNS_R_INVALIDTKEY = ISC_RESULTCODE_DNS(47), +DNS_R_HINT = ISC_RESULTCODE_DNS(48), +DNS_R_DROP = ISC_RESULTCODE_DNS(49), +DNS_R_NOTLOADED = ISC_RESULTCODE_DNS(50), +DNS_R_NCACHENXDOMAIN = ISC_RESULTCODE_DNS(51), +DNS_R_NCACHENXRRSET = ISC_RESULTCODE_DNS(52), +DNS_R_WAIT = ISC_RESULTCODE_DNS(53), +DNS_R_NOTVERIFIEDYET = ISC_RESULTCODE_DNS(54), +DNS_R_NOIDENTITY = ISC_RESULTCODE_DNS(55), +DNS_R_NOJOURNAL = ISC_RESULTCODE_DNS(56), +DNS_R_ALIAS = ISC_RESULTCODE_DNS(57), +DNS_R_USETCP = ISC_RESULTCODE_DNS(58), +DNS_R_NOVALIDSIG = ISC_RESULTCODE_DNS(59), +DNS_R_NOVALIDNSEC = ISC_RESULTCODE_DNS(60), +DNS_R_NOTINSECURE = ISC_RESULTCODE_DNS(61), +DNS_R_UNKNOWNSERVICE = ISC_RESULTCODE_DNS(62), +DNS_R_RECOVERABLE = ISC_RESULTCODE_DNS(63), +DNS_R_UNKNOWNOPT = ISC_RESULTCODE_DNS(64), +DNS_R_UNEXPECTEDID = ISC_RESULTCODE_DNS(65), +DNS_R_SEENINCLUDE = ISC_RESULTCODE_DNS(66), +DNS_R_NOTEXACT = ISC_RESULTCODE_DNS(67), +DNS_R_BLACKHOLED = ISC_RESULTCODE_DNS(68), +DNS_R_BADALG = ISC_RESULTCODE_DNS(69), +DNS_R_METATYPE = ISC_RESULTCODE_DNS(70), +DNS_R_CNAMEANDOTHER = ISC_RESULTCODE_DNS(71), +DNS_R_SINGLETON = ISC_RESULTCODE_DNS(72), +DNS_R_HINTNXRRSET = ISC_RESULTCODE_DNS(73), +DNS_R_NOMASTERFILE = ISC_RESULTCODE_DNS(74), +DNS_R_UNKNOWNPROTO = ISC_RESULTCODE_DNS(75), +DNS_R_CLOCKSKEW = ISC_RESULTCODE_DNS(76), +DNS_R_BADIXFR = ISC_RESULTCODE_DNS(77), +DNS_R_NOTAUTHORITATIVE = ISC_RESULTCODE_DNS(78), +DNS_R_NOVALIDKEY = ISC_RESULTCODE_DNS(79), +DNS_R_OBSOLETE = ISC_RESULTCODE_DNS(80), +DNS_R_FROZEN = ISC_RESULTCODE_DNS(81), +DNS_R_UNKNOWNFLAG = ISC_RESULTCODE_DNS(82), +DNS_R_EXPECTEDRESPONSE = ISC_RESULTCODE_DNS(83), +DNS_R_NOVALIDDS = ISC_RESULTCODE_DNS(84), +DNS_R_NSISADDRESS = ISC_RESULTCODE_DNS(85), +DNS_R_REMOTEFORMERR = ISC_RESULTCODE_DNS(86), +DNS_R_TRUNCATEDTCP = ISC_RESULTCODE_DNS(87), +DNS_R_LAME = ISC_RESULTCODE_DNS(88), +DNS_R_UNEXPECTEDRCODE = ISC_RESULTCODE_DNS(89), +DNS_R_UNEXPECTEDOPCODE = ISC_RESULTCODE_DNS(90), +DNS_R_CHASEDSSERVERS = ISC_RESULTCODE_DNS(91), +DNS_R_EMPTYNAME = ISC_RESULTCODE_DNS(92), +DNS_R_EMPTYWILD = ISC_RESULTCODE_DNS(93), +DNS_R_BADBITMAP = ISC_RESULTCODE_DNS(94), +DNS_R_FROMWILDCARD = ISC_RESULTCODE_DNS(95), +DNS_R_BADOWNERNAME = ISC_RESULTCODE_DNS(96), +DNS_R_BADNAME = ISC_RESULTCODE_DNS(97), +DNS_R_DYNAMIC = ISC_RESULTCODE_DNS(98), +DNS_R_UNKNOWNCOMMAND = ISC_RESULTCODE_DNS(99), +DNS_R_MUSTBESECURE = ISC_RESULTCODE_DNS(100), +DNS_R_COVERINGNSEC = ISC_RESULTCODE_DNS(101), +DNS_R_MXISADDRESS = ISC_RESULTCODE_DNS(102), +DNS_R_DUPLICATE = ISC_RESULTCODE_DNS(103), +DNS_R_INVALIDNSEC3 = ISC_RESULTCODE_DNS(104), +DNS_R_NOTMASTER = ISC_RESULTCODE_DNS(105), +DNS_R_BROKENCHAIN = ISC_RESULTCODE_DNS(106), +DNS_R_EXPIRED = ISC_RESULTCODE_DNS(107), +DNS_R_NOTDYNAMIC = ISC_RESULTCODE_DNS(108), +DNS_R_BADEUI = ISC_RESULTCODE_DNS(109), +DNS_R_NTACOVERED = ISC_RESULTCODE_DNS(110), +DNS_R_BADCDS = ISC_RESULTCODE_DNS(111), +DNS_R_BADCDNSKEY = ISC_RESULTCODE_DNS(112), +DNS_R_OPTERR = ISC_RESULTCODE_DNS(113), +DNS_R_BADDNSTAP = ISC_RESULTCODE_DNS(114), +DNS_R_BADTSIG = ISC_RESULTCODE_DNS(115), +DNS_R_BADSIG0 = ISC_RESULTCODE_DNS(116), +DNS_R_TOOMANYRECORDS = ISC_RESULTCODE_DNS(117), +DNS_R_VERIFYFAILURE = ISC_RESULTCODE_DNS(118), +DNS_R_ATZONETOP = ISC_RESULTCODE_DNS(119), +DNS_R_NOKEYMATCH = ISC_RESULTCODE_DNS(120), +DNS_R_TOOMANYKEYS = ISC_RESULTCODE_DNS(121), +DNS_R_KEYNOTACTIVE = ISC_RESULTCODE_DNS(122), +DNS_R_NSEC3ITERRANGE = ISC_RESULTCODE_DNS(123), +DNS_R_NSEC3SALTRANGE = ISC_RESULTCODE_DNS(124), +DNS_R_NSEC3BADALG = ISC_RESULTCODE_DNS(125), +DNS_R_NSEC3RESALT = ISC_RESULTCODE_DNS(126), #define DNS_R_NRESULTS 127 /*%< Number of results */ @@ -160,24 +136,22 @@ * By making these their own class we can easily convert them into the * wire-format rcode value simply by masking off the resultclass. */ -#define DNS_R_NOERROR (ISC_RESULTCLASS_DNSRCODE + 0) -#define DNS_R_FORMERR (ISC_RESULTCLASS_DNSRCODE + 1) -#define DNS_R_SERVFAIL (ISC_RESULTCLASS_DNSRCODE + 2) -#define DNS_R_NXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 3) -#define DNS_R_NOTIMP (ISC_RESULTCLASS_DNSRCODE + 4) -#define DNS_R_REFUSED (ISC_RESULTCLASS_DNSRCODE + 5) -#define DNS_R_YXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 6) -#define DNS_R_YXRRSET (ISC_RESULTCLASS_DNSRCODE + 7) -#define DNS_R_NXRRSET (ISC_RESULTCLASS_DNSRCODE + 8) -#define DNS_R_NOTAUTH (ISC_RESULTCLASS_DNSRCODE + 9) -#define DNS_R_NOTZONE (ISC_RESULTCLASS_DNSRCODE + 10) -#define DNS_R_RCODE11 (ISC_RESULTCLASS_DNSRCODE + 11) -#define DNS_R_RCODE12 (ISC_RESULTCLASS_DNSRCODE + 12) -#define DNS_R_RCODE13 (ISC_RESULTCLASS_DNSRCODE + 13) -#define DNS_R_RCODE14 (ISC_RESULTCLASS_DNSRCODE + 14) -#define DNS_R_RCODE15 (ISC_RESULTCLASS_DNSRCODE + 15) -#define DNS_R_BADVERS (ISC_RESULTCLASS_DNSRCODE + 16) +DNS_R_NOERROR = ISC_RESULTCODE_DNSRCODE(0), +DNS_R_FORMERR = ISC_RESULTCODE_DNSRCODE(1), +DNS_R_SERVFAIL = ISC_RESULTCODE_DNSRCODE(2), +DNS_R_NXDOMAIN = ISC_RESULTCODE_DNSRCODE(3), +DNS_R_NOTIMP = ISC_RESULTCODE_DNSRCODE(4), +DNS_R_REFUSED = ISC_RESULTCODE_DNSRCODE(5), +DNS_R_YXDOMAIN = ISC_RESULTCODE_DNSRCODE(6), +DNS_R_YXRRSET = ISC_RESULTCODE_DNSRCODE(7), +DNS_R_NXRRSET = ISC_RESULTCODE_DNSRCODE(8), +DNS_R_NOTAUTH = ISC_RESULTCODE_DNSRCODE(9), +DNS_R_NOTZONE = ISC_RESULTCODE_DNSRCODE(10), +DNS_R_RCODE11 = ISC_RESULTCODE_DNSRCODE(11), +DNS_R_RCODE12 = ISC_RESULTCODE_DNSRCODE(12), +DNS_R_RCODE13 = ISC_RESULTCODE_DNSRCODE(13), +DNS_R_RCODE14 = ISC_RESULTCODE_DNSRCODE(14), +DNS_R_RCODE15 = ISC_RESULTCODE_DNSRCODE(15), +DNS_R_BADVERS = ISC_RESULTCODE_DNSRCODE(16), #define DNS_R_NRCODERESULTS 17 /*%< Number of rcode results */ - -#endif /* DNS_RESULT_H */ diff --git a/lib/dns/result_dst.c.in b/lib/dns/result_dst.c.in index 1098b0cb91..c139261f25 100644 --- a/lib/dns/result_dst.c.in +++ b/lib/dns/result_dst.c.in @@ -1,16 +1,3 @@ -/* - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -#include - static const char *dst_result_descriptions[DST_R_NRESULTS] = { "algorithm is unsupported", /*%< 0 */ "crypto failure", /*%< 1 */ @@ -62,5 +49,3 @@ static const char *dst_result_ids[DST_R_NRESULTS] = { "DST_R_NOENGINE", "DST_R_EXTERNALKEY", }; - -/*! \file */ \ No newline at end of file diff --git a/lib/dns/result_dst.h.in b/lib/dns/result_dst.h.in index 43a0db6ef4..dc21b2f44f 100644 --- a/lib/dns/result_dst.h.in +++ b/lib/dns/result_dst.h.in @@ -1,48 +1,27 @@ -/* - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -#ifndef DST_RESULT_H -#define DST_RESULT_H 1 - -/*! \file dst/result.h */ - -#include - - -#define DST_R_UNSUPPORTEDALG (ISC_RESULTCLASS_DST + 0) -#define DST_R_CRYPTOFAILURE (ISC_RESULTCLASS_DST + 1) +DST_R_UNSUPPORTEDALG = ISC_RESULTCODE_DST(0), +DST_R_CRYPTOFAILURE = ISC_RESULTCODE_DST(1), /* compat */ -#define DST_R_OPENSSLFAILURE DST_R_CRYPTOFAILURE -#define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2) -#define DST_R_NULLKEY (ISC_RESULTCLASS_DST + 3) -#define DST_R_INVALIDPUBLICKEY (ISC_RESULTCLASS_DST + 4) -#define DST_R_INVALIDPRIVATEKEY (ISC_RESULTCLASS_DST + 5) +DST_R_OPENSSLFAILURE = DST_R_CRYPTOFAILURE, +DST_R_NOCRYPTO = ISC_RESULTCODE_DST(2), +DST_R_NULLKEY = ISC_RESULTCODE_DST(3), +DST_R_INVALIDPUBLICKEY = ISC_RESULTCODE_DST(4), +DST_R_INVALIDPRIVATEKEY = ISC_RESULTCODE_DST(5), /* 6 is unused */ -#define DST_R_WRITEERROR (ISC_RESULTCLASS_DST + 7) -#define DST_R_INVALIDPARAM (ISC_RESULTCLASS_DST + 8) +DST_R_WRITEERROR = ISC_RESULTCODE_DST(7), +DST_R_INVALIDPARAM = ISC_RESULTCODE_DST(8), /* 9 is unused */ /* 10 is unused */ -#define DST_R_SIGNFAILURE (ISC_RESULTCLASS_DST + 11) +DST_R_SIGNFAILURE = ISC_RESULTCODE_DST(11), /* 12 is unused */ /* 13 is unused */ -#define DST_R_VERIFYFAILURE (ISC_RESULTCLASS_DST + 14) -#define DST_R_NOTPUBLICKEY (ISC_RESULTCLASS_DST + 15) -#define DST_R_NOTPRIVATEKEY (ISC_RESULTCLASS_DST + 16) -#define DST_R_KEYCANNOTCOMPUTESECRET (ISC_RESULTCLASS_DST + 17) -#define DST_R_COMPUTESECRETFAILURE (ISC_RESULTCLASS_DST + 18) -#define DST_R_NORANDOMNESS (ISC_RESULTCLASS_DST + 19) -#define DST_R_BADKEYTYPE (ISC_RESULTCLASS_DST + 20) -#define DST_R_NOENGINE (ISC_RESULTCLASS_DST + 21) -#define DST_R_EXTERNALKEY (ISC_RESULTCLASS_DST + 22) +DST_R_VERIFYFAILURE = ISC_RESULTCODE_DST(14), +DST_R_NOTPUBLICKEY = ISC_RESULTCODE_DST(15), +DST_R_NOTPRIVATEKEY = ISC_RESULTCODE_DST(16), +DST_R_KEYCANNOTCOMPUTESECRET = ISC_RESULTCODE_DST(17), +DST_R_COMPUTESECRETFAILURE = ISC_RESULTCODE_DST(18), +DST_R_NORANDOMNESS = ISC_RESULTCODE_DST(19), +DST_R_BADKEYTYPE = ISC_RESULTCODE_DST(20), +DST_R_NOENGINE = ISC_RESULTCODE_DST(21), +DST_R_EXTERNALKEY = ISC_RESULTCODE_DST(22), #define DST_R_NRESULTS 23 /* Number of results */ - -#endif /* DST_RESULT_H */ diff --git a/lib/dns/update.c b/lib/dns/update.c index 808a636a81..ebca5a9a00 100644 --- a/lib/dns/update.c +++ b/lib/dns/update.c @@ -115,6 +115,8 @@ case DNS_R_YXRRSET: \ case DNS_R_NXRRSET: \ _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ } \ update_log(log, zone, LOGLEVEL_PROTOCOL, "update %s: %s (%s)", \ _what, msg, isc_result_totext(result)); \ @@ -132,6 +134,8 @@ case DNS_R_YXRRSET: \ case DNS_R_NXRRSET: \ _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ } \ if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ char _nbuf[DNS_NAME_FORMATSIZE]; \ @@ -154,6 +158,8 @@ case DNS_R_YXRRSET: \ case DNS_R_NXRRSET: \ _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ } \ if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ char _nbuf[DNS_NAME_FORMATSIZE]; \ diff --git a/lib/isc/Makefile.am b/lib/isc/Makefile.am index 1afdca995d..c268b3544b 100644 --- a/lib/isc/Makefile.am +++ b/lib/isc/Makefile.am @@ -238,7 +238,10 @@ result_ext.c: ${top_srcdir}/lib/*/result_*.c.in cat ${top_srcdir}/lib/*/result_*.c.in > result_ext.c ${top_srcdir}/lib/isc/include/isc/result_ext.h: ${top_srcdir}/lib/*/result_*.h.in - cat ${top_srcdir}/lib/*/result_*.h.in > ${top_srcdir}/lib/isc/include/isc/result_ext.h + echo "enum isc_result {" > ${top_srcdir}/lib/isc/include/isc/result_ext.h + cat ${top_srcdir}/lib/*/result_*.h.in >> ${top_srcdir}/lib/isc/include/isc/result_ext.h + echo "ISC_R_DUMMY = ISC_RESULTCODE_ISC((uint32_t)-1) /* don't use this value. */" >> ${top_srcdir}/lib/isc/include/isc/result_ext.h + echo "};" >> ${top_srcdir}/lib/isc/include/isc/result_ext.h libisc_la_CPPFLAGS = \ $(AM_CPPFLAGS) \ diff --git a/lib/isc/include/isc/result.h b/lib/isc/include/isc/result.h index 4c100b3db5..a75dbe4fba 100644 --- a/lib/isc/include/isc/result.h +++ b/lib/isc/include/isc/result.h @@ -24,96 +24,6 @@ */ #include -#define ISC_R_SUCCESS ISC_RESULTCODE_ISC(0) /*%< success */ -#define ISC_R_NOMEMORY ISC_RESULTCODE_ISC(1) /*%< out of memory */ -#define ISC_R_TIMEDOUT ISC_RESULTCODE_ISC(2) /*%< timed out */ -#define ISC_R_NOTHREADS ISC_RESULTCODE_ISC(3) /*%< no available threads */ -#define ISC_R_ADDRNOTAVAIL ISC_RESULTCODE_ISC(4) /*%< address not available */ -#define ISC_R_ADDRINUSE ISC_RESULTCODE_ISC(5) /*%< address in use */ -#define ISC_R_NOPERM ISC_RESULTCODE_ISC(6) /*%< permission denied */ -#define ISC_R_NOCONN ISC_RESULTCODE_ISC(7) /*%< no pending connections */ -#define ISC_R_NETUNREACH ISC_RESULTCODE_ISC(8) /*%< network unreachable */ -#define ISC_R_HOSTUNREACH ISC_RESULTCODE_ISC(9) /*%< host unreachable */ -#define ISC_R_NETDOWN ISC_RESULTCODE_ISC(10) /*%< network down */ -#define ISC_R_HOSTDOWN ISC_RESULTCODE_ISC(11) /*%< host down */ -#define ISC_R_CONNREFUSED ISC_RESULTCODE_ISC(12) /*%< connection refused */ -#define ISC_R_NORESOURCES \ - ISC_RESULTCODE_ISC(13) /*%< not enough free resources */ -#define ISC_R_EOF ISC_RESULTCODE_ISC(14) /*%< end of file */ -#define ISC_R_BOUND ISC_RESULTCODE_ISC(15) /*%< socket already bound */ -#define ISC_R_RELOAD ISC_RESULTCODE_ISC(16) /*%< reload */ -#define ISC_R_SUSPEND ISC_R_RELOAD /*%< alias of 'reload' */ -#define ISC_R_LOCKBUSY ISC_RESULTCODE_ISC(17) /*%< lock busy */ -#define ISC_R_EXISTS ISC_RESULTCODE_ISC(18) /*%< already exists */ -#define ISC_R_NOSPACE ISC_RESULTCODE_ISC(19) /*%< ran out of space */ -#define ISC_R_CANCELED ISC_RESULTCODE_ISC(20) /*%< operation canceled */ -#define ISC_R_NOTBOUND ISC_RESULTCODE_ISC(21) /*%< socket is not bound */ -#define ISC_R_SHUTTINGDOWN ISC_RESULTCODE_ISC(22) /*%< shutting down */ -#define ISC_R_NOTFOUND ISC_RESULTCODE_ISC(23) /*%< not found */ -#define ISC_R_UNEXPECTEDEND \ - ISC_RESULTCODE_ISC(24) /*%< unexpected end of input */ -#define ISC_R_FAILURE ISC_RESULTCODE_ISC(25) /*%< generic failure */ -#define ISC_R_IOERROR ISC_RESULTCODE_ISC(26) /*%< I/O error */ -#define ISC_R_NOTIMPLEMENTED ISC_RESULTCODE_ISC(27) /*%< not implemented */ -#define ISC_R_UNBALANCED ISC_RESULTCODE_ISC(28) /*%< unbalanced parentheses */ -#define ISC_R_NOMORE ISC_RESULTCODE_ISC(29) /*%< no more */ -#define ISC_R_INVALIDFILE ISC_RESULTCODE_ISC(30) /*%< invalid file */ -#define ISC_R_BADBASE64 ISC_RESULTCODE_ISC(31) /*%< bad base64 encoding */ -#define ISC_R_UNEXPECTEDTOKEN ISC_RESULTCODE_ISC(32) /*%< unexpected token */ -#define ISC_R_QUOTA ISC_RESULTCODE_ISC(33) /*%< quota reached */ -#define ISC_R_UNEXPECTED ISC_RESULTCODE_ISC(34) /*%< unexpected error */ -#define ISC_R_ALREADYRUNNING ISC_RESULTCODE_ISC(35) /*%< already running */ -#define ISC_R_IGNORE ISC_RESULTCODE_ISC(36) /*%< ignore */ -#define ISC_R_MASKNONCONTIG \ - ISC_RESULTCODE_ISC(37) /*%< addr mask not contiguous */ -#define ISC_R_FILENOTFOUND ISC_RESULTCODE_ISC(38) /*%< file not found */ -#define ISC_R_FILEEXISTS ISC_RESULTCODE_ISC(39) /*%< file already exists */ -#define ISC_R_NOTCONNECTED \ - ISC_RESULTCODE_ISC(40) /*%< socket is not connected */ -#define ISC_R_RANGE ISC_RESULTCODE_ISC(41) /*%< out of range */ -#define ISC_R_NOENTROPY ISC_RESULTCODE_ISC(42) /*%< out of entropy */ -#define ISC_R_MULTICAST \ - ISC_RESULTCODE_ISC(43) /*%< invalid use of multicast \ - */ -#define ISC_R_NOTFILE ISC_RESULTCODE_ISC(44) /*%< not a file */ -#define ISC_R_NOTDIRECTORY ISC_RESULTCODE_ISC(45) /*%< not a directory */ -#define ISC_R_QUEUEFULL ISC_RESULTCODE_ISC(46) /*%< queue is full */ -#define ISC_R_FAMILYMISMATCH \ - ISC_RESULTCODE_ISC(47) /*%< address family mismatch */ -#define ISC_R_FAMILYNOSUPPORT ISC_RESULTCODE_ISC(48) /*%< AF not supported */ -#define ISC_R_BADHEX ISC_RESULTCODE_ISC(49) /*%< bad hex encoding */ -#define ISC_R_TOOMANYOPENFILES \ - ISC_RESULTCODE_ISC(50) /*%< too many open files */ -#define ISC_R_NOTBLOCKING ISC_RESULTCODE_ISC(51) /*%< not blocking */ -#define ISC_R_UNBALANCEDQUOTES \ - ISC_RESULTCODE_ISC(52) /*%< unbalanced quotes \ - */ -#define ISC_R_INPROGRESS ISC_RESULTCODE_ISC(53) /*%< operation in progress */ -#define ISC_R_CONNECTIONRESET ISC_RESULTCODE_ISC(54) /*%< connection reset */ -#define ISC_R_SOFTQUOTA ISC_RESULTCODE_ISC(55) /*%< soft quota reached */ -#define ISC_R_BADNUMBER ISC_RESULTCODE_ISC(56) /*%< not a valid number */ -#define ISC_R_DISABLED ISC_RESULTCODE_ISC(57) /*%< disabled */ -#define ISC_R_MAXSIZE ISC_RESULTCODE_ISC(58) /*%< max size */ -#define ISC_R_BADADDRESSFORM \ - ISC_RESULTCODE_ISC(59) /*%< invalid address format */ -#define ISC_R_BADBASE32 ISC_RESULTCODE_ISC(60) /*%< bad base32 encoding */ -#define ISC_R_UNSET ISC_RESULTCODE_ISC(61) /*%< unset */ -#define ISC_R_MULTIPLE ISC_RESULTCODE_ISC(62) /*%< multiple */ -#define ISC_R_WOULDBLOCK ISC_RESULTCODE_ISC(63) /*%< would block */ -#define ISC_R_COMPLETE ISC_RESULTCODE_ISC(64) /*%< complete */ -#define ISC_R_CRYPTOFAILURE \ - ISC_RESULTCODE_ISC(65) /*%< cryptography library failure */ -#define ISC_R_DISCQUOTA ISC_RESULTCODE_ISC(66) /*%< disc quota */ -#define ISC_R_DISCFULL ISC_RESULTCODE_ISC(67) /*%< disc full */ -#define ISC_R_DEFAULT ISC_RESULTCODE_ISC(68) /*%< default */ -#define ISC_R_IPV4PREFIX ISC_RESULTCODE_ISC(69) /*%< IPv4 prefix */ -#define ISC_R_TLSERROR ISC_RESULTCODE_ISC(70) /*%< TLS error */ -#define ISC_R_HTTP2ALPNERROR \ - ISC_RESULTCODE_ISC(71) /*%< ALPN for HTTP/2 failed */ - -/*% Not a result code: the number of results. */ -#define ISC_R_NRESULTS 72 - ISC_LANG_BEGINDECLS const char *isc_result_totext(isc_result_t); diff --git a/lib/isc/include/isc/resultclass.h b/lib/isc/include/isc/resultclass.h index 057c849996..899fa61f45 100644 --- a/lib/isc/include/isc/resultclass.h +++ b/lib/isc/include/isc/resultclass.h @@ -12,6 +12,8 @@ #ifndef ISC_RESULTCLASS_H #define ISC_RESULTCLASS_H 1 +#include + /*! \file isc/resultclass.h * \brief Registry of Predefined Result Type Classes * diff --git a/lib/isc/include/isc/socket.h b/lib/isc/include/isc/socket.h index 0888ca6f2d..e01de7f2f0 100644 --- a/lib/isc/include/isc/socket.h +++ b/lib/isc/include/isc/socket.h @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/isc/include/isc/types.h b/lib/isc/include/isc/types.h index b3b66f358c..d80e9498c7 100644 --- a/lib/isc/include/isc/types.h +++ b/lib/isc/include/isc/types.h @@ -74,7 +74,7 @@ typedef struct isc_quota isc_quota_t; /*%< Quota */ typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */ typedef struct isc_region isc_region_t; /*%< Region */ typedef uint64_t isc_resourcevalue_t; /*%< Resource Value */ -typedef unsigned int isc_result_t; /*%< Result */ +typedef enum isc_result isc_result_t; /*%< Result */ typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */ typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */ typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List diff --git a/lib/isc/result_pk11.c.in b/lib/isc/result_pk11.c.in index 0e1491d393..6947f09c91 100644 --- a/lib/isc/result_pk11.c.in +++ b/lib/isc/result_pk11.c.in @@ -9,11 +9,6 @@ * information regarding copyright ownership. */ -#include - -#include -#include - static const char *pk11_result_descriptions[PK11_R_NRESULTS] = { "PKCS#11 initialization failed", /*%< 0 */ "no PKCS#11 provider", /*%< 1 */ diff --git a/lib/isccc/result_isccc.c.in b/lib/isccc/result_isccc.c.in index dbdb4131f6..08ac8083d3 100644 --- a/lib/isccc/result_isccc.c.in +++ b/lib/isccc/result_isccc.c.in @@ -11,8 +11,6 @@ /*! \file */ -#include - static const char *isccc_result_descriptions[ISCCC_R_NRESULTS] = { "unknown version", /* 1 */ "syntax error", /* 2 */ diff --git a/lib/isccc/result_isccc.h.in b/lib/isccc/result_isccc.h.in index 8fd5295d9b..aa3b9ca178 100644 --- a/lib/isccc/result_isccc.h.in +++ b/lib/isccc/result_isccc.h.in @@ -9,26 +9,20 @@ * information regarding copyright ownership. */ -#ifndef ISCCC_RESULT_H -#define ISCCC_RESULT_H 1 - -/*! \file isccc/result.h */ - -#include +/*! \file result_isccc.h.in */ /*% Unknown Version */ -#define ISCCC_R_UNKNOWNVERSION ISC_RESULTCODE_ISCCC(0) +ISCCC_R_UNKNOWNVERSION = ISC_RESULTCODE_ISCCC(0), /*% Syntax Error */ -#define ISCCC_R_SYNTAX ISC_RESULTCODE_ISCCC(1) +ISCCC_R_SYNTAX = ISC_RESULTCODE_ISCCC(1), /*% Bad Authorization */ -#define ISCCC_R_BADAUTH ISC_RESULTCODE_ISCCC(2) +ISCCC_R_BADAUTH = ISC_RESULTCODE_ISCCC(2), /*% Expired */ -#define ISCCC_R_EXPIRED ISC_RESULTCODE_ISCCC(3) +ISCCC_R_EXPIRED = ISC_RESULTCODE_ISCCC(3), /*% Clock Skew */ -#define ISCCC_R_CLOCKSKEW ISC_RESULTCODE_ISCCC(4) +ISCCC_R_CLOCKSKEW = ISC_RESULTCODE_ISCCC(4), /*% Duplicate */ -#define ISCCC_R_DUPLICATE ISC_RESULTCODE_ISCCC(5) +ISCCC_R_DUPLICATE = ISC_RESULTCODE_ISCCC(5), #define ISCCC_R_NRESULTS 6 /*%< Number of results */ -#endif /* ISCCC_RESULT_H */ diff --git a/lib/ns/update.c b/lib/ns/update.c index 6b72b534bc..4ab03b165a 100644 --- a/lib/ns/update.c +++ b/lib/ns/update.c @@ -107,22 +107,24 @@ * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILC(code, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - update_log(client, zone, LOGLEVEL_PROTOCOL, \ - "update %s: %s (%s)", _what, msg, \ - isc_result_totext(result)); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define FAILC(code, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ + } \ + update_log(client, zone, LOGLEVEL_PROTOCOL, \ + "update %s: %s (%s)", _what, msg, \ + isc_result_totext(result)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) #define PREREQFAILC(code, msg) \ do { \ @@ -140,6 +142,8 @@ case DNS_R_YXRRSET: \ case DNS_R_NXRRSET: \ _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ } \ if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ char _nbuf[DNS_NAME_FORMATSIZE]; \ @@ -167,6 +171,8 @@ case DNS_R_YXRRSET: \ case DNS_R_NXRRSET: \ _what = "unsuccessful"; \ + default: \ + (void)0; /* Suppress -Werror=switch. */ \ } \ if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ char _nbuf[DNS_NAME_FORMATSIZE]; \ diff --git a/win32utils/Configure b/win32utils/Configure index 2ef145a255..4fa5595be9 100644 --- a/win32utils/Configure +++ b/win32utils/Configure @@ -2670,7 +2670,7 @@ if ($verbose) { sub makeresultfiles { open OUT, '>', "$resultcfile" or die $!; - for (glob "..\\lib\\*\\result_*.c") { + for (glob "..\\lib\\*\\result_*.c.in") { open FH, '<', "$_" or next; while () {print OUT "$_"}; close FH; @@ -2678,11 +2678,14 @@ sub makeresultfiles { close OUT; open OUT, '>', "$resulthfile" or die $!; + print OUT "enum isc_result {\n"; for (glob "..\\lib\\*\\result_*.h.in") { open FH, '<', "$_" or next; while () {print OUT "$_"}; close FH; } + print OUT "ISC_R_DUMMY = ISC_RESULTCODE_ISC((uint32_t)-1) /* don't use this value. */\n"; + print OUT "};\n"; close OUT; }