]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/auth/netkey.c
sshfs: usage
[plan9front.git] / sys / src / cmd / auth / netkey.c
1 #include <u.h>
2 #include <libc.h>
3 #include <authsrv.h>
4 #include <bio.h>
5 #include "authcmdlib.h"
6
7 void
8 usage(void)
9 {
10         fprint(2, "usage: netkey\n");
11         exits("usage");
12 }
13
14 void
15 main(int argc, char *argv[])
16 {
17         char buf[32], key[DESKEYLEN], *pass;
18         char *s;
19         int n;
20
21         ARGBEGIN{
22         default:
23                 usage();
24         }ARGEND
25         if(argc)
26                 usage();
27
28         s = getenv("service");
29         if(s != nil && strcmp(s, "cpu") == 0){
30                 fprint(2, "netkey must not be run on the cpu server\n");
31                 exits("boofhead");
32         }
33         private();
34
35         pass = readcons("Password", nil, 1);
36         if(pass == nil)
37                 exits("no password");
38         passtodeskey(key, pass);
39         memset(pass, 0, strlen(pass));
40         free(pass);
41
42         for(;;){
43                 print("challenge: ");
44                 n = read(0, buf, sizeof buf - 1);
45                 if(n <= 0)
46                         exits(0);
47                 buf[n] = '\0';
48                 n = strtol(buf, 0, 10);
49                 sprint(buf, "%d", n);
50                 netcrypt(key, buf);
51                 print("response: %s\n", buf);
52         }
53 }