From: Zeev Suraski Date: Sat, 29 Jan 2000 11:55:44 +0000 (+0000) Subject: - Change the argument order of php_register_variable() to something more X-Git-Tag: BEFORE_SAPIFICATION_FEB_10_2000~156 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b2449f929cdee3539c4667f31dc482ac34fc56ab;p=php - Change the argument order of php_register_variable() to something more intuitive. - Make the authentication variables be a part of the HTTP_SERVER_VARS[] array --- diff --git a/main/main.c b/main/main.c index 5fb79f0702..7c33762926 100644 --- a/main/main.c +++ b/main/main.c @@ -702,13 +702,6 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC) } else if (PG(implicit_flush)) { php_start_implicit_flush(); } - - if (SG(request_info).auth_user) { - php_register_variable(SG(request_info).auth_user, "PHP_AUTH_USER", NULL ELS_CC PLS_CC); - } - if (SG(request_info).auth_password) { - php_register_variable(SG(request_info).auth_password, "PHP_AUTH_PW", NULL ELS_CC PLS_CC); - } return SUCCESS; } @@ -1007,11 +1000,24 @@ static inline void php_register_server_variables(ELS_D SLS_DC PLS_DC) INIT_PZVAL(array_ptr); zend_hash_add(&EG(symbol_table), "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS"), &array_ptr, sizeof(pval *),NULL); } - sapi_module.register_server_variables(array_ptr ELS_CC SLS_CC PLS_CC); + /* Server variables */ + if (sapi_module.register_server_variables) { + sapi_module.register_server_variables(array_ptr ELS_CC SLS_CC PLS_CC); + } + + /* argv/argc support */ if (PG(register_argc_argv)) { php_build_argv(SG(request_info).query_string, array_ptr ELS_CC PLS_CC); } + + /* PHP Authentication support */ + if (SG(request_info).auth_user) { + php_register_variable("PHP_AUTH_USER", SG(request_info).auth_user, array_ptr ELS_CC PLS_CC); + } + if (SG(request_info).auth_password) { + php_register_variable("PHP_AUTH_PW", SG(request_info).auth_password, array_ptr ELS_CC PLS_CC); + } } diff --git a/main/php_variables.c b/main/php_variables.c index 383442ab66..53050f36f0 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -28,7 +28,7 @@ #include "zend_globals.h" -PHPAPI void php_register_variable(char *val, char *var, pval *track_vars_array ELS_DC PLS_DC) +PHPAPI void php_register_variable(char *var, char *val, pval *track_vars_array ELS_DC PLS_DC) { char *p = NULL; char *ip; /* index pointer */ @@ -265,7 +265,7 @@ void php_treat_data(int arg, char *str ELS_DC PLS_DC SLS_DC) /* FIXME: XXX: not binary safe, discards returned length */ php_url_decode(var, strlen(var)); php_url_decode(val, strlen(val)); - php_register_variable(val, var, array_ptr ELS_CC PLS_CC); + php_register_variable(var, val, array_ptr ELS_CC PLS_CC); } if (arg == PARSE_COOKIE) { var = strtok_r(NULL, ";", &strtok_buf); @@ -303,7 +303,7 @@ void php_import_environment_variables(ELS_D PLS_DC) continue; } t = estrndup(*env, p - *env); - php_register_variable(p+1, t, array_ptr ELS_CC PLS_CC); + php_register_variable(t, p+1, array_ptr ELS_CC PLS_CC); efree(t); } } diff --git a/main/php_variables.h b/main/php_variables.h index 826f77dc76..932b86bcc2 100644 --- a/main/php_variables.h +++ b/main/php_variables.h @@ -42,6 +42,6 @@ void php_treat_data(int arg, char *str ELS_DC PLS_DC SLS_DC); void php_import_environment_variables(ELS_D PLS_DC); -PHPAPI void php_register_variable(char *val, char *var, pval *track_vars_array ELS_DC PLS_DC); +PHPAPI void php_register_variable(char *var, char *val, pval *track_vars_array ELS_DC PLS_DC); #endif /* _PHP_VARIABLES_H */ diff --git a/main/rfc1867.c b/main/rfc1867.c index e418fe0606..459d65d7ea 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -157,7 +157,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary) *(loc - 4) = '\0'; /* Magic function that figures everything out */ - php_register_variable(ptr,namebuf,http_post_vars ELS_CC PLS_CC); + php_register_variable(namebuf, ptr, http_post_vars ELS_CC PLS_CC); /* And a little kludge to pick out special MAX_FILE_SIZE */ itype = php_check_ident_type(namebuf); diff --git a/sapi/apache/mod_php4.c b/sapi/apache/mod_php4.c index 6b3bbc80ef..1f03a84586 100644 --- a/sapi/apache/mod_php4.c +++ b/sapi/apache/mod_php4.c @@ -245,14 +245,14 @@ static void sapi_apache_register_server_variables(zval *track_vars_array ELS_DC } else { val = empty_string; } - php_register_variable(val, elts[i].key, NULL ELS_CC PLS_CC); + php_register_variable(elts[i].key, val, NULL ELS_CC PLS_CC); } /* insert special variables */ if (script_filename) { - php_register_variable(script_filename, "PATH_TRANSLATED", NULL ELS_CC PLS_CC); + php_register_variable("PATH_TRANSLATED", script_filename, NULL ELS_CC PLS_CC); } - php_register_variable(((request_rec *) SG(server_context))->uri, "PHP_SELF", NULL ELS_CC PLS_CC); + php_register_variable("PHP_SELF", ((request_rec *) SG(server_context))->uri, NULL ELS_CC PLS_CC); } diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 2f35878086..d942d264a8 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -133,7 +133,7 @@ static void sapi_cgi_register_variables(zval *track_vars_array ELS_DC SLS_DC PLS /* Build the special-case PHP_SELF variable for the CGI version */ #if FORCE_CGI_REDIRECT - php_register_variable((SG(request_info).request_uri ? SG(request_info).request_uri, "PHP_SELF", track_vars_array ELS_CC PLS_CC); + php_register_variable("PHP_SELF", (SG(request_info).request_uri ? SG(request_info).request_uri, track_vars_array ELS_CC PLS_CC); #else { char *sn; @@ -152,7 +152,7 @@ static void sapi_cgi_register_variables(zval *track_vars_array ELS_DC SLS_DC PLS } val = emalloc(l + 1); php_sprintf(val, "%s%s", (sn ? sn : ""), (pi ? pi : "")); /* SAFE */ - php_register_variable(val, "PHP_SELF", track_vars_array ELS_CC PLS_CC); + php_register_variable("PHP_SELF", val, track_vars_array ELS_CC PLS_CC); efree(val); } #endif diff --git a/sapi/isapi/php4isapi.c b/sapi/isapi/php4isapi.c index 151a331601..8aa39f927c 100644 --- a/sapi/isapi/php4isapi.c +++ b/sapi/isapi/php4isapi.c @@ -328,7 +328,7 @@ static void sapi_isapi_register_server_variables(zval *track_vars_array ELS_DC S value++; } *colon = 0; - php_register_variable(value, variable, track_vars_array ELS_CC PLS_CC); + php_register_variable(variable, value, track_vars_array ELS_CC PLS_CC); *colon = ':'; } variable = strtok_r(NULL, "\r\n", &strtok_buf);