]> granicus.if.org Git - libtirpc/commit
libtirpc: allow larger ticket sizes with RPCSEC_GSS libtirpc-0-2-2-rc1
authorJeff Layton <jlayton@redhat.com>
Fri, 5 Mar 2010 19:27:13 +0000 (14:27 -0500)
committerSteve Dickson <steved@redhat.com>
Fri, 5 Mar 2010 19:27:13 +0000 (14:27 -0500)
commit599511589ca7ddb3b2eac8d3aa5b0b38be7a7691
tree5180447dfc96cda6bad58cb0814f2add66a3e9b4
parent89323aafc77e1a40800332fb135888782b1bfee6
libtirpc: allow larger ticket sizes with RPCSEC_GSS

libtirpc currently limits RPCSEC_GSS args to MAX_NETOBJ_SZ (1024) bytes.
This causes problems when you try to use large krb5 tickets, such as
those handed out by MS' Active Directory when the user has a large PAC.

This patch backports a set of changes from librpcsecgss which fixed this
problem there. It declares a new routine specifically for encoding
gss_buffer_t's and has the various auth_gss routines use that instead of
calling xdr_bytes directly.

An RPC_SLACK_SPACE constant is defined and added to the buffer length to
get a max buffer length to pass to xdr_rpc_gss_buf for the appropriate
callers.

This seems to fix the bug reported here:

    https://bugzilla.redhat.com/show_bug.cgi?id=562807

Reported-by: Michael Young <m.a.young@durham.ac.uk>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
src/authgss_prot.c