diff --git a/sys/src/cmd/cwfs/9p2.c b/sys/src/cmd/cwfs/9p2.c index 30dfdef64..731e1c3a3 100644 --- a/sys/src/cmd/cwfs/9p2.c +++ b/sys/src/cmd/cwfs/9p2.c @@ -242,7 +242,7 @@ authorize(Chan* chan, Fcall* f) } /* fake read to get auth info */ - authread(chan, af, nil, 0); + authread(af, nil, 0); uid = af->uid; if(db) print("authorize: uid is %d\n", uid); @@ -283,6 +283,7 @@ attach(Chan* chan, Fcall* f, Fcall* r) error = Ebadu; goto out; } + chan->err[0] = 0; } file->uid = u; @@ -1001,7 +1002,7 @@ fs_read(Chan* chan, Fcall* f, Fcall* r, uchar* data) goto out; } if(file->qid.type & QTAUTH){ - nread = authread(chan, file, (uchar*)data, count); + nread = authread(file, (uchar*)data, count); if(nread < 0) error = Eauth2; goto out; @@ -1198,7 +1199,7 @@ fs_write(Chan* chan, Fcall* f, Fcall* r) } if(file->qid.type & QTAUTH){ - nwrite = authwrite(chan, file, (uchar*)f->data, count); + nwrite = authwrite(file, (uchar*)f->data, count); if(nwrite < 0) error = Eauth2; goto out; diff --git a/sys/src/cmd/cwfs/auth.c b/sys/src/cmd/cwfs/auth.c index 1e7765918..f8a433700 100644 --- a/sys/src/cmd/cwfs/auth.c +++ b/sys/src/cmd/cwfs/auth.c @@ -119,11 +119,13 @@ authfree(void *auth) } int -authread(Chan *chan, File *file, uchar *data, int count) +authread(File *file, uchar *data, int count) { AuthInfo *ai; AuthRpc *rpc; + Chan *chan; + chan = file->cp; if((rpc = file->auth) == nil){ snprint(chan->err, sizeof(chan->err), "not an auth fid"); @@ -162,10 +164,12 @@ authread(Chan *chan, File *file, uchar *data, int count) } int -authwrite(Chan *chan, File *file, uchar *data, int count) +authwrite(File *file, uchar *data, int count) { AuthRpc *rpc; + Chan *chan; + chan = file->cp; if((rpc = file->auth) == nil){ snprint(chan->err, sizeof(chan->err), "not an auth fid"); diff --git a/sys/src/cmd/cwfs/portfns.h b/sys/src/cmd/cwfs/portfns.h index 856f23b4d..7790b70e5 100644 --- a/sys/src/cmd/cwfs/portfns.h +++ b/sys/src/cmd/cwfs/portfns.h @@ -4,8 +4,8 @@ void arpstart(void); void arginit(void); void* authnew(void); void authfree(void*); -int authread(Chan*, File*, uchar*, int); -int authwrite(Chan*, File*, uchar*, int); +int authread(File*, uchar*, int); +int authwrite(File*, uchar*, int); void cdiag(char*, int); int cnumb(void); Device* config(void);