Add -p flag to avoid setting memory private. [rsc] --rw-rw-r-- M 451989 glenda sys 10524 Nov 6 10:09 sys/src/cmd/auth/factotum/fs.c /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/fs.c:3,8 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/fs.c:3,9 int askforkeys = 1; char *authaddr; int debug; + int doprivate = 1; int gflag; char *owner; int kflag; /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/fs.c:75,80 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/fs.c:76,82 break; case 'd': debug = 1; + doprivate = 0; break; case 'g': /* get: prompt for key for name and domain */ gflag = 1; /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/fs.c:88,93 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/fs.c:90,98 case 'n': trysecstore = 0; break; + case 'p': + doprivate = 0; + break; case 's': /* set service name */ service = EARGF(usage()); break; /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/fs.c:100,106 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/fs.c:105,111 if(argc != 0 && !gflag) usage(); - if(!debug) + if(doprivate) private(); initcap(); [rsc] --rw-rw-r-- M 451989 glenda sys 18035 Nov 6 10:09 sys/src/cmd/auth/factotum/util.c /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/util.c:348,353 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/util.c:348,355 if(p && findproto(p) == nil){ werrstr("unknown protocol %s", p); _freeattr(attr1); + _freeattr(attr2); + _freeattr(attr3); return failure(ki->fss, nil); } /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/util.c:374,379 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/util.c:376,383 } } _freeattr(attr1); + _freeattr(attr2); + _freeattr(attr3); k->ref++; *ret = k; return RpcOk; /n/sourcesdump/2005/1106/plan9/sys/src/cmd/auth/factotum/util.c:381,386 - /n/sourcesdump/2005/1107/plan9/sys/src/cmd/auth/factotum/util.c:385,392 } flog("%d: no key matches %A %A %A %A", ki->fss->seqnum, attr0, attr1, attr2, attr3); werrstr("no key matches %A %A", attr0, attr1); + _freeattr(attr2); + _freeattr(attr3); s = RpcFailure; if(askforkeys && who==nil && (hasqueries(attr0) || hasqueries(attr1))){ if(nmatch == 0){