long session_cache_size;
long session_cache_timeout;
std::string conn_log_flag;
+bool client_packet_edit = DEFAULT_CLIENT_EDIT;
+bool server_packet_edit = DEFAULT_SERVER_EDIT;
+std::list<std::pair<std::string, std::string > > http_request_header;
+std::list<std::pair<std::string, std::string > > http_response_header;
/*!
* Convert verify option string to intger(#define).
"Use default value.");
conn_log_flag = DEFAULT_CONN_LOG_FLAG;
}
+
+ // Get parameter "http_request_header".
+ if (Parameter::getInstance().isStringExist(PARAM_COMP_SSLPROXY, "http_request_header")) {
+ std::multimap<std::string, std::string> request_map;
+ Parameter::getInstance().getStringMapValue(PARAM_COMP_SSLPROXY,
+ "http_request_header", request_map);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == logger_get_log_level(LOG_CAT_SSLPROXY_COMMON)) {
+ LOGGER_PUT_LOG_DEBUG(LOG_CAT_SSLPROXY_COMMON, 101,
+ "function : static int getParameters("
+ "std::string config_filename) : "
+ "get http_request_header OK.");
+ }
+ /*------ DEBUG LOG END ------*/
+ std::multimap<std::string, std::string>::iterator it = request_map.begin();
+ std::multimap<std::string, std::string>::iterator end = request_map.end();
+ while (it != end) {
+ int delimiter_pos = it->second.find(':');
+ if (delimiter_pos == std::string::npos) {
+ LOGGER_PUT_LOG_ERROR(LOG_CAT_SSLPROXY_COMMON, 50,
+ "Invalid http_request_header parameter value.(no delimiter)");
+ throw -1;
+ }
+ std::pair<std::string, std::string> header_pair(
+ it->second.substr(0, delimiter_pos),
+ it->second.substr(delimiter_pos + 1, it->second.size() - delimiter_pos) );
+ if ( header_pair.first != "set"
+ && header_pair.first != "unset"
+ && header_pair.first != "add"
+ && header_pair.first != "replace" ) {
+ LOGGER_PUT_LOG_ERROR(LOG_CAT_SSLPROXY_COMMON, 51,
+ "Invalid http_request_header parameter value.(invalid type)");
+ throw -1;
+ }
+ ::http_request_header.push_back(header_pair);
+ ::client_packet_edit = true;
+ it++;
+ }
+ }
+
+ // Get parameter "http_response_header".
+ if (Parameter::getInstance().isStringExist(PARAM_COMP_SSLPROXY, "http_response_header")) {
+ std::multimap<std::string, std::string> response_map;
+ Parameter::getInstance().getStringMapValue(PARAM_COMP_SSLPROXY,
+ "http_response_header", response_map);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == logger_get_log_level(LOG_CAT_SSLPROXY_COMMON)) {
+ LOGGER_PUT_LOG_DEBUG(LOG_CAT_SSLPROXY_COMMON, 102,
+ "function : static int getParameters("
+ "std::string config_filename) : "
+ "get http_response_header OK.");
+ }
+ /*------ DEBUG LOG END ------*/
+ std::multimap<std::string, std::string>::iterator it = response_map.begin();
+ std::multimap<std::string, std::string>::iterator end = response_map.end();
+ while (it != end) {
+ int delimiter_pos = it->second.find(':');
+ if (delimiter_pos == std::string::npos) {
+ LOGGER_PUT_LOG_ERROR(LOG_CAT_SSLPROXY_COMMON, 52,
+ "Invalid http_response_header parameter value.(no delimiter)");
+ throw -1;
+ }
+ std::pair<std::string, std::string> header_pair(
+ it->second.substr(0, delimiter_pos),
+ it->second.substr(delimiter_pos + 1, it->second.size() - delimiter_pos) );
+ if ( header_pair.first != "set"
+ && header_pair.first != "unset"
+ && header_pair.first != "add"
+ && header_pair.first != "replace" ) {
+ LOGGER_PUT_LOG_ERROR(LOG_CAT_SSLPROXY_COMMON, 53,
+ "Invalid http_response_header parameter value.(invalid type)");
+ throw -1;
+ }
+ ::http_response_header.push_back(header_pair);
+ ::server_packet_edit = true;
+ it++;
+ }
+ }
} catch (int e) {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == logger_get_log_level(LOG_CAT_SSLPROXY_COMMON)) {
/*------ DEBUG LOG END ------*/
std::cerr << "Usage : " << "sslproxy <target_id> <config_filename>" << std::endl;
- std::cerr << "Example : " << "sslproxy target_1 /etc/l7vs/sslproxy/sslproxy.target_1.cf" << std::endl;
+ std::cerr << "Example : " << "sslproxy target_1 /etc/l7vs/sslproxy/sslproxy.target.cf" << std::endl;
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == logger_get_log_level(LOG_CAT_SSLPROXY_COMMON)) {