static const char *do_ssl_trace_str(int val, ssl_trace_tbl *tbl, size_t ntbl)
{
size_t i;
+
for (i = 0; i < ntbl; i++, tbl++) {
if (tbl->num == val)
return tbl->name;
size_t vlen, ssl_trace_tbl *tbl, size_t ntbl)
{
int val;
+
if (msglen % vlen)
return 0;
while (msglen) {
const unsigned char *msg, size_t msglen)
{
size_t i;
+
BIO_indent(bio, indent, 80);
BIO_printf(bio, "%s (len=%d): ", name, (int)msglen);
for (i = 0; i < msglen; i++)
{
size_t blen;
const unsigned char *p = *pmsg;
+
if (*pmsglen < nlen)
return 0;
blen = p[0];
{
unsigned int tm;
const unsigned char *p = *pmsg;
+
if (*pmsglen < 32)
return 0;
tm = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
ext += 2;
while (xlen > 0) {
size_t plen = *ext++;
+
if (plen > xlen + 1)
return 0;
BIO_indent(bio, indent + 2, 80);
{
size_t len;
unsigned int cs;
+
if (!ssl_print_version(bio, indent, "client_version", &msg, &msglen, NULL))
return 0;
if (!ssl_print_random(bio, indent, &msg, &msglen))
static int ssl_get_keyex(const char **pname, SSL *ssl)
{
unsigned long alg_k = ssl->s3->tmp.new_cipher->algorithm_mkey;
+
if (alg_k & SSL_kRSA) {
*pname = "rsa";
return SSL_kRSA;
const unsigned char *msg, size_t msglen)
{
const char *algname;
- int id;
- id = ssl_get_keyex(&algname, ssl);
+ int id = ssl_get_keyex(&algname, ssl);
+
BIO_indent(bio, indent, 80);
BIO_printf(bio, "KeyExchangeAlgorithm=%s\n", algname);
if (id & SSL_PSK) {
const unsigned char *msg, size_t msglen)
{
const char *algname;
- int id;
- id = ssl_get_keyex(&algname, ssl);
+ int id = ssl_get_keyex(&algname, ssl);
+
BIO_indent(bio, indent, 80);
BIO_printf(bio, "KeyExchangeAlgorithm=%s\n", algname);
if (id & SSL_PSK) {
size_t clen;
X509 *x;
const unsigned char *p = *pmsg, *q;
+
if (msglen < 3)
return 0;
clen = (p[0] << 16) | (p[1] << 8) | p[2];
const unsigned char *msg, size_t msglen)
{
unsigned int tick_life;
+
if (msglen == 0) {
BIO_indent(bio, indent + 2, 80);
BIO_puts(bio, "No Ticket\n");
BIO_printf(bio, "ticket_lifetime_hint=%u\n", tick_life);
if (SSL_IS_TLS13(s)) {
unsigned int ticket_age_add;
+
if (msglen < 4)
return 0;
ticket_age_add = (msg[0] << 24) | (msg[1] << 16) | (msg[2] << 8)
{
size_t hlen;
unsigned char htype;
+
if (msglen < 4)
return 0;
htype = msg[0];