diff options
| author | John Kohl <jtkohl@mit.edu> | 1991-03-21 13:55:56 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1991-03-21 13:55:56 +0000 |
| commit | 95177e90d7dd48cf155d5a952a455133f8972e45 (patch) | |
| tree | 7179e799dc44cf7ea91a3fb04c510571d0a59538 /src | |
| parent | c152f3ea365f09d14f303432b1843f018d50d5d1 (diff) | |
use new krb5_sname_to_principal
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1942 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/appl/movemail/movemail.c | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/src/appl/movemail/movemail.c b/src/appl/movemail/movemail.c index 4ff3d342c2..1bf9bb88fb 100644 --- a/src/appl/movemail/movemail.c +++ b/src/appl/movemail/movemail.c @@ -350,6 +350,7 @@ xmalloc (size) #include <des.h> #endif /* KRB4 */ #ifdef KRB5 +#include <krb5/los-proto.h> #include <com_err.h> #include <ctype.h> #endif /* KRB5 */ @@ -507,12 +508,9 @@ char *host; #endif /* KRB4 */ #ifdef KRB5 krb5_error_code retval; - char **hrealms; - krb5_data aserver[3], *server[4]; krb5_ccache ccdef; - krb5_principal client; + krb5_principal client, server; krb5_error *err_ret; - char *remote_host; register char *cp; #endif /* KRB5 */ #endif /* KERBEROS */ @@ -584,29 +582,18 @@ char *host; goto krb5error; } - /* copy the hostname into non-volatile storage */ - remote_host = malloc(strlen(hp->h_name) + 1); - (void) strcpy(remote_host, hp->h_name); - - if (retval = krb5_get_host_realm(remote_host, &hrealms)) { - goto krb5error; - } - /* lower-case to get name for "instance" part of service name */ - for (cp = remote_host; *cp; cp++) + for (cp = hp->h_name; *cp; cp++) if (isupper(*cp)) *cp = tolower(*cp); - aserver[0].length = strlen(hrealms[0]); - aserver[0].data = hrealms[0]; - aserver[1].length = strlen(POP_SERVICE); - aserver[1].data = POP_SERVICE; - aserver[2].length = strlen(remote_host); - aserver[2].data = remote_host; - server[0] = &aserver[0]; - server[1] = &aserver[1]; - server[2] = &aserver[2]; - server[3] = 0; + if (retval = krb5_sname_to_principal(hp->h_name, POP_SERVICE, + FALSE, /* FALSE means don't + canonicalize hostname + (we already have...) */ + &server)) { + goto krb5error; + } retval = krb5_sendauth((krb5_pointer) &s, "KPOPV1.0", client, server, AP_OPTS_MUTUAL_REQUIRED, |
