sunrpc: reply AUTH_BADCRED to RPCSEC_GSS with unknown service
authorWei Yongjun <yjwei@cn.fujitsu.com>
Tue, 4 Aug 2009 09:27:52 +0000 (17:27 +0800)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Tue, 25 Aug 2009 21:39:43 +0000 (17:39 -0400)
When an RPC message is received with RPCSEC_GSS with an unknown service
(not RPC_GSS_SVC_NONE, RPC_GSS_SVC_INTEGRITY, or RPC_GSS_SVC_PRIVACY),
svcauth_gss_accept() returns AUTH_BADCRED, but svcauth_gss_release()
subsequently drops the response entirely, discarding the error.

Fix that so the AUTH_BADCRED error is returned to the client.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
net/sunrpc/auth_gss/svcauth_gss.c

index 2e6a148..f6c51e5 100644 (file)
@@ -1374,8 +1374,10 @@ svcauth_gss_release(struct svc_rqst *rqstp)
                if (stat)
                        goto out_err;
                break;
-       default:
-               goto out_err;
+       /*
+        * For any other gc_svc value, svcauth_gss_accept() already set
+        * the auth_error appropriately; just fall through:
+        */
        }
 
 out: