static serf_bucket_t * s_connection_setup(apr_socket_t *skt, void *setup_ctx, apr_pool_t *UNUSED(pool)) { serf_bucket_t *c; app_ctx_t *ctx = (app_ctx_t *)setup_ctx; c = serf_bucket_socket_create(skt, ctx->bkt_alloc); if (ctx->ssl_flag) { c = serf_bucket_ssl_decrypt_create(c, ctx->ssl_ctx, ctx->bkt_alloc); if (!ctx->ssl_ctx) { ctx->ssl_ctx = serf_bucket_ssl_decrypt_context_get(c); serf_ssl_use_default_certificates(ctx->ssl_ctx); serf_ssl_server_cert_callback_set(ctx->ssl_ctx, NULL, NULL); } return c; } return c; }
/* Test setting up the openssl library. */ static void test_ssl_init(CuTest *tc) { serf_bucket_t *bkt, *stream; serf_ssl_context_t *ssl_context; apr_status_t status; apr_pool_t *test_pool = test_setup(); serf_bucket_alloc_t *alloc = serf_bucket_allocator_create(test_pool, NULL, NULL); stream = SERF_BUCKET_SIMPLE_STRING("", alloc); bkt = serf_bucket_ssl_decrypt_create(stream, NULL, alloc); ssl_context = serf_bucket_ssl_decrypt_context_get(bkt); bkt = serf_bucket_ssl_encrypt_create(stream, ssl_context, alloc); status = serf_ssl_use_default_certificates(ssl_context); CuAssertIntEquals(tc, APR_SUCCESS, status); test_teardown(test_pool); }