summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os/get_krbhst.c
diff options
context:
space:
mode:
authorMark Eichin <eichin@mit.edu>1995-05-03 00:54:34 +0000
committerMark Eichin <eichin@mit.edu>1995-05-03 00:54:34 +0000
commit8391f4e5927624bafcfa95656ca59dc834159088 (patch)
treec24c645e2ecfee6e089cb8220f9742d6f203831d /src/lib/krb5/os/get_krbhst.c
parent9299aa33b1b73b5f4c05d0a47a9379fd79f38ee0 (diff)
downloadkrb5-8391f4e5927624bafcfa95656ca59dc834159088.tar.gz
krb5-8391f4e5927624bafcfa95656ca59dc834159088.tar.xz
krb5-8391f4e5927624bafcfa95656ca59dc834159088.zip
* get_krbhst.c (krb5_get_krbhst): look in KRB5_ENV_KDC
(KERBEROS_SERVER) for a REALM:SERVER string. This overrides anything else for that realm and is intended for un-installed client use, testsuite use, and diagnostic use. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5686 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/os/get_krbhst.c')
-rw-r--r--src/lib/krb5/os/get_krbhst.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/krb5/os/get_krbhst.c b/src/lib/krb5/os/get_krbhst.c
index 2a0042bbb3..ba0f878b0f 100644
--- a/src/lib/krb5/os/get_krbhst.c
+++ b/src/lib/krb5/os/get_krbhst.c
@@ -77,6 +77,24 @@ krb5_get_krbhst(context, realm, hostlist)
* case.
*/
+ cp = getenv(KRB5_ENV_KDC);
+ /* Format is REALM:SERVER */
+ if (cp != NULL
+ && strncmp (realm->data, cp, realm->length) == 0
+ && cp[realm->length] == ':') {
+ rethlist = (char **)calloc(2, sizeof (*rethlist));
+ if (rethlist == NULL)
+ return ENOMEM;
+ rethlist[0] = strdup(cp + realm->length + 1);
+ if (rethlist[0] == NULL) {
+ krb5_xfree(rethlist);
+ return ENOMEM;
+ }
+ rethlist[1] = NULL;
+ *hostlist = rethlist;
+ return 0;
+ }
+
krb5_find_config_files();
if (!(config_file = fopen(krb5_config_file, "r")))
/* can't open */