int err;
};
+static int clientquicdata = 0xff, serverquicdata = 0xfe;
+
+static int check_app_data(SSL *s)
+{
+ int *data, *comparedata;
+
+ /* Check app data works */
+ data = (int *)SSL_get_app_data(s);
+ comparedata = SSL_is_server(s) ? &serverquicdata : &clientquicdata;
+
+ if (comparedata != data)
+ return 0;
+
+ return 1;
+}
+
static int crypto_send_cb(SSL *s, const unsigned char *buf, size_t buf_len,
size_t *consumed, void *arg)
{
size_t max_len = sizeof(peer->rcd_data[data->wenc_level])
- peer->rcd_data_len[data->wenc_level];
+ if (!check_app_data(s)) {
+ data->err = 1;
+ return 0;
+ }
+
if (buf_len > max_len)
buf_len = max_len;
{
struct quic_tls_test_data *data = (struct quic_tls_test_data *)arg;
+ if (!check_app_data(s)) {
+ data->err = 1;
+ return 0;
+ }
+
*bytes_read = data->rcd_data_len[data->renc_level];
*buf = data->rcd_data[data->renc_level];
return 1;
{
struct quic_tls_test_data *data = (struct quic_tls_test_data *)arg;
+ if (!check_app_data(s)) {
+ data->err = 1;
+ return 0;
+ }
+
if (!TEST_size_t_eq(bytes_read, data->rcd_data_len[data->renc_level])
|| !TEST_size_t_gt(bytes_read, 0)) {
data->err = 1;
{
struct quic_tls_test_data *data = (struct quic_tls_test_data *)arg;
+ if (!check_app_data(s))
+ goto err;
+
if (prot_level < OSSL_RECORD_PROTECTION_LEVEL_EARLY
|| prot_level > OSSL_RECORD_PROTECTION_LEVEL_APPLICATION)
goto err;
{
struct quic_tls_test_data *data = (struct quic_tls_test_data *)arg;
+ if (!check_app_data(s)) {
+ data->err = 1;
+ return 0;
+ }
+
if (!TEST_size_t_le(params_len, sizeof(data->params))) {
data->err = 1;
return 0;
{
struct quic_tls_test_data *data = (struct quic_tls_test_data *)arg;
+ if (!check_app_data(s)) {
+ data->err = 1;
+ return 0;
+ }
+
data->alert = 1;
return 1;
}
NULL)))
goto end;
+ if (!TEST_true(SSL_set_app_data(clientssl, &clientquicdata))
+ || !TEST_true(SSL_set_app_data(serverssl, &serverquicdata)))
+ goto end;
+
if (!TEST_true(SSL_set_quic_tls_cbs(clientssl, qtdis, &cdata))
|| !TEST_true(SSL_set_quic_tls_cbs(serverssl, qtdis, &sdata))
|| !TEST_true(SSL_set_quic_tls_transport_params(clientssl, cparams,
if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl,
&clientssl, NULL, NULL))
|| !TEST_true(SSL_set_session(clientssl, sess)))
- return 0;
+ goto end;
+
+ if (!TEST_true(SSL_set_app_data(clientssl, &clientquicdata))
+ || !TEST_true(SSL_set_app_data(serverssl, &serverquicdata)))
+ goto end;
if (!TEST_true(SSL_set_quic_tls_cbs(clientssl, qtdis, &cdata))
|| !TEST_true(SSL_set_quic_tls_cbs(serverssl, qtdis, &sdata))