version 1.24, 1999/09/10 10:09:28 |
version 1.25, 2000/11/16 15:15:58 |
|
|
|
|
if (gethostname(hostname, sizeof(hostname)) < 0) |
if (gethostname(hostname, sizeof(hostname)) < 0) |
err(1, "gethostname"); |
err(1, "gethostname"); |
(void)strncpy(defaultseed, hostname, sizeof(defaultseed) - 1); |
for (i = 0, p = defaultseed; hostname[i] && i < SKEY_NAMELEN; i++) { |
defaultseed[SKEY_NAMELEN] = '\0'; |
if (isalpha(hostname[i])) { |
|
if (isupper(*p)) |
|
*p++ = tolower(hostname[i]); |
|
} else if (isdigit(hostname[i])) |
|
*p++ = hostname[i]; |
|
} |
|
*p = '\0'; |
(void)time(&now); |
(void)time(&now); |
(void)sprintf(tbuf, "%05ld", (long) (now % 100000)); |
(void)sprintf(tbuf, "%05ld", (long) (now % 100000)); |
(void)strncat(defaultseed, tbuf, sizeof(defaultseed) - 5); |
(void)strncat(defaultseed, tbuf, sizeof(defaultseed) - 5); |
|
|
skey.seed); |
skey.seed); |
|
|
/* |
/* |
|
* Sanity check old seed. |
|
*/ |
|
l = strlen(skey.seed); |
|
for (p = skey.seed; *p; p++) { |
|
if (isalpha(*p)) { |
|
if (isupper(*p)) |
|
*p = tolower(*p); |
|
} else if (!isdigit(*p)) { |
|
memmove(p, p + 1, l - (p - skey.seed)); |
|
l--; |
|
} |
|
} |
|
|
|
/* |
* Let's be nice if they have an skey.seed that |
* Let's be nice if they have an skey.seed that |
* ends in 0-8 just add one |
* ends in 0-8 just add one |
*/ |
*/ |
l = strlen(skey.seed); |
|
if (l > 0) { |
if (l > 0) { |
lastc = skey.seed[l - 1]; |
lastc = skey.seed[l - 1]; |
if (isdigit(lastc) && lastc != '9') { |
if (isdigit(lastc) && lastc != '9') { |
|
|
defaultseed); |
defaultseed); |
(void)fgets(seed, sizeof(seed), stdin); |
(void)fgets(seed, sizeof(seed), stdin); |
rip(seed); |
rip(seed); |
|
if (seed[0] == '\0') |
|
(void)strcpy(seed, defaultseed); |
for (p = seed; *p; p++) { |
for (p = seed; *p; p++) { |
if (isalpha(*p)) { |
if (isalpha(*p)) { |
if (isupper(*p)) |
if (isupper(*p)) |
|
|
(void)printf("Notice: Seed truncated to %d characters.\n", |
(void)printf("Notice: Seed truncated to %d characters.\n", |
SKEY_MAX_SEED_LEN); |
SKEY_MAX_SEED_LEN); |
seed[SKEY_MAX_SEED_LEN] = '\0'; |
seed[SKEY_MAX_SEED_LEN] = '\0'; |
} else if (seed[0] == '\0') |
} |
(void)strcpy(seed, defaultseed); |
|
|
|
for (i = 0;; i++) { |
for (i = 0;; i++) { |
if (i >= 2) |
if (i >= 2) |