Lines Matching defs:rqstp
642 static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp)
647 struct sunrpc_net *sn = net_generic(rqstp->rq_xprt->xpt_net,
653 ret = cache_check(sn->unix_gid_cache, &ug->h, &rqstp->rq_chandle);
669 svcauth_unix_set_client(struct svc_rqst *rqstp)
675 struct svc_cred *cred = &rqstp->rq_cred;
676 struct svc_xprt *xprt = rqstp->rq_xprt;
680 switch (rqstp->rq_addr.ss_family) {
682 sin = svc_addr_in(rqstp);
687 sin6 = svc_addr_in6(rqstp);
693 rqstp->rq_client = NULL;
694 if (rqstp->rq_proc == 0)
697 rqstp->rq_auth_stat = rpc_autherr_badcred;
700 ipm = __ip_map_lookup(sn->ip_map_cache, rqstp->rq_server->sv_program->pg_class,
706 switch (cache_check(sn->ip_map_cache, &ipm->h, &rqstp->rq_chandle)) {
716 rqstp->rq_client = &ipm->m_client->h;
717 kref_get(&rqstp->rq_client->ref);
722 gi = unix_gid_find(cred->cr_uid, rqstp);
736 rqstp->rq_auth_stat = rpc_auth_ok;
743 * @rqstp: RPC transaction
751 * rqstp->rq_auth_stat is set as mandated by RFC 5531.
754 svcauth_null_accept(struct svc_rqst *rqstp)
756 struct xdr_stream *xdr = &rqstp->rq_arg_stream;
757 struct svc_cred *cred = &rqstp->rq_cred;
765 rqstp->rq_auth_stat = rpc_autherr_badcred;
773 rqstp->rq_auth_stat = rpc_autherr_badverf;
784 if (xdr_stream_encode_opaque_auth(&rqstp->rq_res_stream,
787 if (!svcxdr_set_accept_stat(rqstp))
790 rqstp->rq_cred.cr_flavor = RPC_AUTH_NULL;
795 svcauth_null_release(struct svc_rqst *rqstp)
797 if (rqstp->rq_client)
798 auth_domain_put(rqstp->rq_client);
799 rqstp->rq_client = NULL;
800 if (rqstp->rq_cred.cr_group_info)
801 put_group_info(rqstp->rq_cred.cr_group_info);
802 rqstp->rq_cred.cr_group_info = NULL;
820 * @rqstp: RPC transaction
828 * rqstp->rq_auth_stat is set as mandated by RFC 5531.
831 svcauth_tls_accept(struct svc_rqst *rqstp)
833 struct xdr_stream *xdr = &rqstp->rq_arg_stream;
834 struct svc_cred *cred = &rqstp->rq_cred;
835 struct svc_xprt *xprt = rqstp->rq_xprt;
844 rqstp->rq_auth_stat = rpc_autherr_badcred;
852 rqstp->rq_auth_stat = rpc_autherr_badverf;
857 if (rqstp->rq_proc != 0) {
858 rqstp->rq_auth_stat = rpc_autherr_badcred;
870 p = xdr_reserve_space(&rqstp->rq_res_stream, XDR_UNIT * 2 + 8);
882 if (xdr_stream_encode_opaque_auth(&rqstp->rq_res_stream,
886 if (!svcxdr_set_accept_stat(rqstp))
889 rqstp->rq_cred.cr_flavor = RPC_AUTH_TLS;
905 * @rqstp: RPC transaction
913 * rqstp->rq_auth_stat is set as mandated by RFC 5531.
916 svcauth_unix_accept(struct svc_rqst *rqstp)
918 struct xdr_stream *xdr = &rqstp->rq_arg_stream;
919 struct svc_cred *cred = &rqstp->rq_cred;
946 userns = (rqstp->rq_xprt && rqstp->rq_xprt->xpt_cred) ?
947 rqstp->rq_xprt->xpt_cred->user_ns : &init_user_ns;
975 rqstp->rq_auth_stat = rpc_autherr_badverf;
979 if (xdr_stream_encode_opaque_auth(&rqstp->rq_res_stream,
982 if (!svcxdr_set_accept_stat(rqstp))
985 rqstp->rq_cred.cr_flavor = RPC_AUTH_UNIX;
989 rqstp->rq_auth_stat = rpc_autherr_badcred;
994 svcauth_unix_release(struct svc_rqst *rqstp)
998 if (rqstp->rq_client)
999 auth_domain_put(rqstp->rq_client);
1000 rqstp->rq_client = NULL;
1001 if (rqstp->rq_cred.cr_group_info)
1002 put_group_info(rqstp->rq_cred.cr_group_info);
1003 rqstp->rq_cred.cr_group_info = NULL;