Patch-Source: https://github.com/nginx/unit/pull/1611 -- From 7e1f4a7f7505139411818bdc03ee710a54c98488 Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Thu, 8 May 2025 20:03:59 +0100 Subject: [PATCH] njs: Update for version 0.9.0 API changes This bumps the minimum required version of njs to 0.9.0 Cc: Sergey A. Osokin Signed-off-by: Andrew Clayton --- auto/njs | 6 ++--- pkg/contrib/src/njs/SHA512SUMS | 2 +- pkg/contrib/src/njs/version | 2 +- src/nxt_http_js.c | 49 ++++++++++++++++++++-------------- 4 files changed, 34 insertions(+), 25 deletions(-) diff --git a/auto/njs b/auto/njs index 0a911ec25..ce2e59724 100644 --- a/auto/njs +++ b/auto/njs @@ -25,8 +25,8 @@ nxt_feature_incs="$NXT_NJS_CFLAGS $NXT_NJS_AUX_CFLAGS" nxt_feature_libs="$NXT_NJS_LIBS $NXT_NJS_AUX_LIBS" nxt_feature_test="#include - #if NJS_VERSION_NUMBER < 0x000803 - # error njs < 0.8.3 is not supported. + #if NJS_VERSION_NUMBER < 0x000900 + # error njs < 0.9.0 is not supported. #endif int main(void) { @@ -44,7 +44,7 @@ nxt_feature_test="#include if [ $nxt_found = no ]; then $echo - $echo $0: error: no njs library \>= 0.8.3 found. + $echo $0: error: no njs library \>= 0.9.0 found. $echo exit 1; fi diff --git a/src/nxt_http_js.c b/src/nxt_http_js.c index 34689fba1..ec8554c40 100644 --- a/src/nxt_http_js.c +++ b/src/nxt_http_js.c @@ -9,27 +9,31 @@ static njs_int_t nxt_http_js_ext_uri(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval); + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval); static njs_int_t nxt_http_js_ext_host(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval); -static njs_int_t nxt_http_js_ext_remote_addr(njs_vm_t *vm, - njs_object_prop_t *prop, njs_value_t *value, njs_value_t *setval, + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, njs_value_t *retval); +static njs_int_t nxt_http_js_ext_remote_addr(njs_vm_t *vm, + njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, + njs_value_t *setval, njs_value_t *retval); static njs_int_t nxt_http_js_ext_get_args(njs_vm_t *vm, - njs_object_prop_t *prop, njs_value_t *value, njs_value_t *setval, - njs_value_t *retval); + njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, + njs_value_t *setval, njs_value_t *retval); static njs_int_t nxt_http_js_ext_get_header(njs_vm_t *vm, - njs_object_prop_t *prop, njs_value_t *value, njs_value_t *setval, - njs_value_t *retval); + njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, + njs_value_t *setval, njs_value_t *retval); static njs_int_t nxt_http_js_ext_keys_header(njs_vm_t *vm, njs_value_t *value, njs_value_t *keys); static njs_int_t nxt_http_js_ext_get_cookie(njs_vm_t *vm, - njs_object_prop_t *prop, njs_value_t *value, njs_value_t *setval, + njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, + njs_value_t *setval, njs_value_t *retval); static njs_int_t nxt_http_js_ext_keys_cookie(njs_vm_t *vm, njs_value_t *value, njs_value_t *keys); static njs_int_t nxt_http_js_ext_get_var(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval); + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval); static njs_external_t nxt_http_js_proto[] = { @@ -109,7 +113,7 @@ nxt_http_register_js_proto(nxt_js_conf_t *jcf) static njs_int_t -nxt_http_js_ext_uri(njs_vm_t *vm, njs_object_prop_t *prop, +nxt_http_js_ext_uri(njs_vm_t *vm, njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, njs_value_t *setval, njs_value_t *retval) { nxt_http_request_t *r; @@ -126,7 +130,7 @@ nxt_http_js_ext_uri(njs_vm_t *vm, njs_object_prop_t *prop, static njs_int_t -nxt_http_js_ext_host(njs_vm_t *vm, njs_object_prop_t *prop, +nxt_http_js_ext_host(njs_vm_t *vm, njs_object_prop_t *prop, uint32_t atom_id, njs_value_t *value, njs_value_t *setval, njs_value_t *retval) { nxt_http_request_t *r; @@ -144,7 +148,8 @@ nxt_http_js_ext_host(njs_vm_t *vm, njs_object_prop_t *prop, static njs_int_t nxt_http_js_ext_remote_addr(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval) { nxt_http_request_t *r; @@ -162,7 +167,8 @@ nxt_http_js_ext_remote_addr(njs_vm_t *vm, njs_object_prop_t *prop, static njs_int_t nxt_http_js_ext_get_args(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval) { u_char *start; njs_int_t ret; @@ -193,7 +199,8 @@ nxt_http_js_ext_get_args(njs_vm_t *vm, njs_object_prop_t *prop, static njs_int_t nxt_http_js_ext_get_header(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval) { njs_int_t rc; njs_str_t key; @@ -206,7 +213,7 @@ nxt_http_js_ext_get_header(njs_vm_t *vm, njs_object_prop_t *prop, return NJS_DECLINED; } - rc = njs_vm_prop_name(vm, prop, &key); + rc = njs_vm_prop_name(vm, atom_id, &key); if (rc != NJS_OK) { njs_value_undefined_set(retval); return NJS_DECLINED; @@ -266,7 +273,8 @@ nxt_http_js_ext_keys_header(njs_vm_t *vm, njs_value_t *value, njs_value_t *keys) static njs_int_t nxt_http_js_ext_get_cookie(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval) { njs_int_t rc; njs_str_t key; @@ -280,7 +288,7 @@ nxt_http_js_ext_get_cookie(njs_vm_t *vm, njs_object_prop_t *prop, return NJS_DECLINED; } - rc = njs_vm_prop_name(vm, prop, &key); + rc = njs_vm_prop_name(vm, atom_id, &key); if (rc != NJS_OK) { njs_value_undefined_set(retval); return NJS_DECLINED; @@ -355,7 +363,8 @@ nxt_http_js_ext_keys_cookie(njs_vm_t *vm, njs_value_t *value, njs_value_t *keys) static njs_int_t nxt_http_js_ext_get_var(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) + uint32_t atom_id, njs_value_t *value, njs_value_t *setval, + njs_value_t *retval) { njs_int_t rc; njs_str_t key; @@ -369,7 +378,7 @@ nxt_http_js_ext_get_var(njs_vm_t *vm, njs_object_prop_t *prop, return NJS_DECLINED; } - rc = njs_vm_prop_name(vm, prop, &key); + rc = njs_vm_prop_name(vm, atom_id, &key); if (rc != NJS_OK) { njs_value_undefined_set(retval); return NJS_DECLINED;