Neale Ferguson writes:
> In gssapi.h the gss_buffer_desc structure looks like:
>
> typedef struct gss_buffer_desc_struct {
> size_t length;
> void *value;
> } gss_buffer_desc, *gss_buffer_t;
>
> In ssh/sshd/auth2-gss.c a call to packet_get_string() is made using the
> length field of this structure. This requires a uint_t parameter. Now for
> sparc/i386 in 32-bit mode this is what size_t is. However, for other
> platforms and for the 64-bit world size_t may be unsigned long. Thus,
> compilation of auth2-gss.c results in a warning which, because of the -Werror
> flag, results in the warning being treated as an error and we fail.
You're right that when compiling in ILP32, size_t is 32 bits and when
in LP64, it's 64 bits, but where are you seeing a warning or error?
That code doesn't seem to fail on our existing 64-bit plaforms.
> Should, in fact, length be uint_t (or OM_uint32)?
I don't think so. If it's used across the system call boundary, then
you need to use the STRUCT_DECL trick (which is what those _SYSCALL32
bits are about), but I don't see that it is.
--
James Carlson, Solaris Networking <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code