[njs] Version 0.1.5.

2016-11-15 Thread Igor Sysoev
details:   http://hg.nginx.org/njs/rev/9c813c2bb2ac
branches:  
changeset: 255:9c813c2bb2ac
user:  Igor Sysoev 
date:  Tue Nov 15 18:28:18 2016 +0300
description:
Version 0.1.5.

diffstat:

 Makefile |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (10 lines):

diff -r d2ab98ea87ad -r 9c813c2bb2ac Makefile
--- a/Makefile  Tue Nov 15 17:43:05 2016 +0300
+++ b/Makefile  Tue Nov 15 18:28:18 2016 +0300
@@ -1,5 +1,5 @@
 
-NJS_VER =  0.1.4
+NJS_VER =  0.1.5
 
 NXT_LIB =  nxt
 

___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


[njs] Added tag 0.1.5 for changeset 9c813c2bb2ac

2016-11-15 Thread Igor Sysoev
details:   http://hg.nginx.org/njs/rev/9b9f46b55de2
branches:  
changeset: 256:9b9f46b55de2
user:  Igor Sysoev 
date:  Tue Nov 15 18:28:35 2016 +0300
description:
Added tag 0.1.5 for changeset 9c813c2bb2ac

diffstat:

 .hgtags |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diffs (8 lines):

diff -r 9c813c2bb2ac -r 9b9f46b55de2 .hgtags
--- a/.hgtags   Tue Nov 15 18:28:18 2016 +0300
+++ b/.hgtags   Tue Nov 15 18:28:35 2016 +0300
@@ -3,3 +3,4 @@ 0039a747d25a3e08792c23c43b75768896724031
 5b066b4db54c17dc0a9a72948474f36957462e87 0.1.2
 360449773d51e7f451e5396e27021badc6b86085 0.1.3
 508689c1fb94c23f6b24be087c1dc63b2f9e6654 0.1.4
+9c813c2bb2acfd5b6e9d1e9b6699af928baea15a 0.1.5

___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


[nginx] nginx-1.11.6-RELEASE

2016-11-15 Thread Maxim Dounin
details:   http://hg.nginx.org/nginx/rev/5e371426b3bc
branches:  
changeset: 6801:5e371426b3bc
user:  Maxim Dounin 
date:  Tue Nov 15 18:11:46 2016 +0300
description:
nginx-1.11.6-RELEASE

diffstat:

 docs/xml/nginx/changes.xml |  130 +
 1 files changed, 130 insertions(+), 0 deletions(-)

diffs (140 lines):

diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -5,6 +5,136 @@
 
 
 
+
+
+
+
+формат переменных $ssl_client_s_dn и $ssl_client_i_dn
+изменён на соответствующий RFC 2253 (RFC 4514);
+значения в старом формате доступны через переменные
+$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy.
+
+
+format of the $ssl_client_s_dn and $ssl_client_i_dn variables
+has been changed to follow RFC 2253 (RFC 4514);
+values in the old format are available in
+the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables.
+
+
+
+
+
+при сохранении временных файлов в каталоге кэша
+они теперь располагаются не в отдельном подкаталоге для временных файлов,
+а в том же подкаталоге, что и соответствующие файлы в кэше.
+
+
+when storing temporary files in a cache directory
+they will be stored in the same subdirectories as corresponding cache files
+instead of a separate subdirectory for temporary files.
+
+
+
+
+
+поддержка метода аутентификации EXTERNAL
+в почтовом прокси-сервере.
+Спасибо Robert Norris.
+
+
+EXTERNAL authentication mechanism support
+in mail proxy.
+Thanks to Robert Norris.
+
+
+
+
+
+поддержка WebP в модуле ngx_http_image_filter_module.
+
+
+WebP support in the ngx_http_image_filter_module.
+
+
+
+
+
+директива proxy_method поддерживает переменные.
+Спасибо Дмитрию Лазуркину.
+
+
+variables support in the "proxy_method" directive.
+Thanks to Dmitry Lazurkin.
+
+
+
+
+
+директива http2_max_requests в модуле ngx_http_v2_module.
+
+
+the "http2_max_requests" directive in the ngx_http_v2_module.
+
+
+
+
+
+директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset,
+scgi_cache_max_range_offset и uwsgi_cache_max_range_offset.
+
+
+the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset",
+"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives.
+
+
+
+
+
+плавное завершение старых рабочих процессов могло занимать бесконечное время
+при использовании HTTP/2.
+
+
+graceful shutdown of old worker processes might require infinite time
+when using HTTP/2.
+
+
+
+
+
+в модуле ngx_http_mp4_module.
+
+
+in the ngx_http_mp4_module.
+
+
+
+
+
+при проксировании WebSocket-соединений и включённом кэшировании
+в логах могли появляться сообщения "ignore long locked inactive cache entry".
+
+
+"ignore long locked inactive cache entry" alerts might appear in logs
+when proxying WebSocket connections with caching enabled.
+
+
+
+
+
+если во время SSL handshake с бэкендом происходил таймаут,
+nginx ничего не писал в лог
+и возвращал ответ с кодом 502 вместо 504.
+
+
+nginx did not write anything to log
+and returned a response with code 502 instead of 504
+when a timeout occurred during an SSL handshake to a backend.
+
+
+
+
+
+
 
 
 
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

[nginx] release-1.11.6 tag

2016-11-15 Thread Maxim Dounin
details:   http://hg.nginx.org/nginx/rev/6a26016e9a13
branches:  
changeset: 6802:6a26016e9a13
user:  Maxim Dounin 
date:  Tue Nov 15 18:11:46 2016 +0300
description:
release-1.11.6 tag

diffstat:

 .hgtags |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diffs (8 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -404,3 +404,4 @@ 4d3b3a13a8cf5fc3351a7f167d1c13325e00f21c
 b83a067949a3384a49fd3d943eb8d0997b31f87b release-1.11.3
 953512ca02c6f63b4fcbbc3e10d0d9835896bf99 release-1.11.4
 5253015a339aaca0a3111473d3e931b6d4752393 release-1.11.5
+5e371426b3bcba4312ce08606194b89b758927d1 release-1.11.6

___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


[njs] Native methods and non-constructor functions must throw

2016-11-15 Thread Igor Sysoev
details:   http://hg.nginx.org/njs/rev/d2ab98ea87ad
branches:  
changeset: 254:d2ab98ea87ad
user:  Igor Sysoev 
date:  Tue Nov 15 17:43:05 2016 +0300
description:
Native methods and non-constructor functions must throw
TypeError exception if they are called as constructor.

diffstat:

 njs/njs_builtin.c|   1 +
 njs/njs_vm.c |  22 +-
 njs/njs_vm.h |  16 +++-
 njs/test/njs_unit_test.c |   6 ++
 4 files changed, 27 insertions(+), 18 deletions(-)

diffs (127 lines):

diff -r 91640c0405f4 -r d2ab98ea87ad njs/njs_builtin.c
--- a/njs/njs_builtin.c Fri Nov 11 18:12:13 2016 +0300
+++ b/njs/njs_builtin.c Tue Nov 15 17:43:05 2016 +0300
@@ -237,6 +237,7 @@ njs_builtin_objects_create(njs_vm_t *vm)
 for (i = NJS_CONSTRUCTOR_OBJECT; i < NJS_CONSTRUCTOR_MAX; i++) {
 constructors[i].object.shared = 0;
 constructors[i].native = 1;
+constructors[i].ctor = 1;
 constructors[i].args_offset = 1;
 constructors[i].u.native = native_constructors[i].native;
 constructors[i].args_types[0] = native_constructors[i].args_types[0];
diff -r 91640c0405f4 -r d2ab98ea87ad njs/njs_vm.c
--- a/njs/njs_vm.c  Fri Nov 11 18:12:13 2016 +0300
+++ b/njs/njs_vm.c  Tue Nov 15 17:43:05 2016 +0300
@@ -2152,6 +2152,7 @@ njs_ret_t
 njs_vmcode_function_frame(njs_vm_t *vm, njs_value_t *value, njs_value_t *nargs)
 {
 njs_ret_tret;
+nxt_bool_t   ctor;
 njs_value_t  val, *this;
 njs_object_t *object;
 njs_function_t   *function;
@@ -2160,13 +2161,17 @@ njs_vmcode_function_frame(njs_vm_t *vm, 
 if (nxt_fast_path(njs_is_function(value))) {
 
 func = (njs_vmcode_function_frame_t *) vm->current;
+ctor = func->code.ctor;
 
 function = value->data.u.function;
 
 if (function->native) {
+if (ctor && !function->ctor) {
+goto fail;
+}
+
 ret = njs_function_native_frame(vm, function, _value_void,
-NULL, (uintptr_t) nargs, 0,
-func->code.ctor);
+NULL, (uintptr_t) nargs, 0, ctor);
 
 if (nxt_fast_path(ret == NXT_OK)) {
 return sizeof(njs_vmcode_function_frame_t);
@@ -2175,7 +2180,7 @@ njs_vmcode_function_frame(njs_vm_t *vm, 
 return ret;
 }
 
-if (func->code.ctor) {
+if (ctor) {
 object = njs_function_new_object(vm, value);
 if (nxt_slow_path(object == NULL)) {
 return NXT_ERROR;
@@ -2191,7 +2196,7 @@ njs_vmcode_function_frame(njs_vm_t *vm, 
 }
 
 ret = njs_function_frame(vm, function, this, NULL, (uintptr_t) nargs,
- func->code.ctor);
+ ctor);
 
 if (nxt_fast_path(ret == NXT_OK)) {
 return sizeof(njs_vmcode_function_frame_t);
@@ -2200,6 +2205,8 @@ njs_vmcode_function_frame(njs_vm_t *vm, 
 return ret;
 }
 
+fail:
+
 vm->exception = _exception_type_error;
 
 return NXT_ERROR;
@@ -2329,8 +2336,13 @@ njs_vmcode_method_call(njs_vm_t *vm, njs
 return ret;
 }
 
+if (method->code.ctor) {
+vm->exception = _exception_type_error;
+return NXT_ERROR;
+}
+
 ret = njs_function_native_frame(vm, function, object, NULL, method->nargs,
-0, method->code.ctor);
+0, 0);
 
 if (nxt_fast_path(ret == NXT_OK)) {
 njs_retain(object);
diff -r 91640c0405f4 -r d2ab98ea87ad njs/njs_vm.h
--- a/njs/njs_vm.h  Fri Nov 11 18:12:13 2016 +0300
+++ b/njs/njs_vm.h  Tue Nov 15 17:43:05 2016 +0300
@@ -230,20 +230,10 @@ struct njs_function_s {
 
 uint8_t   args_types[NJS_ARGS_TYPES_MAX];
 uint8_t   args_offset;
-
-/*
- * TODO Shared
- * When function object is used as value: in assignments,
- * as function argument, as property and as object to get properties.
- */
+uint8_t   continuation_size;
 
-#if (NXT_64BIT)
-uint8_t   native;
-uint8_t   continuation_size;
-#else
-uint8_t   native;
-uint8_t   continuation_size;
-#endif
+uint8_t   native:1;
+uint8_t   ctor:1;
 
 union {
 njs_function_lambda_t *lambda;
diff -r 91640c0405f4 -r d2ab98ea87ad njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c  Fri Nov 11 18:12:13 2016 +0300
+++ b/njs/test/njs_unit_test.c  Tue Nov 15 17:43:05 2016 +0300
@@ -4223,6 +4223,12 @@ static njs_unit_test_t  njs_test[] =
 { nxt_string("var F = function (){}; typeof F.prototype"),

[nginx] Fixed a typo, removed an empty line.

2016-11-15 Thread Maxim Dounin
details:   http://hg.nginx.org/nginx/rev/49d7dbd25a27
branches:  
changeset: 6800:49d7dbd25a27
user:  Maxim Dounin 
date:  Mon Nov 14 21:55:44 2016 +0300
description:
Fixed a typo, removed an empty line.

diffstat:

 docs/xml/nginx/changes.xml |  3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diffs (20 lines):

diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -790,7 +790,6 @@ and tries to avoid cache keys zone overf
 в логах могли появляться сообщения "task already active" и "second aio post".
 
 
-
 "task already active" and "second aio post" alerts might appear in logs
 when using the "sendfile" and "aio" directives with subrequests.
 
@@ -18140,7 +18139,7 @@ nginx did not omit the "#fragment" part 
 
 
 
-POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
+POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
 
 
 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel