--- etc/afpd/kuam.c.orig Thu Nov 17 09:04:23 1994 +++ etc/afpd/kuam.c Thu Nov 11 15:20:18 1999 @@ -11,7 +11,7 @@ #include #include -#include +#include #include /* use the bsd time.h struct defs for PC too! */ @@ -81,7 +81,7 @@ int msg_byte_order; int kerror; struct timeval t_local; - unsigned long rep_err_code; + u_int32_t rep_err_code; /* BUILD REQUEST PACKET */ @@ -102,7 +102,7 @@ (void) gettimeofday(&t_local,(struct timezone *) 0); /* timestamp */ - bcopy((char *)&(t_local.tv_sec),(char *)(pkt->dat+pkt->length), 4); + memcpy((char *)(pkt->dat+pkt->length), (char *)&(t_local.tv_sec), 4); pkt->length += 4; *(pkt->dat+(pkt->length)++) = (char) life; @@ -132,8 +132,8 @@ case AUTH_MSG_KDC_REPLY: break; case AUTH_MSG_ERR_REPLY: - bcopy(pkt_err_code(rpkt),(char *) &rep_err_code,4); - if (swap_bytes) swap_u_long(rep_err_code); + memcpy((char *) &rep_err_code, pkt_err_code(rpkt), 4); + if (swap_bytes) rep_err_code = swap32(rep_err_code); return((int)rep_err_code); default: return(INTK_PROT); @@ -149,25 +149,25 @@ KTEXT tkt = &tkt_st; struct timeval t_local; int lifetime, kvno, kerror; - u_long kdc_time; + u_int32_t kdc_time; C_Block ses; char s_name[ SNAME_SZ ], s_instance[ INST_SZ ]; char rlm[ REALM_SZ ]; /* extract session key */ - bcopy(ptr,(char *)ses,8); + memcpy((char *)ses, ptr, 8); ptr += 8; /* extract server's name */ - (void) strcpy(s_name,ptr); + (void)strlcpy(s_name, ptr, sizeof(s_name)); ptr += strlen(s_name) + 1; /* extract server's instance */ - (void) strcpy(s_instance,ptr); + (void)strlcpy(s_instance, ptr, sizeof(s_instance) ); ptr += strlen(s_instance) + 1; /* extract server's realm */ - (void) strcpy(rlm,ptr); + (void)strlcpy(rlm, ptr, sizeof(rlm) ); ptr += strlen(rlm) + 1; /* extract ticket lifetime, server key version, ticket length */ @@ -178,7 +178,7 @@ ptr += 3; /* extract ticket itself */ - bcopy(ptr,(char *)(tkt->dat),tkt->length); + memcpy((char *)(tkt->dat), ptr, tkt->length); ptr += tkt->length; if (strcmp(s_name, service) || strcmp(s_instance, sinstance) || @@ -186,8 +186,8 @@ return(INTK_ERR); /* we need a better code here XXX */ /* check KDC time stamp */ - bcopy(ptr,(char *)&kdc_time,4); /* Time (coarse) */ - if (swap_bytes) swap_u_long(kdc_time); + memcpy((char *)&kdc_time, ptr, 4); /* Time (coarse) */ + if (swap_bytes) kdc_time = swap32(kdc_time); ptr += 4;