diff options
author | hongbotian <hongbo.tianhongbo@huawei.com> | 2015-11-30 03:10:21 -0500 |
---|---|---|
committer | hongbotian <hongbo.tianhongbo@huawei.com> | 2015-11-30 03:10:21 -0500 |
commit | c0b7206652b2852bc574694e7ba07ba1c2acdc00 (patch) | |
tree | 5cb95cb0e19e03610525903df46279df2c3b7eb1 /rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c | |
parent | b6d3d6e668b793220f2d3af1bc3e828553dc3fe6 (diff) |
delete app
Change-Id: Id4c572809969ebe89e946e88063eaed262cff3f2
Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c')
-rw-r--r-- | rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c | 495 |
1 files changed, 0 insertions, 495 deletions
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c b/rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c deleted file mode 100644 index 9a40c95f..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/native/jni/jk_jnicb.c +++ /dev/null @@ -1,495 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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: JNI callbacks implementation for the JNI in process adapter* - * Author: Gal Shachor <shachor@il.ibm.com> * - * Version: $Revision: 466585 $ * - ***************************************************************************/ - -#include "jk_jnicb.h" -#include "jk_service.h" -#include "jk_util.h" -#include "jk_pool.h" - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: getNumberOfHeaders - * Signature: (JJ)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_getNumberOfHeaders - (JNIEnv * env, jobject o, jlong s, jlong l) -{ - /* [V] Convert indirectly from jlong -> int -> pointer to shut up gcc */ - /* I hope it's okay on other compilers and/or machines... */ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - - jk_log(pl, JK_LOG_DEBUG, - "Into JNIConnectionHandler::getNumberOfHeaders\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::getNumberOfHeaders, NULL ws service object\n"); - /* [V] JNIConnectionHandler doesn't handle this */ - return -1; - } - - jk_log(pl, JK_LOG_DEBUG, - "Done JNIConnectionHandler::getNumberOfHeaders, found %d headers\n", - ps->num_headers); - return (jint) ps->num_headers; -} - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: read - * Signature: (JJ[BII)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_read - (JNIEnv * env, jobject o, jlong s, jlong l, jbyteArray buf, jint from, - jint cnt) -{ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - jint rc = -1; - jboolean iscommit; - jbyte *nbuf; - unsigned nfrom = (unsigned)from; - unsigned ncnt = (unsigned)cnt; - unsigned acc = 0; - - jk_log(pl, JK_LOG_DEBUG, "Into JNIConnectionHandler::read\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::read, NULL ws service object\n"); - return -1; - } - - nbuf = (*env)->GetByteArrayElements(env, buf, &iscommit); - - if (!nbuf) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::read, GetByteArrayElements error\n"); - return -1; - } - - if (!ps->read(ps, nbuf + nfrom, ncnt, &acc)) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::read, failed to read from web server\n"); - } - else { - rc = (jint) acc; - } - - (*env)->ReleaseByteArrayElements(env, buf, nbuf, 0); - - jk_log(pl, JK_LOG_DEBUG, "Done JNIConnectionHandler::read\n"); - return rc; -} - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: readEnvironment - * Signature: (JJ[Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_readEnvironment - (JNIEnv * env, jobject o, jlong s, jlong l, jobjectArray envbuf) -{ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - char port[10]; - - jk_log(pl, JK_LOG_DEBUG, - "Into JNIConnectionHandler::readEnvironment. Environment follows --->\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::readEnvironment, NULL ws service object\n"); - return JK_FALSE; - } - - sprintf(port, "%d", ps->server_port); - - if (ps->method) { - (*env)->SetObjectArrayElement(env, - envbuf, - 0, - (*env)->NewStringUTF(env, ps->method)); - jk_log(pl, JK_LOG_DEBUG, "---> method: %s\n", ps->method); - } - if (ps->req_uri) { - (*env)->SetObjectArrayElement(env, - envbuf, - 1, - (*env)->NewStringUTF(env, ps->req_uri)); - jk_log(pl, JK_LOG_DEBUG, "---> req_uri: %s\n", ps->req_uri); - } - if (ps->query_string) { - (*env)->SetObjectArrayElement(env, - envbuf, - 2, - (*env)->NewStringUTF(env, - ps->query_string)); - jk_log(pl, JK_LOG_DEBUG, "---> query_string: %s\n", ps->query_string); - } - if (ps->remote_addr) { - (*env)->SetObjectArrayElement(env, - envbuf, - 3, - (*env)->NewStringUTF(env, - ps->remote_addr)); - jk_log(pl, JK_LOG_DEBUG, "---> remote_addr: %s\n", ps->remote_addr); - } - if (ps->remote_host) { - (*env)->SetObjectArrayElement(env, - envbuf, - 4, - (*env)->NewStringUTF(env, - ps->remote_host)); - jk_log(pl, JK_LOG_DEBUG, "---> remote_host: %s\n", ps->remote_host); - } - if (ps->server_name) { - (*env)->SetObjectArrayElement(env, - envbuf, - 5, - (*env)->NewStringUTF(env, - ps->server_name)); - jk_log(pl, JK_LOG_DEBUG, "---> server_name: %s\n", ps->server_name); - } - - (*env)->SetObjectArrayElement(env, - envbuf, 6, (*env)->NewStringUTF(env, port)); - jk_log(pl, JK_LOG_DEBUG, "---> server_port: %s\n", port); - - if (ps->auth_type) { - (*env)->SetObjectArrayElement(env, - envbuf, - 7, - (*env)->NewStringUTF(env, - ps->auth_type)); - jk_log(pl, JK_LOG_DEBUG, "---> auth_type: %s\n", ps->auth_type); - } - if (ps->remote_user) { - (*env)->SetObjectArrayElement(env, - envbuf, - 8, - (*env)->NewStringUTF(env, - ps->remote_user)); - jk_log(pl, JK_LOG_DEBUG, "---> remote_user: %s\n", ps->remote_user); - } - if (ps->is_ssl) { - (*env)->SetObjectArrayElement(env, - envbuf, - 9, (*env)->NewStringUTF(env, "https")); - } - else { - (*env)->SetObjectArrayElement(env, - envbuf, - 9, (*env)->NewStringUTF(env, "http")); - } - jk_log(pl, JK_LOG_DEBUG, "---> is_ssl: %s\n", ps->is_ssl ? "yes" : "no"); - - if (ps->protocol) { - (*env)->SetObjectArrayElement(env, - envbuf, - 10, - (*env)->NewStringUTF(env, - ps->protocol)); - jk_log(pl, JK_LOG_DEBUG, "---> protocol: %s\n", ps->protocol); - } - if (ps->server_software) { - (*env)->SetObjectArrayElement(env, - envbuf, - 11, - (*env)->NewStringUTF(env, - ps-> - server_software)); - jk_log(pl, JK_LOG_DEBUG, "---> server_software: %s\n", - ps->server_software); - } - if (ps->is_ssl) { - if (ps->ssl_cert) { - (*env)->SetObjectArrayElement(env, - envbuf, - 12, - (*env)->NewStringUTF(env, - ps->ssl_cert)); - jk_log(pl, JK_LOG_DEBUG, "---> ssl_cert: %s\n", ps->ssl_cert); - } - - if (ps->ssl_cipher) { - (*env)->SetObjectArrayElement(env, - envbuf, - 13, - (*env)->NewStringUTF(env, - ps-> - ssl_cipher)); - jk_log(pl, JK_LOG_DEBUG, "---> ssl_cipher: %s\n", ps->ssl_cipher); - } - - if (ps->ssl_session) { - (*env)->SetObjectArrayElement(env, - envbuf, - 14, - (*env)->NewStringUTF(env, - ps-> - ssl_session)); - jk_log(pl, JK_LOG_DEBUG, "---> ssl_session: %s\n", - ps->ssl_session); - } - } - - jk_log(pl, JK_LOG_DEBUG, "Done JNIConnectionHandler::readEnvironment\n"); - - - return JK_TRUE; -} - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: readHeaders - * Signature: (JJ[Ljava/lang/String;[Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_readHeaders - (JNIEnv * env, jobject o, jlong s, jlong l, jobjectArray hnames, - jobjectArray hvalues) -{ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - unsigned i; - - jk_log(pl, JK_LOG_DEBUG, "Into JNIConnectionHandler::readHeaders\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::readHeaders, NULL ws service object\n"); - return JK_FALSE; - } - - jk_log(pl, JK_LOG_DEBUG, - "In JNIConnectionHandler::readHeaders, %d headers follow --->\n", - ps->num_headers); - - for (i = 0; i < ps->num_headers; i++) { - (*env)->SetObjectArrayElement(env, - hnames, - i, - (*env)->NewStringUTF(env, - ps-> - headers_names[i])); - (*env)->SetObjectArrayElement(env, hvalues, i, - (*env)->NewStringUTF(env, - ps-> - headers_values - [i])); - jk_log(pl, JK_LOG_DEBUG, "---> %s = %s\n", ps->headers_names[i], - ps->headers_values[i]); - } - jk_log(pl, JK_LOG_DEBUG, "Done JNIConnectionHandler::readHeaders\n"); - - return JK_TRUE; -} - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: startReasponse - * Signature: (JJILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_startReasponse - (JNIEnv * env, jobject o, jlong s, jlong l, - jint sc, jstring msg, jobjectArray hnames, jobjectArray hvalues, - jint hcnt) -{ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - const char *nmsg = NULL; - char **nhnames = NULL; - char **nhvalues = NULL; - jstring *shnames = NULL; - jstring *shvalues = NULL; - int i = 0; - int ok = JK_TRUE; - - jk_log(pl, JK_LOG_DEBUG, "Into JNIConnectionHandler::startReasponse\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::startReasponse, NULL ws service object\n"); - return JK_FALSE; - } - - jk_log(pl, JK_LOG_DEBUG, - "In JNIConnectionHandler::startReasponse, %d headers follow --->\n", - hcnt); - - if (hcnt) { - ok = JK_FALSE; - - nhnames = (char **)jk_pool_alloc(ps->pool, hcnt * sizeof(char *)); - nhvalues = (char **)jk_pool_alloc(ps->pool, hcnt * sizeof(char *)); - shnames = (jstring *) jk_pool_alloc(ps->pool, hcnt * sizeof(jstring)); - shvalues = - (jstring *) jk_pool_alloc(ps->pool, hcnt * sizeof(jstring)); - - if (nhvalues && nhnames && shnames && shnames) { - for (; i < hcnt; i++) { - jboolean iscommit; - - shvalues[i] = shnames[i] = NULL; - nhnames[i] = nhvalues[i] = NULL; - - shnames[i] = (*env)->GetObjectArrayElement(env, hnames, i); - shvalues[i] = (*env)->GetObjectArrayElement(env, hvalues, i); - - if (!shvalues[i] || !shnames[i]) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::startReasponse, GetObjectArrayElement error\n"); - break; - } - - nhnames[i] = - (char *)(*env)->GetStringUTFChars(env, shnames[i], - &iscommit); - nhvalues[i] = - (char *)(*env)->GetStringUTFChars(env, shvalues[i], - &iscommit); - - if (!nhvalues[i] || !nhnames[i]) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::startReasponse, GetStringUTFChars error\n"); - break; - } - - jk_log(pl, JK_LOG_DEBUG, "---> %s=%s\n", nhnames[i], - nhvalues[i]); - } - if (i == hcnt) { - ok = JK_TRUE; - jk_log(pl, JK_LOG_DEBUG, - "In JNIConnectionHandler::startReasponse. ----- End headers.\n", - hcnt); - } - } - else { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::startReasponse, memory allocation error\n"); - } - } - - if (msg && ok) { - jboolean iscommit; - nmsg = (*env)->GetStringUTFChars(env, msg, &iscommit); - if (!nmsg) { - ok = JK_FALSE; - } - } - - if (ok) { - if (!ps-> - start_response(ps, sc, nmsg, (const char **)nhnames, - (const char **)nhvalues, hcnt)) { - ok = JK_FALSE; - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::startReasponse, servers startReasponse failed\n"); - } - } - - if (nmsg) { - (*env)->ReleaseStringUTFChars(env, msg, nmsg); - } - - if (i < hcnt) { - i++; - } - - if (nhvalues) { - int j; - - for (j = 0; j < i; j++) { - if (nhvalues[j]) { - (*env)->ReleaseStringUTFChars(env, shvalues[j], nhvalues[j]); - } - } - } - - if (nhnames) { - int j; - - for (j = 0; j < i; j++) { - if (nhnames[j]) { - (*env)->ReleaseStringUTFChars(env, shnames[j], nhnames[j]); - } - } - } - jk_log(pl, JK_LOG_DEBUG, "Done JNIConnectionHandler::startReasponse.\n"); - - return ok; -} - -/* - * Class: org_apache_tomcat_modules_server_JNIConnectionHandler - * Method: write - * Signature: (JJ[BII)I - */ -JNIEXPORT jint JNICALL - Java_org_apache_tomcat_modules_server_JNIConnectionHandler_write - (JNIEnv * env, jobject o, jlong s, jlong l, jbyteArray buf, jint from, - jint cnt) -{ - jk_ws_service_t *ps = (jk_ws_service_t *)(int)s; - jk_logger_t *pl = (jk_logger_t *)(int)l; - jint rc = JK_FALSE; - jboolean iscommit; - jbyte *nbuf; - unsigned nfrom = (unsigned)from; - unsigned ncnt = (unsigned)cnt; - - jk_log(pl, JK_LOG_DEBUG, "In JNIConnectionHandler::write\n"); - - if (!ps) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::write, NULL ws service object\n"); - return JK_FALSE; - } - - nbuf = (*env)->GetByteArrayElements(env, buf, &iscommit); - - if (!nbuf) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::write, GetByteArrayElements error\n"); - return JK_FALSE; - } - - if (!ps->write(ps, nbuf + nfrom, ncnt)) { - jk_log(pl, JK_LOG_ERROR, - "In JNIConnectionHandler::write, failed to write to the web server\n"); - } - else { - rc = (jint) JK_TRUE; - } - - (*env)->ReleaseByteArrayElements(env, buf, nbuf, JNI_ABORT); - - return rc; -} |