* Applied wesley.craig@umich.edu's KPOP patches. According to him:
[mmh] / zotnet / mts / client.c
index 2093374..0095959 100644 (file)
@@ -92,8 +92,7 @@ client (char *args, char *protocol, char *service, int rproto,
     char *arguments[MAXARGS];
     register struct hostent *hp;
     register struct servent *sp;
-/* we assume netent and getnetbyaddr come with gethostbyname */
-#ifdef HAVE_GETHOSTBYNAME
+#ifndef        HAVE_GETHOSTBYNAME
     register struct netent *np;
 #endif
 
@@ -209,6 +208,7 @@ rcaux (struct servent *sp, struct hostent *hp, int rproto,
 
 #ifdef KPOP
     int rem;
+    struct hostent *hp2;
 #endif /* KPOP */
 
     for (ap = nets; ap < n1; ap++)
@@ -257,7 +257,11 @@ rcaux (struct servent *sp, struct hostent *hp, int rproto,
     if (kservice) {    /* "pop" */
        char *instance;
 
-       if ((instance = strdup (hp->h_name)) == NULL) {
+       if (( hp2 = gethostbyaddr( hp->h_addr, hp->h_length, hp->h_addrtype ))
+               == NULL ) {
+           return NOTOK;
+       }
+       if ((instance = strdup (hp2->h_name)) == NULL) {
            close (sd);
            strncpy (response, "Out of memory.", len_response);
            return OOPS2;