Alex,

what Kerberos version do you use ? I think Mac uses MIT 1.4.1 which does not support spnego as far as I recall. So in your compile don't use -DHAVE_SPNEGO.

Markus

"Alex Morken" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
Hello,

This is the first time I have posted on this list, so hello to everyone. I have been trying to get squid_kerb_auth to work on Mac OS X 10.4.11 and I cannot seem to figure out the reason it fails.

Here are the options I had set for the configure part of squid:
Squid Cache: Version 2.7.STABLE2
configure options: '--enable-auth=basic negotiate' '--enable-basic- auth-helpers=LDAP' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-esternal-acl-helpers=ldap_group' '--prefix=/usr/local/ squid-2.7'

Everything compiles nicely and produces no errors.

I set up and tested my kerberos configuration per below:

Set up a local keytab for squid - HTTP/[EMAIL PROTECTED]

Tested it by issuing the following command and it worked correctly:

`kinit -k -t /etc/squid/squid.keytab HTTP/[EMAIL PROTECTED]

Set and exported KRB5_KTNAME pointing to the local keytab. I wrote a bash script that does this and I have also tried to set the environmental variable in the current shell and run it from there. Both work as expected.

I added authentication to squid.conf

auth_param negotiate program /usr/libexec/squid_kerb_auth -d -s HTTP/ [EMAIL PROTECTED]

I then started squid and it looks like everything is starting correctly. But it is still not dealing with kerberos correctly.

I downloaded and compiled squid_kerb_auth by hand as I had found someone else on this list that was running into a problem similar to mine. I recompiled squid_kerb_auth with a few different options as mentioned in the thread. They are listed below.

Compiled by hand:
gcc -o squid_kerb_auth -DHAVE_SPNEGO -D__LITTLE_ENDIAN__ -Ispnegohelp squid_kerb_auth.c base64.c spnegohelp/derparse.c spnegohelp/ spnego.c spnegohelp/spnegohelp.c spnegohelp/spnegoparse.c - lgssapi_krb5 -lkrb5 -lcom_err

root# ./squid_kerb_auth -d
2008/06/03 13:37:59| squid_kerb_auth: Starting version 1.0.1
[EMAIL PROTECTED]
2008/06/03 13:38:01| squid_kerb_auth: Got 'username' from squid (length: 15). 2008/06/03 13:38:01| squid_kerb_auth: gss_accept_sec_context() failed: A token was invalid. Token header is malformed or corruptBH gss_accept_sec_context() failed: A token was invalid. Token header is malformed or corrupt


Results from just using ./configure and no options specified:
host:/tmp/kerb/squid_kerb_auth root# ./squid_kerb_auth -d -s HTTP/ [EMAIL PROTECTED]
2008/06/03 13:47:38| squid_kerb_auth: Starting version 1.0.1
[EMAIL PROTECTED]
2008/06/03 13:47:39| squid_kerb_auth: Got '[EMAIL PROTECTED]' from squid (length: 15). 2008/06/03 13:47:39| squid_kerb_auth: parseNegTokenInit failed with rc=108
2008/06/03 13:47:39| squid_kerb_auth: Token is possibly a GSSAPI token
2008/06/03 13:47:39| squid_kerb_auth: gss_accept_sec_context() failed: A token was invalid. Token header is malformed or corruptBH gss_accept_sec_context() failed: A token was invalid. Token header is malformed or corrupt

I have also tried all combinations of -DHAVE_SPNEGO, - D__LITTLE_ENDIAN__ and -D__BIG_ENDIAN__. All have failed in similar ways.

So the obvious questions are - what am I doing wrong? am I using squid_kerb_auth correctly from the command line (can I use it all that way)? Is there anywhere I can look for more verbose logs from squid? I have been running squid with -d 9 -N options and it doesn't error to the logs or to the screen in any sort of verbose way (the way I would expect it to work). Any help would be much appreciated and I would be happy to provide any information you request!

Thank you,

Alex Morken




Reply via email to