⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jk_ajp14.h

📁 jboss与apache集成的中间件,详情请参看文档说明.
💻 H
字号:
/* *  Copyright 1999-2004 The Apache Software Foundation * *  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. *//*************************************************************************** * Description: Next generation bi-directional protocol handler.           * * Author:      Henri Gomez <hgomez@apache.org>                            * * Version:     $Revision: 1.16 $                                           * ***************************************************************************/#ifndef JK_AJP14_H#define JK_AJP14_H#include "jk_ajp_common.h"#include "jk_context.h"#ifdef __cplusplusextern "C"{#endif                          /* __cplusplus */#define AJP14_PROTO                 14#define AJP14_WS_HEADER             0x1235#define AJP14_SW_HEADER             0x1235      /* AJP14 use now the same header in both directions */#define AJP14_DEF_HOST              ("localhost")#define AJP14_DEF_PORT              (8011)#define AJP14_READ_BUF_SIZE         (8*1024)#define AJP14_DEF_RETRY_ATTEMPTS    (1)#define AJP14_DEF_CACHE_SZ          (1)#define AJP14_MAX_SEND_BODY_SZ      (DEF_BUFFER_SZ - 6)#define AJP14_HEADER_LEN            (4)#define AJP14_HEADER_SZ_LEN         (2)/* * Initial Login Phase (web server -> servlet engine) */#define AJP14_LOGINIT_CMD           (unsigned char)0x10/* * Second Login Phase (servlet engine -> web server), md5 seed is received */#define AJP14_LOGSEED_CMD           (unsigned char)0x11/* * Third Login Phase (web server -> servlet engine), md5 of seed + secret is sent */#define AJP14_LOGCOMP_CMD           (unsigned char)0x12/* * Login Accepted (servlet engine -> web server) */#define AJP14_LOGOK_CMD             (unsigned char)0x13/* * Login Rejected (servlet engine -> web server), will be logged */#define AJP14_LOGNOK_CMD            (unsigned char)0x14/* * Context Query (web server -> servlet engine), which URI are handled by servlet engine ? */#define AJP14_CONTEXT_QRY_CMD       (unsigned char)0x15/* * Context Info (servlet engine -> web server), URI handled response */#define AJP14_CONTEXT_INFO_CMD      (unsigned char)0x16/*  * Context Update (servlet engine -> web server), status of context changed */#define AJP14_CONTEXT_UPDATE_CMD    (unsigned char)0x17/* * Servlet Engine Status (web server -> servlet engine), what's the status of the servlet engine ? */#define AJP14_STATUS_CMD            (unsigned char)0x18/* * Secure Shutdown command (web server -> servlet engine), please servlet stop yourself. */#define AJP14_SHUTDOWN_CMD          (unsigned char)0x19/* * Secure Shutdown command Accepted (servlet engine -> web server) */#define AJP14_SHUTOK_CMD            (unsigned char)0x1A/* * Secure Shutdown Rejected (servlet engine -> web server) */#define AJP14_SHUTNOK_CMD           (unsigned char)0x1B/* * Context Status (web server -> servlet engine), what's the status of the context ? */#define AJP14_CONTEXT_STATE_CMD     (unsigned char)0x1C/* * Context Status Reply (servlet engine -> web server), status of context */#define AJP14_CONTEXT_STATE_REP_CMD (unsigned char)0x1D/* * Unknown Packet Reply (web server <-> servlet engine), when a packet couldn't be decoded */#define AJP14_UNKNOW_PACKET_CMD     (unsigned char)0x1E/* * Negociation flags  *//* * web-server want context info after login */#define AJP14_CONTEXT_INFO_NEG      0x80000000/* * web-server want context updates */#define AJP14_CONTEXT_UPDATE_NEG    0x40000000/* * web-server want compressed stream  */#define AJP14_GZIP_STREAM_NEG       0x20000000/* * web-server want crypted DES56 stream with secret key */#define AJP14_DES56_STREAM_NEG      0x10000000/* * Extended info on server SSL vars */#define AJP14_SSL_VSERVER_NEG       0x08000000/* *Extended info on client SSL vars */#define AJP14_SSL_VCLIENT_NEG       0x04000000/* * Extended info on crypto SSL vars */#define AJP14_SSL_VCRYPTO_NEG       0x02000000/* * Extended info on misc SSL vars */#define AJP14_SSL_VMISC_NEG         0x01000000/* * mask of protocol supported  */#define AJP14_PROTO_SUPPORT_AJPXX_NEG   0x00FF0000/*  * communication could use AJP14  */#define AJP14_PROTO_SUPPORT_AJP14_NEG   0x00010000/* * communication could use AJP15  */#define AJP14_PROTO_SUPPORT_AJP15_NEG   0x00020000/* * communication could use AJP16 */#define AJP14_PROTO_SUPPORT_AJP16_NEG   0x00040000/* * Some failure codes */#define AJP14_BAD_KEY_ERR               0xFFFFFFFF#define AJP14_ENGINE_DOWN_ERR           0xFFFFFFFE#define AJP14_RETRY_LATER_ERR           0xFFFFFFFD#define AJP14_SHUT_AUTHOR_FAILED_ERR    0xFFFFFFFC/* * Some status codes */#define AJP14_CONTEXT_DOWN       0x01#define AJP14_CONTEXT_UP         0x02#define AJP14_CONTEXT_OK         0x03/*  * Misc defines */#define AJP14_ENTROPY_SEED_LEN      32      /* we're using MD5 => 32 chars */#define AJP14_COMPUTED_KEY_LEN      32      /* we're using MD5 also *//* * The login structure */typedef struct jk_login_service jk_login_service_t;struct jk_login_service{    /*     *  Pointer to web-server name     */    const char *web_server_name;    /*     * Pointer to servlet-engine name     */    char *servlet_engine_name;    /*     * Pointer to secret key     */    const char *secret_key;    /*     * Received entropy seed     */    char entropy[AJP14_ENTROPY_SEED_LEN + 1];    /*     * Computed key     */    char computed_key[AJP14_COMPUTED_KEY_LEN + 1];    /*     *  What we want to negociate     */    unsigned long negociation;    /*     * What we received from servlet engine      */    unsigned long negociated;};/* * functions defined here  */void ajp14_compute_md5(jk_login_service_t *s, jk_logger_t *l);int ajp14_marshal_login_init_into_msgb(jk_msg_buf_t *msg,                                       jk_login_service_t *s,                                       jk_logger_t *l);int ajp14_unmarshal_login_seed(jk_msg_buf_t *msg,                               jk_login_service_t *s, jk_logger_t *l);int ajp14_marshal_login_comp_into_msgb(jk_msg_buf_t *msg,                                       jk_login_service_t *s,                                       jk_logger_t *l);int ajp14_unmarshal_log_ok(jk_msg_buf_t *msg,                           jk_login_service_t *s, jk_logger_t *l);int ajp14_unmarshal_log_nok(jk_msg_buf_t *msg, jk_logger_t *l);int ajp14_marshal_shutdown_into_msgb(jk_msg_buf_t *msg,                                     jk_login_service_t *s,                                     jk_logger_t *l);int ajp14_unmarshal_shutdown_nok(jk_msg_buf_t *msg, jk_logger_t *l);int ajp14_marshal_unknown_packet_into_msgb(jk_msg_buf_t *msg,                                           jk_msg_buf_t *unk,                                           jk_logger_t *l);int ajp14_marshal_context_query_into_msgb(jk_msg_buf_t *msg,                                          char *virtual, jk_logger_t *l);int ajp14_unmarshal_context_info(jk_msg_buf_t *msg,                                 jk_context_t *context, jk_logger_t *l);int ajp14_marshal_context_state_into_msgb(jk_msg_buf_t *msg,                                          jk_context_t *context,                                          char *cname, jk_logger_t *l);int ajp14_unmarshal_context_state_reply(jk_msg_buf_t *msg,                                        jk_context_t *context,                                        jk_logger_t *l);int ajp14_unmarshal_context_update_cmd(jk_msg_buf_t *msg,                                       jk_context_t *context,                                       jk_logger_t *l);#ifdef __cplusplus}#endif                          /* __cplusplus */#endif                          /* JK_AJP14_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -