cvs: php4 /sapi/thttpd thttpd.c
| From: | Sascha Schumann | Date: | Wed, 11 Oct 2000 19:40:56 +0000 |
| Subject: | cvs: php4 /sapi/thttpd thttpd.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-2005@lists.php.net to get a copy of this message | ||
sas Wed Oct 11 12:40:56 2000 EDT
Modified files:
/php4/sapi/thttpd thttpd.c
Log:
Provide basic auth info to scripts.
Protect shutdown handler from being called multiple times.
Index: php4/sapi/thttpd/thttpd.c
diff -u php4/sapi/thttpd/thttpd.c:1.23 php4/sapi/thttpd/thttpd.c:1.24
--- php4/sapi/thttpd/thttpd.c:1.23 Fri Sep 8 07:43:57 2000
+++ php4/sapi/thttpd/thttpd.c Wed Oct 11 12:40:56 2000
@@ -241,6 +241,23 @@
SG(request_info).auth_user = NULL;
SG(request_info).auth_password = NULL;
+ if (TG(hc)->authorization[0] != '\0'
+ && strncmp(TG(hc)->authorization, "Basic ", 6) == 0) {
+ char *pass;
+ char *user;
+
+ user = php_base64_decode(TG(hc)->authorization + 6, strlen(TG(hc)->authorization) - 6,
NULL);
+ if (user) {
+ pass = strchr(user, ':');
+ if (pass) {
+ *pass++ = '\0';
+ SG(request_info).auth_user = user;
+ SG(request_info).auth_password = estrdup(pass);
+ } else
+ efree(user);
+ }
+ }
+
TG(post_off) = TG(hc)->read_idx - TG(hc)->checked_idx;
/* avoid feeding \r\n from POST data to SAPI */
@@ -283,6 +300,8 @@
void thttpd_php_shutdown(void)
{
- sapi_module.shutdown(&sapi_module);
- sapi_shutdown();
+ if (SG(server_context) != NULL) {
+ sapi_module.shutdown(&sapi_module);
+ sapi_shutdown();
+ }
}