trawick     00/12/13 14:17:22

  Modified:    network_io/unix sa_common.c
  Log:
  apr_get_ipaddr(): return IPv4-style strings for IPv4-mapped IPv6 addresses
  
  Revision  Changes    Path
  1.18      +10 -0     apr/network_io/unix/sa_common.c
  
  Index: sa_common.c
  ===================================================================
  RCS file: /home/cvs/apr/network_io/unix/sa_common.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- sa_common.c       2000/12/08 14:52:33     1.17
  +++ sa_common.c       2000/12/13 22:17:20     1.18
  @@ -117,6 +117,16 @@
                     sockaddr->ipaddr_ptr,
                     *addr,
                     sockaddr->addr_str_len);
  +#if APR_HAVE_IPV6
  +    if (sockaddr->sa.sin.sin_family == AF_INET6 &&
  +        IN6_IS_ADDR_V4MAPPED(sockaddr->ipaddr_ptr)) {
  +        /* This is an IPv4-mapped IPv6 address; drop the leading
  +         * part of the address string so we're left with the familiar
  +         * IPv4 format.
  +         */
  +        *addr += strlen("::ffff:");
  +    }
  +#endif
       return APR_SUCCESS;
   }
   
  
  
  

Reply via email to