X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/0ea7f4a0e18af1fe2b08865d8472f7b0aab220b5..cb974713c2dde56749592d21c0da2a5ad3092400:/update/auth_003.c diff --git a/update/auth_003.c b/update/auth_003.c index acea5d69..101be11b 100644 --- a/update/auth_003.c +++ b/update/auth_003.c @@ -15,7 +15,11 @@ #include #include +#ifdef HAVE_KRB4 #include +#else +#include +#endif #include RCSID("$Header$"); @@ -44,6 +48,7 @@ void auth_003(int conn, char *str) char *p, *first, *data; char name[ANAME_SZ], inst[INST_SZ], realm[REALM_SZ]; char aname[ANAME_SZ], ainst[INST_SZ], arealm[REALM_SZ]; + char *lrealm = NULL; size_t size; long code; struct utsname uts; @@ -143,7 +148,11 @@ void auth_003(int conn, char *str) { strcpy(aname, master); strcpy(ainst, ""); - if (krb_get_lrealm(arealm, 1)) + if (!krb5_get_default_realm(context, &lrealm)) + { + strcpy(arealm, lrealm); + } + else strcpy(arealm, KRB_REALM); } code = EPERM; @@ -159,6 +168,8 @@ void auth_003(int conn, char *str) have_authorization = 1; out: + if (lrealm) + free(lrealm); if (client) krb5_free_principal(context, client); if (server)