From 01d6aeedc8c622147662e79a8fad5119e755a796 Mon Sep 17 00:00:00 2001 From: okada Date: Fri, 20 Feb 2009 06:21:42 +0000 Subject: [PATCH] =?utf8?q?#286=2020090219.zip=E3=81=AEJHC=E3=82=BD?= =?utf8?q?=E3=83=BC=E3=82=B9=E3=82=92=E3=83=9E=E3=83=BC=E3=82=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel-IT@7121 1ed66053-1c2d-0410-8867-f7571e6e31d3 --- module/protocol/protocol_module_sessionless.cpp | 25 +++++++ module/protocol/protocol_module_sessionless.h | 24 +++++++ module/protocol/protocol_module_sslid.cpp | 43 +++++++++-- module/protocol/protocol_module_sslid.h | 24 +++++++ module/protocol/ssl_protocol_module_base.cpp | 26 +++++++ module/protocol/ssl_protocol_module_base.h | 47 ++++++++++++ .../protocol/sslid_replication_data_processor.cpp | 41 +++++++++-- module/protocol/sslid_replication_data_processor.h | 24 +++++++ module/protocol/sslid_session_data_processor.cpp | 84 +++++++++++++++++----- module/protocol/sslid_session_data_processor.h | 24 +++++++ 10 files changed, 335 insertions(+), 27 deletions(-) diff --git a/module/protocol/protocol_module_sessionless.cpp b/module/protocol/protocol_module_sessionless.cpp index 07359d44..ed6996c7 100644 --- a/module/protocol/protocol_module_sessionless.cpp +++ b/module/protocol/protocol_module_sessionless.cpp @@ -1,3 +1,28 @@ +/* + * @file protocol_module_sessionless.cpp + * @brief protocol module of any protocol. + * @brief this module never keep session persistence. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include #include #include diff --git a/module/protocol/protocol_module_sessionless.h b/module/protocol/protocol_module_sessionless.h index 3f804087..169ce2bc 100644 --- a/module/protocol/protocol_module_sessionless.h +++ b/module/protocol/protocol_module_sessionless.h @@ -1,3 +1,27 @@ +/* + * @file protocol_module_sessionless.h + * @brief protocol module sessionless header file. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include #include "http_protocol_module_base.h" diff --git a/module/protocol/protocol_module_sslid.cpp b/module/protocol/protocol_module_sslid.cpp index 58bc130a..c05da934 100644 --- a/module/protocol/protocol_module_sslid.cpp +++ b/module/protocol/protocol_module_sslid.cpp @@ -1,3 +1,28 @@ +/* + * @file protocol_module_sslid.cpp + * @brief protocol module of HTTPS(SSL/TLS). + * @brief this module provide session persistence by SSL session ID. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include "protocol_module_sslid.h" #include @@ -1623,8 +1648,12 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30060, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::" - "handle_realserver_select() : get_ssl_session_id() end.", __FILE__, __LINE__); + std::string buffer; + dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::" + "handle_realserver_select() : get_ssl_session_id() session_id = %s end."); + formatter % buffer; + putLogDebug(30060, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ @@ -2707,9 +2736,13 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_ /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30103, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::" - "handle_client_connection_check() : write_session_data() end.", - __FILE__, __LINE__); + std::string buffer; + dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::" + "handle_client_connection_check() : write_session_data() end." + "session_id = %s."); + formatter % buffer; + putLogDebug(30103, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } diff --git a/module/protocol/protocol_module_sslid.h b/module/protocol/protocol_module_sslid.h index 93e83f50..1ca6439c 100644 --- a/module/protocol/protocol_module_sslid.h +++ b/module/protocol/protocol_module_sslid.h @@ -1,3 +1,27 @@ +/* + * @file protocol_module_sslid.h + * @brief protocol module sslid header file + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #ifndef PROTOCOL_MODULE_SSLID_H #define PROTOCOL_MODULE_SSLID_H diff --git a/module/protocol/ssl_protocol_module_base.cpp b/module/protocol/ssl_protocol_module_base.cpp index 4fe22d71..6a2fd1bc 100644 --- a/module/protocol/ssl_protocol_module_base.cpp +++ b/module/protocol/ssl_protocol_module_base.cpp @@ -1,3 +1,29 @@ +/* + * @file ssl_protocol_module_base.cpp + * @brief protocol module base of protocol module sslid. + * @brief this module base provide get session id and check record + * @brief data for sslid. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include "ssl_protocol_module_base.h" #include diff --git a/module/protocol/ssl_protocol_module_base.h b/module/protocol/ssl_protocol_module_base.h index 41379918..635cc5e6 100644 --- a/module/protocol/ssl_protocol_module_base.h +++ b/module/protocol/ssl_protocol_module_base.h @@ -1,3 +1,27 @@ +/* + * @file ssl_protocol_module_base.h + * @brief ssl protocol module base header file. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #ifndef SSL_PROTOCOL_MODULE_BASE_H #define SSL_PROTOCOL_MODULE_BASE_H @@ -24,6 +48,29 @@ class ssl_protocol_module_base : public protocol_module_base const static size_t HELLO_MSG_HEADER_LENGTH = 76; const static size_t SESSION_ID_BEGAIN_OFFSET = 44; const static size_t SSL_RECORD_MIN_SIZE = 6; + public: + //! format dump data. + //! @param[in] data want to format + //! @param[in] data size + //! @param[out] format string + //! @return + static void dump_session_id( + const char* data, + const size_t data_size, + std::string& data_dump) + { + if (data == NULL || data_size == 0) + { + return; + } + + boost::format formatter("%02X"); + for (size_t i = 0; i < data_size; i++) + { + formatter % static_cast(static_cast(data[i])); + data_dump += formatter.str(); + } + } }; } // namespace l7vsd diff --git a/module/protocol/sslid_replication_data_processor.cpp b/module/protocol/sslid_replication_data_processor.cpp index 5de23ea4..14997966 100644 --- a/module/protocol/sslid_replication_data_processor.cpp +++ b/module/protocol/sslid_replication_data_processor.cpp @@ -1,6 +1,31 @@ +/* + * @file sslid_replication_data_processor.cpp + * @brief the replication of data between ACT and SBY. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include "sslid_replication_data_processor.h" #include "replication.h" #include "protocol_module_base.h" +#include "ssl_protocol_module_base.h" #include "boost/format.hpp" #define SSLID_SERVICE_NUMBER (128) @@ -338,11 +363,13 @@ void sslid_replication_data_processor::put_into_temp_list( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { + std::string buffer; + ssl_protocol_module_base::dump_session_id(data.session_id.c_str(), data.session_id.size(), buffer); boost::format formatter("in_function : void sslid_replication_data_processor::put_into_temp_list(" "const sslid_replication_temp_data& data) : data.op_code = %c, " "data.session_id = %s, data.last_time = %lu, data.endpoint = [%s]:%d."); - formatter % data.op_code % data.session_id % data.last_time % data.realserver_addr.address().to_string() - % data.realserver_addr.port(); + formatter % data.op_code % buffer % data.last_time % data.realserver_addr.address().to_string() + % data.realserver_addr.port(); putLogDebug(30155, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ @@ -427,9 +454,11 @@ void sslid_replication_data_processor::write_replicaion_area() { char session_id_temp[SSLID_LENGTH+1] = {0}; memcpy(session_id_temp, replication_area[i].session_id, SSLID_LENGTH); + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id_temp, SSLID_LENGTH, buffer); boost::format formatter("function : void sslid_replication_data_processor::" - "write_replicaion_area() : 'A' : session_id = %s."); - formatter % session_id_temp; + "write_replicaion_area() : 'A' : session_id = %s."); + formatter % buffer; putLogDebug(30159, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ @@ -659,11 +688,13 @@ int sslid_replication_data_processor::get_from_temp_list( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { + std::string buffer; + ssl_protocol_module_base::dump_session_id(data.session_id.c_str(), data.session_id.size(), buffer); boost::format formatter("out_function : void sslid_replication_data_processor::" "get_from_temp_list(sslid_replication_temp_data& data) : " "return_value = %d, data.op_code = %c, data.session_id = %s, " "data.last_time = %lu, data.endpoint = [%s]:%d."); - formatter % ret % data.op_code % data.session_id % data.last_time % + formatter % ret % data.op_code % buffer % data.last_time % data.realserver_addr.address().to_string() % data.realserver_addr.port(); putLogDebug(30170, formatter.str(), __FILE__, __LINE__); } diff --git a/module/protocol/sslid_replication_data_processor.h b/module/protocol/sslid_replication_data_processor.h index 77c2b07d..a0cb4dfc 100644 --- a/module/protocol/sslid_replication_data_processor.h +++ b/module/protocol/sslid_replication_data_processor.h @@ -1,3 +1,27 @@ +/* + * @file sslid_replication_data_processor.h + * @brief sslid replication data processor header file. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #ifndef SSLID_REPLICATION_DATA_PROCESSOR_H #define SSLID_REPLICATION_DATA_PROCESSOR_H diff --git a/module/protocol/sslid_session_data_processor.cpp b/module/protocol/sslid_session_data_processor.cpp index 8443b4e2..7eb41dab 100644 --- a/module/protocol/sslid_session_data_processor.cpp +++ b/module/protocol/sslid_session_data_processor.cpp @@ -1,5 +1,31 @@ +/* + * @file sslid_session_data_processor.cpp + * @brief read session data from replication area and set session + * @brief data to replication area. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #include "sslid_session_data_processor.h" #include "protocol_module_base.h" +#include "ssl_protocol_module_base.h" #include "boost/format.hpp" namespace l7vs @@ -92,11 +118,13 @@ int sslid_session_data_processor::get_endpoint_from_session_data( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); boost::format formatter("in_function : int sslid_session_data_processor::" "get_endpoint_from_session_data(const std::string& session_id, " "boost::asio::ip::tcp::endpoint& endpoint) : " "session_id = %s, endpoint = [%s]:%d."); - formatter % session_id % endpoint.address().to_string() % endpoint.port(); + formatter % buffer % endpoint.address().to_string() % endpoint.port(); putLogDebug(30175, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ @@ -177,9 +205,13 @@ int sslid_session_data_processor::get_endpoint_from_session_data( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30177, "function : int sslid_session_data_processor::" - "get_endpoint_from_session_data() : put_into_temp_list() --delete item-- end.", - __FILE__, __LINE__); + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : int sslid_session_data_processor::" + "get_endpoint_from_session_data() : put_into_temp_list() " + "--delete item session_id = %s -- end."); + formatter % buffer; + putLogDebug(30177, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } @@ -224,12 +256,14 @@ int sslid_session_data_processor::write_session_data( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); boost::format formatter("in_function : int sslid_session_data_processor::" "write_session_data(const std::string& session_id, " "const boost::asio::ip::tcp::endpoint& endpoint, " "time_t now_time) : session_id = %s, " "endpoint = [%s]:%d, now_time = %lu."); - formatter % session_id % endpoint.address().to_string() % endpoint.port() % now_time; + formatter % buffer % endpoint.address().to_string() % endpoint.port() % now_time; putLogDebug(30179, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ @@ -275,9 +309,13 @@ int sslid_session_data_processor::write_session_data( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30181, "function : int sslid_session_data_processor::" - "write_session_data() : put_into_temp_list() --update item-- end.", - __FILE__, __LINE__); + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : int sslid_session_data_processor::" + "write_session_data() : put_into_temp_list() " + "--update item session_id = %s -- end."); + formatter % buffer; + putLogDebug(30181, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } @@ -328,9 +366,13 @@ int sslid_session_data_processor::write_session_data( /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30184, "function : int sslid_session_data_processor::" - "write_session_data() : put_into_temp_list() --add item-- end.", - __FILE__, __LINE__); + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : int sslid_session_data_processor::" + "write_session_data() : put_into_temp_list() " + "--add item session_id = %s -- end."); + formatter % buffer; + putLogDebug(30184, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } @@ -439,9 +481,9 @@ int sslid_session_data_processor::read_session_data_from_replication_area( catch(const std::exception& e) { std::cerr << "sslid_session_data_processor::read_session_data_from_replication_area() : " - "exception : error = " << e.what() << "." << std::endl; + "exception : error = " << e.what() << "." << std::endl; boost::format formatter("function : int sslid_session_data_processor::" - "read_session_data_from_replication_area() : exception : error = %s."); + "read_session_data_from_replication_area() : exception : error = %s."); formatter % e.what(); putLogError(37071, formatter.str(), __FILE__, __LINE__); @@ -518,9 +560,13 @@ int sslid_session_data_processor::clear_expired_session_data() /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30193, "function : int sslid_session_data_processor::" + std::string buffer; + ssl_protocol_module_base::dump_session_id(temp_data.session_id.c_str(), temp_data.session_id.size(), buffer); + boost::format formatter("function : int sslid_session_data_processor::" "clear_expired_session_data() : put_into_temp_list() " - "--delete expired time item-- end.", __FILE__, __LINE__); + "--delete expired time item session_id = %s -- end."); + formatter % buffer; + putLogDebug(30193, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } @@ -545,9 +591,13 @@ int sslid_session_data_processor::clear_expired_session_data() /*-------- DEBUG LOG --------*/ if (LOG_LV_DEBUG == getloglevel()) { - putLogDebug(30194, "function : int sslid_session_data_processor::" + std::string buffer; + ssl_protocol_module_base::dump_session_id(session_id.c_str(), session_id.size(), buffer); + boost::format formatter("function : int sslid_session_data_processor::" "clear_expired_session_data() : put_into_temp_list() " - "--delete oldest time item-- end.", __FILE__, __LINE__); + "--delete oldest time item session_id = %s -- end."); + formatter % buffer; + putLogDebug(30194, formatter.str(), __FILE__, __LINE__); } /*------DEBUG LOG END------*/ } diff --git a/module/protocol/sslid_session_data_processor.h b/module/protocol/sslid_session_data_processor.h index fc565ef0..519c24ad 100644 --- a/module/protocol/sslid_session_data_processor.h +++ b/module/protocol/sslid_session_data_processor.h @@ -1,3 +1,27 @@ +/* + * @file sslid_session_data_processor.h + * @brief sslid session data processor header file. + * + * L7VSD: Linux Virtual Server for Layer7 Load Balancing + * Copyright (C) 2009 NTT COMWARE Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + **********************************************************************/ + #ifndef SSLID_SESSION_DATA_PROCESSOR_H #define SSLID_SESSION_DATA_PROCESSOR_H -- 2.11.0