Use rk_socket_t in lib/krb5/changepw.c
This commit is contained in:
@@ -72,7 +72,7 @@ chgpw_send_request (krb5_context context,
|
|||||||
krb5_creds *creds,
|
krb5_creds *creds,
|
||||||
krb5_principal targprinc,
|
krb5_principal targprinc,
|
||||||
int is_stream,
|
int is_stream,
|
||||||
int sock,
|
rk_socket_t sock,
|
||||||
const char *passwd,
|
const char *passwd,
|
||||||
const char *host)
|
const char *host)
|
||||||
{
|
{
|
||||||
@@ -141,8 +141,8 @@ chgpw_send_request (krb5_context context,
|
|||||||
iov[2].iov_base = krb_priv_data.data;
|
iov[2].iov_base = krb_priv_data.data;
|
||||||
iov[2].iov_len = krb_priv_data.length;
|
iov[2].iov_len = krb_priv_data.length;
|
||||||
|
|
||||||
if (sendmsg (sock, &msghdr, 0) < 0) {
|
if (rk_IS_SOCKET_ERROR( sendmsg (sock, &msghdr, 0) )) {
|
||||||
ret = errno;
|
ret = rk_SOCK_ERRNO;
|
||||||
krb5_set_error_message(context, ret, "sendmsg %s: %s",
|
krb5_set_error_message(context, ret, "sendmsg %s: %s",
|
||||||
host, strerror(ret));
|
host, strerror(ret));
|
||||||
}
|
}
|
||||||
@@ -164,7 +164,7 @@ setpw_send_request (krb5_context context,
|
|||||||
krb5_creds *creds,
|
krb5_creds *creds,
|
||||||
krb5_principal targprinc,
|
krb5_principal targprinc,
|
||||||
int is_stream,
|
int is_stream,
|
||||||
int sock,
|
rk_socket_t sock,
|
||||||
const char *passwd,
|
const char *passwd,
|
||||||
const char *host)
|
const char *host)
|
||||||
{
|
{
|
||||||
@@ -251,8 +251,8 @@ setpw_send_request (krb5_context context,
|
|||||||
iov[2].iov_base = krb_priv_data.data;
|
iov[2].iov_base = krb_priv_data.data;
|
||||||
iov[2].iov_len = krb_priv_data.length;
|
iov[2].iov_len = krb_priv_data.length;
|
||||||
|
|
||||||
if (sendmsg (sock, &msghdr, 0) < 0) {
|
if (rk_IS_SOCKET_ERROR( sendmsg (sock, &msghdr, 0) )) {
|
||||||
ret = errno;
|
ret = rk_SOCK_ERRNO;
|
||||||
krb5_set_error_message(context, ret, "sendmsg %s: %s",
|
krb5_set_error_message(context, ret, "sendmsg %s: %s",
|
||||||
host, strerror(ret));
|
host, strerror(ret));
|
||||||
}
|
}
|
||||||
@@ -268,7 +268,7 @@ static krb5_error_code
|
|||||||
process_reply (krb5_context context,
|
process_reply (krb5_context context,
|
||||||
krb5_auth_context auth_context,
|
krb5_auth_context auth_context,
|
||||||
int is_stream,
|
int is_stream,
|
||||||
int sock,
|
rk_socket_t sock,
|
||||||
int *result_code,
|
int *result_code,
|
||||||
krb5_data *result_code_string,
|
krb5_data *result_code_string,
|
||||||
krb5_data *result_string,
|
krb5_data *result_string,
|
||||||
@@ -288,8 +288,8 @@ process_reply (krb5_context context,
|
|||||||
|
|
||||||
ret = recvfrom (sock, reply + len, sizeof(reply) - len,
|
ret = recvfrom (sock, reply + len, sizeof(reply) - len,
|
||||||
0, NULL, NULL);
|
0, NULL, NULL);
|
||||||
if (ret < 0) {
|
if (rk_IS_SOCKET_ERROR(ret)) {
|
||||||
save_errno = errno;
|
save_errno = rk_SOCK_ERRNO;
|
||||||
krb5_set_error_message(context, save_errno,
|
krb5_set_error_message(context, save_errno,
|
||||||
"recvfrom %s: %s",
|
"recvfrom %s: %s",
|
||||||
host, strerror(save_errno));
|
host, strerror(save_errno));
|
||||||
@@ -316,8 +316,8 @@ process_reply (krb5_context context,
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ret = recvfrom (sock, reply, sizeof(reply), 0, NULL, NULL);
|
ret = recvfrom (sock, reply, sizeof(reply), 0, NULL, NULL);
|
||||||
if (ret < 0) {
|
if (rk_IS_SOCKET_ERROR(ret)) {
|
||||||
save_errno = errno;
|
save_errno = rk_SOCK_ERRNO;
|
||||||
krb5_set_error_message(context, save_errno,
|
krb5_set_error_message(context, save_errno,
|
||||||
"recvfrom %s: %s",
|
"recvfrom %s: %s",
|
||||||
host, strerror(save_errno));
|
host, strerror(save_errno));
|
||||||
@@ -517,7 +517,7 @@ change_password_loop (krb5_context context,
|
|||||||
krb5_auth_context auth_context = NULL;
|
krb5_auth_context auth_context = NULL;
|
||||||
krb5_krbhst_handle handle = NULL;
|
krb5_krbhst_handle handle = NULL;
|
||||||
krb5_krbhst_info *hi;
|
krb5_krbhst_info *hi;
|
||||||
int sock;
|
rk_socket_t sock;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
int done = 0;
|
int done = 0;
|
||||||
krb5_realm realm;
|
krb5_realm realm;
|
||||||
@@ -565,20 +565,20 @@ change_password_loop (krb5_context context,
|
|||||||
int replied = 0;
|
int replied = 0;
|
||||||
|
|
||||||
sock = socket (a->ai_family, a->ai_socktype | SOCK_CLOEXEC, a->ai_protocol);
|
sock = socket (a->ai_family, a->ai_socktype | SOCK_CLOEXEC, a->ai_protocol);
|
||||||
if (sock < 0)
|
if (rk_IS_BAD_SOCKET(sock))
|
||||||
continue;
|
continue;
|
||||||
rk_cloexec(sock);
|
rk_cloexec(sock);
|
||||||
|
|
||||||
ret = connect(sock, a->ai_addr, a->ai_addrlen);
|
ret = connect(sock, a->ai_addr, a->ai_addrlen);
|
||||||
if (ret < 0) {
|
if (rk_IS_SOCKET_ERROR(ret)) {
|
||||||
close (sock);
|
rk_closesocket (sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = krb5_auth_con_genaddrs (context, auth_context, sock,
|
ret = krb5_auth_con_genaddrs (context, auth_context, sock,
|
||||||
KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR);
|
KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
close (sock);
|
rk_closesocket (sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -598,7 +598,7 @@ change_password_loop (krb5_context context,
|
|||||||
newpw,
|
newpw,
|
||||||
hi->hostname);
|
hi->hostname);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
close(sock);
|
rk_closesocket(sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -608,7 +608,7 @@ change_password_loop (krb5_context context,
|
|||||||
ret = ERANGE;
|
ret = ERANGE;
|
||||||
krb5_set_error_message(context, ret,
|
krb5_set_error_message(context, ret,
|
||||||
"fd %d too large", sock);
|
"fd %d too large", sock);
|
||||||
close (sock);
|
rk_closesocket (sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -619,8 +619,8 @@ change_password_loop (krb5_context context,
|
|||||||
tv.tv_sec = 1 + (1 << i);
|
tv.tv_sec = 1 + (1 << i);
|
||||||
|
|
||||||
ret = select (sock + 1, &fdset, NULL, NULL, &tv);
|
ret = select (sock + 1, &fdset, NULL, NULL, &tv);
|
||||||
if (ret < 0 && errno != EINTR) {
|
if (rk_IS_SOCKET_ERROR(ret) && rk_SOCK_ERRNO != EINTR) {
|
||||||
close(sock);
|
rk_closesocket(sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (ret == 1) {
|
if (ret == 1) {
|
||||||
@@ -640,7 +640,7 @@ change_password_loop (krb5_context context,
|
|||||||
ret = KRB5_KDC_UNREACH;
|
ret = KRB5_KDC_UNREACH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close (sock);
|
rk_closesocket (sock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user