1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
diff -Nur skey-1.1.5.orig/skey.c skey-1.1.5/skey.c
--- skey-1.1.5.orig/skey.c 2004-11-12 23:09:02.382529123 +0100
+++ skey-1.1.5/skey.c 2004-11-12 23:23:09.864378849 +0100
@@ -46,6 +46,17 @@
char passwd[SKEY_MAX_PW_LEN+1], key[SKEY_BINKEY_SIZE];
char buf[33], *seed, *slash, *t;
+ /* If we were called as otp-METHOD, set algorithm based on that */
+ if ((slash = strrchr(argv[0], '/')))
+ slash++;
+ else
+ slash = argv[0];
+ if (strncmp(slash, "otp-", 4) == 0) {
+ slash += 4;
+ if (skey_set_algorithm(slash) == NULL)
+ errx(1, "Unknown hash algorithm %s", slash);
+ }
+
while ((i = getopt(argc, argv, "fn:p:t:x")) != -1) {
switch(i) {
case 'f':
diff -Nur skey-1.1.5.orig/skey.1 skey-1.1.5/skey.1
--- skey-1.1.5.orig/skey.1 2004-11-12 23:09:02.375530148 +0100
+++ skey-1.1.5/skey.1 2004-11-12 23:41:43.298268426 +0100
@@ -6,7 +6,7 @@
.Dt SKEY 1
.Os
.Sh NAME
-.Nm skey
+.Nm skey, otp-md4, otp-md5, otp-sha1
.Nd respond to an OTP challenge
.Sh SYNOPSIS
.Nm
@@ -27,13 +27,24 @@
.Pp
.Em S/Key
uses 64 bits of information, transformed by the
-.Tn MD4
+.Tn MD5
algorithm into 6 English words.
The user supplies the words to authenticate himself to programs like
.Xr login 1
or
.Xr ftpd 8 .
.Pp
+When
+.Nm skey
+is invoked as
+.Nm otp-method ,
+.Nm skey
+will use
+.Ar method
+as the hash function where
+.Ar method
+is currently one of md4, md5, or sha1.
+.Pp
Example use of the
.Em S/Key
program
|