Merge remote branch 'lha/master' into win32-port2

* lha/master:
  Clean kadm5-pwcheck.h
  rename closesocket to rk_closesocket
  Log what principal was used in the failure case
This commit is contained in:
Asanka Herath
2009-12-22 11:05:03 -05:00
3 changed files with 22 additions and 7 deletions

View File

@@ -2,4 +2,5 @@
include $(top_srcdir)/Makefile.am.common include $(top_srcdir)/Makefile.am.common
CLEANFILES = admin.h kadm5_err.h private.h kadm5-private.h kadm5-protos.h CLEANFILES = admin.h kadm5_err.h private.h
CLEANFILES += kadm5-private.h kadm5-protos.h kadm5-pwcheck.h

View File

@@ -345,10 +345,24 @@ _kdc_do_kx509(krb5_context context,
ret = krb5_principal_compare(context, sprincipal, principal); ret = krb5_principal_compare(context, sprincipal, principal);
krb5_free_principal(context, principal); krb5_free_principal(context, principal);
if (ret != TRUE) { if (ret != TRUE) {
char *expected, *used;
ret = krb5_unparse_name(context, sprincipal, &expected);
if (ret)
goto out;
ret = krb5_unparse_name(context, principal, &used);
if (ret) {
krb5_xfree(expected);
goto out;
}
ret = KRB5KDC_ERR_SERVER_NOMATCH; ret = KRB5KDC_ERR_SERVER_NOMATCH;
krb5_set_error_message(context, ret, krb5_set_error_message(context, ret,
"User %s used wrong Kx509 service principal", "User %s used wrong Kx509 service "
cname); "principal, expected: %s, used %s",
cname, expected, used);
krb5_xfree(expected);
krb5_xfree(used);
goto out; goto out;
} }
} }

View File

@@ -293,7 +293,7 @@ send_via_proxy (krb5_context context,
continue; continue;
rk_cloexec(s); rk_cloexec(s);
if (connect (s, a->ai_addr, a->ai_addrlen) < 0) { if (connect (s, a->ai_addr, a->ai_addrlen) < 0) {
closesocket (s); rk_closesocket (s);
continue; continue;
} }
break; break;
@@ -311,7 +311,7 @@ send_via_proxy (krb5_context context,
} }
ret = send_and_recv_http(s, context->kdc_timeout, ret = send_and_recv_http(s, context->kdc_timeout,
prefix, send_data, receive); prefix, send_data, receive);
closesocket (s); rk_closesocket (s);
free(prefix); free(prefix);
if(ret == 0 && receive->length != 0) if(ret == 0 && receive->length != 0)
return 0; return 0;
@@ -420,7 +420,7 @@ krb5_sendto (krb5_context context,
continue; continue;
rk_cloexec(fd); rk_cloexec(fd);
if (connect (fd, a->ai_addr, a->ai_addrlen) < 0) { if (connect (fd, a->ai_addr, a->ai_addrlen) < 0) {
closesocket (fd); rk_closesocket (fd);
continue; continue;
} }
switch (hi->proto) { switch (hi->proto) {
@@ -437,7 +437,7 @@ krb5_sendto (krb5_context context,
send_data, receive); send_data, receive);
break; break;
} }
closesocket (fd); rk_closesocket (fd);
if(ret == 0 && receive->length != 0) if(ret == 0 && receive->length != 0)
goto out; goto out;
} }