mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
Moved ngx_http_parse_time() to core, renamed accordingly.
The function is now called ngx_parse_http_time(), and can be used by any code to parse HTTP-style date and time. In particular, it will be used for OCSP stapling. For compatibility, a macro to map ngx_http_parse_time() to the new name provided for a while.
This commit is contained in:
parent
dd41bfd47a
commit
9984f3053f
@ -19,6 +19,7 @@ CORE_DEPS="src/core/nginx.h \
|
||||
src/core/ngx_queue.h \
|
||||
src/core/ngx_string.h \
|
||||
src/core/ngx_parse.h \
|
||||
src/core/ngx_parse_time.h \
|
||||
src/core/ngx_inet.h \
|
||||
src/core/ngx_file.h \
|
||||
src/core/ngx_crc.h \
|
||||
@ -53,6 +54,7 @@ CORE_SRCS="src/core/nginx.c \
|
||||
src/core/ngx_output_chain.c \
|
||||
src/core/ngx_string.c \
|
||||
src/core/ngx_parse.c \
|
||||
src/core/ngx_parse_time.c \
|
||||
src/core/ngx_inet.c \
|
||||
src/core/ngx_file.c \
|
||||
src/core/ngx_crc32.c \
|
||||
@ -303,7 +305,6 @@ HTTP_SRCS="src/http/ngx_http.c \
|
||||
src/http/ngx_http_script.c \
|
||||
src/http/ngx_http_upstream.c \
|
||||
src/http/ngx_http_upstream_round_robin.c \
|
||||
src/http/ngx_http_parse_time.c \
|
||||
src/http/modules/ngx_http_static_module.c \
|
||||
src/http/modules/ngx_http_index_module.c \
|
||||
src/http/modules/ngx_http_chunked_filter_module.c \
|
||||
|
@ -54,6 +54,7 @@ typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c);
|
||||
#include <ngx_process.h>
|
||||
#include <ngx_user.h>
|
||||
#include <ngx_parse.h>
|
||||
#include <ngx_parse_time.h>
|
||||
#include <ngx_log.h>
|
||||
#include <ngx_alloc.h>
|
||||
#include <ngx_palloc.h>
|
||||
|
@ -7,13 +7,12 @@
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
#include <ngx_http.h>
|
||||
|
||||
|
||||
static ngx_uint_t mday[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
||||
|
||||
time_t
|
||||
ngx_http_parse_time(u_char *value, size_t len)
|
||||
ngx_parse_http_time(u_char *value, size_t len)
|
||||
{
|
||||
u_char *p, *end;
|
||||
ngx_int_t month;
|
22
src/core/ngx_parse_time.h
Normal file
22
src/core/ngx_parse_time.h
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
/*
|
||||
* Copyright (C) Igor Sysoev
|
||||
* Copyright (C) Nginx, Inc.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _NGX_PARSE_TIME_H_INCLUDED_
|
||||
#define _NGX_PARSE_TIME_H_INCLUDED_
|
||||
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
|
||||
|
||||
time_t ngx_parse_http_time(u_char *value, size_t len);
|
||||
|
||||
/* compatibility */
|
||||
#define ngx_http_parse_time(value, len) ngx_parse_http_time(value, len)
|
||||
|
||||
|
||||
#endif /* _NGX_PARSE_TIME_H_INCLUDED_ */
|
@ -255,7 +255,7 @@ ngx_http_dav_put_handler(ngx_http_request_t *r)
|
||||
ext.log = r->connection->log;
|
||||
|
||||
if (r->headers_in.date) {
|
||||
date = ngx_http_parse_time(r->headers_in.date->value.data,
|
||||
date = ngx_parse_http_time(r->headers_in.date->value.data,
|
||||
r->headers_in.date->value.len);
|
||||
|
||||
if (date != NGX_ERROR) {
|
||||
|
@ -498,7 +498,7 @@ ngx_http_set_last_modified(ngx_http_request_t *r, ngx_http_header_val_t *hv,
|
||||
}
|
||||
|
||||
r->headers_out.last_modified_time =
|
||||
(value->len) ? ngx_http_parse_time(value->data, value->len) : -1;
|
||||
(value->len) ? ngx_parse_http_time(value->data, value->len) : -1;
|
||||
|
||||
return NGX_OK;
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ ngx_http_test_if_unmodified(ngx_http_request_t *r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
iums = ngx_http_parse_time(r->headers_in.if_unmodified_since->value.data,
|
||||
iums = ngx_parse_http_time(r->headers_in.if_unmodified_since->value.data,
|
||||
r->headers_in.if_unmodified_since->value.len);
|
||||
|
||||
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
|
||||
@ -148,7 +148,7 @@ ngx_http_test_if_modified(ngx_http_request_t *r)
|
||||
return 1;
|
||||
}
|
||||
|
||||
ims = ngx_http_parse_time(r->headers_in.if_modified_since->value.data,
|
||||
ims = ngx_parse_http_time(r->headers_in.if_modified_since->value.data,
|
||||
r->headers_in.if_modified_since->value.len);
|
||||
|
||||
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
|
||||
|
@ -204,7 +204,7 @@ ngx_http_range_header_filter(ngx_http_request_t *r)
|
||||
goto next_filter;
|
||||
}
|
||||
|
||||
if_range_time = ngx_http_parse_time(if_range->data, if_range->len);
|
||||
if_range_time = ngx_parse_http_time(if_range->data, if_range->len);
|
||||
|
||||
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
|
||||
"http ir:%d lm:%d",
|
||||
|
@ -148,9 +148,6 @@ ngx_int_t ngx_http_filter_finalize_request(ngx_http_request_t *r,
|
||||
void ngx_http_clean_header(ngx_http_request_t *r);
|
||||
|
||||
|
||||
time_t ngx_http_parse_time(u_char *value, size_t len);
|
||||
|
||||
|
||||
ngx_int_t ngx_http_discard_request_body(ngx_http_request_t *r);
|
||||
void ngx_http_discarded_request_body_handler(ngx_http_request_t *r);
|
||||
void ngx_http_block_reading(ngx_http_request_t *r);
|
||||
|
@ -2195,7 +2195,7 @@ ngx_http_gzip_ok(ngx_http_request_t *r)
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
expires = ngx_http_parse_time(e->value.data, e->value.len);
|
||||
expires = ngx_parse_http_time(e->value.data, e->value.len);
|
||||
if (expires == NGX_ERROR) {
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
@ -2203,7 +2203,7 @@ ngx_http_gzip_ok(ngx_http_request_t *r)
|
||||
d = r->headers_out.date;
|
||||
|
||||
if (d) {
|
||||
date = ngx_http_parse_time(d->value.data, d->value.len);
|
||||
date = ngx_parse_http_time(d->value.data, d->value.len);
|
||||
if (date == NGX_ERROR) {
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
@ -3731,7 +3731,7 @@ ngx_http_upstream_store(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
||||
|
||||
if (u->headers_in.last_modified) {
|
||||
|
||||
lm = ngx_http_parse_time(u->headers_in.last_modified->value.data,
|
||||
lm = ngx_parse_http_time(u->headers_in.last_modified->value.data,
|
||||
u->headers_in.last_modified->value.len);
|
||||
|
||||
if (lm != NGX_ERROR) {
|
||||
@ -4128,7 +4128,7 @@ ngx_http_upstream_process_last_modified(ngx_http_request_t *r,
|
||||
#if (NGX_HTTP_CACHE)
|
||||
|
||||
if (u->cacheable) {
|
||||
u->headers_in.last_modified_time = ngx_http_parse_time(h->value.data,
|
||||
u->headers_in.last_modified_time = ngx_parse_http_time(h->value.data,
|
||||
h->value.len);
|
||||
}
|
||||
|
||||
@ -4292,7 +4292,7 @@ ngx_http_upstream_process_expires(ngx_http_request_t *r, ngx_table_elt_t *h,
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
expires = ngx_http_parse_time(h->value.data, h->value.len);
|
||||
expires = ngx_parse_http_time(h->value.data, h->value.len);
|
||||
|
||||
if (expires == NGX_ERROR || expires < ngx_time()) {
|
||||
u->cacheable = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user