[libsoup] Belatedly clean up some dns/socket-related stuff



commit d6c9846703e85094974a5e3deda1ef4f72500528
Author: Dan Winship <danw gnome org>
Date:   Tue Oct 13 12:44:39 2009 -0400

    Belatedly clean up some dns/socket-related stuff
    
    We use GResolver so we don't need to check for getaddrinfo() etc
    ourselves, and we don't need to check for IPv6 support, since
    GResolver/GSocket require it unconditionally.

 configure.in           |   19 -------------------
 libsoup/soup-address.c |   25 +------------------------
 libsoup/soup-address.h |   13 ++-----------
 libsoup/soup-socket.c  |   12 +++---------
 4 files changed, 6 insertions(+), 63 deletions(-)
---
diff --git a/configure.in b/configure.in
index b113d42..03ecb40 100644
--- a/configure.in
+++ b/configure.in
@@ -100,13 +100,6 @@ AC_MSG_CHECKING([for Win32])
 case "$host" in
   *-*-mingw*)
     os_win32=yes
-    # Don't do this yet, as we want to support Windows 2000 which
-    # doesn't have these.
-    # AC_CACHE_VAL(ac_cv_func_getaddrinfo, [ac_cv_func_getaddrinfo=yes])
-    # AC_CACHE_VAL(ac_cv_func_getnameinfo, [ac_cv_func_getnameinfo=yes])
-    # AC_CACHE_VAL(ac_cv_func_inet_pton, [ac_cv_func_inet_pton=yes])
-    # AC_CACHE_VAL(ac_cv_func_inet_ntop, [ac_cv_func_inet_ntop=yes])
-    # AC_CACHE_VAL(soup_cv_ipv6, [soup_cv_ipv6=yes])
     ;;
   *)
     os_win32=no
@@ -126,18 +119,6 @@ dnl *** Networking library checks ***
 dnl *********************************
 
 AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
-AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
-
-AC_CHECK_FUNCS(inet_pton inet_ntop inet_aton getaddrinfo getnameinfo)
-
-AC_CACHE_CHECK(IPv6 support, soup_cv_ipv6, [
-	AC_EGREP_HEADER(sockaddr_in6, netinet/in.h, soup_cv_ipv6=yes, soup_cv_ipv6=no)
-])
-case $soup_cv_ipv6 in
-yes)
-	AC_DEFINE(HAVE_IPV6, 1, [Define if you have support for IPv6 sockets])
-	;;
-esac
 
 dnl **********************************
 dnl *** SSL Library check (GnuTLS) ***
diff --git a/libsoup/soup-address.c b/libsoup/soup-address.c
index d73ec82..7ef4f46 100644
--- a/libsoup/soup-address.c
+++ b/libsoup/soup-address.c
@@ -39,9 +39,6 @@
  * #SoupAddress represents the address of a TCP connection endpoint:
  * both the IP address and the port. (It is somewhat like an
  * object-oriented version of struct sockaddr.)
