summaryrefslogtreecommitdiffstats
path: root/crypto/bio
diff options
context:
space:
mode:
authorRob Stradling <rob@comodo.com>2014-02-19 13:12:46 +0000
committerRob Stradling <rob@comodo.com>2014-02-19 13:12:46 +0000
commitb263f2124607c42a1013b6b342341196b2bdec8d (patch)
treebf2187bbb4537f3842bd40559edad07d269823aa /crypto/bio
parentdcfe8df148d225aa15fdd0eba486a028ad4b06dc (diff)
Move the SCT List extension parser into libssl.
Add the extension parser in the s_client, ocsp and x509 apps.
Diffstat (limited to 'crypto/bio')
-rw-r--r--crypto/bio/b_dump.c22
-rw-r--r--crypto/bio/bio.h3
2 files changed, 25 insertions, 0 deletions
diff --git a/crypto/bio/b_dump.c b/crypto/bio/b_dump.c
index c80ecc4295..b3a5f7d031 100644
--- a/crypto/bio/b_dump.c
+++ b/crypto/bio/b_dump.c
@@ -185,3 +185,25 @@ int BIO_dump_indent(BIO *bp, const char *s, int len, int indent)
return BIO_dump_indent_cb(write_bio, bp, s, len, indent);
}
+int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data,
+ int datalen)
+ {
+ int i, j = 0;
+
+ if (datalen < 1)
+ return 1;
+
+ for (i = 0; i < datalen - 1; i++)
+ {
+ if (i && !j) BIO_printf(out, "%*s", indent, "");
+
+ BIO_printf(out, "%02X:", data[i]);
+
+ j = (j + 1) % width;
+ if (!j) BIO_printf(out, "\n");
+ }
+
+ if (i && !j) BIO_printf(out, "%*s", indent, "");
+ BIO_printf(out, "%02X", data[datalen - 1]);
+ return 1;
+ }
diff --git a/crypto/bio/bio.h b/crypto/bio/bio.h
index c14009ad0d..8489ff80bb 100644
--- a/crypto/bio/bio.h
+++ b/crypto/bio/bio.h
@@ -707,6 +707,9 @@ int BIO_dump_indent(BIO *b,const char *bytes,int len,int indent);
int BIO_dump_fp(FILE *fp, const char *s, int len);
int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent);
#endif
+int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data,
+ int datalen);
+
struct hostent *BIO_gethostbyname(const char *name);
/* We might want a thread-safe interface too:
* struct hostent *BIO_gethostbyname_r(const char *name,