libgssglue: incompatible with krb5 1.9
Subsystems (2)
Quoted 12 lines · Sam Hartman
package: libgssglue-dev
severity: serious
justification: package breaks nfs-utils build
version: 0.2-2Hi, Kevin and Debian maintainers:
In an upcoming release, MIT has started adopting the new GSS-API type names at the top of page 12 of RFC 5587.
Quoted 8 lines
For a variety of reasons, I pulled this change into Debian unstable. Unfortunately, some applications such as nfs-utilsappear to pull in
gssapi.hfrom libgssglue, but pull ingssapi_ext.hfrom krb5.This does not work unless the
gssapi.hfrom libgssglue includes the new constant type names.--Sam
Kevin,
The original bug report #629553 is available at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629553
and bug report #629692 (which has build logs) is available at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629692
Sam,
Could you please post the unified diff of gssapi.h from libgssglue that makes it work?
Cheers,
Aníbal
2011/6/8 Aníbal Monsalve Salazar <[email protected]>:
Quoted 30 lines · Sam Hartman
Quoted 12 lines
package: libgssglue-dev
severity: serious
justification: package breaks nfs-utils build
version: 0.2-2Hi, Kevin and Debian maintainers:
In an upcoming release, MIT has started adopting the new GSS-API type names at the top of page 12 of RFC 5587.
Quoted 8 lines
For a variety of reasons, I pulled this change into Debian unstable. Unfortunately, some applications such as nfs-utilsappear to pull in
gssapi.hfrom libgssglue, but pull ingssapi_ext.hfrom krb5.This does not work unless the
gssapi.hfrom libgssglue includes the new constant type names.--Sam
Kevin,
The original bug report #629553 is available at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629553and bug report #629692 (which has build logs) is available at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629692
Quoted 8 lines
Sam,
Could you please post the unified diff of
gssapi.hfrom libgssglue that makes it work?Cheers,
Aníbal
Sam's original message went to my spam folder. I will attempt to look at this in the next couple of days, but I can't make any promises.
K.C.
Here's the MIT diff that introduces the types:
commit 21479bb4df589793a4fc25aedb59d599043eb95b
Author: lhoward <lhoward@dc483132-0cff-0310-8789-dd5450dbe970> Date: Sun Apr 3 08:02:53 2011 +0000
Use RFC 5587 const types for draft-josefsson-gss-capsulate APIs
git-svn-id: svn://anonsvn.mit.edu/svn/krb5/trunk@24821 dc483132-0cff-0310-8789-dd5450dbe970
(cherry picked from commit 4a46936a36f47e54134b24d7083cfd45a2d009bc)src/lib/gssapi/generic/gssapi_ext.h +7 -7
@@ -387,22 +387,22 @@ OM_uint32 KRB5_CALLCONV gss_release_any_name_mapping/* draft-josefsson-gss-capsulate */ OM_uint32 KRB5_CALLCONV gss_encapsulate_token ( -const gss_buffer_t ,/* input_token */ -const gss_OID ,/* token_oid */ -const gss_buffer_t /* output_token */ + gss_const_buffer_t,/* input_token */ + gss_const_OID,/* token_oid */ + gss_buffer_t/* output_token */ ); OM_uint32 KRB5_CALLCONV gss_decapsulate_token ( -const gss_buffer_t ,/* input_token */ -const gss_OID ,/* token_oid */ + gss_const_buffer_t,/* input_token */ + gss_const_OID,/* token_oid */ gss_buffer_t/* output_token */ ); int KRB5_CALLCONV gss_oid_equal ( -const gss_OID ,/* first_oid */ -const gss_OID /* second_oid */ + gss_const_OID,/* first_oid */ + gss_const_OID/* second_oid */ );#ifdef __cplusplus
src/lib/gssapi/mechglue/g_decapsulate_token.c +2 -2
@@ -33,8 +33,8 @@#include "mglueP.h" OM_uint32 -gss_decapsulate_token (const gss_buffer_t input_token, -const gss_OID token_oid, +gss_decapsulate_token (gss_const_buffer_t input_token, +gss_const_OID token_oid,gss_buffer_t output_token) {OM_uint32 minor;
src/lib/gssapi/mechglue/g_encapsulate_token.c +2 -2
@@ -33,8 +33,8 @@#include "mglueP.h" OM_uint32 -gss_encapsulate_token (const gss_buffer_t input_token, -const gss_OID token_oid, +gss_encapsulate_token (gss_const_buffer_t input_token, +gss_const_OID token_oid,gss_buffer_t output_token) {unsigned int tokenSize;
src/lib/gssapi/mechglue/g_oid_ops.c +2 -2
@@ -111,8 +111,8 @@ gssint_copy_oid_set(int gss_oid_equal ( -const gss_OID first_oid, -const gss_OID second_oid) +gss_const_OID first_oid, +gss_const_OID second_oid) {return g_OID_equal (first_oid, second_oid); }
Hi,
Here is a patch that fixed the compile and seems to run fine. I'll be putting out a new version of libgssglue, but it may take a few days for me to get around to that. Meanwhile, hopefully this fixes your immediate issue.
K.C.
src/gssglue/gssapi/gssapi.h.in +11 -0
@@ -850,4 +850,15 @@ PROTOTYPE( (OM_uint32 *, /* minor_status */ /* XXXX This is a necessary evil until the spec is fixed */ #define GSS_S_CRED_UNAVAIL GSS_S_FAILURE +/* + * RFC 5587 + */ +typedef const gss_buffer_desc *gss_const_buffer_t; +typedef const struct gss_channel_bindings_struct *gss_const_channel_bindings_t; +typedef const struct gss_ctx_id_struct gss_const_ctx_id_t; +typedef const struct gss_cred_id_struct gss_const_cred_id_t; +typedef const struct gss_name_struct gss_const_name_t; +typedef const gss_OID_desc *gss_const_OID; +typedef const gss_OID_set_desc *gss_const_OID_set; + #endif /* _GSSAPI_H_GLUE_ */
Quoted 91 lines · Sam Hartman
Here's the MIT diff that introduces the types:
commit21479bb4df589793a4fc25aedb59d599043eb95b
Author: lhoward <lhoward@dc483132-0cff-0310-8789-dd5450dbe970>
Date: Sun Apr 3 08:02:53 2011 +0000Use RFC 5587 const types for draft-josefsson-gss-capsulate APIs
git-svn-id: svn://anonsvn.mit.edu/svn/krb5/trunk@24821 dc483132-0cff-0310-8789-dd5450dbe970 (cherry picked from commit
4a46936a36f47e54134b24d7083cfd45a2d009bc)src/lib/gssapi/generic/gssapi_ext.h +0
-0@@ -387,22 +387,22 @@ OM_uint32 KRB5_CALLCONV gss_release_any_name_mapping /* draft-josefsson-gss-capsulate */OM_uint32
KRB5_CALLCONVgss_encapsulate_token
(
- constgss_buffer_t, /*input_token*/
- constgss_OID, /*token_oid*/
- constgss_buffer_t/*output_token*/
+ gss_const_buffer_t, /*input_token*/
+ gss_const_OID, /*token_oid*/
+ gss_buffer_t /*output_token*/
);OM_uint32
KRB5_CALLCONVgss_decapsulate_token
(
- constgss_buffer_t, /*input_token*/
- constgss_OID, /*token_oid*/
+ gss_const_buffer_t, /*input_token*/
+ gss_const_OID, /*token_oid*/
gss_buffer_t/*output_token*/
);int
KRB5_CALLCONVgss_oid_equal
(
- constgss_OID, /*first_oid*/
- constgss_OID/*second_oid*/
+ gss_const_OID, /*first_oid*/
+ gss_const_OID /*second_oid*/
);#ifdef
__cplusplussrc/lib/gssapi/mechglue/g_decapsulate_token.c +0
-0@@ -33,8 +33,8 @@ #include "mglueP.h"OM_uint32
src/lib/gssapi/mechglue/g_decapsulate_token.c +2
-2-gss_decapsulate_token(const gss_buffer_t input_token, - const gss_OID token_oid, +gss_decapsulate_token(gss_const_buffer_t input_token, + gss_const_OID token_oid,
gss_buffer_toutput_token)
{
OM_uint32minor;src/lib/gssapi/mechglue/g_encapsulate_token.c +0
-0@@ -33,8 +33,8 @@ #include "mglueP.h"OM_uint32
src/lib/gssapi/mechglue/g_encapsulate_token.c +2
-2-gss_encapsulate_token(const gss_buffer_t input_token, - const gss_OID token_oid, +gss_encapsulate_token(gss_const_buffer_t input_token, + gss_const_OID token_oid,
gss_buffer_toutput_token)
{
unsigned int tokenSize;src/lib/gssapi/mechglue/g_oid_ops.c +0
-0@@ -111,8 +111,8 @@ gssint_copy_oid_set(int
gss_oid_equal(
- constgss_OIDfirst_oid,
- constgss_OIDsecond_oid)
+ gss_const_OIDfirst_oid,
+ gss_const_OIDsecond_oid)
{
returng_OID_equal(first_oid, second_oid);
}