[libsoup] Belatedly clean up some dns/socket-related stuff
- From: Dan Winship <danw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libsoup] Belatedly clean up some dns/socket-related stuff
- Date: Tue, 13 Oct 2009 16:46:01 +0000 (UTC)
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]