* Save the data, if it is new, so that we can continue looking
* at it if the authorization we try doesn't work
*/
+ /* ANSI X3.159-1989 section 3.3.6 indicates that this entire
+ conditional is undefined. It will probably work on flat address
+ space UNIX systems though. --eichin@mit.edu */
if (data < _auth_send_data ||
data > _auth_send_data + sizeof(_auth_send_data)) {
auth_send_cnt = cnt > sizeof(_auth_send_data)
? sizeof(_auth_send_data)
: cnt;
- bcopy((void *)data, (void *)_auth_send_data, auth_send_cnt);
+ memcpy((void *)_auth_send_data, (void *)data, auth_send_cnt);
auth_send_data = _auth_send_data;
} else {
/*
Name, cnt, sizeof(savename)-1);
return;
}
- bcopy((void *)data, (void *)savename, cnt);
+ memcpy((void *)savename, (void *)data, cnt);
savename[cnt] = '\0'; /* Null terminate */
if (auth_debug_mode)
printf(">>>%s: Got NAME [%s]\r\n", Name, savename);
key ? key->type : -1, SK_DES);
return;
}
- bcopy((void *)key->data, (void *)fbp->krbdes_key, sizeof(Block));
+ memcpy((void *)fbp->krbdes_key, (void *)key->data, sizeof(Block));
fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_ENCRYPT-1]);
fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_DECRYPT-1]);
register struct stinfo *stp;
{
- bcopy((void *)seed, (void *)stp->str_iv, sizeof(Block));
- bcopy((void *)seed, (void *)stp->str_output, sizeof(Block));
+ memcpy((void *)stp->str_iv, (void *)seed, sizeof(Block));
+ memcpy((void *)stp->str_output, (void *)seed, sizeof(Block));
des_key_sched(stp->str_ikey, stp->str_sched);
Block key;
register struct stinfo *stp;
{
- bcopy((void *)key, (void *)stp->str_ikey, sizeof(Block));
+ memcpy((void *)stp->str_ikey, (void *)key, sizeof(Block));
des_key_sched(key, stp->str_sched);
- bcopy((void *)stp->str_iv, (void *)stp->str_output, sizeof(Block));
+ memcpy((void *)stp->str_output, (void *)stp->str_iv, sizeof(Block));
stp->str_index = sizeof(Block);
}
if (index == sizeof(Block)) {
Block b;
des_ecb_encrypt(stp->str_output, b, stp->str_sched, 1);
- bcopy((void *)b, (void *)stp->str_feed, sizeof(Block));
+ memcpy((void *)stp->str_feed,(void *)b,sizeof(Block));
index = 0;
}
if (index == sizeof(Block)) {
Block b;
des_ecb_encrypt(stp->str_output, b, stp->str_sched, 1);
- bcopy((void *)b, (void *)stp->str_feed, sizeof(Block));
+ memcpy((void *)stp->str_feed, (void *)b, sizeof(Block));
stp->str_index = 1; /* Next time will be 1 */
index = 0; /* But now use 0 */
}
if (index == sizeof(Block)) {
Block b;
des_ecb_encrypt(stp->str_feed, b, stp->str_sched, 1);
- bcopy((void *)b, (void *)stp->str_feed, sizeof(Block));
+ memcpy((void *)stp->str_feed,(void *)b,sizeof(Block));
index = 0;
}
*s++ ^= stp->str_feed[index];
if (index == sizeof(Block)) {
Block b;
des_ecb_encrypt(stp->str_feed, b, stp->str_sched, 1);
- bcopy((void *)b, (void *)stp->str_feed, sizeof(Block));
+ memcpy((void *)stp->str_feed, (void *)b, sizeof(Block));
stp->str_index = 1; /* Next time will be 1 */
index = 0; /* But now use 0 */
}
* Length or contents are different
*/
kp->keylen = len;
- bcopy(keyid, kp->keyid, len);
+ memcpy(kp->keyid, keyid, len);
if (ep->keyid)
(void)(*ep->keyid)(dir, kp->keyid, &kp->keylen);
} else {
? ENCRYPT_ENC_KEYID : ENCRYPT_DEC_KEYID;
if (saveit) {
struct key_info *kp = &ki[(dir == DIR_ENCRYPT) ? 0 : 1];
- bcopy(keyid, kp->keyid, keylen);
+ memcpy(kp->keyid, keyid, keylen);
kp->keylen = keylen;
}
printf("No local realm\r\n");
return;
}
- bcopy((void *)data, (void *)auth.dat, auth.length = cnt);
+ memcpy((void *)auth.dat, (void *)data, auth.length = cnt);
if (auth_debug_mode) {
printf("Got %d bytes of authentication data\r\n", cnt);
printf("CK: %d:", kerberos4_cksum(auth.dat, auth.length));
return;
}
#ifdef ENCRYPTION
- bcopy((void *)adat.session, (void *)session_key, sizeof(Block));
+ memcpy((void *)session_key, (void *)adat.session, sizeof(Block));
#endif /* ENCRYPTION */
krb_kntoln(&adat, name);
}
des_key_sched(session_key, sched);
- bcopy((void *)data, (void *)datablock, sizeof(Block));
+ memcpy((void *)datablock, (void *)data, sizeof(Block));
/*
* Take the received encrypted challenge, and encrypt
* it again to get a unique session_key for the
return;
switch (*data++) {
case KRB4_ENCPWD_AUTH:
- bcopy((void *)data, (void *)auth.dat, auth.length = cnt);
+ memcpy((void *)auth.dat, (void *)data, auth.length = cnt);
gethostname(lhostname, sizeof(lhostname));
if ((cp = index(lhostname, '.')) != 0) *cp = '\0';
return;
}
- bcopy((void *)adat.session, (void *)session_key, sizeof(Block));
+ memcpy((void *)session_key,(void *)adat.session,sizeof(Block));
Data(ap, KRB4_ENCPWD_ACCEPT, (void *)0, 0);
auth_finished(ap, AUTH_USER);
break;
* Take the received random challenge text and save
* for future authentication.
*/
- bcopy((void *)data, (void *)challenge, sizeof(Block));
+ memcpy((void *)challenge, (void *)data, sizeof(Block));
break;
gethostname(hostname, sizeof(hostname));
realm = krb_realmofhost(hostname);
- bcopy((void *)data, (void *)challenge, cnt);
+ memcpy((void *)challenge, (void *)data, cnt);
memset(user_passwd, 0, sizeof(user_passwd));
local_des_read_pw_string(user_passwd, sizeof(user_passwd)-1, "Password: ", 0);
UserPassword = user_passwd;
}
/* XXX assume jmp_buf is typedef'ed to an array */
- bcopy((char *)old_env, (char *)env, sizeof(env));
+ memcpy((char *)env, (char *)old_env, sizeof(env));
if (setjmp(env))
goto lose;
/*
pop_signals();
*/
- bcopy((char *)env, (char *)old_env, sizeof(env));
+ memcpy((char *)old_env, (char *)env, sizeof(env));
if (verify)
memset(key_string, 0, sizeof (key_string));
s[max-1] = 0; /* force termination */
cnt--;
switch (*data++) {
case RSA_ENCPWD_AUTH:
- bcopy((void *)data, (void *)auth.dat, auth.length = cnt);
+ memcpy((void *)auth.dat, (void *)data, auth.length = cnt);
if ((fp=fopen(key_file, "r"))==NULL) {
Data(ap, RSA_ENCPWD_REJECT, (void *)"Auth failed", -1);
ptr +=NumEncodeLengthOctets(chalkey_len);
*ptr++ = 0x04; /* OCTET STRING */
*ptr++ = challenge_len;
- bcopy(challenge, ptr, challenge_len);
+ memcpy(ptr, challenge, challenge_len);
ptr += challenge_len;
*ptr++ = 0x04; /* OCTET STRING */
EncodeLength(ptr, i);
ptr += NumEncodeLengthOctets(i);
- bcopy(key, ptr, i);
+ memcpy(ptr, key, i);
chalkey_len = 1+NumEncodeLengthOctets(chalkey_len)+chalkey_len;
Data(ap, RSA_ENCPWD_CHALLENGEKEY, (void *)chalkey, chalkey_len);
}
* Verify that the response to the challenge is correct.
*/
- bcopy((void *)data, (void *)chalkey, cnt);
+ memcpy((void *)chalkey, (void *)data, cnt);
ptr = (char *) &chalkey[0];
ptr += DecodeHeaderLength(chalkey);
if (*ptr != 0x04) {
*ptr++;
challenge_len = DecodeValueLength(ptr);
ptr += NumEncodeLengthOctets(challenge_len);
- bcopy(ptr, challenge, challenge_len);
+ memcpy(challenge, ptr, challenge_len);
ptr += challenge_len;
if (*ptr != 0x04) {
return;
*ptr++;
pubkey_len = DecodeValueLength(ptr);
ptr += NumEncodeLengthOctets(pubkey_len);
- bcopy(ptr, pubkey, pubkey_len);
+ memcpy(pubkey, ptr, pubkey_len);
memset(user_passwd, 0, sizeof(user_passwd));
local_des_read_pw_string(user_passwd, sizeof(user_passwd)-1, "Password: ", 0);
UserPassword = user_passwd;
p = (char **)malloc((size_t)(sizeof(char *) * (cnt + 2)));
if (!p)
return (-1);
- bcopy(environ, p, cnt * sizeof(char *));
+ memcpy(p, environ, cnt * sizeof(char *));
environ = p;
}
environ[cnt + 1] = NULL;
len = strlen(str) + 1;
if (!(copy = malloc((u_int)len)))
return (NULL);
- bcopy(str, copy, len);
+ memcpy(copy, str, len);
return (copy);
}