Skip to content
Commit d48c8124 authored by Martijn de Gouw's avatar Martijn de Gouw Committed by J. Bruce Fields
Browse files

SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()



When the passed token is longer than 4032 bytes, the remaining part
of the token must be copied from the rqstp->rq_arg.pages. But the
copy must make sure it happens in a consecutive way.

With the existing code, the first memcpy copies 'length' bytes from
argv->iobase, but since the header is in front, this never fills the
whole first page of in_token->pages.

The mecpy in the loop copies the following bytes, but starts writing at
the next page of in_token->pages.  This leaves the last bytes of page 0
unwritten.

Symptoms were that users with many groups were not able to access NFS
exports, when using Active Directory as the KDC.

Signed-off-by: default avatarMartijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
Fixes: 5866efa8

 "SUNRPC: Fix svcauth_gss_proxy_init()"
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 27a1e8a0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment