提交 03b89819 编写于 作者: D Dr. Stephen Henson

Tidy up OCSP print handling.

Also fixes -Wstrict-oveflow warning on this file.

RT#4474 (partial)
Reviewed-by: NRichard Levitte <levitte@openssl.org>
上级 ee2c1a25
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <openssl/err.h> #include <openssl/err.h>
#include <openssl/ocsp.h> #include <openssl/ocsp.h>
#include "ocsp_lcl.h" #include "ocsp_lcl.h"
#include "internal/cryptlib.h"
#include <openssl/pem.h> #include <openssl/pem.h>
static int ocsp_certid_print(BIO *bp, OCSP_CERTID *a, int indent) static int ocsp_certid_print(BIO *bp, OCSP_CERTID *a, int indent)
...@@ -34,15 +35,17 @@ typedef struct { ...@@ -34,15 +35,17 @@ typedef struct {
const char *m; const char *m;
} OCSP_TBLSTR; } OCSP_TBLSTR;
static const char *table2string(long s, const OCSP_TBLSTR *ts, int len) static const char *do_table2string(long s, const OCSP_TBLSTR *ts, size_t len)
{ {
const OCSP_TBLSTR *p; size_t i;
for (p = ts; p < ts + len; p++) for (i = 0; i < len; i++, ts++)
if (p->t == s) if (ts->t == s)
return p->m; return ts->m;
return "(UNKNOWN)"; return "(UNKNOWN)";
} }
#define table2string(s, tbl) do_table2string(s, tbl, OSSL_NELEM(tbl))
const char *OCSP_response_status_str(long s) const char *OCSP_response_status_str(long s)
{ {
static const OCSP_TBLSTR rstat_tbl[] = { static const OCSP_TBLSTR rstat_tbl[] = {
...@@ -53,7 +56,7 @@ const char *OCSP_response_status_str(long s) ...@@ -53,7 +56,7 @@ const char *OCSP_response_status_str(long s)
{OCSP_RESPONSE_STATUS_SIGREQUIRED, "sigrequired"}, {OCSP_RESPONSE_STATUS_SIGREQUIRED, "sigrequired"},
{OCSP_RESPONSE_STATUS_UNAUTHORIZED, "unauthorized"} {OCSP_RESPONSE_STATUS_UNAUTHORIZED, "unauthorized"}
}; };
return table2string(s, rstat_tbl, 6); return table2string(s, rstat_tbl);
} }
const char *OCSP_cert_status_str(long s) const char *OCSP_cert_status_str(long s)
...@@ -63,7 +66,7 @@ const char *OCSP_cert_status_str(long s) ...@@ -63,7 +66,7 @@ const char *OCSP_cert_status_str(long s)
{V_OCSP_CERTSTATUS_REVOKED, "revoked"}, {V_OCSP_CERTSTATUS_REVOKED, "revoked"},
{V_OCSP_CERTSTATUS_UNKNOWN, "unknown"} {V_OCSP_CERTSTATUS_UNKNOWN, "unknown"}
}; };
return table2string(s, cstat_tbl, 3); return table2string(s, cstat_tbl);
} }
const char *OCSP_crl_reason_str(long s) const char *OCSP_crl_reason_str(long s)
...@@ -78,7 +81,7 @@ const char *OCSP_crl_reason_str(long s) ...@@ -78,7 +81,7 @@ const char *OCSP_crl_reason_str(long s)
{OCSP_REVOKED_STATUS_CERTIFICATEHOLD, "certificateHold"}, {OCSP_REVOKED_STATUS_CERTIFICATEHOLD, "certificateHold"},
{OCSP_REVOKED_STATUS_REMOVEFROMCRL, "removeFromCRL"} {OCSP_REVOKED_STATUS_REMOVEFROMCRL, "removeFromCRL"}
}; };
return table2string(s, reason_tbl, 8); return table2string(s, reason_tbl);
} }
int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *o, unsigned long flags) int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *o, unsigned long flags)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册