]> granicus.if.org Git - php/commitdiff
Support HTTP Auth under ISAPI. Now, these short pieces of code took *A LOT* of
authorZeev Suraski <zeev@php.net>
Wed, 12 May 1999 21:35:16 +0000 (21:35 +0000)
committerZeev Suraski <zeev@php.net>
Wed, 12 May 1999 21:35:16 +0000 (21:35 +0000)
research :(

main/SAPI.c
main/main.c

index 87be2e3fe8684480d06f4dbba5b3b11324894de5..178e2b8d831d1f167740ba714c6403db4f34aafa 100644 (file)
@@ -111,14 +111,6 @@ SAPI_API void sapi_deactivate(SLS_D)
        if (SG(request_info).post_data) {
                efree(SG(request_info).post_data);
        }
-       if (SG(server_context)) {
-               if (SG(request_info).auth_user) {
-                       efree(SG(request_info).auth_user);
-               }
-               if (SG(request_info).auth_password) {
-                       efree(SG(request_info).auth_password);
-               }
-       }
 }
 
 
index 2f2d0d65089f51bcbcbb91567865b08ad2876809..0b9d086fa76e15b70c5cf71ec697541e76aecf62 100644 (file)
@@ -629,6 +629,26 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
        init_executor(CLS_C ELS_CC);
        startup_scanner(CLS_C);
 
+       if (SG(request_info).auth_user) {
+               zval *auth_user;
+
+               MAKE_STD_ZVAL(auth_user);
+               auth_user->type = IS_STRING;
+               auth_user->value.str.val = SG(request_info).auth_user;
+               auth_user->value.str.len = strlen(auth_user->value.str.val);
+
+               zend_hash_update(&EG(symbol_table), "PHP_AUTH_USER", sizeof("PHP_AUTH_USER"), &auth_user, sizeof(zval *), NULL);
+       }
+       if (SG(request_info).auth_user) {
+               zval *auth_password;
+
+               MAKE_STD_ZVAL(auth_password);
+               auth_password->type = IS_STRING;
+               auth_password->value.str.val = SG(request_info).auth_password;
+               auth_password->value.str.len = strlen(auth_password->value.str.val);
+
+               zend_hash_update(&EG(symbol_table), "PHP_AUTH_PW", sizeof("PHP_AUTH_PW"), &auth_password, sizeof(zval *), NULL);
+       }
        return SUCCESS;
 }