Try to get realm of local host if no default realm is available.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2361 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -8,16 +8,31 @@ krb5_set_default_realm(krb5_context context,
|
||||
{
|
||||
const char *foo;
|
||||
char *tmp;
|
||||
char **realms = NULL;
|
||||
|
||||
if (realm == NULL)
|
||||
if (realm == NULL){
|
||||
foo = krb5_config_get_string (context->cf,
|
||||
"libdefaults",
|
||||
"default_realm",
|
||||
NULL);
|
||||
else
|
||||
if(foo == NULL){
|
||||
krb5_error_code ret;
|
||||
ret = krb5_get_host_realm(context, NULL, &realms);
|
||||
if(ret)
|
||||
return ret;
|
||||
foo = realms[0];
|
||||
}
|
||||
} else
|
||||
foo = realm;
|
||||
|
||||
tmp = strdup (foo);
|
||||
if(realms){
|
||||
char **q;
|
||||
for(q = realms; *q; q++)
|
||||
free(*q);
|
||||
free(realms);
|
||||
}
|
||||
|
||||
if (tmp == NULL)
|
||||
return ENOMEM;
|
||||
context->default_realm = tmp;
|
||||
|
Reference in New Issue
Block a user