|
@@ -3551,6 +3551,7 @@ static int load_dll(struct mg_context *ctx, const char *dll_name,
|
|
|
|
|
|
// Dynamically load SSL library. Set up ctx->ssl_ctx pointer.
|
|
// Dynamically load SSL library. Set up ctx->ssl_ctx pointer.
|
|
static int set_ssl_option(struct mg_context *ctx) {
|
|
static int set_ssl_option(struct mg_context *ctx) {
|
|
|
|
+ struct mg_request_info request_info;
|
|
SSL_CTX *CTX;
|
|
SSL_CTX *CTX;
|
|
int i, size;
|
|
int i, size;
|
|
const char *pem = ctx->config[SSL_CERTIFICATE];
|
|
const char *pem = ctx->config[SSL_CERTIFICATE];
|
|
@@ -3574,8 +3575,10 @@ static int set_ssl_option(struct mg_context *ctx) {
|
|
if ((CTX = SSL_CTX_new(SSLv23_server_method())) == NULL) {
|
|
if ((CTX = SSL_CTX_new(SSLv23_server_method())) == NULL) {
|
|
cry(fc(ctx), "SSL_CTX_new error: %s", ssl_error());
|
|
cry(fc(ctx), "SSL_CTX_new error: %s", ssl_error());
|
|
} else if (ctx->user_callback != NULL) {
|
|
} else if (ctx->user_callback != NULL) {
|
|
|
|
+ memset(&request_info, 0, sizeof(request_info));
|
|
|
|
+ request_info.user_data = ctx->user_data;
|
|
ctx->user_callback(MG_INIT_SSL, (struct mg_connection *) CTX,
|
|
ctx->user_callback(MG_INIT_SSL, (struct mg_connection *) CTX,
|
|
- ctx->user_data);
|
|
|
|
|
|
+ &request_info);
|
|
}
|
|
}
|
|
|
|
|
|
if (CTX != NULL && SSL_CTX_use_certificate_file(CTX, pem,
|
|
if (CTX != NULL && SSL_CTX_use_certificate_file(CTX, pem,
|