diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2016-06-25 18:52:06 -0400 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2016-06-25 18:52:06 -0400 |
commit | 69ec5728f99ac2c0c3b6902f31124fb309413eaf (patch) | |
tree | 2d4be311cdd35535e1109c74d7220ffc7a2e48cd | |
parent | 8dcbd61a45851f5492425acc1b19e4fd7081424b (diff) | |
download | lighttpd-git-69ec5728f99ac2c0c3b6902f31124fb309413eaf.tar.gz |
use con->conf.server_tag in modules
do not expose server info server_tag is configured by admin
default con->conf.server_tag is still PACKAGE_DESC, those
admin can configure server.tag otherwise.
(these changes reduce recompilation and relinking when switching
brances in source control)
-rw-r--r-- | src/configfile.c | 3 | ||||
-rw-r--r-- | src/mod_cgi.c | 8 | ||||
-rw-r--r-- | src/mod_dirlisting.c | 4 | ||||
-rw-r--r-- | src/mod_fastcgi.c | 9 | ||||
-rw-r--r-- | src/mod_scgi.c | 9 | ||||
-rw-r--r-- | src/mod_ssi.c | 3 | ||||
-rw-r--r-- | src/mod_status.c | 11 | ||||
-rw-r--r-- | src/response.c | 5 |
8 files changed, 14 insertions, 38 deletions
diff --git a/src/configfile.c b/src/configfile.c index ffcc7a52..6489b09c 100644 --- a/src/configfile.c +++ b/src/configfile.c @@ -9,6 +9,7 @@ #include "configfile.h" #include "proc_open.h" #include "request.h" +#include "version.h" #include <sys/stat.h> @@ -206,7 +207,7 @@ static int config_insert(server *srv) { s->ssl_ca_file = buffer_init(); s->error_handler = buffer_init(); s->error_handler_404 = buffer_init(); - s->server_tag = buffer_init(); + s->server_tag = buffer_init_string(PACKAGE_DESC); s->ssl_cipher_list = buffer_init(); s->ssl_dh_file = buffer_init(); s->ssl_ec_curve = buffer_init(); diff --git a/src/mod_cgi.c b/src/mod_cgi.c index 883444dc..fb20a830 100644 --- a/src/mod_cgi.c +++ b/src/mod_cgi.c @@ -36,8 +36,6 @@ #include <stdio.h> #include <fcntl.h> -#include "version.h" - enum {EOL_UNSET, EOL_N, EOL_RN}; typedef struct { @@ -1087,11 +1085,7 @@ static int cgi_create_env(server *srv, connection *con, plugin_data *p, handler_ env.size = 0; env.used = 0; - if (buffer_is_empty(con->conf.server_tag)) { - cgi_env_add(&env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_STR_LEN(PACKAGE_DESC)); - } else { - cgi_env_add(&env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)); - } + cgi_env_add(&env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)); if (!buffer_string_is_empty(con->server_name)) { size_t len = buffer_string_length(con->server_name); diff --git a/src/mod_dirlisting.c b/src/mod_dirlisting.c index b65dbbac..01e86623 100644 --- a/src/mod_dirlisting.c +++ b/src/mod_dirlisting.c @@ -33,8 +33,6 @@ #include <sys/extattr.h> #endif -#include "version.h" - /* plugin config for all request/connections */ typedef struct { @@ -628,8 +626,6 @@ static void http_list_directory_footer(server *srv, connection *con, plugin_data if (!buffer_string_is_empty(p->conf.set_footer)) { buffer_append_string_buffer(out, p->conf.set_footer); - } else if (buffer_is_empty(con->conf.server_tag)) { - buffer_append_string_len(out, CONST_STR_LEN(PACKAGE_DESC)); } else { buffer_append_string_buffer(out, con->conf.server_tag); } diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c index d55679f6..6942ce84 100644 --- a/src/mod_fastcgi.c +++ b/src/mod_fastcgi.c @@ -48,8 +48,6 @@ #include <sys/wait.h> #endif -#include "version.h" - /* * * TODO: @@ -1961,12 +1959,7 @@ static int fcgi_create_env(server *srv, handler_ctx *hctx, int request_id) { /* send FCGI_PARAMS */ buffer_string_prepare_copy(p->fcgi_env, 1023); - - if (buffer_is_empty(con->conf.server_tag)) { - FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_STR_LEN(PACKAGE_DESC)),con) - } else { - FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)),con) - } + FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)),con) if (!buffer_is_empty(con->server_name)) { size_t len = buffer_string_length(con->server_name); diff --git a/src/mod_scgi.c b/src/mod_scgi.c index 54163c78..ba8bac56 100644 --- a/src/mod_scgi.c +++ b/src/mod_scgi.c @@ -37,8 +37,6 @@ # include <sys/wait.h> #endif -#include "version.h" - enum {EOL_UNSET, EOL_N, EOL_RN}; /* @@ -1569,12 +1567,7 @@ static int scgi_create_env(server *srv, handler_ctx *hctx) { scgi_env_add(p->scgi_env, CONST_STR_LEN("CONTENT_LENGTH"), buf, strlen(buf)); scgi_env_add(p->scgi_env, CONST_STR_LEN("SCGI"), CONST_STR_LEN("1")); - - if (buffer_is_empty(con->conf.server_tag)) { - scgi_env_add(p->scgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_STR_LEN(PACKAGE_DESC)); - } else { - scgi_env_add(p->scgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)); - } + scgi_env_add(p->scgi_env, CONST_STR_LEN("SERVER_SOFTWARE"), CONST_BUF_LEN(con->conf.server_tag)); if (!buffer_is_empty(con->server_name)) { size_t len = buffer_string_length(con->server_name); diff --git a/src/mod_ssi.c b/src/mod_ssi.c index 4dcfdd1a..20476bf0 100644 --- a/src/mod_ssi.c +++ b/src/mod_ssi.c @@ -40,7 +40,6 @@ #endif #include "etag.h" -#include "version.h" /* The newest modified time of included files for include statement */ static volatile time_t include_file_last_mtime = 0; @@ -205,7 +204,7 @@ static int build_ssi_cgi_vars(server *srv, connection *con, plugin_data *p) { array_reset(p->ssi_cgi_env); - ssi_env_add(p->ssi_cgi_env, CONST_STRING("SERVER_SOFTWARE"), PACKAGE_DESC); + ssi_env_add(p->ssi_cgi_env, CONST_STRING("SERVER_SOFTWARE"), con->conf.server_tag->ptr); ssi_env_add(p->ssi_cgi_env, CONST_STRING("SERVER_NAME"), #ifdef HAVE_IPV6 inet_ntop(srv_sock->addr.plain.sa_family, diff --git a/src/mod_status.c b/src/mod_status.c index 499405bf..a37b6cd9 100644 --- a/src/mod_status.c +++ b/src/mod_status.c @@ -20,8 +20,6 @@ #include <time.h> #include <stdio.h> -#include "version.h" - typedef struct { buffer *config_url; buffer *status_url; @@ -319,7 +317,9 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c /* connection listing */ - buffer_append_string_len(b, CONST_STR_LEN("<h1>Server-Status (" PACKAGE_NAME " " PACKAGE_VERSION ")</h1>")); + buffer_append_string_len(b, CONST_STR_LEN("<h1>Server-Status (")); + buffer_append_string_buffer(b, con->conf.server_tag); + buffer_append_string_len(b, CONST_STR_LEN(")</h1>")); buffer_append_string_len(b, CONST_STR_LEN("<table summary=\"status\" class=\"status\">")); buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Hostname</td><td class=\"string\">")); @@ -839,7 +839,10 @@ static handler_t mod_status_handle_server_config(server *srv, connection *con, v " <title>Status</title>\n" " </head>\n" " <body>\n" - " <h1>" PACKAGE_DESC "</h1>\n" + " <h1>")); + buffer_append_string_buffer(b, con->conf.server_tag); + buffer_append_string_len(b, CONST_STR_LEN( + "</h1>\n" " <table summary=\"status\" border=\"1\">\n")); mod_status_header_append(b, "Server-Features"); diff --git a/src/response.c b/src/response.c index 389b079f..7418f2b4 100644 --- a/src/response.c +++ b/src/response.c @@ -26,7 +26,6 @@ #include <stdio.h> #include "sys-socket.h" -#include "version.h" int http_response_write_header(server *srv, connection *con) { buffer *b; @@ -109,9 +108,7 @@ int http_response_write_header(server *srv, connection *con) { } if (!have_server) { - if (buffer_is_empty(con->conf.server_tag)) { - buffer_append_string_len(b, CONST_STR_LEN("\r\nServer: " PACKAGE_DESC)); - } else if (!buffer_string_is_empty(con->conf.server_tag)) { + if (!buffer_string_is_empty(con->conf.server_tag)) { buffer_append_string_len(b, CONST_STR_LEN("\r\nServer: ")); buffer_append_string_encoded(b, CONST_BUF_LEN(con->conf.server_tag), ENCODING_HTTP_HEADER); } |