mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 03:42:06 -04:00
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.
This commit is contained in:
parent
b53d1d7069
commit
a8e6c3b8f7
2 changed files with 8 additions and 5 deletions
|
|
@ -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,
|
||||
|
|
@ -227,7 +227,7 @@ typedef enum isc_result {
|
|||
DNS_R_NOALPN,
|
||||
DNS_R_NODOHPATH,
|
||||
|
||||
DST_R_UNSUPPORTEDALG = 2 << 16,
|
||||
DST_R_UNSUPPORTEDALG,
|
||||
DST_R_CRYPTOFAILURE,
|
||||
/* compat */
|
||||
DST_R_OPENSSLFAILURE = DST_R_CRYPTOFAILURE,
|
||||
|
|
@ -248,7 +248,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,
|
||||
|
|
@ -265,15 +265,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;
|
||||
|
||||
|
|
|
|||
|
|
@ -262,6 +262,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",
|
||||
|
|
@ -512,6 +513,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",
|
||||
|
|
|
|||
Loading…
Reference in a new issue