1 7d59ed71 2005-02-11 devnull #include <u.h>
2 7d59ed71 2005-02-11 devnull #include <libc.h>
3 7d59ed71 2005-02-11 devnull #include <libsec.h>
4 7d59ed71 2005-02-11 devnull #include <authsrv.h>
7 7d59ed71 2005-02-11 devnull usage(void)
9 7d59ed71 2005-02-11 devnull fprint(2, "usage: netkey\n");
10 7d59ed71 2005-02-11 devnull exits("usage");
14 7d59ed71 2005-02-11 devnull main(int argc, char *argv[])
16 7d59ed71 2005-02-11 devnull char *chal, *pass, buf[32], key[DESKEYLEN];
20 7d59ed71 2005-02-11 devnull ARGBEGIN{
27 7d59ed71 2005-02-11 devnull s = getenv("service");
28 7d59ed71 2005-02-11 devnull if(s && strcmp(s, "cpu") == 0){
29 7d59ed71 2005-02-11 devnull fprint(2, "netkey must not be run on the cpu server\n");
30 7d59ed71 2005-02-11 devnull exits("boofhead");
33 7d59ed71 2005-02-11 devnull pass = readcons("password", nil, 1);
34 7d59ed71 2005-02-11 devnull if(pass == nil)
35 7d59ed71 2005-02-11 devnull sysfatal("reading password: %r");
36 7d59ed71 2005-02-11 devnull passtokey(key, pass);
39 7d59ed71 2005-02-11 devnull chal = readcons("challenge", nil, 0);
40 7d59ed71 2005-02-11 devnull if(chal == nil || *chal == 0)
41 7d59ed71 2005-02-11 devnull exits(nil);
42 7d59ed71 2005-02-11 devnull n = strtol(chal, 0, 10);
43 7d59ed71 2005-02-11 devnull sprint(buf, "%d", n);
44 7d59ed71 2005-02-11 devnull netcrypt(key, buf);
45 7d59ed71 2005-02-11 devnull print("response: %s\n", buf);