From 99a8b98d409b3716a7242a8f66ccbe0c3a627968 Mon Sep 17 00:00:00 2001 From: marco Date: Sat, 18 Oct 2008 17:53:42 +0000 Subject: [PATCH] * fixes from Attila Borka, mantis 12374, updating to 2.2.9 + demo update git-svn-id: trunk@11926 - --- packages/httpd22/examples/mod_hello.pp | 7 +-- packages/httpd22/src/ap_mmn.inc | 22 +++++++++- packages/httpd22/src/http_protocol.inc | 8 ++++ packages/httpd22/src/httpd.inc | 59 ++++++++++++++++++-------- 4 files changed, 70 insertions(+), 26 deletions(-) diff --git a/packages/httpd22/examples/mod_hello.pp b/packages/httpd22/examples/mod_hello.pp index e7c933ff13..8d22373934 100644 --- a/packages/httpd22/examples/mod_hello.pp +++ b/packages/httpd22/examples/mod_hello.pp @@ -26,13 +26,8 @@ var const MODULE_NAME = 'mod_hello.so'; -{******************************************************************* -* Free Pascal only supports exporting variables on Windows -*******************************************************************} -{$ifdef WINDOWS} exports - test_module name 'test_module'; -{$endif} + test_module name 'hello_module'; {******************************************************************* * Handles apache requests diff --git a/packages/httpd22/src/ap_mmn.inc b/packages/httpd22/src/ap_mmn.inc index b456f768c5..75dd6481df 100644 --- a/packages/httpd22/src/ap_mmn.inc +++ b/packages/httpd22/src/ap_mmn.inc @@ -103,14 +103,32 @@ * proxy_server (minor) * 20051115.2 (2.2.2) added inreslist member to proxy_conn_rec (minor) * 20051115.3 (2.2.3) Added server_scheme member to server_rec (minor) + * 20051115.4 (2.2.4) Added ap_get_server_banner() and + * ap_get_server_description() (minor) + * 20051115.5 (2.2.5) Added ap_mpm_safe_kill() (minor) + * 20051115.6 (2.2.7) Added retry_set to proxy_worker (minor) + * 20051115.7 (2.2.7) Added conn_rec::clogging_input_filters (minor) + * 20051115.8 (2.2.7) Added flags to proxy_alias (minor) + * 20051115.9 (2.2.7) Add ap_send_interim_response API + * 20051115.10(2.2.7) Added ap_mod_status_reqtail (minor) + * 20051115.11(2.2.7) Add *ftp_directory_charset to proxy_dir_conf + * 20051115.12(2.2.8) Add optional function ap_logio_add_bytes_in() to mog_logio + * 20051115.13(2.2.9) Add disablereuse and disablereuse_set + * to proxy_worker struct (minor) + * 20051115.14(2.2.9) Add ap_proxy_ssl_connection_cleanup and + * add *scpool, *r and need_flush to proxy_conn_rec + * structure + * 20051115.15(2.2.9) Add interpolate_env to proxy_dir_conf and + * introduce proxy_req_conf. + * } const MODULE_MAGIC_COOKIE = $41503232; { "AP22" } - MODULE_MAGIC_NUMBER_MAJOR = 20051115; { For 2.2.3 } + MODULE_MAGIC_NUMBER_MAJOR = 20051115; { For 2.2.x } - MODULE_MAGIC_NUMBER_MINOR = 3; // 0...n + MODULE_MAGIC_NUMBER_MINOR = 15;{2.2.9} // 0...n { * Determine if the server's current MODULE_MAGIC_NUMBER is at least a diff --git a/packages/httpd22/src/http_protocol.inc b/packages/httpd22/src/http_protocol.inc index 8ab5a5f3c7..d8a6a08879 100644 --- a/packages/httpd22/src/http_protocol.inc +++ b/packages/httpd22/src/http_protocol.inc @@ -822,3 +822,11 @@ procedure ap_finalize_sub_req_protocol(sub_r: Prequest_rec); {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external LibHTTPD name LibNamePrefix + 'ap_finalize_sub_req_protocol' + LibSuff4; +{** + * Send an interim (HTTP 1xx) response immediately. + * @param r The request + * @param send_headers Whether to send&clear headers in r->headers_out + *}//added in Apache 2.2.7 +procedure ap_send_interim_response(r: Prequest_rec; send_headers: Integer); + {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} + external LibHTTPD name LibNamePrefix + 'ap_send_interim_response' + LibSuff8; diff --git a/packages/httpd22/src/httpd.inc b/packages/httpd22/src/httpd.inc index 53db814dcd..a82629fe89 100644 --- a/packages/httpd22/src/httpd.inc +++ b/packages/httpd22/src/httpd.inc @@ -325,14 +325,36 @@ procedure ap_get_server_revision(version: Pap_version_t); {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external LibHTTPD name LibNamePrefix + 'ap_get_server_revision' + LibSuff4; -{ - * Get the server version string +{** + * Get the server version string, as controlled by the ServerTokens directive * @return The server version string - } + * @deprecated @see ap_get_server_banner() and ap_get_server_description() + *} function ap_get_server_version: PChar; {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external LibHTTPD name LibNamePrefix + 'ap_get_server_version' + LibSuff0; +{** + * Get the server banner in a form suitable for sending over the + * network, with the level of information controlled by the + * ServerTokens directive. + * @return The server banner + *}//added in Apache 2.2.4 +function ap_get_server_banner: PChar; + {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} + external LibHTTPD name LibNamePrefix + 'ap_get_server_banner' + LibSuff0; + +{** + * Get the server description in a form suitable for local displays, + * status reports, or logging. This includes the detailed server + * version and information about some modules. It is not affected + * by the ServerTokens directive. + * @return The server description + *}//added in Apache 2.2.4 +function ap_get_server_description: PChar; + {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} + external LibHTTPD name LibNamePrefix + 'ap_get_server_description' + LibSuff0; + { * Add a component to the version string * @param pconf The pool to allocate the component from @@ -894,22 +916,19 @@ type * get_remote_logname() } remote_logname: PChar; - { Are we still talking? } - flags: Cardinal; + {** Are we still talking? *} + //unsigned aborted:1; + flags1: Cardinal; - (* Useless bitset variables to make the code obscure + {** Are we going to keep the connection alive for another request? + * @see ap_conn_keepalive_e *} + //ap_conn_keepalive_e keepalive; + keepalive: ap_conn_keepalive_e; - Are we still talking? - unsigned aborted:1; - - Are we going to keep the connection alive for another request? - * @see ap_conn_keepalive_e - signed int keepalive:2; - - have we done double-reverse DNS? -1 yes/failure, 0 not yet, - * 1 yes/success - signed int double_reverse:2; - *) + {** have we done double-reverse DNS? -1 yes/failure, 0 not yet, + * 1 yes/success *} + //signed int double_reverse:2; + flags2: Cardinal; { How many times have we used it? } keepalives: Integer; @@ -939,6 +958,10 @@ type cs: Pconn_state_t; { Is there data pending in the input filters? } data_in_input_filters: cint; + {** Are there any filters that clogg/buffer the input stream, breaking + * the event mpm. + *}//added in Apache 2.2.7 + clogging_input_filters: cint; end; { @@ -1000,7 +1023,7 @@ type { The name of the server } defn_name: PChar; { The line of the config file that the server was defined on } - defn_line_number: Integer; + defn_line_number: Cardinal; { Contact information }