Date: Sat, 13 Jun 2015 17:34:34 +0000 (UTC) From: "Sergey A. Osokin" <osa@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r389474 - in head/www: nginx nginx-devel nginx-devel/files nginx/files Message-ID: <201506131734.t5DHYYLW078998@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: osa Date: Sat Jun 13 17:34:33 2015 New Revision: 389474 URL: https://svnweb.freebsd.org/changeset/ports/389474 Log: Fix digest authentication fail on URLs with a querystring for third-party http_auth_digest module. PR: 199758 Added: head/www/nginx-devel/files/extra-patch-ngx_http_auth_digest_module.c (contents, props changed) head/www/nginx/files/extra-patch-ngx_http_auth_digest_module.c (contents, props changed) Modified: head/www/nginx-devel/Makefile head/www/nginx/Makefile Modified: head/www/nginx-devel/Makefile ============================================================================== --- head/www/nginx-devel/Makefile Sat Jun 13 17:27:11 2015 (r389473) +++ head/www/nginx-devel/Makefile Sat Jun 13 17:34:33 2015 (r389474) @@ -293,6 +293,7 @@ GH_ACCOUNT+= samizdatco:auth_digest GH_PROJECT+= nginx-http-auth-digest:auth_digest GH_TAGNAME+= ${GIT_AUTH_DIGEST_VERSION}:auth_digest CONFIGURE_ARGS+=--add-module=${WRKSRC_auth_digest} +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_auth_digest_module.c .endif .if ${PORT_OPTIONS:MHTTP_AUTH_LDAP} Added: head/www/nginx-devel/files/extra-patch-ngx_http_auth_digest_module.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/nginx-devel/files/extra-patch-ngx_http_auth_digest_module.c Sat Jun 13 17:34:33 2015 (r389474) @@ -0,0 +1,30 @@ +--- ../nginx-http-auth-digest-bd1c86a/ngx_http_auth_digest_module.c.orig 2011-12-29 04:00:32.000000000 +0400 ++++ ../nginx-http-auth-digest-bd1c86a/ngx_http_auth_digest_module.c 2015-06-13 20:18:59.856347000 +0300 +@@ -403,11 +403,11 @@ + if (http_method.data==NULL) return NGX_HTTP_INTERNAL_SERVER_ERROR; + p = ngx_cpymem(http_method.data, r->method_name.data, r->method_end - r->method_name.data+1); + +- ha2_key.len = http_method.len + r->uri.len + 1; ++ ha2_key.len = http_method.len + r->unparsed_uri.len + 1; + ha2_key.data = ngx_pcalloc(r->pool, ha2_key.len); + if (ha2_key.data==NULL) return NGX_HTTP_INTERNAL_SERVER_ERROR; + p = ngx_cpymem(ha2_key.data, http_method.data, http_method.len-1); *p++ = ':'; +- p = ngx_cpymem(p, r->uri.data, r->uri.len); ++ p = ngx_cpymem(p, r->unparsed_uri.data, r->unparsed_uri.len); + + HA2.len = 33; + HA2.data = ngx_pcalloc(r->pool, HA2.len); +@@ -487,11 +487,11 @@ + // recalculate the digest with a modified HA2 value (for rspauth) and emit the + // Authentication-Info header + ngx_memset(ha2_key.data, 0, ha2_key.len); +- p = ngx_sprintf(ha2_key.data, ":%s", r->uri.data); ++ p = ngx_sprintf(ha2_key.data, ":%s", r->unparsed_uri.data); + + ngx_memset(HA2.data, 0, HA2.len); + ngx_md5_init(&md5); +- ngx_md5_update(&md5, ha2_key.data, r->uri.len); ++ ngx_md5_update(&md5, ha2_key.data, r->unparsed_uri.len); + ngx_md5_final(hash, &md5); + ngx_hex_dump(HA2.data, hash, 16); + Modified: head/www/nginx/Makefile ============================================================================== --- head/www/nginx/Makefile Sat Jun 13 17:27:11 2015 (r389473) +++ head/www/nginx/Makefile Sat Jun 13 17:34:33 2015 (r389474) @@ -290,6 +290,7 @@ GH_ACCOUNT+= samizdatco:auth_digest GH_PROJECT+= nginx-http-auth-digest:auth_digest GH_TAGNAME+= ${GIT_AUTH_DIGEST_VERSION}:auth_digest CONFIGURE_ARGS+=--add-module=${WRKSRC_auth_digest} +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_auth_digest_module.c .endif .if ${PORT_OPTIONS:MHTTP_AUTH_LDAP} Added: head/www/nginx/files/extra-patch-ngx_http_auth_digest_module.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/nginx/files/extra-patch-ngx_http_auth_digest_module.c Sat Jun 13 17:34:33 2015 (r389474) @@ -0,0 +1,30 @@ +--- ../nginx-http-auth-digest-bd1c86a/ngx_http_auth_digest_module.c.orig 2011-12-29 04:00:32.000000000 +0400 ++++ ../nginx-http-auth-digest-bd1c86a/ngx_http_auth_digest_module.c 2015-06-13 20:18:59.856347000 +0300 +@@ -403,11 +403,11 @@ + if (http_method.data==NULL) return NGX_HTTP_INTERNAL_SERVER_ERROR; + p = ngx_cpymem(http_method.data, r->method_name.data, r->method_end - r->method_name.data+1); + +- ha2_key.len = http_method.len + r->uri.len + 1; ++ ha2_key.len = http_method.len + r->unparsed_uri.len + 1; + ha2_key.data = ngx_pcalloc(r->pool, ha2_key.len); + if (ha2_key.data==NULL) return NGX_HTTP_INTERNAL_SERVER_ERROR; + p = ngx_cpymem(ha2_key.data, http_method.data, http_method.len-1); *p++ = ':'; +- p = ngx_cpymem(p, r->uri.data, r->uri.len); ++ p = ngx_cpymem(p, r->unparsed_uri.data, r->unparsed_uri.len); + + HA2.len = 33; + HA2.data = ngx_pcalloc(r->pool, HA2.len); +@@ -487,11 +487,11 @@ + // recalculate the digest with a modified HA2 value (for rspauth) and emit the + // Authentication-Info header + ngx_memset(ha2_key.data, 0, ha2_key.len); +- p = ngx_sprintf(ha2_key.data, ":%s", r->uri.data); ++ p = ngx_sprintf(ha2_key.data, ":%s", r->unparsed_uri.data); + + ngx_memset(HA2.data, 0, HA2.len); + ngx_md5_init(&md5); +- ngx_md5_update(&md5, ha2_key.data, r->uri.len); ++ ngx_md5_update(&md5, ha2_key.data, r->unparsed_uri.len); + ngx_md5_final(hash, &md5); + ngx_hex_dump(HA2.data, hash, 16); +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506131734.t5DHYYLW078998>