@@ -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 ) /* {{{ */
@@ -2222,9 +2228,12 @@ static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server
2222
2228
static int php_cli_server_dispatch (php_cli_server * server , php_cli_server_client * client ) /* {{{ */
2223
2229
{
2224
2230
int is_static_file = 0 ;
2231
+ const char * ext = client -> request .ext ;
2225
2232
2226
2233
SG (server_context ) = client ;
2227
- if (client -> request .ext_len != 3 || memcmp (client -> request .ext , "php" , 3 ) || !client -> request .path_translated ) {
2234
+ if (client -> request .ext_len != 3
2235
+ || (ext [0 ] != 'p' && ext [0 ] != 'P' ) || (ext [1 ] != 'h' && ext [1 ] != 'H' ) || (ext [2 ] != 'p' && ext [2 ] != 'P' )
2236
+ || !client -> request .path_translated ) {
2228
2237
is_static_file = 1 ;
2229
2238
}
2230
2239
0 commit comments