Filter out non-alpha-numeric characters from the default
seed. No point in generating one that skey(1) will reject.
This commit is contained in:
parent
457d8d7c7e
commit
c48cedd0f4
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: skeyinit.c,v 1.13 2000/07/07 00:18:29 mjl Exp $ */
|
/* $NetBSD: skeyinit.c,v 1.14 2000/07/28 19:19:23 thorpej Exp $ */
|
||||||
|
|
||||||
/* S/KEY v1.1b (skeyinit.c)
|
/* S/KEY v1.1b (skeyinit.c)
|
||||||
*
|
*
|
||||||
@ -58,7 +58,20 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
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);
|
|
||||||
|
/*
|
||||||
|
* Copy the hostname into the default seed, eliminating any
|
||||||
|
* non alpha-numeric characters.
|
||||||
|
*/
|
||||||
|
for (i = 0, l = 0; l < sizeof(defaultseed); i++) {
|
||||||
|
if (hostname[i] == '\0') {
|
||||||
|
defaultseed[l] = hostname[i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (isalnum(hostname[i]))
|
||||||
|
defaultseed[l++] = hostname[i];
|
||||||
|
}
|
||||||
|
|
||||||
defaultseed[SKEY_NAMELEN] = '\0';
|
defaultseed[SKEY_NAMELEN] = '\0';
|
||||||
(void)time(&now);
|
(void)time(&now);
|
||||||
(void)sprintf(tbuf, "%05ld", (long) (now % 100000));
|
(void)sprintf(tbuf, "%05ld", (long) (now % 100000));
|
||||||
|
Loading…
Reference in New Issue
Block a user