From e0b9e4abfdf0462d07464be73fc15443cf5d05b4 Mon Sep 17 00:00:00 2001 From: Sergey Lyubka <valenok@gmail.com> Date: Mon, 16 Jun 2014 11:06:57 +0100 Subject: [PATCH] Added enable_proxy --- mongoose.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mongoose.c b/mongoose.c index b1006b043..92222e616 100644 --- a/mongoose.c +++ b/mongoose.c @@ -1196,6 +1196,7 @@ enum { #ifndef MONGOOSE_NO_DIRECTORY_LISTING ENABLE_DIRECTORY_LISTING, #endif + ENABLE_PROXY, #endif EXTRA_MIME_TYPES, #if !defined(MONGOOSE_NO_FILESYSTEM) && !defined(MONGOOSE_NO_AUTH) @@ -1238,6 +1239,7 @@ static const char *static_config_options[] = { #ifndef MONGOOSE_NO_DIRECTORY_LISTING "enable_directory_listing", "yes", #endif + "enable_proxy", NULL, #endif "extra_mime_types", NULL, #if !defined(MONGOOSE_NO_FILESYSTEM) && !defined(MONGOOSE_NO_AUTH) @@ -4198,6 +4200,7 @@ static void open_local_endpoint(struct connection *conn, int skip_user) { file_stat_t st; int exists = 0; #endif + const char *pxy = conn->server->config_options[ENABLE_PROXY]; // If EP_USER was set in a prev call, reset it conn->endpoint_type = EP_NONE; @@ -4226,8 +4229,9 @@ static void open_local_endpoint(struct connection *conn, int skip_user) { return; } - if (strcmp(conn->mg_conn.request_method, "CONNECT") == 0 || - memcmp(conn->mg_conn.uri, "http", 4) == 0) { + if (pxy != NULL && !strcmp(pxy, "yes") && + (strcmp(conn->mg_conn.request_method, "CONNECT") == 0 || + memcmp(conn->mg_conn.uri, "http", 4) == 0)) { proxify_connection(conn); return; } -- GitLab