cvs: /php4/sapi/aolserver aolserver.c

From: Date: Mon, 22 Nov 1999 00:42:36 +0000
Subject: cvs: /php4/sapi/aolserver aolserver.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-6636@lists.php.net to get a copy of this message
sas Sun Nov 21 19:42:36 1999 EDT Modified files: /php4/sapi/aolserver aolserver.c Log: (PHP getallheaders) added function for AOLserver (php_ns_hash_environment) added REMOTE_PORT, SERVER_PORT, SERVER_NAME, PATH_TRANSLATED, GATEWAY_INTERFACE variables Index: php4/sapi/aolserver/aolserver.c diff -u php4/sapi/aolserver/aolserver.c:1.12 php4/sapi/aolserver/aolserver.c:1.13 --- php4/sapi/aolserver/aolserver.c:1.12 Sun Nov 7 08:16:14 1999 +++ php4/sapi/aolserver/aolserver.c Sun Nov 21 19:42:06 1999 @@ -22,7 +22,7 @@ * - CGI/1.1 conformance */ -/* $Id: aolserver.c,v 1.12 1999/11/07 13:16:14 sas Exp $ */ +/* $Id: aolserver.c,v 1.13 1999/11/22 00:42:06 sas Exp $ */ /* conflict between PHP and AOLserver */ #define Debug php_Debug @@ -35,6 +35,8 @@ #error AOLserver module only useable in thread-safe mode #endif +#define NS_BUF_SIZE 511 + #include "php_ini.h" #include "php_globals.h" #include "SAPI.h" @@ -192,7 +194,7 @@ int uptime = Ns_InfoUptime(); PUTS("<table border=5 width=600>\n"); - php_info_print_table_row(2, "SAPI module version", "$Id: aolserver.c,v 1.12 1999/11/07 13:16:14 sas Exp $"); + php_info_print_table_row(2, "SAPI module version", "$Id: aolserver.c,v 1.13 1999/11/22 00:42:06 sas Exp $"); php_info_print_table_row(2, "Build date", Ns_InfoBuildDate()); php_info_print_table_row(2, "Config file path", Ns_InfoConfigFile()); php_info_print_table_row(2, "Error Log path", Ns_InfoErrorLog()); @@ -211,9 +213,16 @@ PUTS("</table>"); } +PHP_FUNCTION(getallheaders); + +static function_entry aolserver_functions[] = { + PHP_FE(getallheaders, NULL) + {0} +}; + static zend_module_entry php_aolserver_module = { "AOLserver", - NULL, + aolserver_functions, NULL, NULL, NULL, @@ -222,6 +231,23 @@ STANDARD_MODULE_PROPERTIES }; +PHP_FUNCTION(getallheaders) +{ + int i; + NSLS_FETCH(); + + if (array_init(return_value) == FAILURE) { + RETURN_FALSE; + } + + for (i = 0; i < Ns_SetSize(NSG(conn->headers)); i++) { + char *key = Ns_SetKey(NSG(conn->headers), i); + char *value = Ns_SetValue(NSG(conn->headers), i); + + add_assoc_string(return_value, key, value, 1); + } +} + static int php_ns_startup(sapi_module_struct *sapi_module) { @@ -272,7 +298,7 @@ php_ns_hash_environment(NSLS_D CLS_DC ELS_DC PLS_DC SLS_DC) { int i; - char buf[512]; + char buf[NS_BUF_SIZE + 1]; zval *pval; for(i = 0; i < Ns_SetSize(NSG(conn->headers)); i++) { @@ -282,7 +308,7 @@ char c; int buf_len; - buf_len = snprintf(buf, 511, "HTTP_%s", key); + buf_len = snprintf(buf, NS_BUF_SIZE, "HTTP_%s", key); for(p = buf; (c = *p); p++) { c = toupper(c); if(c < 'A' || c > 'Z') { @@ -299,29 +325,41 @@ zend_hash_update(&EG(symbol_table), buf, buf_len + 1, &pval, sizeof(zval *), NULL); } - snprintf(buf, 511, "%s/%s", Ns_InfoServerName(), Ns_InfoServerVersion()); + snprintf(buf, NS_BUF_SIZE, "%s/%s", Ns_InfoServerName(), Ns_InfoServerVersion()); ADD_STRING("SERVER_SOFTWARE"); - snprintf(buf, 511, "HTTP/%1.1f", NSG(conn)->request->version); + snprintf(buf, NS_BUF_SIZE, "HTTP/%1.1f", NSG(conn)->request->version); ADD_STRING("SERVER_PROTOCOL"); - strncpy(buf, NSG(conn)->request->method, 511); + strncpy(buf, NSG(conn)->request->method, NS_BUF_SIZE); ADD_STRING("REQUEST_METHOD"); if(NSG(conn)->request->query) { - strncpy(buf, NSG(conn)->request->query, 511); + strncpy(buf, NSG(conn)->request->query, NS_BUF_SIZE); } else { buf[0] = '\0'; } ADD_STRING("QUERY_STRING"); - strncpy(buf, Ns_InfoBuildDate(), 511); + strncpy(buf, Ns_InfoBuildDate(), NS_BUF_SIZE); ADD_STRING("SERVER_BUILDDATE"); - strncpy(buf, Ns_ConnPeer(NSG(conn)), 511); + strncpy(buf, Ns_ConnPeer(NSG(conn)), NS_BUF_SIZE); ADD_STRING("REMOTE_ADDR"); + + snprintf(buf, NS_BUF_SIZE, "%d", Ns_ConnPeerPort(NSG(conn))); + ADD_STRING("REMOTE_PORT"); + + snprintf(buf, NS_BUF_SIZE, "%d", Ns_ConnPort(NSG(conn))); + ADD_STRING("SERVER_PORT"); - strncpy(buf, SG(request_info).path_translated, 511); + strncpy(buf, Ns_ConnHost(NSG(conn)), NS_BUF_SIZE); + ADD_STRING("SERVER_NAME"); + + strncpy(buf, SG(request_info).path_translated, NS_BUF_SIZE); ADD_STRING("PATH_TRANSLATED"); + + strncpy(buf, "CGI/1.1", NS_BUF_SIZE); + ADD_STRING("GATEWAY_INTERFACE"); MAKE_STD_ZVAL(pval); pval->type = IS_LONG;

« previous php.version4 (#6636) next »