Mercurial > hg > nginx
comparison src/http/ngx_http_core_module.c @ 6885:25203fc377fb
Implemented the "server_tokens build" option.
Based on a patch by Tom Thorogood.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 31 Jan 2017 12:09:40 +0300 |
parents | c85dfd99a2dd |
children | 1aeaae6e9446 |
comparison
equal
deleted
inserted
replaced
6884:640f03529395 | 6885:25203fc377fb |
---|---|
118 { ngx_string("always"), NGX_HTTP_LINGERING_ALWAYS }, | 118 { ngx_string("always"), NGX_HTTP_LINGERING_ALWAYS }, |
119 { ngx_null_string, 0 } | 119 { ngx_null_string, 0 } |
120 }; | 120 }; |
121 | 121 |
122 | 122 |
123 static ngx_conf_enum_t ngx_http_core_server_tokens[] = { | |
124 { ngx_string("off"), NGX_HTTP_SERVER_TOKENS_OFF }, | |
125 { ngx_string("on"), NGX_HTTP_SERVER_TOKENS_ON }, | |
126 { ngx_string("build"), NGX_HTTP_SERVER_TOKENS_BUILD }, | |
127 { ngx_null_string, 0 } | |
128 }; | |
129 | |
130 | |
123 static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { | 131 static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { |
124 { ngx_string("off"), NGX_HTTP_IMS_OFF }, | 132 { ngx_string("off"), NGX_HTTP_IMS_OFF }, |
125 { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, | 133 { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, |
126 { ngx_string("before"), NGX_HTTP_IMS_BEFORE }, | 134 { ngx_string("before"), NGX_HTTP_IMS_BEFORE }, |
127 { ngx_null_string, 0 } | 135 { ngx_null_string, 0 } |
597 NGX_HTTP_LOC_CONF_OFFSET, | 605 NGX_HTTP_LOC_CONF_OFFSET, |
598 offsetof(ngx_http_core_loc_conf_t, recursive_error_pages), | 606 offsetof(ngx_http_core_loc_conf_t, recursive_error_pages), |
599 NULL }, | 607 NULL }, |
600 | 608 |
601 { ngx_string("server_tokens"), | 609 { ngx_string("server_tokens"), |
602 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 610 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
603 ngx_conf_set_flag_slot, | 611 ngx_conf_set_enum_slot, |
604 NGX_HTTP_LOC_CONF_OFFSET, | 612 NGX_HTTP_LOC_CONF_OFFSET, |
605 offsetof(ngx_http_core_loc_conf_t, server_tokens), | 613 offsetof(ngx_http_core_loc_conf_t, server_tokens), |
606 NULL }, | 614 &ngx_http_core_server_tokens }, |
607 | 615 |
608 { ngx_string("if_modified_since"), | 616 { ngx_string("if_modified_since"), |
609 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 617 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
610 ngx_conf_set_enum_slot, | 618 ngx_conf_set_enum_slot, |
611 NGX_HTTP_LOC_CONF_OFFSET, | 619 NGX_HTTP_LOC_CONF_OFFSET, |
3574 clcf->msie_padding = NGX_CONF_UNSET; | 3582 clcf->msie_padding = NGX_CONF_UNSET; |
3575 clcf->msie_refresh = NGX_CONF_UNSET; | 3583 clcf->msie_refresh = NGX_CONF_UNSET; |
3576 clcf->log_not_found = NGX_CONF_UNSET; | 3584 clcf->log_not_found = NGX_CONF_UNSET; |
3577 clcf->log_subrequest = NGX_CONF_UNSET; | 3585 clcf->log_subrequest = NGX_CONF_UNSET; |
3578 clcf->recursive_error_pages = NGX_CONF_UNSET; | 3586 clcf->recursive_error_pages = NGX_CONF_UNSET; |
3579 clcf->server_tokens = NGX_CONF_UNSET; | |
3580 clcf->chunked_transfer_encoding = NGX_CONF_UNSET; | 3587 clcf->chunked_transfer_encoding = NGX_CONF_UNSET; |
3581 clcf->etag = NGX_CONF_UNSET; | 3588 clcf->etag = NGX_CONF_UNSET; |
3589 clcf->server_tokens = NGX_CONF_UNSET_UINT; | |
3582 clcf->types_hash_max_size = NGX_CONF_UNSET_UINT; | 3590 clcf->types_hash_max_size = NGX_CONF_UNSET_UINT; |
3583 clcf->types_hash_bucket_size = NGX_CONF_UNSET_UINT; | 3591 clcf->types_hash_bucket_size = NGX_CONF_UNSET_UINT; |
3584 | 3592 |
3585 clcf->open_file_cache = NGX_CONF_UNSET_PTR; | 3593 clcf->open_file_cache = NGX_CONF_UNSET_PTR; |
3586 clcf->open_file_cache_valid = NGX_CONF_UNSET; | 3594 clcf->open_file_cache_valid = NGX_CONF_UNSET; |
3840 ngx_conf_merge_value(conf->msie_refresh, prev->msie_refresh, 0); | 3848 ngx_conf_merge_value(conf->msie_refresh, prev->msie_refresh, 0); |
3841 ngx_conf_merge_value(conf->log_not_found, prev->log_not_found, 1); | 3849 ngx_conf_merge_value(conf->log_not_found, prev->log_not_found, 1); |
3842 ngx_conf_merge_value(conf->log_subrequest, prev->log_subrequest, 0); | 3850 ngx_conf_merge_value(conf->log_subrequest, prev->log_subrequest, 0); |
3843 ngx_conf_merge_value(conf->recursive_error_pages, | 3851 ngx_conf_merge_value(conf->recursive_error_pages, |
3844 prev->recursive_error_pages, 0); | 3852 prev->recursive_error_pages, 0); |
3845 ngx_conf_merge_value(conf->server_tokens, prev->server_tokens, 1); | |
3846 ngx_conf_merge_value(conf->chunked_transfer_encoding, | 3853 ngx_conf_merge_value(conf->chunked_transfer_encoding, |
3847 prev->chunked_transfer_encoding, 1); | 3854 prev->chunked_transfer_encoding, 1); |
3848 ngx_conf_merge_value(conf->etag, prev->etag, 1); | 3855 ngx_conf_merge_value(conf->etag, prev->etag, 1); |
3856 | |
3857 ngx_conf_merge_uint_value(conf->server_tokens, prev->server_tokens, | |
3858 NGX_HTTP_SERVER_TOKENS_ON); | |
3849 | 3859 |
3850 ngx_conf_merge_ptr_value(conf->open_file_cache, | 3860 ngx_conf_merge_ptr_value(conf->open_file_cache, |
3851 prev->open_file_cache, NULL); | 3861 prev->open_file_cache, NULL); |
3852 | 3862 |
3853 ngx_conf_merge_sec_value(conf->open_file_cache_valid, | 3863 ngx_conf_merge_sec_value(conf->open_file_cache_valid, |