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

Reply via email to