Hello!<br><br>I was checking a strange behavior when parsing dates coming from different browsers with this function and observed that it not supports dates with only one digit, it expect that the date comes with 01, 02, 03 ...<br>
But as rfc822 and rfc2822 says the day can be 1, 2 , 3, ... 10, 15, ...<br>So I am proposing this patch to be compliant with the rfc.<br> <br>I expect that this patch could be applied to nginx code.<br><div class="gmail_extra">
<br>--- src/http/ngx_http_parse_time.c    2012-02-28 08:31:05.000000000 -0300<br>+++ src/http/ngx_http_parse_time.c    2012-11-09 11:38:38.664036971 -0200<br>@@ -54,12 +54,17 @@ ngx_http_parse_time(u_char *value, size_<br>
         }<br> <br>     if (fmt != isoc) {<br>-        if (*p < '0' || *p > '9' || *(p + 1) < '0' || *(p + 1) > '9') {<br>+        if (*p < '0' || *p > '9' || ((*(p + 1) != ' ') && (*(p + 1) < '0' || *(p + 1) > '9'))) {<br>
             return NGX_ERROR;<br>         }<br> <br>-        day = (*p - '0') * 10 + *(p + 1) - '0';<br>-        p += 2;<br>+        if (*(p + 1) == ' ') {<br>+            day = (*p - '0');<br>
+            p += 1;<br>+        } else {<br>+            day = (*p - '0') * 10 + *(p + 1) - '0';<br>+            p += 2;<br>+        }<br> <br>         if (*p == ' ') {<br>             if (end - p < 18) {<br>
<br>Regards,<br>Wandenberg<br></div>