3.0 alpha21 kerberos_verify.c problems on AIX 4.3
Nik Conwell
nik at bu.edu
Fri Dec 13 17:43:44 GMT 2002
Samba 3.0, alpha 21.
kerberos_verify.c has:
... krb5_get_permitted_enctypes(context, &enctypes) ...
for (i=0;enctypes[i];i++) {
...
if (!(ret = krb5_rd_req(context, &auth_context, &packet,
NULL, keytab, NULL, &tkt))) {
krb5_free_ktypes(context, enctypes);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
break;
}
}
if (!enctypes[i]) {
^^^^^^^^^^^^
DEBUG(3,("krb5_rd_req with auth failed (%s)\n",
error_message(ret)));
return NT_STATUS_LOGON_FAILURE;
}
referencing enctypes[] after it's been freed. Got away w/ the right memory crud
under Linux, but on AIX (4.3) this sometimes caused (debug 3 and above):
krb5_rd_req with auth failed (Unknown code 0)
Failed to verify incoming ticket!
error string = No such file or directory
Thanks to Ghassan Tabbara for helping track this down.
-nik
% gnudiff -u libads/kerberos_verify.c.orig libads/kerberos_verify.c
--- libads/kerberos_verify.c.orig Tue Nov 12 18:15:49 2002
+++ libads/kerberos_verify.c Fri Dec 13 12:17:02 2002
@@ -46,6 +46,7 @@
char *password_s;
krb5_data password;
krb5_enctype *enctypes = NULL;
+ int authok=0;
if (!secrets_init()) {
DEBUG(1,("secrets_init failed\n"));
@@ -124,11 +125,12 @@
if (!(ret = krb5_rd_req(context, &auth_context, &packet,
NULL, keytab, NULL, &tkt))) {
krb5_free_ktypes(context, enctypes);
+ authok = 1;
break;
}
}
- if (!enctypes[i]) {
+ if (!authok) {
DEBUG(3,("krb5_rd_req with auth failed (%s)\n",
error_message(ret)));
return NT_STATUS_LOGON_FAILURE;
More information about the samba-technical
mailing list