From: Theodore Tso Date: Tue, 9 Aug 1994 03:06:32 +0000 (+0000) Subject: Add code to strdup the hostname from gethostbyname X-Git-Tag: krb5-1.0-beta4.2~39 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d9a83689551e6250f0644572bb5e969cfb40c9e3;p=krb5.git Add code to strdup the hostname from gethostbyname git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4079 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/appl/movemail/movemail.c b/src/appl/movemail/movemail.c index 894773112..9435d0a17 100644 --- a/src/appl/movemail/movemail.c +++ b/src/appl/movemail/movemail.c @@ -535,6 +535,7 @@ char *host; krb5_principal client, server; krb5_error *err_ret = NULL; register char *cp; + char *hostname; #endif /* KRB5 */ #endif /* KERBEROS */ hp = gethostbyname(host); @@ -544,6 +545,12 @@ char *host; } #ifdef KERBEROS + hostname = malloc(strlen(hp->h_name)+1); + if (!hostname) { + sprintf(ErrMsg, "Couldn't allocate space for hostname"); + return(NOTOK); + } + strcpy(hostname, hp->h_name); sp = getservbyname(KPOP_SERVICE, "tcp"); #else sp = getservbyname("pop", "tcp"); @@ -580,8 +587,8 @@ char *host; #ifdef KERBEROS #ifdef KRB4 ticket = (KTEXT) malloc(sizeof(KTEXT_ST)); - rem = krb_sendauth(0L, s, ticket, POP_SNAME, hp->h_name, - (char *) krb_realmofhost(hp->h_name), + rem = krb_sendauth(0L, s, ticket, POP_SNAME, hostname, + (char *) krb_realmofhost(hostname), (unsigned long)0, &msg_data, &cred, schedule, (struct sockaddr_in *)0, (struct sockaddr_in *)0, @@ -605,14 +612,7 @@ char *host; goto krb5error; } -#if 0 - /* lower-case to get name for "instance" part of service name */ - for (cp = hp->h_name; *cp; cp++) - if (isupper(*cp)) - *cp = tolower(*cp); -#endif - - if (retval = krb5_sname_to_principal(hp->h_name, POP_SNAME, + if (retval = krb5_sname_to_principal(hostname, POP_SNAME, KRB5_NT_SRV_HST, &server)) { goto krb5error; } @@ -640,6 +640,7 @@ char *host; return(NOTOK); } #endif /* KRB5 */ + free(hostname); #endif /* KERBEROS */ sfi = fdopen(s, "r");