Module: sems Branch: master Commit: 0faa793f11b2e8c79819f0e0a783b04b7c9b0087 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=0faa793f11b2e8c79819f0e0a783b04b7c9b0087
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Wed Mar 2 00:59:30 2011 +0100 user resolver instead of populate_sock_... --- apps/jsonrpc/RpcPeer.cpp | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/apps/jsonrpc/RpcPeer.cpp b/apps/jsonrpc/RpcPeer.cpp index 8f985ee..22720bb 100644 --- a/apps/jsonrpc/RpcPeer.cpp +++ b/apps/jsonrpc/RpcPeer.cpp @@ -43,6 +43,7 @@ using std::string; #include "AmUtils.h" #include "AmEventDispatcher.h" #include "JsonRPCEvents.h" +#include "sip/resolver.h" void JsonrpcPeerConnection::notifyDisconnect() { // let event receivers know about broken connection @@ -73,13 +74,27 @@ JsonrpcNetstringsConnection::JsonrpcNetstringsConnection(const std::string& id) JsonrpcNetstringsConnection::~JsonrpcNetstringsConnection() { } -int JsonrpcNetstringsConnection::connect(const string& host, int port, string& res_str) { +int JsonrpcNetstringsConnection::connect(const string& host, int port, + string& res_str) { struct sockaddr_in sa; - if (!populate_sockaddr_in_from_name(host, &sa)) { - res_str = "populate_sockaddr_in_from_name failed\n"; - return 300; + { + sockaddr_storage _sa; + dns_handle _dh; + + if(resolver::instance()->resolve_name(host.c_str(), + &_dh,&_sa,IPv4) < 0) { + res_str = "resolving '"+host+"' failed\n"; + return 300; + } + + memcpy(&sa.sin_addr,&((sockaddr_in*)&_sa)->sin_addr,sizeof(in_addr)); } + // if (!populate_sockaddr_in_from_name(host, &sa)) { + // res_str = "populate_sockaddr_in_from_name failed\n"; + // return 300; + // } + fd = socket(PF_INET, SOCK_STREAM, 0); sa.sin_port = htons(port); sa.sin_family = PF_INET; _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
