diff options
Diffstat (limited to 'pkgs/servers/http')
-rw-r--r-- | pkgs/servers/http/nginx/nix-etag-1.15.4.patch | 29 | ||||
-rw-r--r-- | pkgs/servers/http/openresty/default.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/http/tomcat/default.nix | 18 |
3 files changed, 23 insertions, 28 deletions
diff --git a/pkgs/servers/http/nginx/nix-etag-1.15.4.patch b/pkgs/servers/http/nginx/nix-etag-1.15.4.patch index c1473ccdb1b9d..d001b842f335f 100644 --- a/pkgs/servers/http/nginx/nix-etag-1.15.4.patch +++ b/pkgs/servers/http/nginx/nix-etag-1.15.4.patch @@ -2,38 +2,35 @@ This patch makes it possible to serve static content from Nix store paths, by using the hash of the store path for the ETag header. diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c -index cb49ef74..f88dc77c 100644 +index cb49ef74..7b456993 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c -@@ -1583,6 +1583,7 @@ ngx_http_set_etag(ngx_http_request_t *r) +@@ -1583,6 +1583,8 @@ ngx_http_set_etag(ngx_http_request_t *r) { ngx_table_elt_t *etag; ngx_http_core_loc_conf_t *clcf; + u_char *real, *ptr1, *ptr2; ++ ngx_err_t err; clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); -@@ -1598,16 +1599,62 @@ ngx_http_set_etag(ngx_http_request_t *r) +@@ -1598,16 +1600,60 @@ ngx_http_set_etag(ngx_http_request_t *r) etag->hash = 1; ngx_str_set(&etag->key, "ETag"); - etag->value.data = ngx_pnalloc(r->pool, NGX_OFF_T_LEN + NGX_TIME_T_LEN + 3); - if (etag->value.data == NULL) { +- etag->hash = 0; +- return NGX_ERROR; ++ err = ngx_errno; + real = ngx_realpath(clcf->root.data, NULL); ++ ngx_set_errno(err); + -+ if (real == NULL) { - etag->hash = 0; - return NGX_ERROR; - } - -- etag->value.len = ngx_sprintf(etag->value.data, "\"%xT-%xO\"", -- r->headers_out.last_modified_time, -- r->headers_out.content_length_n) -- - etag->value.data; + #define NIX_STORE_DIR "@nixStoreDir@" + #define NIX_STORE_LEN @nixStoreDirLen@ + + if (r->headers_out.last_modified_time == 1 ++ && real != NULL + && !ngx_strncmp(real, NIX_STORE_DIR, NIX_STORE_LEN) + && real[NIX_STORE_LEN] == '/' + && real[NIX_STORE_LEN + 1] != '\0') @@ -76,8 +73,12 @@ index cb49ef74..f88dc77c 100644 + r->headers_out.last_modified_time, + r->headers_out.content_length_n) + - etag->value.data; -+ } -+ + } + +- etag->value.len = ngx_sprintf(etag->value.data, "\"%xT-%xO\"", +- r->headers_out.last_modified_time, +- r->headers_out.content_length_n) +- - etag->value.data; + ngx_free(real); r->headers_out.etag = etag; diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 55e813a2ce72c..4b5b4259ca43d 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -9,11 +9,11 @@ callPackage ../nginx/generic.nix args rec { pname = "openresty"; nginxVersion = "1.15.8"; - version = "${nginxVersion}.2"; + version = "${nginxVersion}.3"; src = fetchurl { url = "https://openresty.org/download/openresty-${version}.tar.gz"; - sha256 = "05jxrb8hv758nm38jil8n63q1nhrz3d249bsrwc7maa7sn24wss3"; + sha256 = "1a1la7vszv1parsnhphydblz64ffhycazncn3ividnvqg2mg735n"; }; fixPatch = patch: diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix index 38b4974e1554d..3908db5ea71c5 100644 --- a/pkgs/servers/http/tomcat/default.nix +++ b/pkgs/servers/http/tomcat/default.nix @@ -32,25 +32,19 @@ let in { tomcat7 = common { versionMajor = "7"; - versionMinor = "0.92"; - sha256 = "0j015mf15drl92kvgyi1ppzjziw0k1rwvfnih8r20h92ylk8mznk"; + versionMinor = "0.100"; + sha256 = "0wjjnvxjz0xbnsfgyp0xc7nlij4z093v54hg59vww2nmkz5mg01v"; }; tomcat8 = common { versionMajor = "8"; - versionMinor = "0.53"; - sha256 = "1ymp5n6xjqzpqjjlwql195v8r5fsmry7nfax46bafkjw8b24g80r"; - }; - - tomcat85 = common { - versionMajor = "8"; - versionMinor = "5.42"; - sha256 = "1d90abwwvl0ghr0g0drk48j37wr2zgw74vws9z2rshyzrwgbvgp3"; + versionMinor = "5.51"; + sha256 = "1zmg0hi4nw4y5sknd0jgq9lb3bncjjscay5fdiiq3qh5cs0wsvl3"; }; tomcat9 = common { versionMajor = "9"; - versionMinor = "0.21"; - sha256 = "0nsylbqvky4pf3wpsx3a29b85lvwk91ay37mljk9636qffjj1vjh"; + versionMinor = "0.31"; + sha256 = "0hybcy280qhhp9if58xw0rmyyqz1m1bzby7qnwz3y2wc1y4is48v"; }; } |