diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 14:45:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 14:45:00 -0400 |
commit | 10c993a6b5418cb1026775765ba4c70ffb70853d (patch) | |
tree | 717deba79b938c2f3f786ff6fe908d30582f06f8 /net/sunrpc/auth_gss/gss_krb5_seal.c | |
parent | c328d54cd4ad120d76284e46dcca6c6cf996154a (diff) | |
parent | ca456252db0521e5e88024fa2b67535e9739e030 (diff) |
Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux
* 'for-linus' of git://linux-nfs.org/~bfields/linux: (52 commits)
knfsd: clear both setuid and setgid whenever a chown is done
knfsd: get rid of imode variable in nfsd_setattr
SUNRPC: Use unsigned loop and array index in svc_init_buffer()
SUNRPC: Use unsigned index when looping over arrays
SUNRPC: Update RPC server's TCP record marker decoder
SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle
NLM: don't let lockd exit on unexpected svc_recv errors (try #2)
NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2)
Use a zero sized array for raw field in struct fid
nfsd: use static memory for callback program and stats
SUNRPC: remove svc_create_thread()
nfsd: fix comment
lockd: Fix stale nlmsvc_unlink_block comment
NFSD: Strip __KERNEL__ testing from unexported header files.
sunrpc: make token header values less confusing
gss_krb5: consistently use unsigned for seqnum
NFSD: Remove NFSv4 dependency on NFSv3
SUNRPC: Remove PROC_FS dependency
NFSD: Use "depends on" for PROC_FS dependency
nfsd: move most of fh_verify to separate function
...
Diffstat (limited to 'net/sunrpc/auth_gss/gss_krb5_seal.c')
-rw-r--r-- | net/sunrpc/auth_gss/gss_krb5_seal.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/sunrpc/auth_gss/gss_krb5_seal.c b/net/sunrpc/auth_gss/gss_krb5_seal.c index dedcbd6108f..5f1d36dfbcf 100644 --- a/net/sunrpc/auth_gss/gss_krb5_seal.c +++ b/net/sunrpc/auth_gss/gss_krb5_seal.c | |||
@@ -87,10 +87,10 @@ gss_get_mic_kerberos(struct gss_ctx *gss_ctx, struct xdr_buf *text, | |||
87 | 87 | ||
88 | now = get_seconds(); | 88 | now = get_seconds(); |
89 | 89 | ||
90 | token->len = g_token_size(&ctx->mech_used, 22); | 90 | token->len = g_token_size(&ctx->mech_used, 24); |
91 | 91 | ||
92 | ptr = token->data; | 92 | ptr = token->data; |
93 | g_make_token_header(&ctx->mech_used, 22, &ptr); | 93 | g_make_token_header(&ctx->mech_used, 24, &ptr); |
94 | 94 | ||
95 | *ptr++ = (unsigned char) ((KG_TOK_MIC_MSG>>8)&0xff); | 95 | *ptr++ = (unsigned char) ((KG_TOK_MIC_MSG>>8)&0xff); |
96 | *ptr++ = (unsigned char) (KG_TOK_MIC_MSG&0xff); | 96 | *ptr++ = (unsigned char) (KG_TOK_MIC_MSG&0xff); |
@@ -109,15 +109,14 @@ gss_get_mic_kerberos(struct gss_ctx *gss_ctx, struct xdr_buf *text, | |||
109 | md5cksum.data, md5cksum.len)) | 109 | md5cksum.data, md5cksum.len)) |
110 | return GSS_S_FAILURE; | 110 | return GSS_S_FAILURE; |
111 | 111 | ||
112 | memcpy(krb5_hdr + 16, md5cksum.data + md5cksum.len - KRB5_CKSUM_LENGTH, | 112 | memcpy(krb5_hdr + 16, md5cksum.data + md5cksum.len - 8, 8); |
113 | KRB5_CKSUM_LENGTH); | ||
114 | 113 | ||
115 | spin_lock(&krb5_seq_lock); | 114 | spin_lock(&krb5_seq_lock); |
116 | seq_send = ctx->seq_send++; | 115 | seq_send = ctx->seq_send++; |
117 | spin_unlock(&krb5_seq_lock); | 116 | spin_unlock(&krb5_seq_lock); |
118 | 117 | ||
119 | if (krb5_make_seq_num(ctx->seq, ctx->initiate ? 0 : 0xff, | 118 | if (krb5_make_seq_num(ctx->seq, ctx->initiate ? 0 : 0xff, |
120 | ctx->seq_send, krb5_hdr + 16, krb5_hdr + 8)) | 119 | seq_send, krb5_hdr + 16, krb5_hdr + 8)) |
121 | return GSS_S_FAILURE; | 120 | return GSS_S_FAILURE; |
122 | 121 | ||
123 | return (ctx->endtime < now) ? GSS_S_CONTEXT_EXPIRED : GSS_S_COMPLETE; | 122 | return (ctx->endtime < now) ? GSS_S_CONTEXT_EXPIRED : GSS_S_COMPLETE; |