diff --git a/mongoose.c b/mongoose.c index d5857b050bfb365a1b17dde6be69e7df4c8b7612..3e20d1391c4d8f325b4589ceb11c782100a6e6ef 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4705,7 +4705,7 @@ static int set_ssl_option(struct mg_context *ctx) { // If user callback returned non-NULL, that means that user callback has // set up certificate itself. In this case, skip sertificate setting. if ((ctx->callbacks.init_ssl == NULL || - !ctx->callbacks.init_ssl(ctx->ssl_ctx)) && + !ctx->callbacks.init_ssl(ctx->ssl_ctx, ctx->user_data)) && (SSL_CTX_use_certificate_file(ctx->ssl_ctx, pem, 1) == 0 || SSL_CTX_use_PrivateKey_file(ctx->ssl_ctx, pem, 1) == 0)) { cry(fc(ctx), "%s: cannot open %s: %s", __func__, pem, ssl_error()); diff --git a/mongoose.h b/mongoose.h index d3635333353286787f8b7572f125ae04cd28a7e9..84a711bf71d452ba6d419e3990cf477fbca3cf17 100644 --- a/mongoose.h +++ b/mongoose.h @@ -59,7 +59,7 @@ struct mg_callbacks { int (*begin_request)(struct mg_connection *); void (*end_request)(const struct mg_connection *, int reply_status_code); int (*log_message)(const struct mg_connection *, const char *message); - int (*init_ssl)(void *ssl_context); + int (*init_ssl)(void *ssl_context, void *user_data); int (*websocket_connect)(const struct mg_connection *); void (*websocket_ready)(struct mg_connection *); int (*websocket_data)(struct mg_connection *);