- *
- * If libsoup was built with IPv6 support, #SoupAddress will allow
- * both IPv4 and IPv6 addresses.
  **/
 
 enum {
@@ -66,15 +63,12 @@ typedef struct {
 
 /* sockaddr generic macros */
 #define SOUP_SIN(priv) ((struct sockaddr_in *)priv->sockaddr)
-#ifdef HAVE_IPV6
 #define SOUP_SIN6(priv) ((struct sockaddr_in6 *)priv->sockaddr)
-#endif
 
 /* sockaddr family macros */
 #define SOUP_ADDRESS_GET_FAMILY(priv) (priv->sockaddr->sa_family)
 #define SOUP_ADDRESS_SET_FAMILY(priv, family) \
 	(priv->sockaddr->sa_family = family)
-#ifdef HAVE_IPV6
 #define SOUP_ADDRESS_FAMILY_IS_VALID(family) \
 	(family == AF_INET || family == AF_INET6)
 #define SOUP_ADDRESS_FAMILY_SOCKADDR_SIZE(family) \
@@ -83,15 +77,9 @@ typedef struct {
 #define SOUP_ADDRESS_FAMILY_DATA_SIZE(family) \
 	(family == AF_INET ? sizeof (struct in_addr) : \
 			     sizeof (struct in6_addr))
-#else
-#define SOUP_ADDRESS_FAMILY_IS_VALID(family) (family == AF_INET)
-#define SOUP_ADDRESS_FAMILY_SOCKADDR_SIZE(family) sizeof (struct sockaddr_in)
-#define SOUP_ADDRESS_FAMILY_DATA_SIZE(family) sizeof (struct in_addr)
-#endif
 
 /* sockaddr port macros */
 #define SOUP_ADDRESS_PORT_IS_VALID(port) (port >= 0 && port <= 65535)
-#ifdef HAVE_IPV6
 #define SOUP_ADDRESS_GET_PORT(priv) \
 	(priv->sockaddr->sa_family == AF_INET ? \
 		SOUP_SIN(priv)->sin_port : \
@@ -103,20 +91,12 @@ typedef struct {
 	else						\
 		SOUP_SIN6(priv)->sin6_port = port;	\
 	} G_STMT_END
-#else
-#define SOUP_ADDRESS_GET_PORT(priv) (SOUP_SIN(priv)->sin_port)
-#define SOUP_ADDRESS_SET_PORT(priv, port) (SOUP_SIN(priv)->sin_port = port)
-#endif
 
 /* sockaddr data macros */
-#ifdef HAVE_IPV6
 #define SOUP_ADDRESS_GET_DATA(priv) \
 	(priv->sockaddr->sa_family == AF_INET ? \
 		(gpointer)&SOUP_SIN(priv)->sin_addr : \
 		(gpointer)&SOUP_SIN6(priv)->sin6_addr)
-#else
-#define SOUP_ADDRESS_GET_DATA(priv) ((gpointer)&SOUP_SIN(priv)->sin_addr)
-#endif
 #define SOUP_ADDRESS_SET_DATA(priv, data, length) \
 	memcpy (SOUP_ADDRESS_GET_DATA (priv), data, length)
 
@@ -405,10 +385,7 @@ soup_address_new_from_sockaddr (struct sockaddr *sa, int len)
  * @SOUP_ADDRESS_FAMILY_IPV4: an IPv4 address
  * @SOUP_ADDRESS_FAMILY_IPV6: an IPv6 address
  *
- * The supported address families. Note that the
- * %SOUP_ADDRESS_FAMILY_IPV6 constant is available even if libsoup was
- * built without IPv6 support, but attempting to create an IPv6
- * address will fail in that case.
+ * The supported address families.
  **/
 
 /**
diff --git a/libsoup/soup-address.h b/libsoup/soup-address.h
index 8c4e7f9..b73b4ce 100644
--- a/libsoup/soup-address.h
+++ b/libsoup/soup-address.h
@@ -43,22 +43,13 @@ typedef struct {
 #define SOUP_ADDRESS_PHYSICAL "physical"
 #define SOUP_ADDRESS_SOCKADDR "sockaddr"
 
-/* gtk-doc gets confused if there's an #ifdef inside the typedef */
-#ifndef AF_INET6
-#define AF_INET6 -1
-#endif
-
 typedef enum {
 	SOUP_ADDRESS_FAMILY_INVALID = -1,
 
-	SOUP_ADDRESS_FAMILY_IPV4 = AF_INET,
-	SOUP_ADDRESS_FAMILY_IPV6 = AF_INET6
+	SOUP_ADDRESS_FAMILY_IPV4 = G_SOCKET_FAMILY_IPV4,
+	SOUP_ADDRESS_FAMILY_IPV6 = G_SOCKET_FAMILY_IPV6
 } SoupAddressFamily;
 
-#if AF_INET6 == -1
-#undef AF_INET6
-#endif
-
 #define SOUP_ADDRESS_ANY_PORT 0
 
 typedef void   (*SoupAddressCallback)            (SoupAddress         *addr,
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index 883e943..97b269a 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -83,12 +83,6 @@ typedef struct {
 } SoupSocketPrivate;
 #define SOUP_SOCKET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SOCKET, SoupSocketPrivate))
 
-#ifdef HAVE_IPV6
-#define soup_sockaddr_max sockaddr_in6
-#else
-#define soup_sockaddr_max sockaddr_in
-#endif
-
 static void set_property (GObject *object, guint prop_id,
 			  const GValue *value, GParamSpec *pspec);
 static void get_property (GObject *object, guint prop_id,
@@ -844,7 +838,7 @@ listen_watch (GIOChannel* iochannel, GIOCondition condition, gpointer data)
 {
 	SoupSocket *sock = data, *new;
 	SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock), *new_priv;
-	struct soup_sockaddr_max sa;
+	struct sockaddr_storage sa;
 	int sa_len, sockfd;
 
 	if (condition & (G_IO_HUP | G_IO_ERR)) {
@@ -1111,7 +1105,7 @@ soup_socket_get_local_address (SoupSocket *sock)
 
 	g_mutex_lock (priv->addrlock);
 	if (!priv->local_addr) {
-		struct soup_sockaddr_max bound_sa;
+		struct sockaddr_storage bound_sa;
 		int sa_len;
 
 		sa_len = sizeof (bound_sa);
@@ -1141,7 +1135,7 @@ soup_socket_get_remote_address (SoupSocket *sock)
 
 	g_mutex_lock (priv->addrlock);
 	if (!priv->remote_addr) {
-		struct soup_sockaddr_max bound_sa;
+		struct sockaddr_storage bound_sa;
 		int sa_len;
 
 		sa_len = sizeof (bound_sa);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]