diff -u ./source3/include/krb5_protos.h.orig ./source3/include/krb5_protos.h --- ./source3/include/krb5_protos.h.orig 2010-05-17 06:51:23.000000000 -0500 +++ ./source3/include/krb5_protos.h 2010-09-27 07:51:54.000000000 -0500 @@ -144,5 +144,12 @@ krb5_creds **creds_p); char *smb_krb5_principal_get_realm(krb5_context context, krb5_principal principal); +#else/* HAVE_KRB5 */ + /* this saves a few missing prototype headaches, see libsmb/clikrb5.c */ +int cli_krb5_get_ticket(const char *principal, time_t time_offset, + DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, + uint32 extra_ap_opts, const char *ccname, + time_t *tgs_expire, + const char *impersonate_princ_s); #endif /* HAVE_KRB5 */ diff -u ./source3/include/smb.h.orig ./source3/include/smb.h diff -u ./source3/libsmb/clispnego.c.orig ./source3/libsmb/clispnego.c --- ./source3/libsmb/clispnego.c.orig 2010-05-17 06:51:23.000000000 -0500 +++ ./source3/libsmb/clispnego.c 2010-09-27 07:20:24.000000000 -0500 @@ -387,6 +387,7 @@ DATA_BLOB tkt, tkt_wrapped; const char *krb_mechs[] = {OID_KERBEROS5_OLD, OID_KERBEROS5, OID_NTLMSSP, NULL}; +#ifdef HAVE_KRB5 /* get a kerberos ticket for the service and extract the session key */ retval = cli_krb5_get_ticket(principal, time_offset, &tkt, session_key_krb5, extra_ap_opts, NULL, @@ -394,6 +395,10 @@ if (retval) return retval; +#else + DEBUG(0,("NO KERBEROS SUPPORT\n")); + return 1; +#endif /* wrap that up in a nice GSS-API wrapping */ tkt_wrapped = spnego_gen_krb5_wrap(tkt, TOK_ID_KRB_AP_REQ);