Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 72896 invoked from network); 31 Dec 2001 19:19:01 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 31 Dec 2001 19:19:01 -0000 Received: (qmail 28302 invoked by uid 97); 31 Dec 2001 19:18:55 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 28255 invoked by uid 97); 31 Dec 2001 19:18:54 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 28244 invoked by uid 97); 31 Dec 2001 19:18:53 -0000 Date: 31 Dec 2001 19:18:48 -0000 Message-ID: <20011231191848.70101.qmail@icarus.apache.org> From: costin@apache.org To: jakarta-tomcat-connectors-cvs@apache.org Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_workerEnv.c X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N costin 01/12/31 11:18:48 Modified: jk/native2/common jk_workerEnv.c Log: Moved some of the code that was duplicated in all server adapters. The initialization of jk is common for all servers, no need to cut&paste it. Revision Changes Path 1.12 +110 -3 jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c Index: jk_workerEnv.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- jk_workerEnv.c 17 Dec 2001 07:17:08 -0000 1.11 +++ jk_workerEnv.c 31 Dec 2001 19:18:48 -0000 1.12 @@ -59,7 +59,7 @@ * Description: Workers controller * * Author: Gal Shachor * * Author: Henri Gomez * - * Version: $Revision: 1.11 $ * + * Version: $Revision: 1.12 $ * ***************************************************************************/ #include "jk_workerEnv.h" @@ -73,13 +73,117 @@ static void jk_workerEnv_close(jk_env_t *env, jk_workerEnv_t *_this); static void jk_workerEnv_initHandlers(jk_env_t *env, jk_workerEnv_t *_this); +static int jk_workerEnv_init1(jk_env_t *env, jk_workerEnv_t *_this); + +static int jk_workerEnv_init(jk_env_t *env, jk_workerEnv_t *workerEnv) +{ + int err; + char *opt; + int options; + + opt=jk_map_getString( env, workerEnv->init_data, "workerFile", NULL ); + if( opt != NULL ) { + struct stat statbuf; + + /* we need an absolut path (ap_server_root_relative does the ap_pstrdup) */ + workerEnv->worker_file = opt; + /* We should make it relative to JK_HOME or absolute path. + ap_server_root_relative(cmd->pool,opt); */ + + if (workerEnv->worker_file == NULL) { + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "JkWorkersFile file_name invalid %s", workerEnv->worker_file); + return JK_FALSE; + } + + if (stat(workerEnv->worker_file, &statbuf) == -1) { + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "Can't find the workers file specified"); + return JK_FALSE; + } + /** Read worker files + */ + env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Reading map %s %d\n", + workerEnv->worker_file, + workerEnv->init_data->size(env, workerEnv->init_data) ); + + err=jk_map_readFileProperties(env, workerEnv->init_data, + workerEnv->worker_file); + if( err==JK_TRUE ) { + env->l->jkLog(env, env->l, JK_LOG_INFO, + "mod_jk.initJk() Reading worker properties %s %d\n", workerEnv->worker_file, + workerEnv->init_data->size( env, workerEnv->init_data ) ); + } else { + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "mod_jk.initJk() Error reading worker properties %s %d\n", + workerEnv->worker_file, + workerEnv->init_data->size( env, workerEnv->init_data ) ); + } + } + + opt=jk_map_getString( env, workerEnv->init_data, "logLevel", "Error" ); + + if(0 == strcasecmp(opt, JK_LOG_INFO_VERB)) { + env->l->level=JK_LOG_INFO_LEVEL; + } + if(0 == strcasecmp(opt, JK_LOG_DEBUG_VERB)) { + env->l->level=JK_LOG_DEBUG_LEVEL; + } + opt=jk_map_getString( env, workerEnv->init_data, "logFile", NULL ); + + env->l->jkLog(env, env->l, JK_LOG_INFO, "mod_jk.init_jk()\n" ); + env->l->open( env, env->l, workerEnv->init_data ); + + opt=jk_map_getString( env, workerEnv->init_data, "sslEnable", NULL ); + workerEnv->ssl_enable = JK_TRUE; + opt=jk_map_getString( env, workerEnv->init_data, "httpsIndicator", NULL ); + workerEnv->https_indicator = opt; + opt=jk_map_getString( env, workerEnv->init_data, "certsIndicator", NULL ); + workerEnv->certs_indicator = opt; + opt=jk_map_getString( env, workerEnv->init_data, "cipherIndicator", NULL ); + workerEnv->cipher_indicator = opt; + opt=jk_map_getString( env, workerEnv->init_data, "sessionIndicator", NULL ); + workerEnv->session_indicator = opt; + opt=jk_map_getString( env, workerEnv->init_data, "keySizeIndicator", NULL ); + workerEnv->key_size_indicator = opt; + + /* Small change in how we treat options: we have a default, + and assume that any option declared by user has the intention + of overriding the default ( "-Option == no option, leave the + default + */ + if ( jk_map_getBool(env, workerEnv->init_data, + "ForwardKeySize", NULL)) { + workerEnv->options |= JK_OPT_FWDKEYSIZE; + } else if(jk_map_getBool(env, workerEnv->init_data, + "ForwardURICompat", NULL)) { + workerEnv->options &= ~JK_OPT_FWDURIMASK; + workerEnv->options |=JK_OPT_FWDURICOMPAT; + } else if(jk_map_getBool(env, workerEnv->init_data, + "ForwardURICompatUnparsed", NULL)) { + workerEnv->options &= ~JK_OPT_FWDURIMASK; + workerEnv->options |=JK_OPT_FWDURICOMPATUNPARSED; + } else if (jk_map_getBool(env, workerEnv->init_data, + "ForwardURIEscaped", NULL)) { + workerEnv->options &= ~JK_OPT_FWDURIMASK; + workerEnv->options |= JK_OPT_FWDURIESCAPED; + } + + /* Init() - post-config initialization ( now all options are set ) */ + jk_workerEnv_init1( env, workerEnv ); + + err=workerEnv->uriMap->init(env, workerEnv->uriMap, + workerEnv, + workerEnv->init_data ); + return JK_TRUE; +} /** * Init the workers, prepare the we. * * Replaces wc_open */ -static int jk_workerEnv_init(jk_env_t *env, jk_workerEnv_t *_this) +static int jk_workerEnv_init1(jk_env_t *env, jk_workerEnv_t *_this) { jk_map_t *init_data=_this->init_data; char **worker_list = NULL; @@ -90,7 +194,7 @@ /* _this->init_data=init_data; */ tmp = jk_map_getString(env, init_data, "worker.list", - DEFAULT_WORKER ); + DEFAULT_WORKER ); worker_list=jk_map_split( env, init_data, init_data->pool, tmp, &_this->num_of_workers ); @@ -397,6 +501,7 @@ type=jk_map_getStrProp( env, init_data,"worker",name,"type",NULL ); /* Each worker has it's own pool */ + if( type == NULL ) type="ajp13"; w=(jk_worker_t *)env->getInstance(env, workerPool, "worker", @@ -536,6 +641,8 @@ _this->processCallbacks=&jk_workerEnv_processCallbacks; _this->rootWebapp=_this->createWebapp( env, _this, NULL, "/", NULL ); + + _this->globalEnv=env; return JK_TRUE; } -- To unsubscribe, e-mail: For additional commands, e-mail: