Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 60831
b: refs/heads/master
c: c417058
h: refs/heads/master
i:
  60829: 55c38b6
  60827: 4c32a83
  60823: 9a5faf7
  60815: ed37d14
  60799: e2988f4
v: v3
  • Loading branch information
Andy Adamson authored and Linus Torvalds committed Jul 17, 2007
1 parent 560fd0f commit bbc3bbd
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 42ed95c4e7415714aaab604ae7b1602b87b27b73
refs/heads/master: c4170583f655dca5da32bd14173d6a93805fc48b
1 change: 1 addition & 0 deletions trunk/include/linux/sunrpc/gss_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ u32 gss_unwrap(
u32 gss_delete_sec_context(
struct gss_ctx **ctx_id);

u32 gss_svc_to_pseudoflavor(struct gss_api_mech *, u32 service);
u32 gss_pseudoflavor_to_service(struct gss_api_mech *, u32 pseudoflavor);
char *gss_service_to_auth_domain_name(struct gss_api_mech *, u32 service);

Expand Down
1 change: 1 addition & 0 deletions trunk/include/linux/sunrpc/svc.h
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ struct svc_rqst {
struct svc_pool * rq_pool; /* thread pool */
struct svc_procedure * rq_procinfo; /* procedure info */
struct auth_ops * rq_authop; /* authentication flavour */
u32 rq_flavor; /* pseudoflavor */
struct svc_cred rq_cred; /* auth info */
struct sk_buff * rq_skbuff; /* fast recv inet buffer */
struct svc_deferred_req*rq_deferred; /* deferred request we are replaying */
Expand Down
14 changes: 14 additions & 0 deletions trunk/net/sunrpc/auth_gss/gss_mech_switch.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,20 @@ gss_mech_get_by_pseudoflavor(u32 pseudoflavor)

EXPORT_SYMBOL(gss_mech_get_by_pseudoflavor);

u32
gss_svc_to_pseudoflavor(struct gss_api_mech *gm, u32 service)
{
int i;

for (i = 0; i < gm->gm_pf_num; i++) {
if (gm->gm_pfs[i].service == service) {
return gm->gm_pfs[i].pseudoflavor;
}
}
return RPC_AUTH_MAXFLAVOR; /* illegal value */
}
EXPORT_SYMBOL(gss_svc_to_pseudoflavor);

u32
gss_pseudoflavor_to_service(struct gss_api_mech *gm, u32 pseudoflavor)
{
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/sunrpc/auth_gss/svcauth_gss.c
Original file line number Diff line number Diff line change
Expand Up @@ -1131,6 +1131,8 @@ svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
}
svcdata->rsci = rsci;
cache_get(&rsci->h);
rqstp->rq_flavor = gss_svc_to_pseudoflavor(
rsci->mechctx->mech_type, gc->gc_svc);
ret = SVC_OK;
goto out;
}
Expand Down
3 changes: 3 additions & 0 deletions trunk/net/sunrpc/svcauth_unix.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <linux/sunrpc/xdr.h>
#include <linux/sunrpc/svcsock.h>
#include <linux/sunrpc/svcauth.h>
#include <linux/sunrpc/gss_api.h>
#include <linux/err.h>
#include <linux/seq_file.h>
#include <linux/hash.h>
Expand Down Expand Up @@ -707,6 +708,7 @@ svcauth_null_accept(struct svc_rqst *rqstp, __be32 *authp)
svc_putnl(resv, RPC_AUTH_NULL);
svc_putnl(resv, 0);

rqstp->rq_flavor = RPC_AUTH_NULL;
return SVC_OK;
}

Expand Down Expand Up @@ -784,6 +786,7 @@ svcauth_unix_accept(struct svc_rqst *rqstp, __be32 *authp)
svc_putnl(resv, RPC_AUTH_NULL);
svc_putnl(resv, 0);

rqstp->rq_flavor = RPC_AUTH_UNIX;
return SVC_OK;

badcred:
Expand Down

0 comments on commit bbc3bbd

Please sign in to comment.