xref: /plan9/sys/src/cmd/auth/respond.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier #include <u.h>
2*9a747e4fSDavid du Colombier #include <libc.h>
3*9a747e4fSDavid du Colombier #include <auth.h>
4*9a747e4fSDavid du Colombier 
5*9a747e4fSDavid du Colombier void
usage(void)6*9a747e4fSDavid du Colombier usage(void)
7*9a747e4fSDavid du Colombier {
8*9a747e4fSDavid du Colombier 	fprint(2, "usage: auth/respond 'params' chal\n");
9*9a747e4fSDavid du Colombier 	exits("usage");
10*9a747e4fSDavid du Colombier }
11*9a747e4fSDavid du Colombier 
12*9a747e4fSDavid du Colombier void
main(int argc,char ** argv)13*9a747e4fSDavid du Colombier main(int argc, char **argv)
14*9a747e4fSDavid du Colombier {
15*9a747e4fSDavid du Colombier 	char buf[128];
16*9a747e4fSDavid du Colombier 	int n;
17*9a747e4fSDavid du Colombier 
18*9a747e4fSDavid du Colombier 	ARGBEGIN{
19*9a747e4fSDavid du Colombier 	default:
20*9a747e4fSDavid du Colombier 		usage();
21*9a747e4fSDavid du Colombier 	}ARGEND
22*9a747e4fSDavid du Colombier 
23*9a747e4fSDavid du Colombier 	if(argc != 2)
24*9a747e4fSDavid du Colombier 		usage();
25*9a747e4fSDavid du Colombier 
26*9a747e4fSDavid du Colombier 	memset(buf, 0, sizeof buf);
27*9a747e4fSDavid du Colombier 	n = auth_respond(argv[1], strlen(argv[1]), buf, sizeof buf-1, auth_getkey, "%s", argv[0]);
28*9a747e4fSDavid du Colombier 	if(n < 0)
29*9a747e4fSDavid du Colombier 		sysfatal("auth_respond: %r");
30*9a747e4fSDavid du Colombier 	write(1, buf, n);
31*9a747e4fSDavid du Colombier 	print("\n");
32*9a747e4fSDavid du Colombier }
33*9a747e4fSDavid du Colombier 
34*9a747e4fSDavid du Colombier