static const unsigned char auth_ext_data[]={TLSEXT_AUTHZDATAFORMAT_dtcp};
static int suppdata_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
static int auth_suppdata_generate_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg);
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg);
static int authz_tlsext_generate_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out, unsigned short *outlen,
- int *al, void *arg);
+ const unsigned char **out, unsigned short *outlen,
+ int *al, void *arg);
static int authz_tlsext_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
#endif
#ifndef OPENSSL_NO_PSK
}
static int authz_tlsext_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (TLSEXT_TYPE_server_authz == ext_type)
{
}
static int authz_tlsext_generate_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out, unsigned short *outlen,
- int *al, void *arg)
+ const unsigned char **out, unsigned short *outlen,
+ int *al, void *arg)
{
if (c_auth)
{
}
static int suppdata_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (supp_data_type == TLSEXT_SUPPLEMENTALDATATYPE_authz_data)
{
}
static int auth_suppdata_generate_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (c_auth && server_provided_client_authz && server_provided_server_authz)
{
#ifndef OPENSSL_NO_TLSEXT
static int suppdata_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
static int auth_suppdata_generate_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg);
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg);
static int authz_tlsext_generate_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out, unsigned short *outlen,
- int *al, void *arg);
+ const unsigned char **out, unsigned short *outlen,
+ int *al, void *arg);
static int authz_tlsext_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
static BIO *serverinfo_in = NULL;
static const char *s_serverinfo_file = NULL;
#ifndef OPENSSL_NO_TLSEXT
static int authz_tlsext_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (TLSEXT_TYPE_server_authz == ext_type)
{
}
static int authz_tlsext_generate_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out, unsigned short *outlen,
- int *al, void *arg)
+ const unsigned char **out, unsigned short *outlen,
+ int *al, void *arg)
{
if (c_auth && client_provided_client_authz && client_provided_server_authz)
{
}
static int suppdata_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (supp_data_type == TLSEXT_SUPPLEMENTALDATATYPE_authz_data)
{
}
static int auth_suppdata_generate_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (c_auth && client_provided_client_authz && client_provided_server_authz)
{
if (!record->fn2)
continue;
cb_retval = record->fn2(s, record->supp_data_type,
- &out, &outlen, &al,
- record->arg);
+ &out, &outlen, &al,
+ record->arg);
if (cb_retval == -1)
continue; /* skip this supp data entry */
if (cb_retval == 0)
p = (unsigned char *)s->init_buf->data;
*(p++) = SSL3_MT_SUPPLEMENTAL_DATA;
/* update message length when all
- * callbacks complete */
+ * callbacks complete */
size_loc = p;
/* skip over handshake length field (3
- * bytes) and supp_data length field
- * (3 bytes) */
+ * bytes) and supp_data length field
+ * (3 bytes) */
p += 3 + 3;
length += 1 +3 +3;
}
return 1;
f_err:
- ssl3_send_alert(s,SSL3_AL_FATAL,al);
- return 0;
+ ssl3_send_alert(s,SSL3_AL_FATAL,al);
+ return 0;
}
int tls1_get_server_supplemental_data(SSL *s)
int cb_retval = 0;
n=s->method->ssl_get_message(s,
- SSL3_ST_CR_SUPPLEMENTAL_DATA_A,
- SSL3_ST_CR_SUPPLEMENTAL_DATA_B,
- SSL3_MT_SUPPLEMENTAL_DATA,
- /* use default limit */
- TLSEXT_MAXLEN_supplemental_data,
- &ok);
+ SSL3_ST_CR_SUPPLEMENTAL_DATA_A,
+ SSL3_ST_CR_SUPPLEMENTAL_DATA_B,
+ SSL3_MT_SUPPLEMENTAL_DATA,
+ /* use default limit */
+ TLSEXT_MAXLEN_supplemental_data,
+ &ok);
if (!ok) return((int)n);
for (i=0; i < s->ctx->cli_supp_data_records_count; i++)
{
if (s->ctx->cli_supp_data_records[i].supp_data_type == supp_data_entry_type &&
- s->ctx->cli_supp_data_records[i].fn1)
+ s->ctx->cli_supp_data_records[i].fn1)
{
cb_retval = s->ctx->cli_supp_data_records[i].fn1(s, supp_data_entry_type, p,
- supp_data_entry_len, &al, s->ctx->cli_supp_data_records[i].arg);
+ supp_data_entry_len, &al,
+ s->ctx->cli_supp_data_records[i].arg);
if (cb_retval == 0)
{
SSLerr(SSL_F_TLS1_GET_SERVER_SUPPLEMENTAL_DATA, ERR_R_SSL_LIB);
p+=supp_data_entry_len;
}
return 1;
- f_err:
- ssl3_send_alert(s,SSL3_AL_FATAL,al);
- return -1;
+f_err:
+ ssl3_send_alert(s,SSL3_AL_FATAL,al);
+ return -1;
}
#endif
if (!record->fn1)
continue;
cb_retval = record->fn1(s, record->supp_data_type,
- &out, &outlen, &al,
- record->arg);
+ &out, &outlen, &al, record->arg);
if (cb_retval == -1)
continue; /* skip this supp data entry */
if (cb_retval == 0)
size_t i = 0;
n=s->method->ssl_get_message(s,
- SSL3_ST_SR_SUPPLEMENTAL_DATA_A,
- SSL3_ST_SR_SUPPLEMENTAL_DATA_B,
- SSL3_MT_SUPPLEMENTAL_DATA,
- /* use default limit */
- TLSEXT_MAXLEN_supplemental_data,
- &ok);
+ SSL3_ST_SR_SUPPLEMENTAL_DATA_A,
+ SSL3_ST_SR_SUPPLEMENTAL_DATA_B,
+ SSL3_MT_SUPPLEMENTAL_DATA,
+ /* use default limit */
+ TLSEXT_MAXLEN_supplemental_data,
+ &ok);
if (!ok) return((int)n);
const unsigned char **out,
unsigned short *outlen, int *al, void *arg);
typedef int (*custom_cli_ext_second_cb_fn)(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
typedef int (*custom_srv_ext_first_cb_fn)(SSL *s, unsigned short ext_type,
const unsigned char *in,
unsigned short inlen, int *al,
void *arg);
typedef int (*custom_srv_ext_second_cb_fn)(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg);
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg);
typedef struct {
unsigned short ext_type;
* fatal TLS alert, if the callback returns zero.
*/
typedef int (*srv_supp_data_first_cb_fn)(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg);
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg);
typedef int (*srv_supp_data_second_cb_fn)(SSL *s, unsigned short supp_data_type,
const unsigned char *in,
unsigned short inlen, int *al,
void *arg);
typedef int (*cli_supp_data_first_cb_fn)(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg);
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg);
typedef int (*cli_supp_data_second_cb_fn)(SSL *s, unsigned short supp_data_type,
const unsigned char **out,
unsigned short *outlen, int *al, void *arg);
}
static int serverinfo_srv_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
size_t i = 0;
+
if (inlen != 0)
{
*al = SSL_AD_DECODE_ERROR;
return 0;
}
- //if already in list, error out
+
+ /* if already in list, error out */
for (i = 0; i < s->s3->serverinfo_client_tlsext_custom_types_count; i++)
{
if (s->s3->serverinfo_client_tlsext_custom_types[i] == ext_type)
}
static int serverinfo_srv_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out, unsigned short *outlen,
- int *al, void *arg)
+ const unsigned char **out, unsigned short *outlen,
+ int *al, void *arg)
{
const unsigned char *serverinfo = NULL;
size_t serverinfo_length = 0;
}
if (!match)
{
- //extension not sent by client...don't send extension
+ /* extension not sent by client...don't send extension */
return -1;
}
/* Is there serverinfo data for the chosen server cert? */
if ((ssl_get_server_cert_serverinfo(s, &serverinfo,
- &serverinfo_length)) != 0)
+ &serverinfo_length)) != 0)
{
/* Find the relevant extension from the serverinfo */
int retval = serverinfo_find_extension(serverinfo, serverinfo_length,
- ext_type, out, outlen);
+ ext_type, out, outlen);
if (retval == 0)
return 0; /* Error */
if (retval == -1)
*/
static int custom_ext_0_cli_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_0)
custom_ext_error = 1;
}
static int custom_ext_0_cli_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
custom_ext_error = 1; /* Shouldn't be called */
return 0;
}
static int custom_ext_1_cli_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_1)
custom_ext_error = 1;
}
static int custom_ext_1_cli_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
custom_ext_error = 1; /* Shouldn't be called */
return 0;
}
static int custom_ext_2_cli_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_2)
custom_ext_error = 1;
}
static int custom_ext_2_cli_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_2)
custom_ext_error = 1;
}
static int custom_ext_3_cli_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_3)
custom_ext_error = 1;
}
static int custom_ext_3_cli_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_3)
custom_ext_error = 1;
return 1;
}
-//custom_ext_0_cli_first_cb returns -1 - the server won't receive a callback for this extension
+/* custom_ext_0_cli_first_cb returns -1 - the server won't receive a callback for this extension */
static int custom_ext_0_srv_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
custom_ext_error = 1;
return 0; /* Shouldn't be called */
}
-//'generate' callbacks are always called, even if the 'receive' callback isn't called
+/* 'generate' callbacks are always called, even if the 'receive' callback isn't called */
static int custom_ext_0_srv_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
return -1; /* Don't send an extension */
}
}
static int custom_ext_1_srv_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
return -1; /* Don't send an extension */
}
static int custom_ext_2_srv_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_2)
custom_ext_error = 1;
}
static int custom_ext_2_srv_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
*out = NULL;
*outlen = 0;
}
static int custom_ext_3_srv_first_cb(SSL *s, unsigned short ext_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (ext_type != CUSTOM_EXT_TYPE_3)
custom_ext_error = 1;
}
static int custom_ext_3_srv_second_cb(SSL *s, unsigned short ext_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
*out = (const unsigned char*)custom_ext_srv_string;
*outlen = strlen(custom_ext_srv_string);
}
static int supp_data_0_srv_first_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
*out = (const unsigned char*)supp_data_0_string;
*outlen = strlen(supp_data_0_string);
}
static int supp_data_0_srv_second_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (supp_data_type != CUSTOM_SUPP_DATA_TYPE_0)
suppdata_error = 1;
}
static int supp_data_1_srv_first_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
return -1;
}
static int supp_data_1_srv_second_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
suppdata_error = 1;
return 1;
}
static int supp_data_0_cli_first_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
if (supp_data_type != CUSTOM_SUPP_DATA_TYPE_0)
suppdata_error = 1;
}
static int supp_data_0_cli_second_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
*out = (const unsigned char*)supp_data_0_string;
*outlen = strlen(supp_data_0_string);
}
static int supp_data_1_cli_first_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
suppdata_error = 1;
return 1;
}
static int supp_data_1_cli_second_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char **out,
- unsigned short *outlen, int *al, void *arg)
+ const unsigned char **out,
+ unsigned short *outlen, int *al, void *arg)
{
return -1;
}
static int supp_data_2_cli_first_cb(SSL *s, unsigned short supp_data_type,
- const unsigned char *in,
- unsigned short inlen, int *al,
- void *arg)
+ const unsigned char *in,
+ unsigned short inlen, int *al,
+ void *arg)
{
suppdata_error = 1;
return 1;
{
int cb_retval = 0;
cb_retval = record->fn1(s, record->ext_type,
- &out, &outlen, al,
- record->arg);
+ &out, &outlen, al,
+ record->arg);
if (cb_retval == 0)
return NULL; /* error */
if (cb_retval == -1)
for (i = 0; i < s->ctx->custom_srv_ext_records_count; i++)
{
- record = &s->ctx->custom_srv_ext_records[i];
const unsigned char *out = NULL;
unsigned short outlen = 0;
int cb_retval = 0;
+ record = &s->ctx->custom_srv_ext_records[i];
+
/* NULL callback or -1 omits extension */
if (!record->fn2)
break;