Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.

Commit c8cc924

Browse files
committed
Merge branch 'master' of https://github.com/nginx/unit
2 parents 32c91a6 + 1701935 commit c8cc924

File tree

7 files changed

+37
-28
lines changed

7 files changed

+37
-28
lines changed

auto/modules/java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ cat << END > $NXT_JAVA_JARS
238238
static const char *nxt_java_system_jars[] = {
239239
END
240240

241-
NXT_TOMCAT_VERSION=9.0.98
241+
NXT_TOMCAT_VERSION=9.0.108
242242

243243
NXT_JAR_VERSION=$NXT_TOMCAT_VERSION
244244

@@ -284,7 +284,7 @@ static const char *nxt_java_unit_jars[] = {
284284
"$NXT_UNIT_JAR",
285285
END
286286

287-
NXT_JAR_VERSION=9.4.56.v20240826
287+
NXT_JAR_VERSION=9.4.58.v20250814
288288
NXT_JAR_NAMESPACE=org/eclipse/jetty/
289289

290290
NXT_JAR_NAME=jetty-util

auto/modules/java_jar.sha512

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
8ae750523f086c667f1ecb22cdd02037f217b67841757c2545100ec314145268a60cc6f381bde86659fa090f1a05de8f7cf3ebaf13fb4e737fda749a1ce77078 classgraph-4.8.179.jar
22
ab441acf5551a7dc81c353eaccb3b3df9e89a48987294d19e39acdb83a5b640fcdff7414cee29f5b96eaa8826647f1d5323e185018fe33a64c402d69c73c9158 ecj-3.26.0.jar
3-
48d5512d378d58c3df93bbe1c68d5a4b097e2dc7466992393e0731414dc0fe449312e067d0874e503dd27cb9b6a1f2da0d1f1569a7b484c1f12bd533afbe2723 jetty-http-9.4.56.v20240826.jar
4-
dc0d1f05a7f8477e1f7f57adb307224aadcb1e1fed6f7e5df72d9b84437bf75276c3b0f13da9d079c541ad94601bdbd7314c61477b224dbbdc93a6d5b9f98478 jetty-server-9.4.56.v20240826.jar
5-
025751c45cd8a23f1b436eaa1849af2421f78a2a82bc07c4175df8b4ec5dfc15247036194156897aafb8b0ec83406bbaa25e4092fea5ddd3b900da0ffdfaae19 jetty-util-9.4.56.v20240826.jar
6-
356c0668e2c03201c74e82491a1daf5194368dbb3a08c42c49abb9e544e814b5a1aa85465137e8da785120733ed279a297942bebf6ee8453d935648fb02a3893 tomcat-api-9.0.98.jar
7-
43c106be1a497b4641eed28bc5c2c60192a7240f6dd3e55850197969a275d38c9d853646dd3f313af530010b36095f8893289c8ddfed018f2537cd7ddc84be98 tomcat-el-api-9.0.98.jar
8-
570e6e9f4a762cad5b3190886915d93618f7292bfa3ee39abb7b9f0993704a19fbb0fd4a7727995fd7f50edf62f4b6df50d2854a6fa70ac1e8a6650a02445fd2 tomcat-jasper-9.0.98.jar
9-
77f3c0da8ee1af315c59cc1e6566dab7cfbdd928045aa7c921299e72b88004bd6b710f0b62b39c4a3aaa872b965b50d5f4ba43bf98a0cd39d585c6b82edeaf06 tomcat-jasper-el-9.0.98.jar
10-
8d825b69acb8227709cbdea1349faa6115243c5824ff751af3d5c45822dfe371506077669565e7531f278b6752be819e5e54e73284a75208d4f8784706ee6fb7 tomcat-jsp-api-9.0.98.jar
11-
353c858821644f7284bc272d8f23c031199439fea74b8c104bb2d054716f6a87523d4d9d38f86dca5e353b4ddff307d1cdc0d221ddda10e0626b1cf3cbda482b tomcat-juli-9.0.98.jar
12-
5b1a8ca4c4b3782531e154d0519f2e3fa8cdb647848e455d4af446f7fac6555ad0fa76750e0d76b02f4e7bceae147ebc96c9d3f786542defcab2d69e7b419175 tomcat-servlet-api-9.0.98.jar
13-
6a1729a0f251a3cb80cab476686a2c307b5e1d2827d991327f4ce6f69183a6d876cf9a886ab074eddec693fca418158407dac8844781c4667aca5575378574c6 tomcat-util-9.0.98.jar
14-
37dc24785e3c18d527038242056d7481635505c2609ff77ee3b249e88a7c48323f6c99a562391fef2474e6cb896f9445855eed48fc8a8ab89b8704c8ecb4193a tomcat-util-scan-9.0.98.jar
3+
609516a5c3b7fa9e256b768124d3c822f28ce426687a479eb57b0f2f6dc82ee6c3560f8e790394b71feebc409eda78a04d6c03254bb41127506ffcf6b7905a61 jetty-http-9.4.58.v20250814.jar
4+
5f2b1efe5f6279ed9c3a25d8c3a6413b195a6957500752cb7b59fc8e8bc43d01eeb2e97b619bfb74ff5ec96cd8893ba1d9d372f8a226ff197d3b452febafa146 jetty-server-9.4.58.v20250814.jar
5+
c4505826e68be8d8736eba5cd29fd86ada455ee5765f8d46d33085b788eb3295023b167354178441e80c97edde9f988f89bf3959c59ef8aada56e5d863673021 jetty-util-9.4.58.v20250814.jar
6+
65cfee9beb10eb9831af55f039d8084dcd500a9718f4c753acf99fb52d4ab8b1bd70c8a6807a4cae7096466ea344c79d366c4b115d8b1e641bc6c86e49e2c8c3 tomcat-api-9.0.108.jar
7+
772f68efbd68d010eb72d043c115364d65083c9a95887df79bf26feed6aa332348424ec3fbab9155dab508c11a40a31f1d1aea1205d04a180b0619497628ed32 tomcat-el-api-9.0.108.jar
8+
fee3afbb966efdbe49347f1942a3ba5aa275e7193de6a14a0355f49a8138b255f4123189435613976e18c55cb37f4f53e5bc8dd1b9cc178551b4fb0978e545a4 tomcat-jasper-9.0.108.jar
9+
93c6ac9876599a1a7c7dfc09458edcc109de0748db77514b765132814d80621a4bca431378acc916306e928119cea1157288ff81f8d88fd1661366aded8213b2 tomcat-jasper-el-9.0.108.jar
10+
c3bef13c90043fa179c3b7ab599c7ab227e5bf28132f314049222096a1af80b34fc28737f40973c0dc4f10f5899da524fefafc5a97981b0f18e87062a5041766 tomcat-jsp-api-9.0.108.jar
11+
3ea930f5da6f2e4ba90208ef4cede22decf737aad252f9c74dcf4ffaa7351ab52e153b31f41fe64fc0c7a1bae626e1e1da2de679975583740975cce4391c67d9 tomcat-juli-9.0.108.jar
12+
a1e93a66ffe517baa37878d085b18537c18284c8ddf3872d9b4c2ef0d6579c68f0eac57d5d15303cde485b3286bafd20e1b03136e9c86712002a31edd6081052 tomcat-servlet-api-9.0.108.jar
13+
cfcabcd79c56f33415b8f4095ac894c0dfa5f392fd272e2e66d61d67051b1eac026740dd21657179a651fa0eeb2f39351781771b0e38799ab1fdf277ebda9883 tomcat-util-9.0.108.jar
14+
0cd88e452ead14c89cd9c70b965795f5793355bc61a0cbf58355585afedcc8a24cb62968da757e253ef1b119021a543aea0058cf9fd5ab152bc185e338c3d15f tomcat-util-scan-9.0.108.jar

src/nxt_http_compression.c

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,12 @@ nxt_http_comp_compress_app_response(nxt_task_t *task, nxt_http_request_t *r,
232232

233233

234234
nxt_int_t
235-
nxt_http_comp_compress_static_response(nxt_task_t *task, nxt_file_t **f,
236-
nxt_file_info_t *fi,
237-
size_t static_buf_len,
238-
size_t *out_total)
235+
nxt_http_comp_compress_static_response(nxt_task_t *task, nxt_http_request_t *r,
236+
nxt_file_t **f, nxt_file_info_t *fi,
237+
size_t static_buf_len, size_t *out_total)
239238
{
240-
char tmp_path[NXT_MAX_PATH_LEN];
241239
size_t in_size, out_size, rest;
242-
u_char *p;
240+
char *tmp_path, *p;
243241
uint8_t *in, *out;
244242
nxt_int_t ret;
245243
nxt_file_t tfile;
@@ -249,13 +247,14 @@ nxt_http_comp_compress_static_response(nxt_task_t *task, nxt_file_t **f,
249247

250248
*out_total = 0;
251249

252-
if (nxt_slow_path(strlen(rt->tmp) + 1 + strlen(template) + 1
253-
> NXT_MAX_PATH_LEN))
254-
{
250+
tmp_path = nxt_mp_nget(r->mem_pool,
251+
strlen(rt->tmp) + 1 + strlen(template) + 1);
252+
if (nxt_slow_path(tmp_path == NULL)) {
255253
return NXT_ERROR;
256254
}
257255

258-
p = nxt_cpymem(tmp_path, rt->tmp, strlen(rt->tmp));
256+
p = tmp_path;
257+
p = nxt_cpymem(p, rt->tmp, strlen(rt->tmp));
259258
*p++ = '/';
260259
p = nxt_cpymem(p, template, strlen(template));
261260
*p = '\0';
@@ -266,6 +265,7 @@ nxt_http_comp_compress_static_response(nxt_task_t *task, nxt_file_t **f,
266265
return NXT_ERROR;
267266
}
268267
unlink(tmp_path);
268+
tfile.name = (nxt_file_name_t *)tmp_path;
269269

270270
in_size = nxt_file_size(fi);
271271
out_size = nxt_http_comp_bound(in_size);
@@ -305,6 +305,12 @@ nxt_http_comp_compress_static_response(nxt_task_t *task, nxt_file_t **f,
305305

306306
cbytes = nxt_http_comp_compress(out + *out_total, out_size - *out_total,
307307
in + in_size - rest, n, last);
308+
if (cbytes == -1) {
309+
nxt_file_close(task, &tfile);
310+
nxt_mem_munmap(in, in_size);
311+
nxt_mem_munmap(out, out_size);
312+
return NXT_ERROR;
313+
}
308314

309315
*out_total += cbytes;
310316
rest -= n;

src/nxt_http_compression.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ extern const nxt_http_comp_operations_t nxt_http_comp_brotli_ops;
9393
extern nxt_int_t nxt_http_comp_compress_app_response(nxt_task_t *task,
9494
nxt_http_request_t *r, nxt_buf_t **b);
9595
extern nxt_int_t nxt_http_comp_compress_static_response(nxt_task_t *task,
96-
nxt_file_t **f, nxt_file_info_t *fi, size_t static_buf_len,
97-
size_t *out_total);
96+
nxt_http_request_t *r, nxt_file_t **f, nxt_file_info_t *fi,
97+
size_t static_buf_len, size_t *out_total);
9898
extern bool nxt_http_comp_wants_compression(void);
9999
extern bool nxt_http_comp_compressor_is_valid(const nxt_str_t *token);
100100
extern nxt_int_t nxt_http_comp_check_compression(nxt_task_t *task,

src/nxt_http_static.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ nxt_http_static_send(nxt_task_t *task, nxt_http_request_t *r,
593593
nxt_int_t ret;
594594

595595
ret = nxt_http_comp_compress_static_response(
596-
task, &f, &fi,
596+
task, r, &f, &fi,
597597
NXT_HTTP_STATIC_BUF_SIZE,
598598
&out_total);
599599
if (ret == NXT_ERROR) {

src/nxt_main_process.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,5 +1730,8 @@ nxt_main_port_access_log_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)
17301730
if (nxt_fast_path(port != NULL)) {
17311731
(void) nxt_port_socket_write(task, port, type, file.fd,
17321732
msg->port_msg.stream, 0, NULL);
1733+
1734+
} else {
1735+
nxt_file_close(task, &file);
17331736
}
17341737
}

test/unit/applications/lang/java.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def prepare_env(self, script):
5353
os.makedirs(classes_path)
5454

5555
classpath = (
56-
f'{option.current_dir}/build/tomcat-servlet-api-9.0.98.jar'
56+
f'{option.current_dir}/build/tomcat-servlet-api-9.0.108.jar'
5757
)
5858

5959
ws_jars = glob.glob(

0 commit comments

Comments
 (0)