Lines 43-49
Link Here
|
43 |
TLSShared tls_shared; |
43 |
TLSShared tls_shared; |
44 |
SSL_CTX *ctx; |
44 |
SSL_CTX *ctx; |
45 |
SSL *ssl; |
45 |
SSL *ssl; |
46 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL |
46 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) |
47 |
BIO_METHOD* url_bio_method; |
47 |
BIO_METHOD* url_bio_method; |
48 |
#endif |
48 |
#endif |
49 |
} TLSContext; |
49 |
} TLSContext; |
Lines 68-74
Link Here
|
68 |
|
68 |
|
69 |
static int url_bio_create(BIO *b) |
69 |
static int url_bio_create(BIO *b) |
70 |
{ |
70 |
{ |
71 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL |
71 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) |
72 |
BIO_set_init(b, 1); |
72 |
BIO_set_init(b, 1); |
73 |
BIO_set_data(b, NULL); |
73 |
BIO_set_data(b, NULL); |
74 |
BIO_set_flags(b, 0); |
74 |
BIO_set_flags(b, 0); |
Lines 85-91
Link Here
|
85 |
return 1; |
85 |
return 1; |
86 |
} |
86 |
} |
87 |
|
87 |
|
88 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL |
88 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) |
89 |
#define GET_BIO_DATA(x) BIO_get_data(x); |
89 |
#define GET_BIO_DATA(x) BIO_get_data(x); |
90 |
#else |
90 |
#else |
91 |
#define GET_BIO_DATA(x) (x)->ptr; |
91 |
#define GET_BIO_DATA(x) (x)->ptr; |
Lines 133-139
Link Here
|
133 |
return url_bio_bwrite(b, str, strlen(str)); |
133 |
return url_bio_bwrite(b, str, strlen(str)); |
134 |
} |
134 |
} |
135 |
|
135 |
|
136 |
#if OPENSSL_VERSION_NUMBER < 0x1010000fL |
136 |
#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) |
137 |
static BIO_METHOD url_bio_method = { |
137 |
static BIO_METHOD url_bio_method = { |
138 |
.type = BIO_TYPE_SOURCE_SINK, |
138 |
.type = BIO_TYPE_SOURCE_SINK, |
139 |
.name = "urlprotocol bio", |
139 |
.name = "urlprotocol bio", |
Lines 212-218
Link Here
|
212 |
SSL_CTX_free(c->ctx); |
212 |
SSL_CTX_free(c->ctx); |
213 |
if (c->tls_shared.tcp) |
213 |
if (c->tls_shared.tcp) |
214 |
ffurl_close(c->tls_shared.tcp); |
214 |
ffurl_close(c->tls_shared.tcp); |
215 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL |
215 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) |
216 |
if (c->url_bio_method) |
216 |
if (c->url_bio_method) |
217 |
BIO_meth_free(c->url_bio_method); |
217 |
BIO_meth_free(c->url_bio_method); |
218 |
#endif |
218 |
#endif |
Lines 265-271
Link Here
|
265 |
ret = AVERROR(EIO); |
265 |
ret = AVERROR(EIO); |
266 |
goto fail; |
266 |
goto fail; |
267 |
} |
267 |
} |
268 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL |
268 |
#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) |
269 |
p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio"); |
269 |
p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio"); |
270 |
BIO_meth_set_write(p->url_bio_method, url_bio_bwrite); |
270 |
BIO_meth_set_write(p->url_bio_method, url_bio_bwrite); |
271 |
BIO_meth_set_read(p->url_bio_method, url_bio_bread); |
271 |
BIO_meth_set_read(p->url_bio_method, url_bio_bread); |