From 38c7549344d296114a08c75c17f1a66f5837e6d5 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 14:19:04 +0100 Subject: [PATCH 01/35] log data --- src/ngx_http_auth_jwt_module.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index a44e3b9..832fb9a 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -414,10 +414,12 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_str_t jwtCookieVal; ngx_int_t n; ngx_str_t authorizationHeaderStr; - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - - if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) + ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "my fancy char %c", r->args->data); +// if (r->args->len != 0) { +// +// } + /*if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { // using authorization header authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); @@ -445,7 +447,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) { jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); } - } + }*/ return jwtCookieValChrPtr; } From 3a2b13aff347c223fab90ff52047b9fcc5a0acda Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 14:24:00 +0100 Subject: [PATCH 02/35] log data --- src/ngx_http_auth_jwt_module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 832fb9a..ba0de5f 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -419,7 +419,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) // if (r->args->len != 0) { // // } - /*if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) + if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { // using authorization header authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); @@ -447,7 +447,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) { jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); } - }*/ + } return jwtCookieValChrPtr; } From a95c75a6915458e8bf863e3284afe24310a9cf50 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 14:28:01 +0100 Subject: [PATCH 03/35] log data --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index ba0de5f..8a423d5 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "my fancy char %c", r->args->data); + ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "my fancy char %c", r->args.data); // if (r->args->len != 0) { // // } From e69b50cdf457f4128acb7300782eaa9fdc2c43f9 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 14:32:06 +0100 Subject: [PATCH 04/35] log data --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 8a423d5..e0417ce 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "my fancy char %c", r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %c", r->args.data); // if (r->args->len != 0) { // // } From b1f7f4be5b1f5d2a1e07e95cb6848616af927fd6 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 14:38:24 +0100 Subject: [PATCH 05/35] log data --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index e0417ce..7cda909 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %c", r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s", r->args.data); // if (r->args->len != 0) { // // } From 14ee39f4293d7849ca876b10c273988e5c6f0177 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:15:01 +0100 Subject: [PATCH 06/35] log data --- src/ngx_http_auth_jwt_module.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 7cda909..ab5c451 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,11 +415,25 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s", r->args.data); -// if (r->args->len != 0) { -// -// } - if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); + if (r->args.len > 5) { + *query = strdup (r->args.data); + *tokens = query; + *p = query; + while ((p = strsep (&tokens, "&\n"))) { + char *var = strtok (p, "="), + *val = NULL; + if (var && (val = strtok (NULL, "="))) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "pair %s AND %s\n", var, val); + if (var == 'jwt') { + jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, val); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my jwt is %s\n", jwtCookieValChrPtr); + break; + } + } + } + } + else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { // using authorization header authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); From 3b9aa139d829d638e4eaf1cc75fa3296f72b2903 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:16:18 +0100 Subject: [PATCH 07/35] log data --- src/ngx_http_auth_jwt_module.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index ab5c451..7d7d3f9 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -417,6 +417,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); if (r->args.len > 5) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "REACED IF\n"); *query = strdup (r->args.data); *tokens = query; *p = query; From 617ac0166413bc063d9fc0f3ad611a9e37bc5669 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:27:05 +0100 Subject: [PATCH 08/35] log data --- src/ngx_http_auth_jwt_module.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 7d7d3f9..807eb65 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -418,16 +418,16 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); if (r->args.len > 5) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "REACED IF\n"); - *query = strdup (r->args.data); - *tokens = query; - *p = query; + char *query = strdup (array), + *tokens = query, + *p = query; while ((p = strsep (&tokens, "&\n"))) { char *var = strtok (p, "="), *val = NULL; if (var && (val = strtok (NULL, "="))) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "pair %s AND %s\n", var, val); - if (var == 'jwt') { - jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, val); + if (strcmp(var, "jwt") == 0) { + jwtCookieValChrPtr = val; ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my jwt is %s\n", jwtCookieValChrPtr); break; } From 4362f97cb768fe00fb33911804d3f30a035d5667 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:28:10 +0100 Subject: [PATCH 09/35] log data --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 807eb65..9e8b4ac 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -418,7 +418,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); if (r->args.len > 5) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "REACED IF\n"); - char *query = strdup (array), + char *query = strdup (r->args.data), *tokens = query, *p = query; while ((p = strsep (&tokens, "&\n"))) { From b123a028b707c347c23147ba752ac1188e47eba5 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:30:43 +0100 Subject: [PATCH 10/35] log data --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 9e8b4ac..7a6254e 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -418,7 +418,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); if (r->args.len > 5) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "REACED IF\n"); - char *query = strdup (r->args.data), + char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; while ((p = strsep (&tokens, "&\n"))) { From e1e3700f67a4ee66cfeec019c65db00fa945c0ee Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 17:39:49 +0100 Subject: [PATCH 11/35] Final --- src/ngx_http_auth_jwt_module.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 7a6254e..7f1a345 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,9 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my fancy char %s\n", r->args.data); if (r->args.len > 5) { - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "REACED IF\n"); char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; @@ -425,10 +423,8 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) char *var = strtok (p, "="), *val = NULL; if (var && (val = strtok (NULL, "="))) { - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "pair %s AND %s\n", var, val); if (strcmp(var, "jwt") == 0) { jwtCookieValChrPtr = val; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "my jwt is %s\n", jwtCookieValChrPtr); break; } } From d9bd0ec1e943e72c826a13fd4b461bec38a5b5f2 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Thu, 25 Feb 2021 18:25:52 +0100 Subject: [PATCH 12/35] check if args exist --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 7f1a345..057202f 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args.len > 5) { + if (r->args && r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; From 5b30e507b157419bacbf04261cd7ad24bf658453 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:25:23 +0100 Subject: [PATCH 13/35] Check for null --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 057202f..1042623 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args && r->args.len > 5) { + if (r->args != NULL && r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; From bb91ce6eb81c51420bf013e364758d68683f067d Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:27:11 +0100 Subject: [PATCH 14/35] Free memory --- src/ngx_http_auth_jwt_module.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 1042623..2d0b0aa 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -429,6 +429,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) } } } + free(query); } else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { From 04e2f7af16af41733492ba60dc125724ef20cb9e Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:32:25 +0100 Subject: [PATCH 15/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 2d0b0aa..60b5791 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args != NULL && r->args.len > 5) { + if (r->args && r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; From a83beb568699f30e2252b01024ff431cc3d019e2 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:35:57 +0100 Subject: [PATCH 16/35] Free memory --- src/ngx_http_auth_jwt_module.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 60b5791..5b00a10 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,8 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args && r->args.len > 5) { + ngx_log_error(NGX_LOG_ERROR, r->connection->log, 0, "Args are %i, %s", r->args.len, r->args.data); + if (r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; From 034da8c80fb84eb93a7516e924ec200d02d6e6d1 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:37:59 +0100 Subject: [PATCH 17/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 5b00a10..fbf3c18 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERROR, r->connection->log, 0, "Args are %i, %s", r->args.len, r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i, %s", r->args.len, r->args.data); if (r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, From 3ffdeba574b8622babff35474ef021e7b394dc9a Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:48:45 +0100 Subject: [PATCH 18/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index fbf3c18..91834f9 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i, %s", r->args.len, r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i, %s", r->args, r->args); if (r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, From 0dfc5ad3728bdb3468a5149d4ebf1d3bec7276a1 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:52:59 +0100 Subject: [PATCH 19/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 91834f9..8169f2a 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,7 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i, %s", r->args, r->args); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i\n", r->args_start); if (r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, From 9dd13b3bdf5b70dee1fe24222dfd3a9cea547018 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 09:55:48 +0100 Subject: [PATCH 20/35] Free memory --- src/ngx_http_auth_jwt_module.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 8169f2a..17196f9 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,8 +415,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Args are %i\n", r->args_start); - if (r->args.len > 5) { + if (r->args_start != 0 && r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; From 4a80d381518292c5b7a26ee660ecc533f147ef07 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:17:31 +0100 Subject: [PATCH 21/35] Free memory --- src/ngx_http_auth_jwt_module.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 17196f9..f2eb0f5 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -461,6 +461,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) } } + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsing token %s", jwtCookieValChrPtr); return jwtCookieValChrPtr; } From 0e93c8b1469f63833b0fdfa59b3e7ce9193221a5 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:19:03 +0100 Subject: [PATCH 22/35] Free memory --- src/ngx_http_auth_jwt_module.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index f2eb0f5..a339095 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -425,6 +425,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { jwtCookieValChrPtr = val; + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s\n", jwtCookieValChrPtr); break; } } @@ -461,7 +462,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) } } - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsing token %s", jwtCookieValChrPtr); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s\n", jwtCookieValChrPtr); return jwtCookieValChrPtr; } From 33980cb1b3ff4f4aeac5c0637ebd25d401b42db7 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:24:13 +0100 Subject: [PATCH 23/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index a339095..98b4425 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -424,7 +424,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { - jwtCookieValChrPtr = val; + strcpy(jwtCookieValChrPtr, val); ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s\n", jwtCookieValChrPtr); break; } From 36a982ce632f4e374f44d1433c98b210d9168d97 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:27:34 +0100 Subject: [PATCH 24/35] Free memory --- src/ngx_http_auth_jwt_module.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 98b4425..4a36fe7 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -424,13 +424,12 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { - strcpy(jwtCookieValChrPtr, val); + jwtCookieValChrPtr = val; ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s\n", jwtCookieValChrPtr); break; } } } - free(query); } else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { From 48f1a4e89495bc65184792406994ee77a80f9c86 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:47:22 +0100 Subject: [PATCH 25/35] Free memory --- src/ngx_http_auth_jwt_module.c | 77 +++++++++++++++++----------------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 4a36fe7..797b426 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -408,61 +408,60 @@ ngx_http_auth_jwt_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) { - static const ngx_str_t authorizationHeaderName = ngx_string("Authorization"); - ngx_table_elt_t *authorizationHeader; - char* jwtCookieValChrPtr = NULL; - ngx_str_t jwtCookieVal; - ngx_int_t n; - ngx_str_t authorizationHeaderStr; - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args_start != 0 && r->args.len > 5) { + static const ngx_str_t authorizationHeaderName = ngx_string("Authorization"); + ngx_table_elt_t *authorizationHeader; + char* jwtCookieValChrPtr = NULL; + ngx_str_t jwtCookieVal; + ngx_int_t n; + ngx_str_t authorizationHeaderStr; + ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); + if (r->args.len > 5) { char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; while ((p = strsep (&tokens, "&\n"))) { char *var = strtok (p, "="), - *val = NULL; + *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { jwtCookieValChrPtr = val; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s\n", jwtCookieValChrPtr); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n", jwtCookieValChrPtr); break; } } } } - else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) - { - // using authorization header - authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); - if (authorizationHeader != NULL) - { - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "Found authorization header len %d", authorizationHeader->value.len); - - authorizationHeaderStr.data = authorizationHeader->value.data + sizeof("Bearer ") - 1; - authorizationHeaderStr.len = authorizationHeader->value.len - (sizeof("Bearer ") - 1); - - jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, authorizationHeaderStr); + else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) + { + // using authorization header + authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); + if (authorizationHeader != NULL) + { + ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "Found authorization header len %d", authorizationHeader->value.len); - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "Authorization header: %s", jwtCookieValChrPtr); - } - } - else if (auth_jwt_validation_type.len > sizeof("COOKIE=") && ngx_strncmp(auth_jwt_validation_type.data, "COOKIE=", sizeof("COOKIE=") - 1)==0) - { - auth_jwt_validation_type.data += sizeof("COOKIE=") - 1; - auth_jwt_validation_type.len -= sizeof("COOKIE=") - 1; + authorizationHeaderStr.data = authorizationHeader->value.data + sizeof("Bearer ") - 1; + authorizationHeaderStr.len = authorizationHeader->value.len - (sizeof("Bearer ") - 1); - // get the cookie - // TODO: the cookie name could be passed in dynamicallly - n = ngx_http_parse_multi_header_lines(&r->headers_in.cookies, &auth_jwt_validation_type, &jwtCookieVal); - if (n != NGX_DECLINED) - { - jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); - } - } + jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, authorizationHeaderStr); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s\n", jwtCookieValChrPtr); - return jwtCookieValChrPtr; + ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "Authorization header: %s", jwtCookieValChrPtr); + } + } + else if (auth_jwt_validation_type.len > sizeof("COOKIE=") && ngx_strncmp(auth_jwt_validation_type.data, "COOKIE=", sizeof("COOKIE=") - 1)==0) + { + auth_jwt_validation_type.data += sizeof("COOKIE=") - 1; + auth_jwt_validation_type.len -= sizeof("COOKIE=") - 1; + + // get the cookie + // TODO: the cookie name could be passed in dynamicallly + n = ngx_http_parse_multi_header_lines(&r->headers_in.cookies, &auth_jwt_validation_type, &jwtCookieVal); + if (n != NGX_DECLINED) + { + jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); + } + } + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s END\n ", jwtCookieValChrPtr); + return jwtCookieValChrPtr; } From 991470c13152cc47e66e320e23ad37335774a75d Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:58:36 +0100 Subject: [PATCH 26/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 797b426..0ae6e2e 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -419,6 +419,8 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n", r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n", query); while ((p = strsep (&tokens, "&\n"))) { char *var = strtok (p, "="), *val = NULL; From b3af4fabe497cdb8f19aa78b0e7de6f537c1afb4 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 10:59:46 +0100 Subject: [PATCH 27/35] Free memory --- src/ngx_http_auth_jwt_module.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 0ae6e2e..8c6d3ef 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -419,15 +419,15 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) char *query = strdup ((const char *) r->args.data), *tokens = query, *p = query; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n", r->args.data); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n", query); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); while ((p = strsep (&tokens, "&\n"))) { char *var = strtok (p, "="), *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { jwtCookieValChrPtr = val; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n", jwtCookieValChrPtr); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); break; } } @@ -462,7 +462,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); } } - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s END\n ", jwtCookieValChrPtr); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s END\n\n\n ", jwtCookieValChrPtr); return jwtCookieValChrPtr; } From b9df2f9b6e4cba0f2b6ada0524f76cccdfe63726 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 11:30:07 +0100 Subject: [PATCH 28/35] Free memory --- src/ngx_http_auth_jwt_module.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 8c6d3ef..5941393 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -416,7 +416,8 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); if (r->args.len > 5) { - char *query = strdup ((const char *) r->args.data), + char *f = strdup ((const char *) r->args.data); + char *query = strtok(f, " "), *tokens = query, *p = query; ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); @@ -432,6 +433,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) } } } + free(f); } else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { From 532b0253f7d07852e8e26497fe092da1b82fbb38 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 11:33:24 +0100 Subject: [PATCH 29/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 5941393..8991a52 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -427,7 +427,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { - jwtCookieValChrPtr = val; + jwtCookieValChrPtr = strdup(val); ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); break; } From c731cd97016a6191e7ab93a7c3b26e84e022f576 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 11:43:34 +0100 Subject: [PATCH 30/35] Free memory --- src/ngx_http_auth_jwt_module.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 8991a52..70c3e22 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -160,6 +160,7 @@ static ngx_int_t ngx_http_auth_jwt_handler(ngx_http_request_t *r) ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "failed to find a jwt"); goto redirect; } + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "JWT is:%s END", jwtCookieValChrPtr); // convert key from hex to binary, if a symmetric key From b3db1b42e1f1924c7c1e3130fc2682cc658953bb Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 11:56:53 +0100 Subject: [PATCH 31/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 70c3e22..68d5cd4 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -416,7 +416,7 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args.len > 5) { + if (r->args_start != 0 && r->args.len > 5) { char *f = strdup ((const char *) r->args.data); char *query = strtok(f, " "), *tokens = query, From f0cc61b8d78c5c83391882a4711babeb1d2a6362 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 11:59:32 +0100 Subject: [PATCH 32/35] Free memory --- src/ngx_http_auth_jwt_module.c | 43 +++++++++++++++++----------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 68d5cd4..4aaa2c5 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -416,27 +416,28 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - if (r->args_start != 0 && r->args.len > 5) { - char *f = strdup ((const char *) r->args.data); - char *query = strtok(f, " "), - *tokens = query, - *p = query; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); - while ((p = strsep (&tokens, "&\n"))) { - char *var = strtok (p, "="), - *val = NULL; - if (var && (val = strtok (NULL, "="))) { - if (strcmp(var, "jwt") == 0) { - jwtCookieValChrPtr = strdup(val); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); - break; - } - } - } - free(f); - } - else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) +// if (r->args_start != 0 && r->args.len > 5) { +// char *f = strdup ((const char *) r->args.data); +// char *query = strtok(f, " "), +// *tokens = query, +// *p = query; +// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); +// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); +// while ((p = strsep (&tokens, "&\n"))) { +// char *var = strtok (p, "="), +// *val = NULL; +// if (var && (val = strtok (NULL, "="))) { +// if (strcmp(var, "jwt") == 0) { +// jwtCookieValChrPtr = strdup(val); +// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); +// break; +// } +// } +// } +// free(f); +// } +// else + if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { // using authorization header authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); From 8463c2579194ae95cfbc26dbfc664282f916ecad Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 12:13:46 +0100 Subject: [PATCH 33/35] Free memory --- src/ngx_http_auth_jwt_module.c | 43 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 4aaa2c5..68d5cd4 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -416,28 +416,27 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); -// if (r->args_start != 0 && r->args.len > 5) { -// char *f = strdup ((const char *) r->args.data); -// char *query = strtok(f, " "), -// *tokens = query, -// *p = query; -// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); -// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); -// while ((p = strsep (&tokens, "&\n"))) { -// char *var = strtok (p, "="), -// *val = NULL; -// if (var && (val = strtok (NULL, "="))) { -// if (strcmp(var, "jwt") == 0) { -// jwtCookieValChrPtr = strdup(val); -// ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); -// break; -// } -// } -// } -// free(f); -// } -// else - if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) + if (r->args_start != 0 && r->args.len > 5) { + char *f = strdup ((const char *) r->args.data); + char *query = strtok(f, " "), + *tokens = query, + *p = query; + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); + while ((p = strsep (&tokens, "&\n"))) { + char *var = strtok (p, "="), + *val = NULL; + if (var && (val = strtok (NULL, "="))) { + if (strcmp(var, "jwt") == 0) { + jwtCookieValChrPtr = strdup(val); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); + break; + } + } + } + free(f); + } + else if (auth_jwt_validation_type.len == 0 || (auth_jwt_validation_type.len == sizeof("AUTHORIZATION") - 1 && ngx_strncmp(auth_jwt_validation_type.data, "AUTHORIZATION", sizeof("AUTHORIZATION") - 1)==0)) { // using authorization header authorizationHeader = search_headers_in(r, authorizationHeaderName.data, authorizationHeaderName.len); From 38197fc48c719a7f82d01282cdebef6dc97a36a8 Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 12:15:56 +0100 Subject: [PATCH 34/35] Free memory --- src/ngx_http_auth_jwt_module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 68d5cd4..4f35df3 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -416,7 +416,9 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_int_t n; ngx_str_t authorizationHeaderStr; ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "ARGS START OUT %i END\n\n\n\n", r->args_start); if (r->args_start != 0 && r->args.len > 5) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "ARGS START IN %i END\n\n\n\n", r->args_start); char *f = strdup ((const char *) r->args.data); char *query = strtok(f, " "), *tokens = query, From 351894fab68a6c8b5f2562b538b32b7ed073248e Mon Sep 17 00:00:00 2001 From: Nemo Grippa Date: Fri, 26 Feb 2021 12:21:59 +0100 Subject: [PATCH 35/35] Remove logs --- src/ngx_http_auth_jwt_module.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/ngx_http_auth_jwt_module.c b/src/ngx_http_auth_jwt_module.c index 4f35df3..3c3613c 100644 --- a/src/ngx_http_auth_jwt_module.c +++ b/src/ngx_http_auth_jwt_module.c @@ -415,23 +415,17 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) ngx_str_t jwtCookieVal; ngx_int_t n; ngx_str_t authorizationHeaderStr; - ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "auth_jwt_validation_type.len %d", auth_jwt_validation_type.len); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "ARGS START OUT %i END\n\n\n\n", r->args_start); if (r->args_start != 0 && r->args.len > 5) { - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "ARGS START IN %i END\n\n\n\n", r->args_start); char *f = strdup ((const char *) r->args.data); char *query = strtok(f, " "), *tokens = query, *p = query; - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "data %s END\n\n\n\n", r->args.data); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "query string %s END\n\n\n\n", query); while ((p = strsep (&tokens, "&\n"))) { char *var = strtok (p, "="), *val = NULL; if (var && (val = strtok (NULL, "="))) { if (strcmp(var, "jwt") == 0) { jwtCookieValChrPtr = strdup(val); - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "found token %s END\n\n\n\n", jwtCookieValChrPtr); break; } } @@ -467,7 +461,6 @@ static char * getJwt(ngx_http_request_t *r, ngx_str_t auth_jwt_validation_type) jwtCookieValChrPtr = ngx_str_t_to_char_ptr(r->pool, jwtCookieVal); } } - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "parsed token %s END\n\n\n ", jwtCookieValChrPtr); return jwtCookieValChrPtr; }