Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge the fcgi-proxy-dev branch to trunk, adding a FastCGI back end for
mod_proxy. This log message is just a summary of the changes, for the full original log messages see r357431:393955 in branches/fcgi-proxy-dev. * modules/proxy/mod_proxy_fcgi.c: New file, holds the impementation of our new fcgi backend for mod_proxy. * modules/proxy/fcgi_protocol.h: New file, holds constants and structures for the fcgi protocol. * modules/proxy/mod_proxy_balancer.c (proxy_balancer_canon): Set up r->path_info, so the PATH_INFO env variable is correctly passed on to balancer workers. * modules/proxy/config.m4: Build the new mod_proxy_fcgi module. * support: Add fcgistarter to svn:ignore. * support/Makefile.in: Build the new fcgistarter program. * support/fcgistarter.c: New program, a helper for starting fcgi worker processes. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@396063 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
Garrett Rooney
committed
Apr 22, 2006
1 parent
32a128c
commit ca55328
Showing
6 changed files
with
1,322 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
/* Copyright 2005 The Apache Software Foundation or its licensors, as | ||
* applicable. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/** | ||
* @file fcgi_protocol.h | ||
* @brief FastCGI protocol defines | ||
* | ||
* @addtogroup FCGI_defines | ||
* @{ | ||
*/ | ||
|
||
#ifndef FCGI_PROTOCOL_H | ||
#define FCGI_PROTOCOL_H | ||
|
||
|
||
#define FCGI_VERSION 1 | ||
|
||
#define FCGI_BEGIN_REQUEST 1 | ||
#define FCGI_ABORT_REQUEST 2 | ||
#define FCGI_END_REQUEST 3 | ||
#define FCGI_PARAMS 4 | ||
#define FCGI_STDIN 5 | ||
#define FCGI_STDOUT 6 | ||
#define FCGI_STDERR 7 | ||
#define FCGI_DATA 8 | ||
#define FCGI_GET_VALUES 9 | ||
#define FCGI_GET_VALUES_RESULT 10 | ||
#define FCGI_UNKNOWN_TYPE 11 | ||
#define FCGI_MAXTYPE (FCGI_UNKNOWN_TYPE) | ||
|
||
typedef struct { | ||
unsigned char version; | ||
unsigned char type; | ||
unsigned char requestIdB1; | ||
unsigned char requestIdB0; | ||
unsigned char contentLengthB1; | ||
unsigned char contentLengthB0; | ||
unsigned char paddingLength; | ||
unsigned char reserved; | ||
} fcgi_header; | ||
|
||
#define FCGI_HDR_VERSION_OFFSET 0 | ||
#define FCGI_HDR_TYPE_OFFSET 1 | ||
#define FCGI_HDR_REQUEST_ID_B1_OFFSET 2 | ||
#define FCGI_HDR_REQUEST_ID_B0_OFFSET 3 | ||
#define FCGI_HDR_CONTENT_LEN_B1_OFFSET 4 | ||
#define FCGI_HDR_CONTENT_LEN_B0_OFFSET 5 | ||
#define FCGI_HDR_PADDING_LEN_OFFSET 6 | ||
#define FCGI_HDR_RESERVED_OFFSET 7 | ||
|
||
#define FCGI_BRB_ROLEB1_OFFSET 0 | ||
#define FCGI_BRB_ROLEB0_OFFSET 1 | ||
#define FCGI_BRB_FLAGS_OFFSET 2 | ||
#define FCGI_BRB_RESERVED0_OFFSET 3 | ||
#define FCGI_BRB_RESERVED1_OFFSET 4 | ||
#define FCGI_BRB_RESERVED2_OFFSET 5 | ||
#define FCGI_BRB_RESERVED3_OFFSET 6 | ||
#define FCGI_BRB_RESERVED4_OFFSET 7 | ||
|
||
/* | ||
* Number of bytes in a fcgi_header. Future versions of the protocol | ||
* will not reduce this number. | ||
*/ | ||
#define FCGI_HEADER_LEN 8 | ||
|
||
/* | ||
* Mask for flags component of FCGI_BeginRequestBody | ||
*/ | ||
#define FCGI_KEEP_CONN 1 | ||
|
||
/* | ||
* Values for role component of FCGI_BeginRequestBody | ||
*/ | ||
#define FCGI_RESPONDER 1 | ||
#define FCGI_AUTHORIZER 2 | ||
#define FCGI_FILTER 3 | ||
|
||
typedef struct { | ||
unsigned char roleB1; | ||
unsigned char roleB0; | ||
unsigned char flags; | ||
unsigned char reserved[5]; | ||
} fcgi_begin_request_body; | ||
|
||
/* | ||
* Maximum size of the allowed environment. | ||
*/ | ||
#define FCGI_MAX_ENV_SIZE 65535 | ||
|
||
/* #define FCGI_DUMP_ENV_VARS */ | ||
|
||
|
||
#endif /* FCGI_PROTOCOL_H */ | ||
/** @} */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.