Closed Bug 237578 Opened 21 years ago Closed 20 years ago

GSS_C_NT_HOSTBASED_SERVICE not found even though it should be

Categories

(Core :: Networking, defect)

x86
Linux
defect
Not set
major

Tracking

()

RESOLVED FIXED
mozilla1.7final

People

(Reporter: darin.moz, Assigned: darin.moz)

Details

Attachments

(1 file)

On Redhat 9, I'm seeing:

checking for gssapi.h... no
checking for gssapi/gssapi.h... yes
checking for gss_init_sec_context in -lgss... no
checking for gss_init_sec_context in -lgssapi_krb5... yes
checking for gssapi/gssapi_generic.h... yes
configure: warning: GSS_C_NT_HOSTBASED_SERVICE not found

yet, gssapi.h does define GSS_C_NT_HOSTBASED_SERVICE.  something is wrong with
the autoconf fu.  i don't think this is a major problem, but it should be fixed
at some point.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.8alpha
Same on FreeBSD5.2 (which have Heimdal Kerberos v5)
The reason is that GSS_C_NT_HOSTBASED_SERVICE is defined in <gssapi.h> header,
but configure looks for it in <gssapi/gssapi.h>, which is not present on my 
system and doesn't define GSS_C_NT_HOSTBASED_SERVICE on RH9. :-)

Relevant excerpt from configure.in is (starting at line 3850):

        dnl
        dnl Try to determine if the GSS_C_NT_HOSTBASED_SERVICE value is
        dnl defined.  Older MIT releases did not define this correctly.
        dnl
        AC_CHECK_HEADERS([gssapi/gssapi_generic.h])
        AC_TRY_COMPILE([ #include <gssapi/gssapi.h> ],
            [ gss_OID oid = GSS_C_NT_HOSTBASED_SERVICE; ],
            [AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)],[
             AC_MSG_WARN([GSS_C_NT_HOSTBASED_SERVICE not found])
            ])

Configure must check with <gssapi.h> if above test fails (or, instead of it?)
Unfortunately, I know nothing about autoconf stuff (blame me!) and there is no
similiar cases in configure.in, so I cannot provide fix by myself
(I don't think that inserting second test in place of [AC_MSG_WARN] branch is
a right way to do it...)
I have the same problem on FreeBSD. Why is this marked minor, I cannot compile
it on FreeBSD because of this problem -- this should be a bloker. It was not
happening to me one month ago, this is a regression. I hope this will be fixed
for 1.7. 

checking for gssapi.h... yes
checking for gss_init_sec_context in -lgss... no
checking for gss_init_sec_context in -lgssapi_krb5... no
checking for gss_init_sec_context in -lgssapi... yes
checking for gssapi/gssapi_generic.h... no
configure: warning: GSS_C_NT_HOSTBASED_SERVICE not found



/usr/home/mozilla/cvs/HEAD/mozilla/extensions/negotiateauth/nsHttpGssapiAuth.cpp:367:
`gss_nt_service_name' undeclared (first use this function)
I did not realize this caused build bustage on some platforms.  I will get this
in for 1.7 final.
Severity: minor → major
Target Milestone: mozilla1.8alpha → mozilla1.7final
(In reply to comment #2)
> I have the same problem on FreeBSD. Why is this marked minor, I cannot compile
> it on FreeBSD because of this problem -- this should be a bloker. 

as a workaround, add 
    ac_add_options --enable-extensions=default,-negotiateauth
line to your .mozconfig or build mozilla from ports :-)

Attached patch v1 patchSplinter Review
This patch should do the trick.  Please test, and let me know if it works.
Comment on attachment 145349 [details] [diff] [review]
v1 patch

darin, I don't think this patch should work. I have much smaller set of gssapi
files of my system than you are trying to get. I am not sure I understand the
code, so feel free to give instructions. :-)

When I applied the patch and tried to run gmake, it does not seemed to generate
new configure file and certainly didn't run it, so maybe this is the problem. 


/usr/home/mozilla/cvs/HEAD/mozilla/extensions/negotiateauth/nsHttpGssapiAuth.cp
p:369: `gss_nt_service_name' undeclared (first use this function)


%find /usr/include/ -iname '*.h' | xargs grep -l -i "gss.*nt.*service"
/usr/include/gssapi.h
%find /usr/include -name "gss*"
/usr/include/gssapi.h
%grep -i "gss.*nt.*service" /usr/include/gssapi.h
 * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
 * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
 * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
 * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
 * GSS_C_NT_HOSTBASED_SERVICE should be initialized
extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
%
> When I applied the patch and tried to run gmake, it does not seemed to generate
> new configure file and certainly didn't run it, so maybe this is the problem. 

you will need to run autoconf manually after applying the patch.  be sure that
you have autoconf version 2.13 installed.  (you might want to install it into
some other directory on your system since version 2.13 is pretty old and might
conflict with a newer version on your system.)
Comment on attachment 145349 [details] [diff] [review]
v1 patch

I've installed autoconf213, and ran it. Now it looks to compile on machine.
This patch WFM. 


checking for gssapi.h... (cached) yes
checking for gss_init_sec_context in -lgss... (cached) no
checking for gss_init_sec_context in -lgssapi_krb5... (cached) no
checking for gss_init_sec_context in -lgssapi... (cached) yes
checking for gssapi_generic.h... no
checking for gssapi/gssapi_generic.h... (cached) no
checking for valid optimization flags... yes


%uname -v
FreeBSD 4.8-RELEASE #16: Sun May 11 19:24:54 EDT 2003	 
constant@cnst:/usr/src/sys/compile/MYKERNEL
%
Wow, that simple! :-)
I didn't know configure defines HAVE_header_H for every header it CHECKs.

Of course, this patch works.
Attachment #145349 - Flags: superreview?(bryner)
Attachment #145349 - Flags: review?(bryner)
Attachment #145349 - Flags: superreview?(bryner)
Attachment #145349 - Flags: superreview+
Attachment #145349 - Flags: review?(bryner)
Attachment #145349 - Flags: review+
Attachment #145349 - Flags: approval1.7?
Comment on attachment 145349 [details] [diff] [review]
v1 patch

a=chofmann for 1.7
Attachment #145349 - Flags: approval1.7? → approval1.7+
fixed-on-trunk for 1.7 final (i actually checked this in yesterday, but forgot
to comment)
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: