[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS+GSSAPI (Kerb5)
Derek Robert Price
Re: CVS+GSSAPI (Kerb5)
Sat, 22 Sep 2001 17:51:01 -0400
Jonah Tsai wrote:
> >In trying to build CVS with GSSAPI (Kerberos 5) support I am running
> >into a problem where the ./configure step cannot find the
> >acx_gssapi_cv_gss_c_nt_hostbased_service. Does anyone know what I need
> >to do to get past this?
> >Here's a dump of my ./configure and the error I get when I try to make.
> >I am using
> >./configure -cache-file=cvs.build -prefix=/usr -enable-client
> >-enable-server - enable-encryption - with-gssapi -without-krb4
> >checking for GSS_C_NT_HOSTBASED_SERVICE... ./configure:
> >acx_gssapi_cv_gss_c_nt_hostbased_service: not found
> >./configure: acx_gssapi_cv_gss_c_nt_hostbased_service: not found
> >client.o: In function `connect_to_gserver':
> >/home/root/projects/cvs/ccvs/src/client.c:4246: undefined reference to
> You forgot to mention which OS, and which implementation of KRB5 you
> are using.
> This means the "configure" script is not able to find the symbol
> GSS_C_NT_HOSTBASED_SERVICE. In MIT's KRB5, this is
> #define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
> The configure script will guess it correctly for MIT's KRB5.
> If the KRB5 and the platform combination you have just can't be
> "guessed" correctly by the configure script, you can just go do an "nm
> libgssapi_krb5.a" | grep service_name" and see if you can find the
> symbol in your KRB5 library. If the symbol can be found, then, you put
> #define GSS_C_NT_HOSTBASED_SERVICE <the symbol found> at the end of the
> generated config.h.
> This should allow you to compile it correctly without having to go
> through the patch process (I still have no idea how the patch process in
> the CVS project works), or mugging around the very complicated configure
It might be more appropriate to grep your krb5 headers for the service
string. The known supported Krb5 distributions are MIT K5 1.2.1, MIT K5
1.2.2-beta1, and Heimdal K 0.3d, and I'm am unsure which of those have been
recently tested beyond compilation. The two service strings I have found
used in the past are "GSS_C_NT_HOSTBASED_SERVICE" and
"gss_nt_service_name". I don't remember exactly what they mean - something
about knowing how to find the krb5 server or the like - you'll have to read
the GSSAPI and/or Krb5 docs for more.
If you tell me what service string you find, which header file you found it
in, what OS you are using, and what version of Krb5 you are using, I can
try and add it to the configure script in the dev version so the next
release will hopefully work out of the box for you.
If you want to look at the autodetect code yourself, almost all of the
pre-autoconf GSSAPI detect code is in acinclude.m4 in the toplevel of the
CVS distribution ( http://ccvs.cvshome.org/source/browse/ccvs/acinclude.m4
). It is a little bit arcane, but it's only about 200 lines and fairly