:100644 100644 c7463dcd 00000000 M	src/http/ngx_http_core_module.c
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index c7463dcd..e2e45931 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -55,7 +55,6 @@ static char *ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf);
 static char *ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf);
-static char *ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
 static char *ngx_http_core_limit_except(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf);
 static char *ngx_http_core_set_aio(ngx_conf_t *cf, ngx_command_t *cmd,
@@ -323,21 +322,6 @@ static ngx_command_t  ngx_http_core_commands[] = {
       offsetof(ngx_http_core_loc_conf_t, default_type),
       NULL },
 
-    { ngx_string("root"),
-      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
-                        |NGX_CONF_TAKE1,
-      ngx_http_core_root,
-      NGX_HTTP_LOC_CONF_OFFSET,
-      0,
-      NULL },
-
-    { ngx_string("alias"),
-      NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
-      ngx_http_core_root,
-      NGX_HTTP_LOC_CONF_OFFSET,
-      0,
-      NULL },
-
     { ngx_string("limit_except"),
       NGX_HTTP_LOC_CONF|NGX_CONF_BLOCK|NGX_CONF_1MORE,
       ngx_http_core_limit_except,
@@ -4312,108 +4296,6 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
 }
 
 
-static char *
-ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
-{
-    ngx_http_core_loc_conf_t *clcf = conf;
-
-    ngx_str_t                  *value;
-    ngx_int_t                   alias;
-    ngx_uint_t                  n;
-    ngx_http_script_compile_t   sc;
-
-    alias = (cmd->name.len == sizeof("alias") - 1) ? 1 : 0;
-
-    if (clcf->root.data) {
-
-        if ((clcf->alias != 0) == alias) {
-            return "is duplicate";
-        }
-
-        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-                           "\"%V\" directive is duplicate, "
-                           "\"%s\" directive was specified earlier",
-                           &cmd->name, clcf->alias ? "alias" : "root");
-
-        return NGX_CONF_ERROR;
-    }
-
-    if (clcf->named && alias) {
-        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-                           "the \"alias\" directive cannot be used "
-                           "inside the named location");
-
-        return NGX_CONF_ERROR;
-    }
-
-    value = cf->args->elts;
-
-    if (ngx_strstr(value[1].data, "$document_root")
-        || ngx_strstr(value[1].data, "${document_root}"))
-    {
-        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-                           "the $document_root variable cannot be used "
-                           "in the \"%V\" directive",
-                           &cmd->name);
-
-        return NGX_CONF_ERROR;
-    }
-
-    if (ngx_strstr(value[1].data, "$realpath_root")
-        || ngx_strstr(value[1].data, "${realpath_root}"))
-    {
-        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-                           "the $realpath_root variable cannot be used "
-                           "in the \"%V\" directive",
-                           &cmd->name);
-
-        return NGX_CONF_ERROR;
-    }
-
-    clcf->alias = alias ? clcf->name.len : 0;
-    clcf->root = value[1];
-
-    if (!alias && clcf->root.len > 0
-        && clcf->root.data[clcf->root.len - 1] == '/')
-    {
-        clcf->root.len--;
-    }
-
-    if (clcf->root.data[0] != '$') {
-        if (ngx_conf_full_name(cf->cycle, &clcf->root, 0) != NGX_OK) {
-            return NGX_CONF_ERROR;
-        }
-    }
-
-    n = ngx_http_script_variables_count(&clcf->root);
-
-    ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
-    sc.variables = n;
-
-#if (NGX_PCRE)
-    if (alias && clcf->regex) {
-        clcf->alias = NGX_MAX_SIZE_T_VALUE;
-        n = 1;
-    }
-#endif
-
-    if (n) {
-        sc.cf = cf;
-        sc.source = &clcf->root;
-        sc.lengths = &clcf->root_lengths;
-        sc.values = &clcf->root_values;
-        sc.complete_lengths = 1;
-        sc.complete_values = 1;
-
-        if (ngx_http_script_compile(&sc) != NGX_OK) {
-            return NGX_CONF_ERROR;
-        }
-    }
-
-    return NGX_CONF_OK;
-}
-
-
 static ngx_http_method_name_t  ngx_methods_names[] = {
     { (u_char *) "GET",       (uint32_t) ~NGX_HTTP_GET },
     { (u_char *) "HEAD",      (uint32_t) ~NGX_HTTP_HEAD },
