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:
@@ -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
|
||||||
|
18
kdc/kx509.c
18
kdc/kx509.c
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user