about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-07-03 20:31:23 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-07-03 20:57:28 +0200
commitf30a54b21b83f254533c59ca72ad17af5249c6be (patch)
tree174c6e8b77d8fc1514f4108e3290b91d19d838a6 /ChangeLog
parent352f4ff9a268b81ef5d4b2413f582565806e4790 (diff)
downloadglibc-f30a54b21b83f254533c59ca72ad17af5249c6be.tar.gz
glibc-f30a54b21b83f254533c59ca72ad17af5249c6be.tar.xz
glibc-f30a54b21b83f254533c59ca72ad17af5249c6be.zip
resolv: Introduce struct resolv_conf with extended resolver state
This change provides additional resolver configuration state which
is not exposed through the _res ABI.  It reuses the existing
initstamp field in the supposedly-private part of _res.  Some effort
is undertaken to avoid memory safety issues introduced by applications
which directly patch the _res object.

With this commit, only the initstamp field is moved into struct
resolv_conf.  Additional members will be added later, eventually
migrating the entire resolver configuration.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index edd0e69491..db534332da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2017-06-30  Florian Weimer  <fweimer@redhat.com>
 
+	Add extended resolver state/configuration (struct resolv_conf).
+	* resolv/resolv_conf.h, resolv/resolv_conf.c: New files.
+	* resolv/res-close.c (__res_iclose): Call __resolv_conf_detach.
+	* resolv/res_init.c (res_vinit_1): Do not initialize initstamp.
+	(__res_vinit): Call __resolv_conf_allocate and
+	__resolv_conf_attach.
+	* resolv/resolv_context.h (struct resolv_context): Add conf member
+	of type struct resolv_conf.
+	* resolv/resolv_context.c (maybe_init): Get initstamp from struct
+	resolv_conf.  Update conf member after initialization.
+	* resolv/Makefile (routines): Add resolv_conf.
+	* resolv/bits/types/res_state.h [_LIBC] (struct __res_state):
+	Rename _u._ext.initstamp to _u._ext.__glibc_extension_index.
+	[!_LIBC] (struct __res_state): Rename _u._ext._initstamp to
+	_u._ext.__glibc_reserved.
+
+2017-06-30  Florian Weimer  <fweimer@redhat.com>
+
 	[BZ #21668]
 	Introduce temporary resolver contexts (struct resolv_conf).
 	* resolv/resolv-internal.h (__res_context_mkquery)