Skip to content

Commit 6612579

Browse files
nginxkolbyjack
authored andcommitted
Changes with nginx 1.7.12 07 Apr 2015
*) Feature: now the "tcp_nodelay" directive works with backend SSL connections. *) Feature: now thread pools can be used to read cache file headers. *) Bugfix: in the "proxy_request_buffering" directive. *) Bugfix: a segmentation fault might occur in a worker process when using thread pools on Linux. *) Bugfix: in error handling when using the "ssl_stapling" directive. Thanks to Filipe da Silva. *) Bugfix: in the ngx_http_spdy_module.
1 parent ae88e23 commit 6612579

18 files changed

+256
-106
lines changed

CHANGES

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11

2+
Changes with nginx 1.7.12 07 Apr 2015
3+
4+
*) Feature: now the "tcp_nodelay" directive works with backend SSL
5+
connections.
6+
7+
*) Feature: now thread pools can be used to read cache file headers.
8+
9+
*) Bugfix: in the "proxy_request_buffering" directive.
10+
11+
*) Bugfix: a segmentation fault might occur in a worker process when
12+
using thread pools on Linux.
13+
14+
*) Bugfix: in error handling when using the "ssl_stapling" directive.
15+
Thanks to Filipe da Silva.
16+
17+
*) Bugfix: in the ngx_http_spdy_module.
18+
19+
220
Changes with nginx 1.7.11 24 Mar 2015
321

422
*) Change: the "sendfile" parameter of the "aio" directive is

CHANGES.ru

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11

2+
Изменения в nginx 1.7.12 07.04.2015
3+
4+
*) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
5+
с бэкендами.
6+
7+
*) Добавление: теперь потоки могут использоваться для чтения заголовков
8+
файлов в кэше.
9+
10+
*) Исправление: в директиве proxy_request_buffering.
11+
12+
*) Исправление: при использовании потоков на Linux в рабочем процессе
13+
мог произойти segmentation fault.
14+
15+
*) Исправление: в обработке ошибок при использовании директивы
16+
ssl_stapling.
17+
Спасибо Filipe da Silva.
18+
19+
*) Исправление: в модуле ngx_http_spdy_module.
20+
21+
222
Изменения в nginx 1.7.11 24.03.2015
323

424
*) Изменение: параметр sendfile директивы aio более не нужен; теперь

auto/make

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ echo "creating $NGX_MAKEFILE"
88
mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
99
$NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
1010
$NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
11-
$NGX_OBJS/src/http/modules/perl \
11+
$NGX_OBJS/src/http/modules/perl \
1212
$NGX_OBJS/src/mail \
1313
$NGX_OBJS/src/misc
1414

src/core/nginx.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#define _NGINX_H_INCLUDED_
1010

1111

12-
#define nginx_version 1007011
13-
#define NGINX_VERSION "1.7.11"
12+
#define nginx_version 1007012
13+
#define NGINX_VERSION "1.7.12"
1414
#define NGINX_VER "nginx/" NGINX_VERSION
1515

1616
#ifdef NGX_BUILD

src/core/ngx_file.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
356356
}
357357

358358
if (ngx_conf_full_name(cf->cycle, &path->name, 0) != NGX_OK) {
359-
return NULL;
359+
return NGX_CONF_ERROR;
360360
}
361361

362362
path->conf_file = cf->conf_file->file.name.data;
@@ -372,8 +372,8 @@ ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
372372
path->len += level + 1;
373373
}
374374

375-
while (i < 3) {
376-
path->level[i++] = 0;
375+
if (path->len > 10 + i) {
376+
return "invalid value";
377377
}
378378

379379
*slot = path;

src/core/ngx_spinlock.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ngx_spinlock(ngx_atomic_t *lock, ngx_atomic_int_t value, ngx_uint_t spin)
4242

4343
#else
4444

45-
#if (NGX_OLD_THREADS)
45+
#if (NGX_THREADS)
4646

4747
#error ngx_spinlock() or ngx_atomic_cmp_set() are not defined !
4848

src/event/modules/ngx_epoll_module.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -683,14 +683,14 @@ ngx_epoll_notify(ngx_event_handler_pt handler)
683683
{
684684
static uint64_t inc = 1;
685685

686+
notify_event.data = handler;
687+
686688
if ((size_t) write(notify_fd, &inc, sizeof(uint64_t)) != sizeof(uint64_t)) {
687689
ngx_log_error(NGX_LOG_ALERT, notify_event.log, ngx_errno,
688690
"write() to eventfd %d failed", notify_fd);
689691
return NGX_ERROR;
690692
}
691693

692-
notify_event.data = handler;
693-
694694
return NGX_OK;
695695
}
696696

src/event/ngx_event_openssl_stapling.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ ngx_ssl_stapling_issuer(ngx_conf_t *cf, ngx_ssl_t *ssl)
310310
if (X509_STORE_CTX_init(store_ctx, store, NULL, NULL) == 0) {
311311
ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0,
312312
"X509_STORE_CTX_init() failed");
313+
X509_STORE_CTX_free(store_ctx);
313314
return NGX_ERROR;
314315
}
315316

@@ -1118,6 +1119,7 @@ ngx_ssl_ocsp_create_request(ngx_ssl_ocsp_ctx_t *ctx)
11181119
if (OCSP_request_add0_id(ocsp, id) == NULL) {
11191120
ngx_ssl_error(NGX_LOG_CRIT, ctx->log, 0,
11201121
"OCSP_request_add0_id() failed");
1122+
OCSP_CERTID_free(id);
11211123
goto failed;
11221124
}
11231125

src/event/ngx_event_posted.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,24 @@
1616

1717
#define ngx_post_event(ev, q) \
1818
\
19-
if (!ev->posted) { \
20-
ev->posted = 1; \
21-
ngx_queue_insert_tail(q, &ev->queue); \
19+
if (!(ev)->posted) { \
20+
(ev)->posted = 1; \
21+
ngx_queue_insert_tail(q, &(ev)->queue); \
2222
\
23-
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, "post event %p", ev); \
23+
ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, "post event %p", ev);\
2424
\
2525
} else { \
26-
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \
26+
ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \
2727
"update posted event %p", ev); \
2828
}
2929

3030

3131
#define ngx_delete_posted_event(ev) \
3232
\
33-
ev->posted = 0; \
34-
ngx_queue_remove(&ev->queue); \
33+
(ev)->posted = 0; \
34+
ngx_queue_remove(&(ev)->queue); \
3535
\
36-
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \
36+
ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \
3737
"delete posted event %p", ev);
3838

3939

src/http/modules/ngx_http_headers_filter_module.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ ngx_http_parse_expires(ngx_str_t *value, ngx_http_expires_t *expires,
378378
}
379379
}
380380

381-
if (value->data[0] == '@') {
381+
if (value->len && value->data[0] == '@') {
382382
value->data++;
383383
value->len--;
384384
minus = 0;
@@ -390,12 +390,12 @@ ngx_http_parse_expires(ngx_str_t *value, ngx_http_expires_t *expires,
390390

391391
*expires = NGX_HTTP_EXPIRES_DAILY;
392392

393-
} else if (value->data[0] == '+') {
393+
} else if (value->len && value->data[0] == '+') {
394394
value->data++;
395395
value->len--;
396396
minus = 0;
397397

398-
} else if (value->data[0] == '-') {
398+
} else if (value->len && value->data[0] == '-') {
399399
value->data++;
400400
value->len--;
401401
minus = 1;

0 commit comments

Comments
 (0)