On Sat, 16 Mar 2013, Elias MÃ¥rtenson wrote:

Is there a problem with the GSSAPI implementation in FreeBSD?

There might be; I can't remember if I had trouble with it in my current application even before I started using the gss_pseudo_random feature which it does not support (which caused me to switch to the MIT krb5 implementation).

I'm trying to compile a minimal application that does nothing more than
including the file gssapi/gssapi_krb5.h:

   #include <gssapi/gssapi_krb5.h>

   int main(void)
   {
return 0;
   }

You do not mention which version of FreeBSD you are using.

When compiling this with "gcc foo.c" I get the following error:

   In file included from foo.c:1:
   /usr/include/gssapi/gssapi_krb5.h:139: error: expected declaration
specifiers or '...' before 'time_t'

I find that clang's warning/error messages are frequently more helpful than gcc's. Running the same experiment on my 10-current (r247267) setup I get a somewhat different error: /usr/include/gssapi/gssapi_krb5.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'

It seems that GSSAPI_CPP_START is never defined, for one.

I have to admit that I'm a bit stumped as to why I get the error message in
the first place. The line in question looks like this:

   OM_uint32
   gsskrb5_extract_authtime_from_sec_context(OM_uint32 *, gss_ctx_id_t,
time_t *);

I checked the preprocessor output and there are indeed correct typedefs for
OM_uint32, gss_ctx_id_t and time_t, so I can't really see why this error
would occur.

The previous line may also be relevant. You do not have any GSSAPI_LIB_FUNCTION or GSSAPI_LIB_CALL macros in the type specification of the function, though? (I do.)

In any case, given the import program, this behaviour isn't really correct
as far as I can tell.

Any input on this?

The provided gssapi_krb5 support is certainly suboptimal -- including the header at all gives a warning that it uses the deprecated path "gssapi.h" to get the generic gssapi declarations. Might be, it needs further love.

-Ben Kaduk
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to