@@ -372,7 +372,13 @@ static void append_essential_headers(smart_str* buffer, php_cli_server_client *c
372
372
373
373
static const char * get_mime_type (const php_cli_server * server , const char * ext , size_t ext_len ) /* {{{ */
374
374
{
375
- return (const char * )zend_hash_str_find_ptr (& server -> extension_mime_types , ext , ext_len );
375
+ char * ret ;
376
+ ALLOCA_FLAG (use_heap )
377
+ char * ext_lower = do_alloca (ext_len + 1 , use_heap );
378
+ zend_str_tolower_copy (ext_lower , ext , ext_len );
379
+ ret = zend_hash_str_find_ptr (& server -> extension_mime_types , ext_lower , ext_len );
380
+ free_alloca (ext_lower , use_heap );
381
+ return (const char * )ret ;
376
382
} /* }}} */
377
383
378
384
PHP_FUNCTION (apache_request_headers ) /* {{{ */
@@ -2216,9 +2222,12 @@ static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server
2216
2222
static int php_cli_server_dispatch (php_cli_server * server , php_cli_server_client * client ) /* {{{ */
2217
2223
{
2218
2224
int is_static_file = 0 ;
2225
+ const char * ext = client -> request .ext ;
2219
2226
2220
2227
SG (server_context ) = client ;
2221
- if (client -> request .ext_len != 3 || memcmp (client -> request .ext , "php" , 3 ) || !client -> request .path_translated ) {
2228
+ if (client -> request .ext_len != 3
2229
+ || (ext [0 ] != 'p' && ext [0 ] != 'P' ) || (ext [1 ] != 'h' && ext [1 ] != 'H' ) || (ext [2 ] != 'p' && ext [2 ] != 'P' )
2230
+ || !client -> request .path_translated ) {
2222
2231
is_static_file = 1 ;
2223
2232
}
2224
2233
0 commit comments