| /* | 
 |  * This is just a repository for a password. | 
 |  * We don't want to encourage this, there's | 
 |  * no server side. | 
 |  * | 
 |  * Client: | 
 |  *	start proto=pass ... | 
 |  *	read password | 
 |  */ | 
 |  | 
 | #include "std.h" | 
 | #include "dat.h" | 
 |  | 
 | static int | 
 | passproto(Conv *c) | 
 | { | 
 | 	Key *k; | 
 | 	 | 
 | 	k = keyfetch(c, "%A", c->attr); | 
 | 	if(k == nil) | 
 | 		return -1; | 
 | 	c->state = "write"; | 
 | 	convprint(c, "%q %q",  | 
 | 		strfindattr(k->attr, "user"), | 
 | 		strfindattr(k->privattr, "!password")); | 
 | 	return 0; | 
 | } | 
 |  | 
 | static Role passroles[] = { | 
 | 	"client",	passproto, | 
 | 	0 | 
 | }; | 
 |  | 
 | Proto pass = | 
 | { | 
 | 	"pass", | 
 | 	passroles, | 
 | 	"user? !password?", | 
 | 	nil, | 
 | 	nil | 
 | }; |