*/*: 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:
parent
d5f5a141fb
commit
30ba18e2a5
11 changed files with 111 additions and 31 deletions
|
@ -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
|
||||
|
||||
|
|
13
devel/libnjs/files/patch-src_njs.pc.in
Normal file
13
devel/libnjs/files/patch-src_njs.pc.in
Normal file
|
@ -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,5 +1,5 @@
|
|||
PORTNAME= njs
|
||||
DISTVERSION= 0.7.12
|
||||
DISTVERSION= 0.8.0
|
||||
CATEGORIES= lang www
|
||||
|
||||
MAINTAINER= osa@FreeBSD.org
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
72
www/unit/files/patch-src_nxt__js.c
Normal file
72
www/unit/files/patch-src_nxt__js.c
Normal file
|
@ -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;
|
||||
}
|
Loading…
Reference in a new issue