--- smbd/sesssetup.c Wed Mar 16 15:42:17 2005 +++ smbd/sesssetup.c Wed Mar 16 15:43:38 2005 @@ -417,7 +417,9 @@ DATA_BLOB secblob; int i; DATA_BLOB chal; - BOOL got_kerberos = False; +#ifdef HAVE_KRB5 + BOOL got_kerberos_mechanism = False; +#endif NTSTATUS nt_status; /* parse out the OIDs and the first sec blob */ @@ -434,11 +436,13 @@ server sent back krb5/mskrb5/ntlmssp as mechtypes, but the client (2ksp3) replied with ntlmssp/mskrb5/krb5 and an NTLMSSP mechtoken. --jerry */ - + +#ifdef HAVE_KRB5 if (strcmp(OID_KERBEROS5, OIDs[0]) == 0 || strcmp(OID_KERBEROS5_OLD, OIDs[0]) == 0) { - got_kerberos = True; + got_kerberos_mechanism = True; } +#endif for (i=0;OIDs[i];i++) { DEBUG(3,("Got OID %s\n", OIDs[i])); @@ -447,7 +451,7 @@ DEBUG(3,("Got secblob of size %lu\n", (unsigned long)secblob.length)); #ifdef HAVE_KRB5 - if (got_kerberos && (SEC_ADS == lp_security())) { + if (got_kerberos_mechanism && (SEC_ADS == lp_security())) { int ret = reply_spnego_kerberos(conn, inbuf, outbuf, length, bufsize, &secblob); data_blob_free(&secblob); --- libsmb/cliconnect.c Wed Mar 16 15:44:07 2005 +++ libsmb/cliconnect.c Wed Mar 16 15:45:19 2005 @@ -702,7 +702,9 @@ char *principal; char *OIDs[ASN1_MAX_OIDS]; int i; +#ifdef HAVE_KRB5 BOOL got_kerberos_mechanism = False; +#endif DATA_BLOB blob; DEBUG(3,("Doing spnego session setup (blob length=%lu)\n", (unsigned long)cli->secblob.length)); @@ -731,10 +733,12 @@ /* make sure the server understands kerberos */ for (i=0;OIDs[i];i++) { DEBUG(3,("got OID=%s\n", OIDs[i])); +#ifdef HAVE_KRB5 if (strcmp(OIDs[i], OID_KERBEROS5_OLD) == 0 || strcmp(OIDs[i], OID_KERBEROS5) == 0) { got_kerberos_mechanism = True; } +#endif free(OIDs[i]); } DEBUG(3,("got principal=%s\n", principal)); --- libads/sasl.c Wed Mar 16 15:45:48 2005 +++ libads/sasl.c Wed Mar 16 15:46:26 2005 @@ -173,7 +173,9 @@ DATA_BLOB blob; char *principal = NULL; char *OIDs[ASN1_MAX_OIDS]; +#ifdef HAVE_KRB5 BOOL got_kerberos_mechanism = False; +#endif rc = ldap_sasl_bind_s(ads->ld, NULL, "GSS-SPNEGO", NULL, NULL, NULL, &scred); @@ -202,10 +204,12 @@ /* make sure the server understands kerberos */ for (i=0;OIDs[i];i++) { DEBUG(3,("ads_sasl_spnego_bind: got OID=%s\n", OIDs[i])); +#ifdef HAVE_KRB5 if (strcmp(OIDs[i], OID_KERBEROS5_OLD) == 0 || strcmp(OIDs[i], OID_KERBEROS5) == 0) { got_kerberos_mechanism = True; } +#endif free(OIDs[i]); } DEBUG(3,("ads_sasl_spnego_bind: got server principal name =%s\n", principal));