/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
#include <afsconfig.h>
#include <afs/param.h>
+#include <afs/stds.h>
+#include <roken.h>
+
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wdeprecated-declarations"
+#endif
-#include <afs/stds.h>
-#include <sys/types.h>
-#include <errno.h>
#ifdef AFS_NT40_ENV
-#include <winsock2.h>
#include <afs/errmap_nt.h>
-#define snprintf _snprintf
-#else
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
#endif
-#include <string.h>
-#include <afs/afsutil.h>
-#include <time.h>
+
+#define HC_DEPRECATED
+#include <hcrypto/des.h>
+
#include <afs/com_err.h>
#include <lwp.h>
-#include <des.h>
-#include <des_prototypes.h>
#include <rx/xdr.h>
#include <rx/rx.h>
#include <rx/rxkad.h>
+#include <rx/rxkad_convert.h>
#include <afs/auth.h>
#include <ubik.h>
int slen;
unsigned char life = time_to_life(start, end);
int len;
- des_key_schedule schedule;
+ DES_key_schedule schedule;
afs_int32 code;
answer = cipher;
printf("\n");
}
- if ((code = des_key_sched(ktc_to_cblock(key), schedule)))
+ if ((code = DES_key_sched(ktc_to_cblock(key), &schedule)))
printf("In KAAuthenticate: key_sched returned %d\n", code);
- des_pcbc_encrypt(cipher, cipher, len, schedule, ktc_to_cblockptr(key), ENCRYPT);
+ DES_pcbc_encrypt(cipher, cipher, len, &schedule, ktc_to_cblockptr(key), ENCRYPT);
*cipherLen = round_up_to_ebs(len);
if (krb_udp_debug) {
char *cell)
{
char *packet;
- des_key_schedule schedule;
+ DES_key_schedule schedule;
afs_int32 cksum;
- /* unsigned char time_msec; */
afs_int32 time_sec;
int byteOrder = pkt->byteOrder;
- des_key_sched(ktc_to_cblock(key), schedule);
- des_pcbc_encrypt(auth, auth, authLen, schedule, ktc_to_cblockptr(key), DECRYPT);
+ DES_key_sched(ktc_to_cblock(key), &schedule);
+ DES_pcbc_encrypt(auth, auth, authLen, &schedule, ktc_to_cblockptr(key), DECRYPT);
packet = auth;
if (strcmp(packet, name) != 0)
return KABADTICKET;
return KABADTICKET;
packet += strlen(packet) + 1;
getint(cksum);
- /* time_msec = */ *(unsigned char *)packet++;
+ /* Comments in the original IBM source suggest this byte was/is "time_msec" */
+ packet++;
getint(time_sec);
if ((packet - auth) > authLen)
return KABADTICKET;
code = KERB_ERR_NAME_EXP; /* XXX Could use another error code XXX */
goto abort;
}
- if (abs(startTime - now) > KTC_TIME_UNCERTAINTY) {
+ if (startTime - now > KTC_TIME_UNCERTAINTY) {
code = KERB_ERR_SERVICE_EXP; /* was KABADREQUEST */
goto abort;
}
afs_uint32 temp; /* unsigned for safety */
afs_uint32 pwexpires;
- temp = ntohl(*((afs_int32 *) (tentry.misc_auth_bytes)));
+ memcpy(&temp, tentry.misc_auth_bytes, sizeof(afs_uint32));
+ temp = ntohl(temp);
unpack_long(temp, misc_auth_bytes);
pwexpires = misc_auth_bytes[0];
if (pwexpires) {
}
/* make the ticket */
- code = des_random_key(ktc_to_cblock(&sessionKey));
+ code = DES_new_random_key(ktc_to_cblock(&sessionKey));
if (code) {
code = KERB_ERR_NULL_KEY; /* was KANOKEYS */
goto abort;
if (ntohl(server.flags) & KAFNOSEAL)
return KABADSERVER;
- code = des_random_key(ktc_to_cblock(&sessionKey));
+ code = DES_new_random_key(ktc_to_cblock(&sessionKey));
if (code) {
code = KERB_ERR_NULL_KEY; /* was KANOKEYS */
goto fail;
struct packet packet;
socklen_t fromLen;
afs_int32 code;
+ char hoststr[16];
printf("Starting to listen for UDP packets\n");
while (1) {
packet.len = code;
if (krb_udp_debug) {
printf("Kerb:udp: Got %d bytes from addr %s which are '",
- code, afs_inet_ntoa(packet.from.sin_addr.s_addr));
+ code, afs_inet_ntoa_r(packet.from.sin_addr.s_addr, hoststr));
ka_PrintBytes(packet.data, packet.len);
printf("'\n");
}
packet.len = code;
if (krb_udp_debug) {
printf("Kerb5:udp: Got %d bytes from addr %s which are '",
- code, afs_inet_ntoa(packet.from.sin_addr.s_addr));
+ code, afs_inet_ntoa_r(packet.from.sin_addr.s_addr, hoststr));
ka_PrintBytes(packet.data, packet.len);
printf("'\n");
}
strcpy(tentry->userID.name, aname);
strcpy(tentry->userID.instance, ainstance);
tentry->key_version = htonl(17);
- des_string_to_key("toa", &tentry->key);
+ DES_string_to_key("toa", &tentry->key);
tentry->flags = htonl(KAFNORMAL);
tentry->user_expiration = htonl(NEVERDATE);
tentry->max_ticket_lifetime = htonl(MAXKTCTICKETLIFETIME);
{
printf("Calling ka_LookupKey with '%s'.'%s'\n", name, inst);
*kvno = 23;
- des_string_to_key("applexx", key);
+ DES_string_to_key("applexx", key);
}
static afs_int32
printf("Called with wrong %s as authDomain\n", authDomain);
if (kvno != 23)
printf("kvno_tgs_key: being called with wrong kvno: %d\n", kvno);
- des_string_to_key("applexx", tgskey);
+ DES_string_to_key("applexx", tgskey);
return 0;
}