about summary refs log tree commit diff
path: root/resolv/resolv.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-06-18 22:22:57 +0000
committerUlrich Drepper <drepper@redhat.com>2007-06-18 22:22:57 +0000
commitae1ad3aebbc397212b4bb2eec92ff19f8c1f913a (patch)
treeb1ec4a328c2f5065d05e19ca024ed9be58dcf28c /resolv/resolv.h
parent3abee0b7f15aadf44f442ccdea30f0bdbe113293 (diff)
downloadglibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.tar.gz
glibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.tar.xz
glibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.zip
[BZ #4647]
            Tomas Janousek  <tjanouse@redhat.com>
            Ulrich Drepper  <drepper@redhat.com>

	[BZ #4647]
	* resolv/res_send.c (send_dg): Remove socket_pf.  Use ipv6_unavail
	member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
	socket.
	* resolv/resolv.h (__res_state): Add ipv6_unavail member.  Make
	unused member a bitmap.
	* resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
	servers are configured.

2007-06-18  Jakub Jelinek  <jakub@redhat.com>
Diffstat (limited to 'resolv/resolv.h')
-rw-r--r--resolv/resolv.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/resolv/resolv.h b/resolv/resolv.h
index 9aa09b8701..105631ee7d 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -110,21 +110,25 @@ struct __res_state {
 		nsaddr_list[MAXNS];	/* address of name server */
 # define nsaddr	nsaddr_list[0]		/* for backward compatibility */
 	u_short	id;			/* current message id */
+	/* 2 byte hole here.  */
 	char	*dnsrch[MAXDNSRCH+1];	/* components of domain to search */
 	char	defdname[256];		/* default domain (deprecated) */
 	u_long	pfcode;			/* RES_PRF_ flags - see below. */
 	unsigned ndots:4;		/* threshold for initial abs. query */
 	unsigned nsort:4;		/* number of elements in sort_list[] */
-	char	unused[3];
+	unsigned ipv6_unavail:1;	/* connecting to IPv6 server failed */
+	unsigned unused:23;
 	struct {
 		struct in_addr	addr;
 		u_int32_t	mask;
 	} sort_list[MAXRESOLVSORT];
+	/* 4 byte hole here on 64-bit architectures.  */
 	res_send_qhook qhook;		/* query hook */
 	res_send_rhook rhook;		/* response hook */
 	int	res_h_errno;		/* last one set for this context */
 	int	_vcsock;		/* PRIVATE: for res_send VC i/o */
 	u_int	_flags;			/* PRIVATE: see below */
+	/* 4 byte hole here on 64-bit architectures.  */
 	union {
 		char	pad[52];	/* On an i386 this means 512b total. */
 		struct {