Make isc_result tables smaller
The isc_result_t enum was to sparse when each library code would skip to
next << 16 as a base. Remove the huge holes in the isc_result_t enum to
make the isc_result tables more compact.
This change required a rewrite how we map dns_rcode_t to isc_result_t
and back, so we don't ever return neither isc_result_t value nor
dns_rcode_t out of defined range.
(cherry picked from commit a8e6c3b8f7)
This commit is contained in:
@@ -97,7 +97,7 @@ typedef enum isc_result {
|
||||
ISC_R_DOTALPNERROR, /*%< ALPN for DoT failed */
|
||||
ISC_R_INVALIDPROTO, /*%< invalid protocol */
|
||||
|
||||
DNS_R_LABELTOOLONG = 1 << 16,
|
||||
DNS_R_LABELTOOLONG,
|
||||
DNS_R_BADESCAPE,
|
||||
DNS_R_EMPTYLABEL,
|
||||
DNS_R_BADDOTTEDQUAD,
|
||||
@@ -225,7 +225,7 @@ typedef enum isc_result {
|
||||
DNS_R_INCONSISTENTRR,
|
||||
DNS_R_NOALPN,
|
||||
|
||||
DST_R_UNSUPPORTEDALG = 2 << 16,
|
||||
DST_R_UNSUPPORTEDALG,
|
||||
DST_R_CRYPTOFAILURE,
|
||||
/* compat */
|
||||
DST_R_OPENSSLFAILURE = DST_R_CRYPTOFAILURE,
|
||||
@@ -246,7 +246,7 @@ typedef enum isc_result {
|
||||
DST_R_NOENGINE,
|
||||
DST_R_EXTERNALKEY,
|
||||
|
||||
DNS_R_NOERROR = 3 << 16,
|
||||
DNS_R_NOERROR,
|
||||
DNS_R_FORMERR,
|
||||
DNS_R_SERVFAIL,
|
||||
DNS_R_NXDOMAIN,
|
||||
@@ -263,15 +263,16 @@ typedef enum isc_result {
|
||||
DNS_R_RCODE14,
|
||||
DNS_R_RCODE15,
|
||||
DNS_R_BADVERS,
|
||||
DNS_R_BADCOOKIE = DNS_R_NOERROR + 23,
|
||||
|
||||
ISCCC_R_UNKNOWNVERSION = 5 << 16,
|
||||
ISCCC_R_UNKNOWNVERSION,
|
||||
ISCCC_R_SYNTAX,
|
||||
ISCCC_R_BADAUTH,
|
||||
ISCCC_R_EXPIRED,
|
||||
ISCCC_R_CLOCKSKEW,
|
||||
ISCCC_R_DUPLICATE,
|
||||
|
||||
ISC_R_NRESULTS = ISCCC_R_DUPLICATE + 1, /*% The number of results. */
|
||||
ISC_R_NRESULTS, /*% The number of results. */
|
||||
ISC_R_MAKE_ENUM_32BIT = INT32_MAX,
|
||||
} isc_result_t;
|
||||
|
||||
|
||||
@@ -260,6 +260,7 @@ static const char *description[ISC_R_NRESULTS] = {
|
||||
[DNS_R_RCODE14] = "<rcode 14>",
|
||||
[DNS_R_RCODE15] = "<rcode 15>",
|
||||
[DNS_R_BADVERS] = "BADVERS",
|
||||
[DNS_R_BADCOOKIE] = "BADCOOKIE",
|
||||
|
||||
[ISCCC_R_UNKNOWNVERSION] = "unknown version",
|
||||
[ISCCC_R_SYNTAX] = "syntax error",
|
||||
@@ -508,6 +509,7 @@ static const char *identifier[ISC_R_NRESULTS] = {
|
||||
[DNS_R_RCODE14] = "DNS_R_RCODE14",
|
||||
[DNS_R_RCODE15] = "DNS_R_RCODE15",
|
||||
[DNS_R_BADVERS] = "DNS_R_BADVERS",
|
||||
[DNS_R_BADCOOKIE] = "DNS_R_BADCOOKIE",
|
||||
|
||||
[ISCCC_R_UNKNOWNVERSION] = "ISCCC_R_UNKNOWNVERSION",
|
||||
[ISCCC_R_SYNTAX] = "ISCCC_R_SYNTAX",
|
||||
|
||||
Reference in New Issue
Block a user