- 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
This commit is contained in:
Zeev Suraski 2000-01-29 11:55:44 +00:00
parent 6864e05ae3
commit b2449f929c
7 changed files with 25 additions and 19 deletions

View file

@ -703,13 +703,6 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
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);
}
}

View file

@ -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);
}
}

View file

@ -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 */

View file

@ -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);

View file

@ -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);
}

View file

@ -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

View file

@ -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);