hsts: skip expired HSTS entries read from file
No binary (build failed)
—
(log yok)
| @@ -408,6 +408,7 @@ static CURLcode hsts_add(struct hsts *h, const char *line) | |
| time_t expires = 0; | |
| const char *hp = curlx_str(&host); | |
| size_t hlen; | |
| + | time_t now = time(NULL); |
| /* The date parser works on a null-terminated string. The maximum length | |
| is upheld by curlx_str_quotedword(). */ | |
| @@ -419,6 +420,10 @@ static CURLcode hsts_add(struct hsts *h, const char *line) | |
| else | |
| Curl_getdate_capped(dbuf, &expires); | |
| + | if(expires <= now) |
| + | /* this entry already expired */ |
| + | return CURLE_OK; |
| + | |
| if(hp[0] == '.') { | |
| curlx_str_nudge(&host, 1); | |
| hp = curlx_str(&host); | |
| @@ -48,6 +48,7 @@ CURL_TIME=1728465947 | |
| <file name="%LOGDIR/input%TESTNUMBER"> | |
| this.hsts.example "99991001 04:47:41" | |
| + | expired.example "20011001 04:47:41" |
| </file> | |
| <name> | |