diff options
-rw-r--r-- | src/nxt_conf_validation.c | 613 |
1 files changed, 317 insertions, 296 deletions
diff --git a/src/nxt_conf_validation.c b/src/nxt_conf_validation.c index 4364057b..c01cee62 100644 --- a/src/nxt_conf_validation.c +++ b/src/nxt_conf_validation.c @@ -170,21 +170,60 @@ static nxt_int_t nxt_conf_vldt_clone_gidmap(nxt_conf_validation_t *vldt, nxt_conf_value_t *value); #endif -static nxt_conf_vldt_object_t nxt_conf_vldt_websocket_members[] = { - { nxt_string("read_timeout"), - NXT_CONF_VLDT_INTEGER, + +static nxt_conf_vldt_object_t nxt_conf_vldt_setting_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_http_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_websocket_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_static_members[]; +#if (NXT_TLS) +static nxt_conf_vldt_object_t nxt_conf_vldt_tls_members[]; +#endif +static nxt_conf_vldt_object_t nxt_conf_vldt_match_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_php_common_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_php_options_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_common_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_app_limits_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_app_processes_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_app_isolation_members[]; +static nxt_conf_vldt_object_t nxt_conf_vldt_app_namespaces_members[]; +#if (NXT_HAVE_ISOLATION_ROOTFS) +static nxt_conf_vldt_object_t nxt_conf_vldt_app_automount_members[]; +#endif + + +static nxt_conf_vldt_object_t nxt_conf_vldt_root_members[] = { + { nxt_string("settings"), + NXT_CONF_VLDT_OBJECT, 0, - NULL, - NULL }, + &nxt_conf_vldt_object, + (void *) &nxt_conf_vldt_setting_members }, - { nxt_string("keepalive_interval"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("listeners"), + NXT_CONF_VLDT_OBJECT, 0, - NULL, + &nxt_conf_vldt_object_iterator, + (void *) &nxt_conf_vldt_listener }, + + { nxt_string("routes"), + NXT_CONF_VLDT_ARRAY | NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_routes, NULL }, - { nxt_string("max_frame_size"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("applications"), + NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_object_iterator, + (void *) &nxt_conf_vldt_app }, + + { nxt_string("upstreams"), + NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_object_iterator, + (void *) &nxt_conf_vldt_upstream }, + + { nxt_string("access_log"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, @@ -193,12 +232,12 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_websocket_members[] = { }; -static nxt_conf_vldt_object_t nxt_conf_vldt_static_members[] = { - { nxt_string("mime_types"), +static nxt_conf_vldt_object_t nxt_conf_vldt_setting_members[] = { + { nxt_string("http"), NXT_CONF_VLDT_OBJECT, 0, - &nxt_conf_vldt_mtypes, - NULL }, + &nxt_conf_vldt_object, + (void *) &nxt_conf_vldt_http_members }, NXT_CONF_VLDT_END }; @@ -263,50 +302,21 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_http_members[] = { }; -static nxt_conf_vldt_object_t nxt_conf_vldt_setting_members[] = { - { nxt_string("http"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_object, - (void *) &nxt_conf_vldt_http_members }, - - NXT_CONF_VLDT_END -}; - - -static nxt_conf_vldt_object_t nxt_conf_vldt_root_members[] = { - { nxt_string("settings"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_object, - (void *) &nxt_conf_vldt_setting_members }, - - { nxt_string("listeners"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_object_iterator, - (void *) &nxt_conf_vldt_listener }, - - { nxt_string("routes"), - NXT_CONF_VLDT_ARRAY | NXT_CONF_VLDT_OBJECT, +static nxt_conf_vldt_object_t nxt_conf_vldt_websocket_members[] = { + { nxt_string("read_timeout"), + NXT_CONF_VLDT_INTEGER, 0, - &nxt_conf_vldt_routes, + NULL, NULL }, - { nxt_string("applications"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_object_iterator, - (void *) &nxt_conf_vldt_app }, - - { nxt_string("upstreams"), - NXT_CONF_VLDT_OBJECT, + { nxt_string("keepalive_interval"), + NXT_CONF_VLDT_INTEGER, 0, - &nxt_conf_vldt_object_iterator, - (void *) &nxt_conf_vldt_upstream }, + NULL, + NULL }, - { nxt_string("access_log"), - NXT_CONF_VLDT_STRING, + { nxt_string("max_frame_size"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, @@ -315,20 +325,16 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_root_members[] = { }; -#if (NXT_TLS) - -static nxt_conf_vldt_object_t nxt_conf_vldt_tls_members[] = { - { nxt_string("certificate"), - NXT_CONF_VLDT_STRING, +static nxt_conf_vldt_object_t nxt_conf_vldt_static_members[] = { + { nxt_string("mime_types"), + NXT_CONF_VLDT_OBJECT, 0, - &nxt_conf_vldt_certificate, + &nxt_conf_vldt_mtypes, NULL }, NXT_CONF_VLDT_END }; -#endif - static nxt_conf_vldt_object_t nxt_conf_vldt_listener_members[] = { { nxt_string("pass"), @@ -357,6 +363,38 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_listener_members[] = { }; +#if (NXT_TLS) + +static nxt_conf_vldt_object_t nxt_conf_vldt_tls_members[] = { + { nxt_string("certificate"), + NXT_CONF_VLDT_STRING, + 0, + &nxt_conf_vldt_certificate, + NULL }, + + NXT_CONF_VLDT_END +}; + +#endif + + +static nxt_conf_vldt_object_t nxt_conf_vldt_route_members[] = { + { nxt_string("match"), + NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_object, + (void *) &nxt_conf_vldt_match_members }, + + { nxt_string("action"), + NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_action, + NULL }, + + NXT_CONF_VLDT_END +}; + + static nxt_conf_vldt_object_t nxt_conf_vldt_match_members[] = { { nxt_string("method"), NXT_CONF_VLDT_STRING | NXT_CONF_VLDT_ARRAY, @@ -472,215 +510,209 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_proxy_action_members[] = { }; -static nxt_conf_vldt_object_t nxt_conf_vldt_route_members[] = { - { nxt_string("match"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_object, - (void *) &nxt_conf_vldt_match_members }, +static nxt_conf_vldt_object_t nxt_conf_vldt_external_members[] = { + { nxt_string("executable"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, + NULL, + NULL }, - { nxt_string("action"), - NXT_CONF_VLDT_OBJECT, + { nxt_string("arguments"), + NXT_CONF_VLDT_ARRAY, 0, - &nxt_conf_vldt_action, - NULL }, + &nxt_conf_vldt_array_iterator, + (void *) &nxt_conf_vldt_argument }, - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) }; -static nxt_conf_vldt_object_t nxt_conf_vldt_app_limits_members[] = { - { nxt_string("timeout"), - NXT_CONF_VLDT_INTEGER, +static nxt_conf_vldt_object_t nxt_conf_vldt_python_members[] = { + { nxt_string("home"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, - { nxt_string("requests"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("path"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, - { nxt_string("shm"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("module"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, + NULL, + NULL }, + + { nxt_string("callable"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) }; -static nxt_conf_vldt_object_t nxt_conf_vldt_app_processes_members[] = { - { nxt_string("spare"), - NXT_CONF_VLDT_INTEGER, +static nxt_conf_vldt_object_t nxt_conf_vldt_php_members[] = { + { nxt_string("root"), + NXT_CONF_VLDT_ANY_TYPE, 0, - NULL, - NULL }, + &nxt_conf_vldt_php_targets_exclusive, + (void *) "root" }, - { nxt_string("max"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("script"), + NXT_CONF_VLDT_ANY_TYPE, 0, - NULL, - NULL }, + &nxt_conf_vldt_php_targets_exclusive, + (void *) "script" }, - { nxt_string("idle_timeout"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("index"), + NXT_CONF_VLDT_ANY_TYPE, 0, - NULL, + &nxt_conf_vldt_php_targets_exclusive, + (void *) "index" }, + + { nxt_string("targets"), + NXT_CONF_VLDT_OBJECT, + 0, + &nxt_conf_vldt_php_targets, NULL }, - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_php_common_members) }; -static nxt_conf_vldt_object_t nxt_conf_vldt_app_namespaces_members[] = { - -#if (NXT_HAVE_CLONE_NEWUSER) - { nxt_string("credential"), - NXT_CONF_VLDT_BOOLEAN, +static nxt_conf_vldt_object_t nxt_conf_vldt_php_common_members[] = { + { nxt_string("options"), + NXT_CONF_VLDT_OBJECT, 0, - NULL, - NULL }, -#endif + &nxt_conf_vldt_object, + (void *) &nxt_conf_vldt_php_options_members }, -#if (NXT_HAVE_CLONE_NEWPID) - { nxt_string("pid"), - NXT_CONF_VLDT_BOOLEAN, + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) +}; + + +static nxt_conf_vldt_object_t nxt_conf_vldt_php_options_members[] = { + { nxt_string("file"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, -#endif -#if (NXT_HAVE_CLONE_NEWNET) - { nxt_string("network"), - NXT_CONF_VLDT_BOOLEAN, + { nxt_string("admin"), + NXT_CONF_VLDT_OBJECT, 0, - NULL, - NULL }, -#endif + &nxt_conf_vldt_object_iterator, + (void *) &nxt_conf_vldt_php_option }, -#if (NXT_HAVE_CLONE_NEWNS) - { nxt_string("mount"), - NXT_CONF_VLDT_BOOLEAN, + { nxt_string("user"), + NXT_CONF_VLDT_OBJECT, 0, + &nxt_conf_vldt_object_iterator, + (void *) &nxt_conf_vldt_php_option }, + + NXT_CONF_VLDT_END +}; + + +static nxt_conf_vldt_object_t nxt_conf_vldt_php_target_members[] = { + { nxt_string("root"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, NULL, NULL }, -#endif -#if (NXT_HAVE_CLONE_NEWUTS) - { nxt_string("uname"), - NXT_CONF_VLDT_BOOLEAN, + { nxt_string("script"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, -#endif -#if (NXT_HAVE_CLONE_NEWCGROUP) - { nxt_string("cgroup"), - NXT_CONF_VLDT_BOOLEAN, + { nxt_string("index"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, -#endif NXT_CONF_VLDT_END }; -#if (NXT_HAVE_CLONE_NEWUSER) - -static nxt_conf_vldt_object_t nxt_conf_vldt_app_procmap_members[] = { - { nxt_string("container"), - NXT_CONF_VLDT_INTEGER, - 0, +static nxt_conf_vldt_object_t nxt_conf_vldt_php_notargets_members[] = { + { nxt_string("root"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, NULL, NULL }, - { nxt_string("host"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("script"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, - { nxt_string("size"), - NXT_CONF_VLDT_INTEGER, + { nxt_string("index"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_php_common_members) }; -#endif - -#if (NXT_HAVE_ISOLATION_ROOTFS) - -static nxt_conf_vldt_object_t nxt_conf_vldt_app_automount_members[] = { - { nxt_string("language_deps"), - NXT_CONF_VLDT_BOOLEAN, - 0, +static nxt_conf_vldt_object_t nxt_conf_vldt_perl_members[] = { + { nxt_string("script"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, NULL, NULL }, - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) }; -#endif +static nxt_conf_vldt_object_t nxt_conf_vldt_ruby_members[] = { + { nxt_string("script"), + NXT_CONF_VLDT_STRING, + NXT_CONF_VLDT_REQUIRED, + NULL, + NULL }, -static nxt_conf_vldt_object_t nxt_conf_vldt_app_isolation_members[] = { - { nxt_string("namespaces"), - NXT_CONF_VLDT_OBJECT, - 0, - &nxt_conf_vldt_clone_namespaces, - (void *) &nxt_conf_vldt_app_namespaces_members }, + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) +}; -#if (NXT_HAVE_CLONE_NEWUSER) - { nxt_string("uidmap"), - NXT_CONF_VLDT_ARRAY, - 0, - &nxt_conf_vldt_array_iterator, - (void *) &nxt_conf_vldt_clone_uidmap }, - - { nxt_string("gidmap"), +static nxt_conf_vldt_object_t nxt_conf_vldt_java_members[] = { + { nxt_string("classpath"), NXT_CONF_VLDT_ARRAY, 0, &nxt_conf_vldt_array_iterator, - (void *) &nxt_conf_vldt_clone_gidmap }, - -#endif - -#if (NXT_HAVE_ISOLATION_ROOTFS) + (void *) &nxt_conf_vldt_java_classpath }, - { nxt_string("rootfs"), + { nxt_string("webapp"), NXT_CONF_VLDT_STRING, - 0, + NXT_CONF_VLDT_REQUIRED, NULL, NULL }, - { nxt_string("automount"), - NXT_CONF_VLDT_OBJECT, + { nxt_string("options"), + NXT_CONF_VLDT_ARRAY, 0, - &nxt_conf_vldt_object, - (void *) &nxt_conf_vldt_app_automount_members }, - -#endif - -#if (NXT_HAVE_PR_SET_NO_NEW_PRIVS) + &nxt_conf_vldt_array_iterator, + (void *) &nxt_conf_vldt_java_option }, - { nxt_string("new_privs"), - NXT_CONF_VLDT_BOOLEAN, + { nxt_string("unit_jars"), + NXT_CONF_VLDT_STRING, 0, NULL, NULL }, -#endif - - NXT_CONF_VLDT_END + NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) }; @@ -737,67 +769,44 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_common_members[] = { }; -static nxt_conf_vldt_object_t nxt_conf_vldt_external_members[] = { - { nxt_string("executable"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, - NULL, - NULL }, - - { nxt_string("arguments"), - NXT_CONF_VLDT_ARRAY, - 0, - &nxt_conf_vldt_array_iterator, - (void *) &nxt_conf_vldt_argument }, - - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) -}; - - -static nxt_conf_vldt_object_t nxt_conf_vldt_python_members[] = { - { nxt_string("home"), - NXT_CONF_VLDT_STRING, +static nxt_conf_vldt_object_t nxt_conf_vldt_app_limits_members[] = { + { nxt_string("timeout"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, - { nxt_string("path"), - NXT_CONF_VLDT_STRING, + { nxt_string("requests"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, - { nxt_string("module"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, - NULL, - NULL }, - - { nxt_string("callable"), - NXT_CONF_VLDT_STRING, + { nxt_string("shm"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) + NXT_CONF_VLDT_END }; -static nxt_conf_vldt_object_t nxt_conf_vldt_php_target_members[] = { - { nxt_string("root"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, +static nxt_conf_vldt_object_t nxt_conf_vldt_app_processes_members[] = { + { nxt_string("spare"), + NXT_CONF_VLDT_INTEGER, + 0, NULL, NULL }, - { nxt_string("script"), - NXT_CONF_VLDT_STRING, + { nxt_string("max"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, - { nxt_string("index"), - NXT_CONF_VLDT_STRING, + { nxt_string("idle_timeout"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, @@ -806,142 +815,154 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_php_target_members[] = { }; -static nxt_conf_vldt_object_t nxt_conf_vldt_php_options_members[] = { - { nxt_string("file"), - NXT_CONF_VLDT_STRING, +static nxt_conf_vldt_object_t nxt_conf_vldt_app_isolation_members[] = { + { nxt_string("namespaces"), + NXT_CONF_VLDT_OBJECT, 0, - NULL, - NULL }, + &nxt_conf_vldt_clone_namespaces, + (void *) &nxt_conf_vldt_app_namespaces_members }, - { nxt_string("admin"), - NXT_CONF_VLDT_OBJECT, +#if (NXT_HAVE_CLONE_NEWUSER) + + { nxt_string("uidmap"), + NXT_CONF_VLDT_ARRAY, 0, - &nxt_conf_vldt_object_iterator, - (void *) &nxt_conf_vldt_php_option }, + &nxt_conf_vldt_array_iterator, + (void *) &nxt_conf_vldt_clone_uidmap }, - { nxt_string("user"), - NXT_CONF_VLDT_OBJECT, + { nxt_string("gidmap"), + NXT_CONF_VLDT_ARRAY, 0, - &nxt_conf_vldt_object_iterator, - (void *) &nxt_conf_vldt_php_option }, + &nxt_conf_vldt_array_iterator, + (void *) &nxt_conf_vldt_clone_gidmap }, - NXT_CONF_VLDT_END -}; +#endif +#if (NXT_HAVE_ISOLATION_ROOTFS) -static nxt_conf_vldt_object_t nxt_conf_vldt_php_common_members[] = { - { nxt_string("options"), + { nxt_string("rootfs"), + NXT_CONF_VLDT_STRING, + 0, + NULL, + NULL }, + + { nxt_string("automount"), NXT_CONF_VLDT_OBJECT, 0, &nxt_conf_vldt_object, - (void *) &nxt_conf_vldt_php_options_members }, + (void *) &nxt_conf_vldt_app_automount_members }, - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) -}; +#endif +#if (NXT_HAVE_PR_SET_NO_NEW_PRIVS) -static nxt_conf_vldt_object_t nxt_conf_vldt_php_notargets_members[] = { - { nxt_string("root"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, + { nxt_string("new_privs"), + NXT_CONF_VLDT_BOOLEAN, + 0, NULL, NULL }, - { nxt_string("script"), - NXT_CONF_VLDT_STRING, +#endif + + NXT_CONF_VLDT_END +}; + + +static nxt_conf_vldt_object_t nxt_conf_vldt_app_namespaces_members[] = { + +#if (NXT_HAVE_CLONE_NEWUSER) + { nxt_string("credential"), + NXT_CONF_VLDT_BOOLEAN, 0, NULL, NULL }, +#endif - { nxt_string("index"), - NXT_CONF_VLDT_STRING, +#if (NXT_HAVE_CLONE_NEWPID) + { nxt_string("pid"), + NXT_CONF_VLDT_BOOLEAN, 0, NULL, NULL }, +#endif - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_php_common_members) -}; - - -static nxt_conf_vldt_object_t nxt_conf_vldt_php_members[] = { - { nxt_string("root"), - NXT_CONF_VLDT_ANY_TYPE, +#if (NXT_HAVE_CLONE_NEWNET) + { nxt_string("network"), + NXT_CONF_VLDT_BOOLEAN, 0, - &nxt_conf_vldt_php_targets_exclusive, - (void *) "root" }, + NULL, + NULL }, +#endif - { nxt_string("script"), - NXT_CONF_VLDT_ANY_TYPE, +#if (NXT_HAVE_CLONE_NEWNS) + { nxt_string("mount"), + NXT_CONF_VLDT_BOOLEAN, 0, - &nxt_conf_vldt_php_targets_exclusive, - (void *) "script" }, + NULL, + NULL }, +#endif - { nxt_string("index"), - NXT_CONF_VLDT_ANY_TYPE, +#if (NXT_HAVE_CLONE_NEWUTS) + { nxt_string("uname"), + NXT_CONF_VLDT_BOOLEAN, 0, - &nxt_conf_vldt_php_targets_exclusive, - (void *) "index" }, + NULL, + NULL }, +#endif - { nxt_string("targets"), - NXT_CONF_VLDT_OBJECT, +#if (NXT_HAVE_CLONE_NEWCGROUP) + { nxt_string("cgroup"), + NXT_CONF_VLDT_BOOLEAN, 0, - &nxt_conf_vldt_php_targets, + NULL, NULL }, +#endif - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_php_common_members) + NXT_CONF_VLDT_END }; -static nxt_conf_vldt_object_t nxt_conf_vldt_perl_members[] = { - { nxt_string("script"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, +#if (NXT_HAVE_ISOLATION_ROOTFS) + +static nxt_conf_vldt_object_t nxt_conf_vldt_app_automount_members[] = { + { nxt_string("language_deps"), + NXT_CONF_VLDT_BOOLEAN, + 0, NULL, NULL }, - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) + NXT_CONF_VLDT_END }; +#endif -static nxt_conf_vldt_object_t nxt_conf_vldt_ruby_members[] = { - { nxt_string("script"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, - NULL, - NULL }, - - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) -}; +#if (NXT_HAVE_CLONE_NEWUSER) -static nxt_conf_vldt_object_t nxt_conf_vldt_java_members[] = { - { nxt_string("classpath"), - NXT_CONF_VLDT_ARRAY, +static nxt_conf_vldt_object_t nxt_conf_vldt_app_procmap_members[] = { + { nxt_string("container"), + NXT_CONF_VLDT_INTEGER, 0, - &nxt_conf_vldt_array_iterator, - (void *) &nxt_conf_vldt_java_classpath }, - - { nxt_string("webapp"), - NXT_CONF_VLDT_STRING, - NXT_CONF_VLDT_REQUIRED, NULL, NULL }, - { nxt_string("options"), - NXT_CONF_VLDT_ARRAY, + { nxt_string("host"), + NXT_CONF_VLDT_INTEGER, 0, - &nxt_conf_vldt_array_iterator, - (void *) &nxt_conf_vldt_java_option }, + NULL, + NULL }, - { nxt_string("unit_jars"), - NXT_CONF_VLDT_STRING, + { nxt_string("size"), + NXT_CONF_VLDT_INTEGER, 0, NULL, NULL }, - NXT_CONF_VLDT_NEXT(&nxt_conf_vldt_common_members) + NXT_CONF_VLDT_END }; +#endif + static nxt_conf_vldt_object_t nxt_conf_vldt_upstream_members[] = { { nxt_string("servers"), |