summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/krb5/os/ChangeLog6
-rw-r--r--src/lib/krb5/os/dnssrv.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog
index 8282280cb..78e4936bf 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-19 Ken Raeburn <raeburn@mit.edu>
+
+ * dnssrv.c (krb5int_make_srv_query_realm): Append a dot to the
+ hostname, if there's room in the buffer, to avoid domain search
+ paths.
+
2004-10-19 Tom Yu <tlyu@mit.edu>
* dnsglue.c (initparse): Skip query type and class when we lack
diff --git a/src/lib/krb5/os/dnssrv.c b/src/lib/krb5/os/dnssrv.c
index e0c593010..dffdc8d07 100644
--- a/src/lib/krb5/os/dnssrv.c
+++ b/src/lib/krb5/os/dnssrv.c
@@ -139,6 +139,10 @@ krb5int_make_srv_query_realm(const krb5_data *realm,
srv->priority = priority;
srv->weight = weight;
srv->port = port;
+ /* The returned names are fully qualified. Don't let the
+ local resolver code do domain search path stuff. */
+ if (strlen(host) + 2 < sizeof(host))
+ strcat(host, ".");
srv->host = strdup(host);
if (srv->host == NULL) {
free(srv);