skey.h revision 1.3 1 /* $NetBSD: skey.h,v 1.3 1996/09/19 19:39:45 thorpej Exp $ */
2
3 /*
4 * S/KEY v1.1b (skey.h)
5 *
6 * Authors:
7 * Neil M. Haller <nmh (at) thumper.bellcore.com>
8 * Philip R. Karn <karn (at) chicago.qualcomm.com>
9 * John S. Walden <jsw (at) thumper.bellcore.com>
10 *
11 * Modifications:
12 * Scott Chasin <chasin (at) crimelab.com>
13 *
14 * Main client header
15 */
16
17 #if defined(__TURBOC__) || defined(__STDC__) || defined(LATTICE)
18 #define ANSIPROTO 1
19 #endif
20
21 #ifndef __ARGS
22 #ifdef ANSIPROTO
23 #define __ARGS(x) x
24 #else
25 #define __ARGS(x) ()
26 #endif
27 #endif
28
29 #ifdef SOLARIS
30 #define setpriority(x,y,z) z
31 #endif
32
33 /* Server-side data structure for reading keys file during login */
34 struct skey
35 {
36 FILE *keyfile;
37 char buf[256];
38 char *logname;
39 int n;
40 char *seed;
41 char *val;
42 long recstart; /* needed so reread of buffer is efficient */
43
44
45 };
46
47 /* Client-side structure for scanning data stream for challenge */
48 struct mc
49 {
50 char buf[256];
51 int skip;
52 int cnt;
53 };
54
55 void f __ARGS ((char *x));
56 int keycrunch __ARGS ((char *result, char *seed, char *passwd));
57 char *btoe __ARGS ((char *engout, char *c));
58 char *put8 __ARGS ((char *out, char *s));
59 int etob __ARGS ((char *out, char *e));
60 void rip __ARGS ((char *buf));
61 int skeychallenge __ARGS ((struct skey * mp, char *name, char *ss));
62 int skeylookup __ARGS ((struct skey * mp, char *name));
63 int skeyverify __ARGS ((struct skey * mp, char *response));
64 void sevenbit __ARGS ((char *s));
65 void backspace __ARGS ((char *s));
66 char *skipspace __ARGS ((char *s));
67 char *readpass __ARGS ((char *buf, int n));
68 char *readskey __ARGS ((char *buf, int n));
69 int skey_authenticate __ARGS ((char *));
70 int skey_passcheck __ARGS ((char *, char *));
71 char *skey_keyinfo __ARGS ((char *));
72 int skey_haskey __ARGS ((char *));
73 int getskeyprompt __ARGS ((struct skey *, char *, char *));
74 int atob8 __ARGS((char *, char *));
75 int btoa8 __ARGS((char *, char *));
76 int htoi __ARGS((char));
77
78