* $Author$
* $Header$
*
- * Copyright (C) 1987 by the Massachusetts Institute of Technology
- *
- * $Log$
- * Revision 1.2 1987-09-04 22:57:33 wesommer
- * Rearranged timeouts, max retransmits.
- *
- * Revision 1.1 87/08/22 18:39:29 wesommer
- * Initial revision
- *
+ * (c) Copyright 1988 by the Massachusetts Institute of Technology.
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
*/
#ifndef lint
static char *rcsid_reg_stubs_c = "$Header$";
#endif lint
+
+#include <mit-copyright.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
struct hostent *hp;
struct sockaddr_in sin;
- init_ureg_err_tbl();
- init_sms_err_tbl();
+ initialize_ureg_error_table();
+ initialize_sms_error_table();
hp = gethostbyname("sms.mit.edu");
if (hp == NULL) return UNKNOWN_HOST;
char buf[1024];
int version = ntohl((u_long)1);
int call = ntohl((u_long)UREG_VERIFY_USER);
- C_Block key;
- Key_schedule ks;
+ des_cblock key;
+ des_key_schedule ks;
register char *bp = buf;
register int len;
char crypt_src[1024];
bcopy(hashidnumber, crypt_src+len, 13);
- string_to_key(hashidnumber, key);
- key_sched(key, ks);
- pcbc_encrypt(crypt_src, bp, len+14, ks, key, 1);
+ des_string_to_key(hashidnumber, key);
+ des_key_sched(key, ks);
+ des_pcbc_encrypt(crypt_src, bp, len+14, ks, key, 1);
bp += len+14+8;
len = bp - buf;
return do_call(buf, len, seq_no, login);
char buf[1024];
int version = ntohl((u_long)1);
int call = ntohl((u_long)UREG_RESERVE_LOGIN);
- C_Block key;
- Key_schedule ks;
+ des_cblock key;
+ des_key_schedule ks;
register char *bp = buf;
register int len;
- int i;
char crypt_src[1024];
char *cbp;
cbp += len;
len = cbp - crypt_src;
- string_to_key(hashidnumber, key);
- key_sched(key, ks);
- pcbc_encrypt(crypt_src, bp, len, ks, key, 1);
+ des_string_to_key(hashidnumber, key);
+ des_key_sched(key, ks);
+ des_pcbc_encrypt(crypt_src, bp, len, ks, key, 1);
#ifdef notdef
for (i = 0; i < len; i++) {
printf("%02.2x ", (unsigned char)bp[i]);
char buf[1024];
int version = ntohl((u_long)1);
int call = ntohl((u_long)UREG_SET_PASSWORD);
- C_Block key;
- Key_schedule ks;
+ des_cblock key;
+ des_key_schedule ks;
register char *bp = buf;
register int len;
- int i;
char crypt_src[1024];
char *cbp;
cbp += len;
len = cbp - crypt_src;
- string_to_key(hashidnumber, key);
- key_sched(key, ks);
- pcbc_encrypt(crypt_src, bp, len, ks, key, 1);
+ des_string_to_key(hashidnumber, key);
+ des_key_sched(key, ks);
+ des_pcbc_encrypt(crypt_src, bp, len, ks, key, 1);
#ifdef notdef
for (i = 0; i < len; i++) {
printf("%02.2x ", (unsigned char)bp[i]);
FD_ZERO(&set);
FD_SET(reg_sock, &set);
- timeout.tv_sec = 25;
+ timeout.tv_sec = 30;
timeout.tv_usec = 0;
do {
int rtn;
bcopy(ibuf + 8, (char *)&stat, sizeof(long));
stat = ntohl((u_long)stat);
- if (login) {
+ if (login && len > 12) {
bcopy(ibuf+12, login, len-12);
login[len-12] = '\0';
- }
+ } else if (login)
+ *login = '\0';
return stat;
} while (1);
} while (++retry < 10);
return ETIMEDOUT;
}
-
-/*
- * Local Variables:
- * mode: c
- * c-indent-level: 4
- * c-continued-statement-offset: 4
- * c-brace-offset: -4
- * c-argdecl-indent: 4
- * c-label-offset: -4
- * End:
- */