]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
prepend su_ to inet_ntop and inet_pton replacement functions to work around problemat...
authorMichael Jerris <mike@jerris.com>
Tue, 11 Dec 2007 10:45:05 +0000 (10:45 +0000)
committerMichael Jerris <mike@jerris.com>
Tue, 11 Dec 2007 10:45:05 +0000 (10:45 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6632 d0543943-73ff-0310-b7d9-9358b9ac24b2

13 files changed:
libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
libs/sofia-sip/libsofia-sip-ua/nta/nta.c
libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c
libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c
libs/sofia-sip/libsofia-sip-ua/stun/stun.c
libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c
libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c
libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su.h
libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c
libs/sofia-sip/libsofia-sip-ua/tport/tport.c
libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c

index 6783659050dae0705175155cc1823391a93f986b..d6199bdeb4d2c146b542d396d17c2fb3c71150aa 100644 (file)
@@ -849,7 +849,7 @@ static size_t convert_ip_address(char const *s,
     len = span_ip6_address(s);
 
   if (len) {
-    if (s[len] == '\0' && inet_pton(AF_INET6, s, addr) == 1) {
+    if (s[len] == '\0' && su_inet_pton(AF_INET6, s, addr) == 1) {
       if (SU_IN6_IS_ADDR_V4MAPPED(addr) ||
          SU_IN6_IS_ADDR_V4COMPAT(addr)) {
        memcpy(addr, addr + 12, 4);
@@ -868,7 +868,7 @@ static size_t convert_ip_address(char const *s,
       s = memcpy(tmp, s, len + 1);
       scan_ip4_address(&tmp);      
     }
-    if (s[len] == '\0' && inet_pton(AF_INET, s, addr) == 1)
+    if (s[len] == '\0' && su_inet_pton(AF_INET, s, addr) == 1)
       return (void)(*return_addrlen = 4), len;
   }
 
index d010f9ca14ef4a7e5c24176b76abb0900b4120d2..09cc70b21768ef85d13cf88149a59f8484b11ee3 100644 (file)
@@ -1795,7 +1795,7 @@ int agent_init_via(nta_agent_t *self, tport_t *primaries, int use_maddr)
       int port;
 
       if (su) {
-       inet_ntop(su->su_family, SU_ADDR(su), host, sizeof host);
+       su_inet_ntop(su->su_family, SU_ADDR(su), host, sizeof host);
        maddr = use_maddr && strcasecmp(canon, host) != 0;
        port = ntohs(su->su_port);
       }
@@ -7524,7 +7524,7 @@ outgoing_print_tport_error(nta_outgoing_t *orq, int level, char *todo,
          orq->orq_method_name, orq->orq_cseq->cs_seq,
          todo, su_strerror(error), error, 
          tpn->tpn_proto, 
-         inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
+         su_inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
          htons(su->su_port));
 }
 
@@ -9582,7 +9582,7 @@ void outgoing_answer_aaaa(sres_context_t *orq, sres_query_t *q,
         aaaa->aaaa_record->r_type != sres_type_aaaa)
       continue;                              /* There was an error */
 
-    inet_ntop(AF_INET6, &aaaa->aaaa_addr, addr, sizeof(addr));
+    su_inet_ntop(AF_INET6, &aaaa->aaaa_addr, addr, sizeof(addr));
 
     if (j == 0)
       SU_DEBUG_5(("nta(%p): %s IN AAAA %s\n", (void *)orq, 
@@ -9665,7 +9665,7 @@ void outgoing_answer_a(sres_context_t *orq, sres_query_t *q,
        a->a_record->r_type != sres_type_a)
       continue;                              /* There was an error */
 
-    inet_ntop(AF_INET, &a->a_addr, addr, sizeof(addr));
+    su_inet_ntop(AF_INET, &a->a_addr, addr, sizeof(addr));
 
     if (j == 0)
       SU_DEBUG_5(("nta: %s IN A %s\n", a->a_record->r_name, addr));
index d94167ba6847dfbfecf7dff6f51d2fea3f4a9dd6..0622c0ff923da767344965bc6faeb0c0a2ca66e8 100644 (file)
@@ -1075,7 +1075,7 @@ void hc_tport_error(nth_engine_t * he, nth_client_t * hc,
         hc->hc_method_name,
         errmsg, error,
         tpn->tpn_proto,
-        inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
+        su_inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
         htons(su->su_port));
 
   he->he_stats->st_tp_errors++;
index 96351d5668fad2128f8fa9143a5d8614e223737d..a8d7fb5b38dfc92f12704e4dd6f033864cfa6049 100644 (file)
@@ -166,10 +166,14 @@ struct sockaddr_storage {
 #define SRES_TIME_MAX ((time_t)LONG_MAX)
 
 #if !HAVE_INET_PTON
-int inet_pton(int af, char const *src, void *dst);
+int su_inet_pton(int af, char const *src, void *dst);
+#else
+#define su_inet_pton inet_pton
 #endif
 #if !HAVE_INET_NTOP
-const char *inet_ntop(int af, void const *src, char *dst, size_t size);
+const char *su_inet_ntop(int af, void const *src, char *dst, size_t size);
+#else
+#define su_inet_ntop inet_ntop
 #endif
 
 #if defined(va_copy)
@@ -2374,14 +2378,14 @@ int sres_parse_nameserver(sres_config_t *c, char const *server)
   if (strchr(server, ':')) {
     struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
     memset(sa, 0, ns->ns_addrlen = sizeof *sin6);
-    err = inet_pton(sa->sa_family = AF_INET6, server, &sin6->sin6_addr);
+    err = su_inet_pton(sa->sa_family = AF_INET6, server, &sin6->sin6_addr);
   } 
   else 
 #endif
     {
       struct sockaddr_in *sin = (struct sockaddr_in *)sa;
       memset(sa, 0, ns->ns_addrlen = sizeof *sin);
-      err = inet_pton(sa->sa_family = AF_INET, server, &sin->sin_addr);
+      err = su_inet_pton(sa->sa_family = AF_INET, server, &sin->sin_addr);
     }
 
   if (err <= 0) {
@@ -2469,7 +2473,7 @@ sres_server_t **sres_servers_new(sres_resolver_t *res,
     dns->dns_socket = INVALID_SOCKET;
     ns = c->c_nameservers[i];
     memcpy(dns->dns_addr, ns->ns_addr, dns->dns_addrlen = ns->ns_addrlen);
-    inet_ntop(dns->dns_addr->ss_family, SS_ADDR(dns->dns_addr), 
+    su_inet_ntop(dns->dns_addr->ss_family, SS_ADDR(dns->dns_addr), 
              dns->dns_name, sizeof dns->dns_name);
     dns->dns_edns = c->c_opt.edns;
     servers[i] = dns++;
@@ -2554,12 +2558,12 @@ sres_socket_t sres_server_socket(sres_resolver_t *res, sres_server_t *dns)
 
     if (family == AF_INET) {
       void *addr = &((struct sockaddr_in *)dns->dns_addr)->sin_addr;
-      inet_ntop(family, addr, ipaddr, sizeof ipaddr);
+      su_inet_ntop(family, addr, ipaddr, sizeof ipaddr);
     }
 #if HAVE_SIN6
     else if (family == AF_INET6) {
       void *addr = &((struct sockaddr_in6 *)dns->dns_addr)->sin6_addr;
-      inet_ntop(family, addr, ipaddr, sizeof ipaddr);
+      su_inet_ntop(family, addr, ipaddr, sizeof ipaddr);
       lb = "[", rb = "]";
     }
 #endif
@@ -3168,7 +3172,7 @@ int sres_resolver_error(sres_resolver_t *res, int socket)
 
        snprintf(info + strlen(info), sizeof(info) - strlen(info), 
                 " reported by ");
-       inet_ntop(from->ss_family, SS_ADDR(from), 
+       su_inet_ntop(from->ss_family, SS_ADDR(from), 
                  info + strlen(info), sizeof(info) - strlen(info));
       }
 
@@ -3232,13 +3236,13 @@ sres_resolver_report_error(sres_resolver_t *res,
     if (remote->ss_family == AF_INET) {
       struct sockaddr_in const *sin = (struct sockaddr_in *)remote;
       uint8_t const *in_addr = (uint8_t*)&sin->sin_addr;
-      inet_ntop(AF_INET, in_addr, buf, sizeof(buf));
+      su_inet_ntop(AF_INET, in_addr, buf, sizeof(buf));
     } 
 #if HAVE_SIN6
     else if (remote->ss_family == AF_INET6) {
       struct sockaddr_in6 const *sin6 = (struct sockaddr_in6 *)remote;
       uint8_t const *in_addr = (uint8_t*)&sin6->sin6_addr;
-      inet_ntop(AF_INET6, in_addr, buf, sizeof(buf));
+      su_inet_ntop(AF_INET6, in_addr, buf, sizeof(buf));
     }
 #endif
   }
@@ -3365,12 +3369,12 @@ void sres_log_response(sres_resolver_t const *res,
       ;
     else if (from->ss_family == AF_INET) {
       struct sockaddr_in const *sin = (void *)from;
-      inet_ntop(AF_INET, &sin->sin_addr, host, sizeof host);
+      su_inet_ntop(AF_INET, &sin->sin_addr, host, sizeof host);
     } 
 #if HAVE_SIN6
     else if (from->ss_family == AF_INET6) {
       struct sockaddr_in6 const *sin6 = (void *)from;
-      inet_ntop(AF_INET6, &sin6->sin6_addr, host, sizeof host);
+      su_inet_ntop(AF_INET6, &sin6->sin6_addr, host, sizeof host);
     }
 #endif
 
index d7b57977e9e0f637321709816298beb0966b0d45..d022c175899101263f7df6d9bed68a6114162398 100644 (file)
@@ -803,7 +803,7 @@ int assign_socket(stun_discovery_t *sd, su_socket_t s, int register_socket)
 
     if ((err = bind(s, &su->su_sa, sulen)) < 0) {
       SU_DEBUG_3(("%s: bind(%s:%u): %s\n",  __func__, 
-                 inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
+                 su_inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
                  (unsigned) ntohs(su->su_port),
                  su_strerror(su_errno())));
       return -1;
@@ -817,7 +817,7 @@ int assign_socket(stun_discovery_t *sd, su_socket_t s, int register_socket)
   memcpy(&sd->sd_bind_addr, su, sulen);
 
   SU_DEBUG_3(("%s: local socket is bound to %s:%u\n", __func__,
-             inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
+             su_inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
              (unsigned) ntohs(su->su_port)));
 
   events = SU_WAIT_IN | SU_WAIT_ERR;
@@ -864,7 +864,7 @@ static int get_localinfo(int family, su_sockaddr_t *su, socklen_t *return_len)
       memcpy(su, li->li_addr, *return_len = li->li_addrlen);
 
       SU_DEBUG_3(("%s: using local address %s\n", __func__, 
-                 inet_ntop(family, SU_ADDR(su), addr, sizeof(addr))));
+                 su_inet_ntop(family, SU_ADDR(su), addr, sizeof(addr))));
       break;
     }
 
@@ -1693,7 +1693,7 @@ static int stun_bind_callback(stun_magic_t *m, su_wait_t *w, su_wakeup_arg_t *ar
 
   
   SU_DEBUG_5(("%s: response from server %s:%u\n", __func__,
-             inet_ntop(recv.su_family, SU_ADDR(&recv), addr, sizeof(addr)),
+             su_inet_ntop(recv.su_family, SU_ADDR(&recv), addr, sizeof(addr)),
              ntohs(recv.su_port)));
 
   debug_print(&binding_response.enc_buf);      
@@ -2014,7 +2014,7 @@ static int priv_find_matching_localadress(su_sockaddr_t *su)
   char addr[SU_ADDRSIZE];
 
   SU_DEBUG_5(("%s: checking if %s is a local address.\n", __func__, 
-             inet_ntop(AF_INET, SU_ADDR(su), addr, sizeof(addr))));
+             su_inet_ntop(AF_INET, SU_ADDR(su), addr, sizeof(addr))));
 
   hints->li_family = af = su->su_family;
 
@@ -2032,7 +2032,7 @@ static int priv_find_matching_localadress(su_sockaddr_t *su)
     }
 
     SU_DEBUG_9(("%s: skipping local address %s.\n", __func__, 
-               inet_ntop(af, SU_ADDR(li->li_addr), addr, sizeof(addr))));
+               su_inet_ntop(af, SU_ADDR(li->li_addr), addr, sizeof(addr))));
   }  
 
   su_freelocalinfo(res);
@@ -2758,7 +2758,7 @@ int stun_test_lifetime(stun_handle_t *sh,
   }
 
   SU_DEBUG_3(("%s: socket y bound to %s:%u\n", __func__,
-             inet_ntop(y_addr.su_family, SU_ADDR(&y_addr), addr, sizeof(addr)),
+             su_inet_ntop(y_addr.su_family, SU_ADDR(&y_addr), addr, sizeof(addr)),
              (unsigned) ntohs(y_addr.su_port)));
 
   req->sr_from_y = -1;
@@ -2946,7 +2946,7 @@ int stun_keepalive(stun_handle_t *sh,
   req = stun_request_create(sd);
 
   SU_DEBUG_3(("%s: Starting to send STUN keepalives to %s:%u\n", __func__, 
-             inet_ntop(sa->su_family, SU_ADDR(sa), addr, sizeof(addr)),
+             su_inet_ntop(sa->su_family, SU_ADDR(sa), addr, sizeof(addr)),
              (unsigned) ntohs(sa->su_port)));
   
   if (stun_make_binding_req(sh, req, req->sr_msg, 0, 0) < 0 ||
index f0287463599006dd58ff418bf453852f19abeeae..d11716304dcc09c1283caa14496efe1c76fc2b6e 100644 (file)
@@ -223,7 +223,7 @@ int stun_parse_attr_address(stun_attr_t *attr,
   memcpy(&addr->su_sin.sin_addr.s_addr, p + 4, 4);
 
   SU_DEBUG_5(("%s: address attribute: %s:%d\n", __func__,
-             inet_ntop(addr->su_family, SU_ADDR(addr), ipaddr, sizeof(ipaddr)),
+             su_inet_ntop(addr->su_family, SU_ADDR(addr), ipaddr, sizeof(ipaddr)),
              (unsigned) ntohs(addr->su_sin.sin_port)));
 
   attr->pattr = addr;
@@ -640,7 +640,7 @@ int stun_send_message(su_socket_t s, su_sockaddr_t *to_addr,
   }
 
   if (err > 0) {
-    inet_ntop(to_addr->su_family, SU_ADDR(to_addr), ipaddr, sizeof(ipaddr));
+    su_inet_ntop(to_addr->su_family, SU_ADDR(to_addr), ipaddr, sizeof(ipaddr));
     SU_DEBUG_5(("%s: message sent to %s:%u\n", __func__,
                ipaddr, ntohs(to_addr->su_port)));
 
index 1df754c1490c162ed291b2724b7a50c4b728010d..de9cdbf2b6acb7b7077000a56caa36c6f456c552 100644 (file)
@@ -184,7 +184,7 @@ void stun_mini_request(stun_mini_t *mini,
     struct sockaddr_in const *sin = from;
 
     if (sin->sin_family == AF_INET)
-      inet_ntop(sin->sin_family, &sin->sin_addr, buffer, sizeof buffer);
+      su_inet_ntop(sin->sin_family, &sin->sin_addr, buffer, sizeof buffer);
     else
       sprintf(buffer, "<af=%u>", (unsigned)sin->sin_family);
 
index 0c0c660f4874aafca233e14492ca7301c6eb4192..e5301824a7954d9e9a334c7acc0f7b84315e43e7 100644 (file)
@@ -45,7 +45,7 @@ static const char *inet_ntop6(const unsigned char *src, char *dst, size_t size);
  *     Paul Vixie, 1996.
  */
 const char *
-inet_ntop(int af, void const *src, char *dst, size_t size)
+su_inet_ntop(int af, void const *src, char *dst, size_t size)
 {
 
        switch (af) {
index fc10aa7f7c655d3ec92915c4638225f01ca15bc4..877e111129c090a095a2e918fefb40ea7c943791 100644 (file)
@@ -45,7 +45,7 @@ static int    inet_pton6(const char *src, unsigned char *dst);
  *     Paul Vixie, 1996.
  */
 int
-inet_pton(int af, const char * src, void * dst)
+su_inet_pton(int af, const char * src, void * dst)
 {
        switch (af) {
        case AF_INET:
index e8872b14bd0c2ef3266b8c91d813cfc6f1aa247f..4370f958c33c90bb89a4e53e030b2658bc329488 100644 (file)
@@ -321,8 +321,8 @@ SOFIAPUBFUN int su_getlocalip(su_sockaddr_t *sin);
 #endif
 
 #if SU_HAVE_WINSOCK
-SOFIAPUBFUN int inet_pton(int af, char const *src, void *dst);
-SOFIAPUBFUN const char *inet_ntop(int af, void const *src,
+SOFIAPUBFUN int su_inet_pton(int af, char const *src, void *dst);
+SOFIAPUBFUN const char *su_inet_ntop(int af, void const *src,
                                  char *dst, size_t size);
 SOFIAPUBFUN ssize_t 
   su_send(su_socket_t s, void *buffer, size_t length, int flags),
@@ -351,6 +351,8 @@ uint32_t su_ntohl(uint32_t l)
 #define htonl su_ntohl
 
 #else
+#define su_inet_pton inet_pton
+#define su_inet_ntop inet_ntop
 #define su_send(s,b,l,f) send((s),(b),(l),(f))
 #define su_sendto(s,b,l,f,a,L) sendto((s),(b),(l),(f),(void const*)(a),(L))
 #define su_recv(s,b,l,f) recv((s),(b),(l),(f))
index 77cdc3d90e54cc99e7dbedfe9ec2c0aa4dc436ba..40e925ba57799c7211585ab4312b28ba0660ed26 100644 (file)
@@ -1596,7 +1596,7 @@ int li_name(su_localinfo_t const *hints,
       if ((flags & LI_NAMEREQD) == LI_NAMEREQD)
        return 1;
       SU_DEBUG_7(("li_name: getnameinfo() failed\n"));
-      if (!inet_ntop(su->su_family, SU_ADDR(su), name, sizeof name))
+      if (!su_inet_ntop(su->su_family, SU_ADDR(su), name, sizeof name))
        return ELI_RESOLVER;
     }
 
index 6ff369adf279cd27e2d7824c29b9a80df1eceb2e..2364b3402e5cc3957eab6ffd6de3e0e0f63dbcd3 100644 (file)
@@ -2954,14 +2954,14 @@ void tport_deliver(tport_t *self,
 #if SU_HAVE_IN6
     if (su->su_family == AF_INET6) {
       ipaddr[0] = '[';
-      inet_ntop(su->su_family, SU_ADDR(su), ipaddr + 1, sizeof(ipaddr) - 1);
+      su_inet_ntop(su->su_family, SU_ADDR(su), ipaddr + 1, sizeof(ipaddr) - 1);
       strcat(ipaddr, "]");
     }
     else {
-      inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr));
+      su_inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr));
     }
 #else
-    inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr));
+    su_inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr));
 #endif
 
     d->d_from->tpn_canon = ipaddr;
@@ -3949,7 +3949,7 @@ tport_resolve(tport_t *self, msg_t *msg, tp_name_t const *tpn)
 #if SU_HAVE_IN6
   SU_DEBUG_9(("tport_resolve addrinfo = %s%s%s:%d\n", 
              su->su_family == AF_INET6 ? "[" : "",
-              inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr)),
+              su_inet_ntop(su->su_family, SU_ADDR(su), ipaddr, sizeof(ipaddr)),
              su->su_family == AF_INET6 ? "]" : "",
               htons(su->su_port)));
 #else
@@ -4433,7 +4433,7 @@ tport_t *tport_by_name(tport_t const *self, tp_name_t const *tpn)
 
     su->su_port = htons(strtoul(port, NULL, 10));
     
-    if (inet_pton(su->su_family, host, SU_ADDR(su)) > 0) {
+    if (su_inet_pton(su->su_family, host, SU_ADDR(su)) > 0) {
       resolved = 1;
       next = NULL;
 
@@ -4710,7 +4710,7 @@ char *tport_hostport(char buf[], isize_t bufsize,
   }
 #endif
 
-  if (inet_ntop(su->su_family, SU_ADDR(su), b, bufsize) == NULL)
+  if (su_inet_ntop(su->su_family, SU_ADDR(su), b, bufsize) == NULL)
     return NULL;
   n = strlen(b); 
   if (bufsize < n + 2)
index 2974ee383518c27e954cf711eabc7a5c1cde4ccb..671830223b437e1aceff50c7d296e09ad1189dbc 100644 (file)
@@ -154,7 +154,7 @@ void tport_stamp(tport_t const *self, msg_t *msg,
   if (msg_addrinfo(msg)->ai_flags & TP_AI_COMPRESSED)
     comp = ";comp=sigcomp";
 
-  inet_ntop(su->su_family, SU_ADDR(su), name, sizeof(name));
+  su_inet_ntop(su->su_family, SU_ADDR(su), name, sizeof(name));
 
   snprintf(stamp, 128,
           "%s "MOD_ZU" bytes %s %s/[%s]:%u%s%s at %02u:%02u:%02u.%06lu:\n",