make key prompt work

This commit is contained in:
rsc 2005-02-11 22:16:21 +00:00
parent 68f2c92c6f
commit f0fb9c573e
3 changed files with 14 additions and 16 deletions

View file

@ -1,5 +1,6 @@
#include "std.h"
#include "dat.h"
#include <9pclient.h>
int extrafactotumdir;
int debug;
@ -132,15 +133,16 @@ promptforkey(int fd, char *params)
static int
sendkey(Attr *attr)
{
int fd, rv;
int rv;
char buf[1024];
fd = open("/mnt/factotum/ctl", ORDWR);
if(fd < 0)
sysfatal("opening /mnt/factotum/ctl: %r");
rv = fprint(fd, "key %A\n", attr);
read(fd, buf, sizeof buf);
close(fd);
CFid *fid;
fid = nsopen("factotum", nil, "ctl", OWRITE);
if(fid == nil)
sysfatal("opening factotum/ctl: %r");
snprint(buf, sizeof buf, "key %A\n", attr);
rv = fswrite(fid, buf, strlen(buf));
fsclose(fid);
return rv;
}
@ -163,8 +165,8 @@ gflag(char *s)
int nf;
int fd;
if((fd = open("/dev/cons", ORDWR)) < 0)
sysfatal("open /dev/cons: %r");
if((fd = open("/dev/tty", ORDWR)) < 0)
sysfatal("open /dev/tty: %r");
nf = getfields(s, f, nelem(f), 0, "\n");
if(nf == 1){ /* needkey or old badkey */

View file

@ -189,7 +189,7 @@ p9anyclient(Conv *c)
if(dom && strcmp(q+1, dom) != 0)
continue;
*q++ = '\0';
if(k = keyfetch(c, "%A proto=%q dom=%q", attr, f[i], q))
if(k = keylookup("%A proto=%q dom=%q", attr, f[i], q))
goto found;
*--q = '@';
}

View file

@ -22,7 +22,6 @@ int
secdial(void)
{
char *p;
int fd;
p = secstore;
if(p == nil) /* else use the authserver */
@ -32,10 +31,7 @@ secdial(void)
if(p == nil)
p = "secstore";
fd = dial(netmkaddr(p, "net", "secstore"), 0, 0, 0);
if(fd < 0)
fprint(2, "secdial: %r\n");
return fd;
return dial(netmkaddr(p, "net", "secstore"), 0, 0, 0);
}