mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-13 06:44:14 +00:00
FS-2746 --resolve large xmlrpc update thanks garmt
This commit is contained in:
1 parent
37ecad9903
commit
6b6c83a718
397 files changed
+41821
-33840
No files matched your search
+127
-20
@@ -127,27 +127,93 @@ carriageParm_curl0Ptr::operator->() const {
|
||||
|
||||
|
||||
|
||||
clientXmlTransport_curl::constrOpt::constrOpt() {
|
||||
struct clientXmlTransport_curl::constrOpt_impl {
|
||||
|
||||
constrOpt_impl();
|
||||
|
||||
struct {
|
||||
std::string network_interface;
|
||||
bool no_ssl_verifypeer;
|
||||
bool no_ssl_verifyhost;
|
||||
bool dont_advertise;
|
||||
std::string user_agent;
|
||||
std::string ssl_cert;
|
||||
std::string sslcerttype;
|
||||
std::string sslcertpasswd;
|
||||
std::string sslkey;
|
||||
std::string sslkeytype;
|
||||
std::string sslkeypasswd;
|
||||
std::string sslengine;
|
||||
bool sslengine_default;
|
||||
xmlrpc_sslversion sslversion;
|
||||
std::string cainfo;
|
||||
std::string capath;
|
||||
std::string randomfile;
|
||||
std::string egdsocket;
|
||||
std::string ssl_cipher_list;
|
||||
unsigned int timeout;
|
||||
std::string proxy;
|
||||
unsigned int proxy_auth;
|
||||
unsigned int proxy_port;
|
||||
std::string proxy_userpwd;
|
||||
xmlrpc_httpproxytype proxy_type;
|
||||
} value;
|
||||
struct {
|
||||
bool network_interface;
|
||||
bool no_ssl_verifypeer;
|
||||
bool no_ssl_verifyhost;
|
||||
bool dont_advertise;
|
||||
bool user_agent;
|
||||
bool ssl_cert;
|
||||
bool sslcerttype;
|
||||
bool sslcertpasswd;
|
||||
bool sslkey;
|
||||
bool sslkeytype;
|
||||
bool sslkeypasswd;
|
||||
bool sslengine;
|
||||
bool sslengine_default;
|
||||
bool sslversion;
|
||||
bool cainfo;
|
||||
bool capath;
|
||||
bool randomfile;
|
||||
bool egdsocket;
|
||||
bool ssl_cipher_list;
|
||||
bool timeout;
|
||||
bool proxy;
|
||||
bool proxy_auth;
|
||||
bool proxy_port;
|
||||
bool proxy_userpwd;
|
||||
bool proxy_type;
|
||||
} present;
|
||||
};
|
||||
|
||||
clientXmlTransport_curl::constrOpt_impl::constrOpt_impl() {
|
||||
|
||||
present.network_interface = false;
|
||||
present.no_ssl_verifypeer = false;
|
||||
present.no_ssl_verifyhost = false;
|
||||
present.user_agent = false;
|
||||
present.ssl_cert = false;
|
||||
present.sslcerttype = false;
|
||||
present.sslcertpasswd = false;
|
||||
present.sslkey = false;
|
||||
present.sslkeytype = false;
|
||||
present.sslkeypasswd = false;
|
||||
present.sslengine = false;
|
||||
present.dont_advertise = false;
|
||||
present.user_agent = false;
|
||||
present.ssl_cert = false;
|
||||
present.sslcerttype = false;
|
||||
present.sslcertpasswd = false;
|
||||
present.sslkey = false;
|
||||
present.sslkeytype = false;
|
||||
present.sslkeypasswd = false;
|
||||
present.sslengine = false;
|
||||
present.sslengine_default = false;
|
||||
present.sslversion = false;
|
||||
present.cainfo = false;
|
||||
present.capath = false;
|
||||
present.randomfile = false;
|
||||
present.egdsocket = false;
|
||||
present.ssl_cipher_list = false;
|
||||
present.timeout = false;
|
||||
present.sslversion = false;
|
||||
present.cainfo = false;
|
||||
present.capath = false;
|
||||
present.randomfile = false;
|
||||
present.egdsocket = false;
|
||||
present.ssl_cipher_list = false;
|
||||
present.timeout = false;
|
||||
present.proxy = false;
|
||||
present.proxy_port = false;
|
||||
present.proxy_auth = false;
|
||||
present.proxy_userpwd = false;
|
||||
present.proxy_type = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -155,14 +221,15 @@ clientXmlTransport_curl::constrOpt::constrOpt() {
|
||||
#define DEFINE_OPTION_SETTER(OPTION_NAME, TYPE) \
|
||||
clientXmlTransport_curl::constrOpt & \
|
||||
clientXmlTransport_curl::constrOpt::OPTION_NAME(TYPE const& arg) { \
|
||||
this->value.OPTION_NAME = arg; \
|
||||
this->present.OPTION_NAME = true; \
|
||||
this->implP->value.OPTION_NAME = arg; \
|
||||
this->implP->present.OPTION_NAME = true; \
|
||||
return *this; \
|
||||
}
|
||||
|
||||
DEFINE_OPTION_SETTER(network_interface, string);
|
||||
DEFINE_OPTION_SETTER(no_ssl_verifypeer, bool);
|
||||
DEFINE_OPTION_SETTER(no_ssl_verifyhost, bool);
|
||||
DEFINE_OPTION_SETTER(dont_advertise, bool);
|
||||
DEFINE_OPTION_SETTER(user_agent, string);
|
||||
DEFINE_OPTION_SETTER(ssl_cert, string);
|
||||
DEFINE_OPTION_SETTER(sslcerttype, string);
|
||||
@@ -179,13 +246,41 @@ DEFINE_OPTION_SETTER(randomfile, string);
|
||||
DEFINE_OPTION_SETTER(egdsocket, string);
|
||||
DEFINE_OPTION_SETTER(ssl_cipher_list, string);
|
||||
DEFINE_OPTION_SETTER(timeout, unsigned int);
|
||||
DEFINE_OPTION_SETTER(proxy, string);
|
||||
DEFINE_OPTION_SETTER(proxy_port, unsigned int);
|
||||
DEFINE_OPTION_SETTER(proxy_auth, unsigned int);
|
||||
DEFINE_OPTION_SETTER(proxy_userpwd, string);
|
||||
DEFINE_OPTION_SETTER(proxy_type, xmlrpc_httpproxytype);
|
||||
|
||||
#undef DEFINE_OPTION_SETTER
|
||||
|
||||
clientXmlTransport_curl::constrOpt::constrOpt() {
|
||||
|
||||
this->implP = new clientXmlTransport_curl::constrOpt_impl();
|
||||
}
|
||||
|
||||
|
||||
|
||||
clientXmlTransport_curl::constrOpt::~constrOpt() {
|
||||
|
||||
delete(this->implP);
|
||||
}
|
||||
|
||||
|
||||
|
||||
clientXmlTransport_curl::constrOpt::constrOpt(constrOpt& arg) {
|
||||
|
||||
this->implP = new constrOpt_impl(*arg.implP);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if MUST_BUILD_CURL_CLIENT
|
||||
|
||||
void
|
||||
clientXmlTransport_curl::initialize(constrOpt const& opt) {
|
||||
clientXmlTransport_curl::initialize(constrOpt const& optExt) {
|
||||
constrOpt_impl const opt(*optExt.implP);
|
||||
|
||||
struct xmlrpc_curl_xportparms transportParms;
|
||||
|
||||
transportParms.network_interface = opt.present.network_interface ?
|
||||
@@ -194,6 +289,8 @@ clientXmlTransport_curl::initialize(constrOpt const& opt) {
|
||||
opt.value.no_ssl_verifypeer : false;
|
||||
transportParms.no_ssl_verifyhost = opt.present.no_ssl_verifyhost ?
|
||||
opt.value.no_ssl_verifyhost : false;
|
||||
transportParms.dont_advertise = opt.present.dont_advertise ?
|
||||
opt.value.dont_advertise : false;
|
||||
transportParms.user_agent = opt.present.user_agent ?
|
||||
opt.value.user_agent.c_str() : NULL;
|
||||
transportParms.ssl_cert = opt.present.ssl_cert ?
|
||||
@@ -226,6 +323,16 @@ clientXmlTransport_curl::initialize(constrOpt const& opt) {
|
||||
opt.value.ssl_cipher_list.c_str() : NULL;
|
||||
transportParms.timeout = opt.present.timeout ?
|
||||
opt.value.timeout : 0;
|
||||
transportParms.proxy = opt.present.proxy ?
|
||||
opt.value.proxy.c_str() : NULL;
|
||||
transportParms.proxy_port = opt.present.proxy_port ?
|
||||
opt.value.proxy_port : 0;
|
||||
transportParms.proxy_auth = opt.present.proxy_auth ?
|
||||
opt.value.proxy_auth : XMLRPC_HTTPAUTH_NONE;
|
||||
transportParms.proxy_userpwd = opt.present.proxy_userpwd ?
|
||||
opt.value.proxy_userpwd.c_str() : NULL;
|
||||
transportParms.proxy_type = opt.present.proxy_type ?
|
||||
opt.value.proxy_type : XMLRPC_HTTPPROXY_HTTP;
|
||||
|
||||
this->c_transportOpsP = &xmlrpc_curl_transport_ops;
|
||||
|
||||
@@ -233,7 +340,7 @@ clientXmlTransport_curl::initialize(constrOpt const& opt) {
|
||||
|
||||
xmlrpc_curl_transport_ops.create(
|
||||
&env.env_c, 0, "", "",
|
||||
&transportParms, XMLRPC_CXPSIZE(timeout),
|
||||
&transportParms, XMLRPC_CXPSIZE(dont_advertise),
|
||||
&this->c_transportP);
|
||||
|
||||
if (env.env_c.fault_occurred)
|
||||
|
||||
Reference in new issue
Block a user