nginx-0.0.1-2003-12-02-19:57:05 import
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index dd97433..5dc0bc3 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -797,6 +797,12 @@
         case sw_quoted_second:
             if (ch >= '0' && ch <= '9') {
                 ch = (decoded << 4) + ch - '0';
+                if (ch == '%') {
+                    state = sw_usual;
+                    *u++ = ch;
+                    ch = *p++;
+                    break;
+                }
                 state = quoted_state;
                 break;
             }
@@ -804,6 +810,12 @@
             c = ch | 0x20;
             if (c >= 'a' && c <= 'f') {
                 ch = (decoded << 4) + c - 'a' + 10;
+                if (ch == '%') {
+                    state = sw_usual;
+                    *u++ = ch;
+                    ch = *p++;
+                    break;
+                }
                 state = quoted_state;
                 break;
             }