version 1.43, 2003/04/07 21:13:54 |
version 1.44, 2003/05/07 20:39:29 |
|
|
#endif |
#endif |
|
|
void usage(void); |
void usage(void); |
void secure_mode(int *, char *, char *, char *, size_t); |
void secure_mode(int *, char *, char *, size_t, char *, size_t); |
void normal_mode(char *, int, char *, char *); |
void normal_mode(char *, int, char *, char *); |
void timedout(int); |
void timedout(int); |
void convert_db(void); |
void convert_db(void); |
|
|
|
|
alarm(180); |
alarm(180); |
if (!defaultsetup) |
if (!defaultsetup) |
secure_mode(&n, key, seed, buf, sizeof(buf)); |
secure_mode(&n, key, seed, sizeof seed, buf, sizeof(buf)); |
else |
else |
normal_mode(pp->pw_name, n, key, seed); |
normal_mode(pp->pw_name, n, key, seed); |
alarm(0); |
alarm(0); |
|
|
} |
} |
|
|
void |
void |
secure_mode(int *count, char *key, char *seed, char *buf, size_t bufsiz) |
secure_mode(int *count, char *key, char *seed, size_t seedlen, |
|
char *buf, size_t bufsiz) |
{ |
{ |
char *p, newseed[SKEY_MAX_SEED_LEN + 2]; |
char *p, newseed[SKEY_MAX_SEED_LEN + 2]; |
int i, n; |
int i, n; |
|
|
break; /* Valid seed */ |
break; /* Valid seed */ |
} |
} |
if (newseed[0] != '\0') |
if (newseed[0] != '\0') |
(void)strlcpy(seed, newseed, sizeof seed); |
(void)strlcpy(seed, newseed, seedlen); |
|
|
for (i = 0; ; i++) { |
for (i = 0; ; i++) { |
if (i >= 2) |
if (i >= 2) |