about summary refs log tree commit diff
path: root/resolv/resolv.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-21 04:12:25 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-21 04:12:25 +0000
commit2f54c82dacba646139a773ab43fc2cdb47ee1f5b (patch)
tree083e05712adaa46da2ff502b6382b9eeaa0420a1 /resolv/resolv.h
parent89bc5366ba0418306d70becabe511a3f56a084e3 (diff)
downloadglibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.gz
glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.xz
glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.zip
Update.
	* elf/Makefile (tests): Add nodlopen.  Add rules to generate nodlopen.
	* include/dlfcn.h: Define __RTLD_DLOPEN.
	* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
	and this is a dlopen() call, do not load the binary.
	* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* configure.in: Add test for -z nodelete option.
	* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Make Hesiod NSS module thread-safe.

	* hesiod/README.hesiod: Update.

	* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
	_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
	_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
	* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
	hesiod-proto.
	* hesiod/nss_hesiod/hesiod-init.c: New file.
	* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
	* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
	* hesiod/nss_hesiod/nss_hesiod.h: New file.
	* hesiod/nss_hesiod/hesiod-service.c
	(_nss_hesiod_getservbyport_r): New function.  Provide support for
	looking up services by port number.
	* hesiod/nss_hesiod/hesiod-proto.c: New file.

	* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
	* hesiod/hesiod.h: Likewise.
	* hesiod/hesiod_p.h: Likewise.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Fix problems with `struct __res_state' getting too big.
	* resolv/resolv.h (struct __sockaddr_in): New definition.
	(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
	the private parts of the structure to save some space.
	* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
	(struct sockaddr_in *) in call to sock_eq.
	Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].

2000-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
Diffstat (limited to 'resolv/resolv.h')
-rw-r--r--resolv/resolv.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/resolv/resolv.h b/resolv/resolv.h
index 058c631279..d9f798b3b2 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -123,6 +123,16 @@ struct res_sym {
 #define	RES_DFLRETRY		2	/* Default #/tries. */
 #define	RES_MAXTIME		65535	/* Infinity, in milliseconds. */
 
+/*
+ * Like "struct sockaddr_in", but without any padding (to avoid making
+ * "struct __rest_state" too large).
+ */
+struct __sockaddr_in {
+	__SOCKADDR_COMMON (sin_);
+	in_port_t	sin_port;
+	struct in_addr	sin_addr;
+};
+
 struct __res_state {
 	int	retrans;	 	/* retransmition time interval */
 	int	retry;			/* number of times to retransmit */
@@ -153,7 +163,7 @@ struct __res_state {
 			u_int16_t		nscount;
 			u_int16_t		nstimes[MAXNS];	/* ms. */
 			int			nssocks[MAXNS];
-			struct sockaddr_in	nsaddrs[MAXNS];
+			struct __sockaddr_in	nsaddrs[MAXNS];
 		} _ext;
 	} _u;
 };