aboutsummaryrefslogtreecommitdiff
path: root/src/libsunrpc/rpc.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-05-19 14:39:10 +0000
committerrsc <devnull@localhost>2005-05-19 14:39:10 +0000
commit4c06b8eec1a1d71f67561d4fa9860850795c56aa (patch)
treea05deac604e8554498945a9f32deb524acfe95ec /src/libsunrpc/rpc.c
parentf92a2ceba411689890e6f8aab81a03f30b802b10 (diff)
downloadplan9port-4c06b8eec1a1d71f67561d4fa9860850795c56aa.tar.gz
plan9port-4c06b8eec1a1d71f67561d4fa9860850795c56aa.tar.bz2
plan9port-4c06b8eec1a1d71f67561d4fa9860850795c56aa.zip
fixes for vnfs
Diffstat (limited to 'src/libsunrpc/rpc.c')
-rw-r--r--src/libsunrpc/rpc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/libsunrpc/rpc.c b/src/libsunrpc/rpc.c
index 43835934..837ead21 100644
--- a/src/libsunrpc/rpc.c
+++ b/src/libsunrpc/rpc.c
@@ -68,12 +68,17 @@ sunrpcpack(uchar *a, uchar *ea, uchar **pa, SunRpc *rpc)
|| sunauthinfopack(a, ea, &a, &rpc->verf) < 0)
goto Err;
break;
+ case SunAuthError:
+ if(sunuint32pack(a, ea, &a, (x=MsgDenied, &x)) < 0
+ || sunuint32pack(a, ea, &a, (x=MsgAuthError, &x)) < 0)
+ goto Err;
+ break;
default:
if(sunuint32pack(a, ea, &a, (x=MsgDenied, &x)) < 0)
goto Err;
break;
}
-
+
switch(rpc->status){
case SunSuccess:
if(sunuint32pack(a, ea, &a, (x=MsgSuccess, &x)) < 0
@@ -90,6 +95,7 @@ sunrpcpack(uchar *a, uchar *ea, uchar **pa, SunRpc *rpc)
default:
if(sunuint32pack(a, ea, &a, (x=rpc->status&0xFFFF, &x)) < 0)
goto Err;
+
break;
}
}
@@ -119,6 +125,9 @@ sunrpcsize(SunRpc *rpc)
case SunAcceptError:
a += 4+sunauthinfosize(&rpc->verf);
break;
+ case SunAuthError:
+ a += 4+4;
+ break;
default:
a += 4;
break;
@@ -169,6 +178,7 @@ sunrpcunpack(uchar *a, uchar *ea, uchar **pa, SunRpc *rpc)
rpc->iscall = 0;
if(sunuint32unpack(a, ea, &a, &x) < 0)
goto Err;
+fprint(2, "x %x\n", x);
switch(x){
default:
goto Err;
@@ -200,6 +210,7 @@ sunrpcunpack(uchar *a, uchar *ea, uchar **pa, SunRpc *rpc)
case MsgDenied:
if(sunuint32unpack(a, ea, &a, &x) < 0)
goto Err;
+fprint(2, "xx %ux\n", x);
switch(x){
default:
goto Err;