Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Mar 2013 16:24:44 -0400 (EDT)
From:      Benjamin Kaduk <kaduk@MIT.EDU>
To:        =?ISO-8859-15?Q?Elias_M=E5rtenson?= <lokedhs@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Strange error when compiling minimal GSSAPI application
Message-ID:  <alpine.GSO.1.10.1303161611080.9389@multics.mit.edu>
In-Reply-To: <CADtN0WKxSYwrOzzsfNNnSXE1aAC-No0CGCFHf0BKFdCez_z%2B9w@mail.gmail.com>
References:  <CADtN0WKxSYwrOzzsfNNnSXE1aAC-No0CGCFHf0BKFdCez_z%2B9w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-362651775-1363465485=:9389
Content-Type: TEXT/PLAIN; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

On Sat, 16 Mar 2013, Elias M=E5rtenson 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=20
application even before I started using the gss_pseudo_random feature=20
which it does not support (which caused me to switch to the MIT krb5=20
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=20
than gcc's.  Running the same experiment on my 10-current (r247267) setup=
=20
I get a somewhat different error:
/usr/include/gssapi/gssapi_krb5.h:56: error: expected '=3D', ',', ';', 'asm=
'=20
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 f=
or
> 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=20
GSSAPI_LIB_FUNCTION or GSSAPI_LIB_CALL macros in the type specification of=
=20
the function, though?  (I do.)

> In any case, given the import program, this behaviour isn't really correc=
t
> as far as I can tell.
>
> Any input on this?

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

-Ben Kaduk
---559023410-362651775-1363465485=:9389--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.GSO.1.10.1303161611080.9389>