]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2005-06-08 Karl Kelley <kekelley@iastate.edu>
authorRoland McGrath <roland@gnu.org>
Mon, 18 Jul 2005 02:01:06 +0000 (02:01 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 18 Jul 2005 02:01:06 +0000 (02:01 +0000)
[BZ #1088]
* hesiod/hesiod_p.h (struct hesiod_p): Add classes array.
* hesiod/hesiod.c (hesiod_init): Initialize classes.  Fail if no
valid classes were given or if both are equal.
(hesiod_resolve): Use ctx->classes instead of hardcoded C_IN
and C_HS order.
(parse_config_file): Handle classes keyword.
* hesiod/README.hesiod: Mention addition of the classes keyword.

hesiod/README.hesiod
hesiod/hesiod_p.h

index 18cd5d45dd4ddf567a434aa3bd40ffb711993d17..259ce8d44756619176b7476240a4264c61202074 100644 (file)
@@ -71,6 +71,14 @@ will want to create your own.  It should look something like:
 
   rhs=.your.domain
   lhs=.ns
+  classes=in,hs
+
+The optional classes settings specifies which DNS classes Hesiod
+should do lookups in.  Possible values are IN (the preferred class)
+and  HS (the deprecated class, still used by some sites).
+You may specify both classes separated by a comma to try one class
+first and then the other if no entry is available in the first
+class.  The default value of the classes variable is `IN,HS'.
 
 The value of rhs can be overridden by the environment variable
 `HES_DOMAIN'.
index 71aca0976d54a68e57b7f0f8bd2e0889555c1275..5010d71bc91879c46e3ece62d951d442835fb9af 100644 (file)
@@ -41,6 +41,7 @@ struct hesiod_p {
        void            (*res_set)(struct hesiod_p *, struct __res_state *,
                                   void (*)(void *));
        struct __res_state * (*res_get)(struct hesiod_p *);
+       int             classes[2];     /* The class search order. */
 };
 
 #define MAX_HESRESP    1024