File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ 24/06/2026:
2+ - Added extra check when accessing FCGI REQUEST_METHOD parameter as mis-configured servers may not send this.
3+ Fixes issue raised in https://github.com/ruven/iipsrv/issues/288
4+
5+
1627/05/2026:
27 - Change metadata write order for JPEG output to better follow most common order in JPEG streams.
38 Addresses part of issues raised in https://github.com/ruven/iipsrv/issues/286.
Original file line number Diff line number Diff line change @@ -750,8 +750,13 @@ int main( int argc, char *argv[] )
750750 header = FCGX_GetParam ( " QUERY_STRING" , request.envp );
751751 request_string = (header!=NULL )? header : " " ;
752752
753- header = FCGX_GetParam ( " REQUEST_METHOD" , request.envp );
754- session.headers [" REQUEST_METHOD" ] = header;
753+ if ( header = FCGX_GetParam ( " REQUEST_METHOD" , request.envp ) ){
754+ session.headers [" REQUEST_METHOD" ] = header;
755+ }
756+ else {
757+ if ( loglevel >=2 ) logfile << " Missing FCGI REQUEST_METHOD header" << endl;
758+ throw ( 400 );
759+ }
755760
756761 // Handle OPTIONS request
757762 if ( session.headers [" REQUEST_METHOD" ] == " OPTIONS" ){
@@ -950,6 +955,16 @@ int main( int argc, char *argv[] )
950955
951956 switch ( code ){
952957
958+ case 400 :
959+ response.setStatus ( " 400 Bad Request" );
960+ header = response.getHeaderResponse ();
961+ writer.putS ( header.c_str () );
962+ writer.flush ();
963+ if ( loglevel >= 2 ){
964+ logfile << " Sending HTTP 400 Bad Request" << endl;
965+ }
966+ break ;
967+
953968 case 405 :
954969 response.setStatus ( " 405 Method Not Allowed" );
955970 header = response.getHeaderResponse ();
You can’t perform that action at this time.
0 commit comments