--- etc/afpd/send_to_kdc.c.orig Sun Nov 20 12:34:54 1994 +++ etc/afpd/send_to_kdc.c Thu Nov 11 14:40:34 1999 @@ -35,7 +35,7 @@ #include #include #include -#include +#incldue #define S_AD_SZ sizeof(struct sockaddr_in) @@ -85,6 +85,7 @@ * after several retries */ +int send_to_kdc(pkt,rpkt,realm) KTEXT pkt; KTEXT rpkt; @@ -106,7 +107,7 @@ * local realm. */ if (realm) - (void) strcpy(lrealm, realm); + (void)strlcpy(lrealm, realm, sizeof(lrealm) ); else if (krb_get_lrealm(lrealm,1)) { if (krb_debug) @@ -127,7 +128,7 @@ if (krb_debug) printf("krb_udp_port is %d\n", krb_udp_port); } - bzero((char *)&to, S_AD_SZ); + memset((char *)&to, 0, S_AD_SZ); hostlist = (struct hostent *) malloc(sizeof(struct hostent)); if (!hostlist) return (/*errno */SKDC_CANT); @@ -166,7 +167,7 @@ sizeof(struct hostent)*(n_hosts+1)); if (!hostlist) return /*errno */SKDC_CANT; - bcopy((char *)host, (char *)&hostlist[n_hosts-1], + memcpy((char *)&hostlist[n_hosts-1], (char *)host, sizeof(struct hostent)); host = &hostlist[n_hosts-1]; cp = malloc((unsigned)host->h_length); @@ -174,7 +175,7 @@ retval = /*errno */SKDC_CANT; goto rtn; } - bcopy((char *)host->h_addr, cp, host->h_length); + memcpy( cp, (char *)host->h_addr, host->h_length); /* At least Sun OS version 3.2 (or worse) and Ultrix version 2.2 (or worse) only return one name ... */ #if !(defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) @@ -185,10 +186,10 @@ } #endif /* ULTRIX022 || SunOS */ host->h_addr = cp; - bzero((char *)&hostlist[n_hosts], + memset((char *)&hostlist[n_hosts], 0, sizeof(struct hostent)); to.sin_family = host->h_addrtype; - bcopy(host->h_addr, (char *)&to.sin_addr, + memcpy((char *)&to.sin_addr, host->h_addr, host->h_length); to.sin_port = krb_udp_port; if (send_recv(pkt, rpkt, f, &to, hostlist)) { @@ -211,7 +212,7 @@ for (retry = 0; retry < CLIENT_KRB_RETRY; ++retry) { for (host = hostlist; host->h_name != (char *)NULL; host++) { to.sin_family = host->h_addrtype; - bcopy(host->h_addr, (char *)&to.sin_addr, + memcpy((char *)&to.sin_addr, host->h_addr, host->h_length); if (send_recv(pkt, rpkt, f, &to, hostlist)) { retval = KSUCCESS; @@ -244,6 +245,7 @@ * return 1 on success, 0 on failure */ +int static send_recv(pkt,rpkt,f,_to,addrs) KTEXT pkt; KTEXT rpkt; @@ -303,7 +305,7 @@ fflush(stdout); } for (hp = addrs; hp->h_name != (char *)NULL; hp++) { - if (!bcmp(hp->h_addr, (char *)&from.sin_addr.s_addr, + if (!memcmp(hp->h_addr, (char *)&from.sin_addr.s_addr, hp->h_length)) { if (krb_debug) { printf("Received it\n");