|
@@ -1144,20 +1144,20 @@ svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
|
|
case RPC_GSS_SVC_NONE:
|
|
case RPC_GSS_SVC_NONE:
|
|
break;
|
|
break;
|
|
case RPC_GSS_SVC_INTEGRITY:
|
|
case RPC_GSS_SVC_INTEGRITY:
|
|
|
|
+ /* placeholders for length and seq. number: */
|
|
|
|
+ svc_putnl(resv, 0);
|
|
|
|
+ svc_putnl(resv, 0);
|
|
if (unwrap_integ_data(&rqstp->rq_arg,
|
|
if (unwrap_integ_data(&rqstp->rq_arg,
|
|
gc->gc_seq, rsci->mechctx))
|
|
gc->gc_seq, rsci->mechctx))
|
|
goto garbage_args;
|
|
goto garbage_args;
|
|
|
|
+ break;
|
|
|
|
+ case RPC_GSS_SVC_PRIVACY:
|
|
/* placeholders for length and seq. number: */
|
|
/* placeholders for length and seq. number: */
|
|
svc_putnl(resv, 0);
|
|
svc_putnl(resv, 0);
|
|
svc_putnl(resv, 0);
|
|
svc_putnl(resv, 0);
|
|
- break;
|
|
|
|
- case RPC_GSS_SVC_PRIVACY:
|
|
|
|
if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
|
|
if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
|
|
gc->gc_seq, rsci->mechctx))
|
|
gc->gc_seq, rsci->mechctx))
|
|
goto garbage_args;
|
|
goto garbage_args;
|
|
- /* placeholders for length and seq. number: */
|
|
|
|
- svc_putnl(resv, 0);
|
|
|
|
- svc_putnl(resv, 0);
|
|
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
goto auth_err;
|
|
goto auth_err;
|
|
@@ -1170,8 +1170,6 @@ svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
garbage_args:
|
|
garbage_args:
|
|
- /* Restore write pointer to its original value: */
|
|
|
|
- xdr_ressize_check(rqstp, reject_stat);
|
|
|
|
ret = SVC_GARBAGE;
|
|
ret = SVC_GARBAGE;
|
|
goto out;
|
|
goto out;
|
|
auth_err:
|
|
auth_err:
|