*/*: update NGINX JavaScript: 0.7.12 -> 0.8.0 (+)
<ChangeLog>
nginx modules:
*) Change: removed special treatment of forbidden headers in Fetch API
introduced in 0.7.10.
*) Change: removed deprecated since 0.5.0 r.requestBody and
r.responseBody in HTTP module.
*) Change: throwing an exception in r.internalRedirect() while
filtering in HTTP module.
*) Feature: introduced global nginx properties.
ngx.build - an optional nginx build name, corresponds to
--build=name argument of configure script, by default is "".
ngx.conf_file_path - the file path to current nginx configuration
file.
ngx.error_log_path - the file path to current error log file.
ngx.prefix - the directory that keeps server files.
ngx.version - the nginx version as a string, for example: "1.25.0".
ngx.version_number - the nginx version as a number, for example:
1025000.
ngx.worker_id - corresponds to an nginx internal worker id.
The value is between 0 and worker_processes - 1.
*) Feature: introduced js_shared_dict_zone directive.
The directive allows to declare a dictionary that is shared among the
working processes.
*) Improvement: added compile-time options to disable njs modules.
For example to disable libxslt related code:
NJS_LIBXSLT=NO ./configure .. --add-module=/path/to/njs/module
*) Bugfix: fixed r.status setter when filtering in HTTP module.
*) Bugfix: fixed setting of Location header in HTTP module.
Core:
*) Change: native methods are provided with retval argument.
This change breaks compatibility with C extension for njs
requiring to modify the code.
*) Change: non-compliant deprecated String methods were removed.
The following methods were removed: String.bytesFrom(),
String.prototype.fromBytes(), String.prototype.fromUTF8(),
String.prototype.toBytes(), String.prototype.toUTF8(),
String.prototype.toString(encoding).
*) Change: removed support for building with GNU readline.
*) Feature: added Array.from(), Array.prototype.toSorted(),
Array.prototype.toSpliced(), Array.prototype.toReversed().
*) Feature: added %TypedArray%.prototype.toSorted(),
%TypedArray%.prototype.toSpliced(),
%TypedArray%.prototype.toReversed().
*) Feature: added CryptoKey properties in WebCrypto.
The following properties for CryptoKey were added:
algorithm, extractable, type, usages.
*) Bugfix: fixed retval of crypto.getRandomValues().
*) Bugfix: fixed evaluation of computed property names with function
expressions.
*) Bugfix: fixed implicit name for a function expression declared in
arrays.
*) Bugfix: fixed parsing of for-in loops.
*) Bugfix: fixed Date.parse() with ISO-8601 format and UTC time
offset.
</ChangeLog>
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
PORTNAME= libnjs
|
||||
DISTVERSION= 0.7.12
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 0.8.0
|
||||
CATEGORIES= devel www
|
||||
|
||||
MAINTAINER= osa@FreeBSD.org
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1681160351
|
||||
SHA256 (nginx-njs-0.7.12_GH0.tar.gz) = 7a75a39022dfb58dbf461053903a07cc48dd4942f7d82a46601819c1b0077687
|
||||
SIZE (nginx-njs-0.7.12_GH0.tar.gz) = 662554
|
||||
TIMESTAMP = 1688833591
|
||||
SHA256 (nginx-njs-0.8.0_GH0.tar.gz) = b98033fff6aadcbb8e108b96e80c0d94c6e2103bcbe75846b5ae0b560696084b
|
||||
SIZE (nginx-njs-0.8.0_GH0.tar.gz) = 715391
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
--- auto/make.orig 2023-05-11 23:24:57 UTC
|
||||
--- auto/make.orig 2023-07-11 23:27:41 UTC
|
||||
+++ auto/make
|
||||
@@ -320,11 +320,11 @@ cat << END >> $NJS_MAKEFILE
|
||||
@@ -320,9 +320,7 @@ cat << END >> $NJS_MAKEFILE
|
||||
pc: $NJS_BUILD_DIR/njs.pc
|
||||
|
||||
$NJS_BUILD_DIR/njs.pc: $NJS_BUILD_DIR/njs_auto_config.h
|
||||
- sed -e "s,@PREFIX@,$(pwd)/$NJS_BUILD_DIR," \\
|
||||
- -e "s,@LIBDIR@,$(pwd)/$NJS_BUILD_DIR," \\
|
||||
- -e "s,@CFLAGS@,-I$(pwd)/$NJS_BUILD_DIR -I$(pwd)/src," \\
|
||||
- -e "s,@VERSION@,\$(NJS_VER)," \\
|
||||
- -e "s,@EXTRA_LIBS@,-lm $NJS_LIBS $NJS_LIB_AUX_LIBS," \\
|
||||
+ sed -e "s|@PREFIX@|$(pwd)/$NJS_BUILD_DIR|" \\
|
||||
+ -e "s|@LIBDIR@|$(pwd)/$NJS_BUILD_DIR|" \\
|
||||
+ -e "s|@CFLAGS@|-I$(pwd)/$NJS_BUILD_DIR -I$(pwd)/src|" \\
|
||||
+ -e "s|@VERSION@|\$(NJS_VER)|" \\
|
||||
+ -e "s|@EXTRA_LIBS@|-lm $NJS_LIBS $NJS_LIB_AUX_LIBS|" \\
|
||||
- sed -e "s#@PREFIX@#$(pwd)/$NJS_BUILD_DIR#" \\
|
||||
- -e "s#@LIBDIR@#$(pwd)/$NJS_BUILD_DIR#" \\
|
||||
- -e "s#@CFLAGS@#-I$(pwd)/$NJS_BUILD_DIR -I$(pwd)/src#" \\
|
||||
+ sed -e "s#@PREFIX@#%%LOCALBASE%%#" \\
|
||||
-e "s#@VERSION@#\$(NJS_VER)#" \\
|
||||
-e "s#@EXTRA_LIBS@#-lm $NJS_LIBS $NJS_LIB_AUX_LIBS#" \\
|
||||
src/njs.pc.in > \$@
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
--- src/njs.pc.in.orig 2023-07-11 23:13:20 UTC
|
||||
+++ src/njs.pc.in
|
||||
@@ -1,8 +1,8 @@
|
||||
prefix=@PREFIX@
|
||||
-libdir=@LIBDIR@
|
||||
+libdir=${prefix}/lib
|
||||
|
||||
Name: njs
|
||||
Description: library to embed njs scripting language
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lnjs @EXTRA_LIBS@
|
||||
-Cflags: @CFLAGS@
|
||||
+Cflags: -I${prefix}/include
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
PORTNAME= njs
|
||||
DISTVERSION= 0.7.12
|
||||
DISTVERSION= 0.8.0
|
||||
CATEGORIES= lang www
|
||||
|
||||
MAINTAINER= osa@FreeBSD.org
|
||||
|
||||
+3
-3
@@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1681160550
|
||||
SHA256 (nginx-njs-0.7.12_GH0.tar.gz) = 7a75a39022dfb58dbf461053903a07cc48dd4942f7d82a46601819c1b0077687
|
||||
SIZE (nginx-njs-0.7.12_GH0.tar.gz) = 662554
|
||||
TIMESTAMP = 1689100616
|
||||
SHA256 (nginx-njs-0.8.0_GH0.tar.gz) = b98033fff6aadcbb8e108b96e80c0d94c6e2103bcbe75846b5ae0b560696084b
|
||||
SIZE (nginx-njs-0.8.0_GH0.tar.gz) = 715391
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
PORTNAME?= nginx
|
||||
PORTVERSION= 1.25.1
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= https://nginx.org/download/ \
|
||||
LOCAL/osa
|
||||
@@ -249,7 +249,8 @@ CONFIGURE_ARGS+= --with-ld-opt="-L ${LOCALBASE}/lib -lpcre"
|
||||
LIB_DEPENDS+= libpcre.so:devel/pcre
|
||||
.endif
|
||||
|
||||
.if empty(PORT_OPTIONS:MNJS_XML)
|
||||
.if ${PORT_OPTIONS:MNJS} && empty(PORT_OPTIONS:MNJS_XML)
|
||||
CONFIGURE_ENV+= NJS_LIBXSLT=NO
|
||||
NJS_CONFIGURE_ARGS= --no-libxml2
|
||||
.endif
|
||||
|
||||
|
||||
@@ -236,12 +236,12 @@ NAXSI_GH_TUPLE= nbs-system:naxsi:${NAXSI_NGINX_VER}:naxsi
|
||||
NAXSI_VARS= DSO_EXTMODS+=naxsi NAXSI_SUBDIR=/naxsi_src
|
||||
NAXSI_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-naxsi_runtime.c
|
||||
|
||||
NJS_GH_TUPLE= nginx:njs:0.7.12:njs
|
||||
NJS_GH_TUPLE= nginx:njs:0.8.0:njs
|
||||
NJS_VARS= DSO_EXTMODS+=njs NJS_SUBDIR=/nginx
|
||||
NJS_USES= libedit
|
||||
|
||||
NJS_XML_IMPLIES= NJS
|
||||
NJS_XML_LIB_DEPENDS= libxml2.so:textproc/libxml2
|
||||
NJS_XML_LIB_DEPENDS= libxml2.so:textproc/libxml2 \
|
||||
libxslt.so:textproc/libxslt
|
||||
|
||||
OPENTRACING_GH_TUPLE= opentracing-contrib:nginx-opentracing:v0.24.0:opentracing
|
||||
OPENTRACING_LIB_DEPENDS= libopentracing.so:devel/libopentracing
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
TIMESTAMP = 1688165378
|
||||
TIMESTAMP = 1689101193
|
||||
SHA256 (nginx-1.25.1.tar.gz) = f09071ac46e0ea3adc0008ef0baca229fc6b4be4533baef9bbbfba7de29a8602
|
||||
SIZE (nginx-1.25.1.tar.gz) = 1213919
|
||||
SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
|
||||
@@ -105,8 +105,8 @@ SHA256 (SpiderLabs-ModSecurity-nginx-v1.0.3_GH0.tar.gz) = 32a42256616cc674dca24c
|
||||
SIZE (SpiderLabs-ModSecurity-nginx-v1.0.3_GH0.tar.gz) = 34063
|
||||
SHA256 (nbs-system-naxsi-29793dc_GH0.tar.gz) = 579df0e50ff32464f7bb152df9d93ea18c05c4aa3966ec4d8c603b5dd629be08
|
||||
SIZE (nbs-system-naxsi-29793dc_GH0.tar.gz) = 236932
|
||||
SHA256 (nginx-njs-0.7.12_GH0.tar.gz) = 7a75a39022dfb58dbf461053903a07cc48dd4942f7d82a46601819c1b0077687
|
||||
SIZE (nginx-njs-0.7.12_GH0.tar.gz) = 662554
|
||||
SHA256 (nginx-njs-0.8.0_GH0.tar.gz) = b98033fff6aadcbb8e108b96e80c0d94c6e2103bcbe75846b5ae0b560696084b
|
||||
SIZE (nginx-njs-0.8.0_GH0.tar.gz) = 715391
|
||||
SHA256 (opentracing-contrib-nginx-opentracing-v0.24.0_GH0.tar.gz) = 5328c5f37e0615b5252aed51b9cd40f3d14989d995ad54134076aeda4ab9b280
|
||||
SIZE (opentracing-contrib-nginx-opentracing-v0.24.0_GH0.tar.gz) = 679417
|
||||
SHA256 (konstruxi-ngx_postgres-8aa7359_GH0.tar.gz) = c69ad4495de7c7883ebc23e1e6c4cc83a4ac6a7fddd4d5c12e49d33b65f7c50b
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
PORTNAME= unit
|
||||
PORTVERSION= ${UNIT_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= www
|
||||
MASTER_SITES?= https://unit.nginx.org/download/
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
--- src/nxt_js.c.orig 2023-05-10 16:22:28 UTC
|
||||
+++ src/nxt_js.c
|
||||
@@ -386,11 +386,11 @@ nxt_js_call(nxt_task_t *task, nxt_js_conf_t *jcf, nxt_
|
||||
nxt_js_t *js, nxt_str_t *str, void *ctx)
|
||||
{
|
||||
njs_vm_t *vm;
|
||||
- njs_int_t rc, ret;
|
||||
+ njs_int_t ret;
|
||||
njs_str_t res;
|
||||
- njs_value_t *array, *value;
|
||||
+ njs_value_t *value;
|
||||
njs_function_t *func;
|
||||
- njs_opaque_value_t opaque_value, arguments[6];
|
||||
+ njs_opaque_value_t retval, opaque_value, arguments[6];
|
||||
|
||||
static const njs_str_t uri_str = njs_str("uri");
|
||||
static const njs_str_t host_str = njs_str("host");
|
||||
@@ -407,15 +407,13 @@ nxt_js_call(nxt_task_t *task, nxt_js_conf_t *jcf, nxt_
|
||||
return NXT_ERROR;
|
||||
}
|
||||
|
||||
- ret = njs_vm_start(vm);
|
||||
+ ret = njs_vm_start(vm, njs_value_arg(&retval));
|
||||
if (ret != NJS_OK) {
|
||||
return NXT_ERROR;
|
||||
}
|
||||
|
||||
- array = njs_vm_retval(vm);
|
||||
-
|
||||
cache->vm = vm;
|
||||
- cache->array = *array;
|
||||
+ cache->array = *njs_value_arg(&retval);
|
||||
}
|
||||
|
||||
value = njs_vm_array_prop(vm, &cache->array, js->index, &opaque_value);
|
||||
@@ -463,18 +461,20 @@ nxt_js_call(nxt_task_t *task, nxt_js_conf_t *jcf, nxt_
|
||||
return NXT_ERROR;
|
||||
}
|
||||
|
||||
- ret = njs_vm_call(vm, func, njs_value_arg(&arguments), 6);
|
||||
+ ret = njs_vm_invoke(vm, func, njs_value_arg(&arguments), 6,
|
||||
+ njs_value_arg(&retval));
|
||||
|
||||
- rc = njs_vm_retval_string(vm, &res);
|
||||
- if (rc != NJS_OK) {
|
||||
- return NXT_ERROR;
|
||||
- }
|
||||
-
|
||||
if (ret != NJS_OK) {
|
||||
- nxt_alert(task, "js exception: %V", &res);
|
||||
+ ret = njs_vm_exception_string(vm, &res);
|
||||
+ if (ret == NJS_OK) {
|
||||
+ nxt_alert(task, "js exception: %V", &res);
|
||||
+ }
|
||||
+
|
||||
return NXT_ERROR;
|
||||
}
|
||||
|
||||
+ ret = njs_vm_value_string(vm, &res, njs_value_arg(&retval));
|
||||
+
|
||||
str->length = res.length;
|
||||
str->start = res.start;
|
||||
|
||||
@@ -498,7 +498,7 @@ nxt_js_error(njs_vm_t *vm, u_char *error)
|
||||
njs_str_t res;
|
||||
nxt_str_t err;
|
||||
|
||||
- ret = njs_vm_retval_string(vm, &res);
|
||||
+ ret = njs_vm_exception_string(vm, &res);
|
||||
if (nxt_slow_path(ret != NJS_OK)) {
|
||||
return NXT_ERROR;
|
||||
}
|
||||
Reference in New Issue
Block a user