diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-10-20 06:50:24 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-10-20 06:50:24 +0000 |
commit | 93645be91f7fd12dfee75b6f09dda6799f0ac902 (patch) | |
tree | d002cc9fe37ce3d5dd2ef207bec2bdab23c97854 /source3/smbd | |
parent | 9884de2d3b00c560daa68930fb31cec23a0c6d44 (diff) | |
download | samba-93645be91f7fd12dfee75b6f09dda6799f0ac902.tar.gz samba-93645be91f7fd12dfee75b6f09dda6799f0ac902.tar.bz2 samba-93645be91f7fd12dfee75b6f09dda6799f0ac902.zip |
better krb5 error handling (thanks andrewb!)
(This used to be commit fd3a3daef3b8f7140e7006d30d23d739ac3aad2f)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/negprot.c | 2 | ||||
-rw-r--r-- | source3/smbd/sesssetup.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c index 678156b528..2eea6fa281 100644 --- a/source3/smbd/negprot.c +++ b/source3/smbd/negprot.c @@ -163,7 +163,7 @@ static int negprot_spnego(char *p, uint8 cryptkey[8]) DATA_BLOB blob; extern pstring global_myname; uint8 guid[16]; - const char *OIDs[] = {OID_NTLMSSP, + const char *OIDs[] = {OID_NTLMSSP, OID_KERBEROS5_OLD, NULL}; char *principle; diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index 0202a247cd..c8bf2a4f94 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -62,12 +62,14 @@ static int reply_spnego_kerberos(connection_struct *conn, ret = krb5_init_context(&context); if (ret) { + DEBUG(1,("krb5_init_context failed (%s)\n", error_message(ret))); return ERROR_NT(NT_STATUS_LOGON_FAILURE); } ret = krb5_build_principal(context, &server, strlen(realm), realm, service, NULL); if (ret) { + DEBUG(1,("krb5_build_principal failed (%s)\n", error_message(ret))); return ERROR_NT(NT_STATUS_LOGON_FAILURE); } @@ -76,12 +78,15 @@ static int reply_spnego_kerberos(connection_struct *conn, if ((ret = krb5_rd_req(context, &auth_context, &packet, server, keytab, NULL, &tkt))) { - DEBUG(3,("krb5_rd_req failed with code %08x\n", ret)); + DEBUG(3,("krb5_rd_req failed (%s)\n", + error_message(ret))); return ERROR_NT(NT_STATUS_LOGON_FAILURE); } if ((ret = krb5_unparse_name(context, tkt->enc_part2->client, &client))) { + DEBUG(3,("krb5_unparse_name failed (%s)\n", + error_message(ret))); return ERROR_NT(NT_STATUS_LOGON_FAILURE); } |