}
/* Send to client */
- size = write(sockfd, &hdr, sizeof(hdr));
+ size = TEMP_FAILURE_RETRY(write(sockfd, &hdr, sizeof(hdr)));
if(size < (int)sizeof(hdr))
return SECURITY_SERVER_ERROR_SEND_FAILED;
return SECURITY_SERVER_ERROR_SEND_FAILED;
}
- ret = write(sockfd, msg, sizeof(hdr) + SECURITY_SERVER_COOKIE_LEN);
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, sizeof(hdr) + SECURITY_SERVER_COOKIE_LEN));
if(ret < (int)(sizeof(hdr) + SECURITY_SERVER_COOKIE_LEN))
{
/* Error on writing */
return SECURITY_SERVER_ERROR_SEND_FAILED;
}
- ret = write(sockfd, msg, sizeof(hdr) + strlen(obj));
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, sizeof(hdr) + strlen(obj)));
if(ret < sizeof(hdr) + strlen(obj))
{
/* Error on writing */
}
/* Send it */
- ret = write(sockfd, msg, sizeof(hdr) + sizeof(gid));
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, sizeof(hdr) + sizeof(gid)));
if(ret < sizeof(hdr) + sizeof(gid))
{
/* Error on writing */
}
/* Send it */
- ret = write(sockfd, msg, sizeof(hdr) + sizeof(pid));
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, sizeof(hdr) + sizeof(pid)));
if(ret < sizeof(hdr) + sizeof(pid))
{
/* Error on writing */
}
/* Send it */
- ret = write(sockfd, msg, PACKET_SIZE);
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, PACKET_SIZE));
if(ret < PACKET_SIZE)
{
/* Error on writing */
}
/* Send it */
- ret = write(sockfd, msg, ptr);
+ ret = TEMP_FAILURE_RETRY(write(sockfd, msg, ptr));
if(ret < ptr)
{
/* Error on writing */
}
/* Send to server */
- retval = write(sock_fd, &hdr, sizeof(hdr));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, &hdr, sizeof(hdr)));
if(retval < sizeof(hdr))
{
/* Write error */
goto error;
}
- retval = write(sock_fd, buf, send_len);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, send_len));
if(retval < send_len)
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, sizeof(buf));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, sizeof(buf)));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, sizeof(buf));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, sizeof(buf)));
if(retval < sizeof(buf))
{
/* Write error */
size = sizeof(hdr) + SECURITY_SERVER_COOKIE_LEN + 2*sizeof(int) + olen + alen;
/* Send to server */
- retval = write(sock_fd, buf, size);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, size));
if(retval < size)
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, sizeof(buf));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, sizeof(buf)));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, sizeof(buf));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, sizeof(buf)));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, &hdr, sizeof(hdr));
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, &hdr, sizeof(hdr)));
if(retval < sizeof(hdr))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, total_length);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, total_length));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Send to server */
- retval = write(sock_fd, buf, ptr);
+ retval = TEMP_FAILURE_RETRY(write(sock_fd, buf, ptr));
if(retval < sizeof(buf))
{
/* Write error */
}
/* Receive request header first */
- retval = read(client_sockfd, basic_hdr, sizeof(basic_header));
+ retval = TEMP_FAILURE_RETRY(read(client_sockfd, basic_hdr, sizeof(basic_header)));
if(retval < sizeof(basic_header))
{
SEC_SVR_DBG("read failed. closing socket %d", retval);
int recv_check_privilege_request(int sockfd, unsigned char *requested_cookie, int *requested_privilege)
{
int retval;
- retval = read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN));
if(retval < SECURITY_SERVER_COOKIE_LEN)
{
SEC_SVR_DBG("Received cookie size is too small: %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, requested_privilege, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_privilege, sizeof(int)));
if(retval < sizeof(int))
{
SEC_SVR_DBG("privilege size is too small: %d", retval);
int retval;
int olen, alen;
- retval = read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN));
if(retval < SECURITY_SERVER_COOKIE_LEN)
{
SEC_SVR_DBG("Received cookie size is too small: %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, &olen, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &olen, sizeof(int)));
if(retval < sizeof(int) || olen < 0 || olen > MAX_OBJECT_LABEL_LEN)
{
SEC_SVR_DBG("error reading object_label len: %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, &alen, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &alen, sizeof(int)));
if(retval < sizeof(int) || alen < 0 || alen > MAX_MODE_STR_LEN)
{
SEC_SVR_DBG("error reading access_rights len: %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, object_label, olen);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, object_label, olen));
if(retval < olen)
{
SEC_SVR_DBG("error reading object_label: %d", retval);
}
object_label[olen] = '\0';
- retval = read(sockfd, access_rights, olen);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, access_rights, alen));
if(retval < alen)
{
SEC_SVR_DBG("error reading access_rights: %d", retval);
int recv_pid_request(int sockfd, unsigned char *requested_cookie)
{
int retval;
- retval = read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN));
if(retval < SECURITY_SERVER_COOKIE_LEN)
{
SEC_SVR_DBG("Received cookie size is too small: %d", retval);
int recv_smack_request(int sockfd, unsigned char *requested_cookie)
{
int retval;
- retval = read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_cookie, SECURITY_SERVER_COOKIE_LEN));
if(retval < SECURITY_SERVER_COOKIE_LEN)
{
SEC_SVR_DBG("Received cookie size is too small: %d", retval);
for(i=1;i<argc;i++)
{
- retval = read(sockfd, &argv_len, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &argv_len, sizeof(int)));
if(retval < sizeof(int))
{
SEC_SVR_DBG("Error: argv length recieve failed: %d", retval);
}
memset(argv[i], 0x00, argv_len + 1);
- retval = read(sockfd, argv[i], argv_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, argv[i], argv_len));
if(retval < argv_len)
{
SEC_SVR_DBG("Error: argv recieve failed: %d", retval);
}
/* Receive response */
- retval = read(sockfd, hdr, sizeof(response_header));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, hdr, sizeof(response_header)));
if(retval < sizeof(response_header) )
{
/* Error on socket */
if(retval != SECURITY_SERVER_SUCCESS)
return return_code_to_error_code(hdr->return_code);
- retval = read(sockfd, gid, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, gid, sizeof(int)));
if(retval < sizeof(int))
{
/* Error on socket */
}
/* Read response */
- retval = read(sockfd, hdr, sizeof(response_header));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, hdr, sizeof(response_header)));
if(retval < sizeof(hdr) )
{
/* Error on socket */
return SECURITY_SERVER_ERROR_OUT_OF_MEMORY;
}
- retval = read(sockfd, local_obj_name, hdr->basic_hdr.msg_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, local_obj_name, hdr->basic_hdr.msg_len));
if(retval < (hdr->basic_hdr.msg_len))
{
/* Error on socket */
if(retval != SECURITY_SERVER_SUCCESS)
return return_code_to_error_code(hdr->return_code);
- retval = read(sockfd, cookie, SECURITY_SERVER_COOKIE_LEN);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, cookie, SECURITY_SERVER_COOKIE_LEN));
if(retval < SECURITY_SERVER_COOKIE_LEN)
{
/* Error on socket */
if(retval != SECURITY_SERVER_SUCCESS)
return return_code_to_error_code(hdr->return_code);
- retval = read(sockfd, label, SMACK_LABEL_LEN + 1);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, label, SMACK_LABEL_LEN + 1));
if(retval < sizeof(int))
{
/* Error on socket */
if(retval != SECURITY_SERVER_SUCCESS)
return return_code_to_error_code(hdr->return_code);
- retval = read(sockfd, pid, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, pid, sizeof(int)));
if(retval < sizeof(int))
{
/* Error on socket */
return return_code_to_error_code(hdr->return_code);
}
- retval = read(sockfd, current_attempts, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, current_attempts, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
/* Error on socket */
SEC_SVR_DBG("Client: Receive failed %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, max_attempts, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, max_attempts, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
/* Error on socket */
SEC_SVR_DBG("Client: Receive failed %d", retval);
return SECURITY_SERVER_ERROR_RECV_FAILED;
}
- retval = read(sockfd, valid_secs, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, valid_secs, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
/* Error on socket */
SEC_SVR_DBG("%s", "Cannot open /dev/urandom");
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- ret = read(fd, cookie, size);
+ ret = TEMP_FAILURE_RETRY(read(fd, cookie, size));
if(ret < size)
{
SEC_SVR_DBG("Cannot read /dev/urandom: %d", ret);
ret = SECURITY_SERVER_ERROR_FILE_OPERATION;
goto error;
}
- ret = write(fd, cookie, size);
+ ret = TEMP_FAILURE_RETRY(write(fd, cookie, size));
if(ret < size)
{
SEC_SVR_DBG("%s", "Cannot save default cookie");
return SECURITY_SERVER_SUCCESS;
}
- ret = read (fd, cookie, size);
+ ret = TEMP_FAILURE_RETRY(read(fd, cookie, size));
if(ret < size)
{
SEC_SVR_DBG("Cannot read default cookie errno=%d", errno);
}
/* Receive GID */
- retval = read(sockfd, &requested_privilege, sizeof(requested_privilege));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &requested_privilege, sizeof(requested_privilege)));
if (retval < (int)sizeof(requested_privilege))
{
SEC_SVR_DBG("%s", "Receiving request failed");
}
/* Receive group name */
- retval = read(sockfd, object_name, msg_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, object_name, msg_len));
if (retval < msg_len )
{
SEC_SVR_DBG("%s", "Failed to read object name");
#include <unistd.h>
#include <fcntl.h>
#include <openssl/sha.h>
+#include <unistd.h>
#include "security-server-password.h"
}
/* Read and store into memory */
- retval = read(fd, cur_pwd, SECURITY_SERVER_HASHED_PWD_LEN);
+ retval = TEMP_FAILURE_RETRY(read(fd, cur_pwd, SECURITY_SERVER_HASHED_PWD_LEN));
if(retval < SECURITY_SERVER_HASHED_PWD_LEN)
{
SEC_SVR_DBG("%s", "Server: Current password corrupted. resetting to previous one. 0");
continue;
}
- retval = read(fd, max_attempt, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(fd, max_attempt, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("%s", "Server: Current password corrupted. resetting to previous one. 1");
continue;
}
- retval = read(fd, expire_time, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(fd, expire_time, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("%s", "Server: Current password corrupted. resetting to previous one. 2");
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
attempt = increase;
- retval = write(fd, &attempt, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &attempt, sizeof(int)));
close(fd);
if(retval < sizeof(int))
{
SEC_SVR_DBG("Current password cannot be opened. errno: %d", errno);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = read(fd, &attempt, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(read(fd, &attempt, sizeof(int)));
close(fd);
if(retval < sizeof(int))
{
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
attempt += increase;
- retval = write(fd, &attempt, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &attempt, sizeof(int)));
close(fd);
if(retval < sizeof(int))
{
close(fd);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = write(fd, &attempt, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &attempt, sizeof(int)));
close(fd);
if(retval < sizeof(int))
{
close(fd);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = write(fd, &num, sizeof(int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &num, sizeof(int)));
close(fd);
if(retval < sizeof(int))
{
SEC_SVR_DBG("Server ERROR: history file cannot be opened. errno: %d", errno);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = read(fd, &history, sizeof(history));
+ retval = TEMP_FAILURE_RETRY(read(fd, &history, sizeof(history)));
close(fd);
if(retval < sizeof(history))
{
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
/* Read and store into memory */
- retval = read(fd, history_pwd, SECURITY_SERVER_HASHED_PWD_LEN);
+ retval = TEMP_FAILURE_RETRY(read(fd, history_pwd, SECURITY_SERVER_HASHED_PWD_LEN));
if(retval < SECURITY_SERVER_HASHED_PWD_LEN)
{
SEC_SVR_DBG("%s", "Current password corrupted. resetting to previous one. 0");
close(fd);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = write(fd, requested_new_pwd, SECURITY_SERVER_HASHED_PWD_LEN);
+ retval = TEMP_FAILURE_RETRY(write(fd, requested_new_pwd, SECURITY_SERVER_HASHED_PWD_LEN));
if(retval < SECURITY_SERVER_HASHED_PWD_LEN)
{
SEC_SVR_DBG("%s", "Cannot write password");
close(fd);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = write(fd, &attempts, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &attempts, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("%s", "Cannot write password");
close(fd);
return SECURITY_SERVER_ERROR_FILE_OPERATION;
}
- retval = write(fd, &expire_time, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(write(fd, &expire_time, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("%s", "Cannot write password");
}
/* Receive size of pwds */
- retval = read(sockfd, &cur_pwd_len, sizeof(char));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &cur_pwd_len, sizeof(char)));
if(retval < sizeof(char) || cur_pwd_len > SECURITY_SERVER_MAX_PASSWORD_LEN)
{
SEC_SVR_DBG("Server Error: current password length recieve failed: %d, %d", retval, cur_pwd_len);
}
goto error;
}
- retval = read(sockfd, &new_pwd_len, sizeof(char));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &new_pwd_len, sizeof(char)));
if(retval < sizeof(char) || new_pwd_len > SECURITY_SERVER_MAX_PASSWORD_LEN || new_pwd_len < 0)
{
SEC_SVR_DBG("Server Error: new password length recieve failed: %d, %d", retval, new_pwd_len);
{
/* Check wheter current password is exist */
if(password_set == SECURITY_SERVER_SUCCESS)
- retval = read(sockfd, requested_cur_pwd, cur_pwd_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_cur_pwd, cur_pwd_len));
if(retval < cur_pwd_len)
{
SEC_SVR_DBG("Server Error: current password recieve failed: %d", retval);
}
/* Receive new password */
- retval = read(sockfd, requested_new_pwd, new_pwd_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_new_pwd, new_pwd_len));
if(retval < new_pwd_len)
{
SEC_SVR_DBG("Server Error: new password recieve failed: %d", retval);
requested_new_pwd[new_pwd_len] = 0;
/* Receive max attempt */
- retval = read(sockfd, &received_attempts, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &received_attempts, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Sever Error: Max attempt receive failed: %d", retval);
}
/* Receive valid period */
- retval = read(sockfd, &valid_days, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &valid_days, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Sever Error: Max attempt receive failed: %d", retval);
}
/* Receive size of pwd */
- retval = read(sockfd, &new_pwd_len, sizeof(char));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &new_pwd_len, sizeof(char)));
if(retval < sizeof(char) || new_pwd_len < 0 || new_pwd_len > SECURITY_SERVER_MAX_PASSWORD_LEN)
{
SEC_SVR_DBG("Server Error: new password length recieve failed: %d, %d", retval, new_pwd_len);
}
/* Receive new password */
- retval = read(sockfd, requested_new_pwd, new_pwd_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_new_pwd, new_pwd_len));
if(retval < new_pwd_len)
{
SEC_SVR_DBG("Server Error: new password recieve failed: %d", retval);
requested_new_pwd[new_pwd_len] = 0;
/* Receive max attempt */
- retval = read(sockfd, &received_attempts, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &received_attempts, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Sever Error: Max attempt receive failed: %d", retval);
}
/* Receive valid period */
- retval = read(sockfd, &valid_days, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &valid_days, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Sever Error: Max attempt receive failed: %d", retval);
}
/* Receive size of challenge */
- retval = read(sockfd, &challenge_len, sizeof(char));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &challenge_len, sizeof(char)));
if(retval < sizeof(char) || challenge_len > SECURITY_SERVER_MAX_PASSWORD_LEN)
{
SEC_SVR_DBG("Server ERROR: challenge length recieve failed: %d", retval);
/* Receive challenge */
if(challenge_len > 0)
{
- retval = read(sockfd, requested_challenge, challenge_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, requested_challenge, challenge_len));
if(retval < challenge_len)
{
SEC_SVR_DBG("Server ERROR: current password recieve failed: %d", retval);
}
/* Receive size of pwds */
- retval = read(sockfd, &history_num, sizeof(char));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &history_num, sizeof(char)));
if(retval < sizeof(char) || history_num > SECURITY_SERVER_MAX_PASSWORD_HISTORY || history_num < 0 )
{
SEC_SVR_DBG("Server Error: History number recieve failed: %d, %d", retval, history_num);
// TODO here we should probably check if the peer has rights to change
// this value (max challenge) for current password
- retval = read(sockfd, &max_challenge, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &max_challenge, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Server Error: recieve failed: %d", retval);
// TODO here we should probably check if the peer has rights to change
// this value (validity) for current password
- retval = read(sockfd, &validity, sizeof(unsigned int));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &validity, sizeof(unsigned int)));
if(retval < sizeof(unsigned int))
{
SEC_SVR_DBG("Server Error: recieve failed: %d", retval);
}
/* Send to client */
- ret = write(sockfd, buf, size);
+ ret = TEMP_FAILURE_RETRY(write(sockfd, buf, size));
if(ret < size)
return SECURITY_SERVER_ERROR_SEND_FAILED;
}
/* Send to client */
- ret = write(sockfd, buf, total_size);
+ ret = TEMP_FAILURE_RETRY(write(sockfd, buf, total_size));
free(buf);
if(ret < total_size)
return SECURITY_SERVER_ERROR_SEND_FAILED;
int pid, ret;
cookie_list *result = NULL;
- ret = read(sockfd, &pid, sizeof(int));
+ ret = TEMP_FAILURE_RETRY(read(sockfd, &pid, sizeof(int)));
if(ret < (int)sizeof(int))
{
SEC_SVR_DBG("Received cookie size is too small: %d", ret);
int privileges[] = { 0 }; //only one privilege to check - root
cookie_list *result = NULL;
- ret = read(sockfd, cookie, SECURITY_SERVER_COOKIE_LEN);
+ ret = TEMP_FAILURE_RETRY(read(sockfd, cookie, SECURITY_SERVER_COOKIE_LEN));
if(ret < SECURITY_SERVER_COOKIE_LEN)
{
SEC_SVR_DBG("Received cookie size is too small: %d", ret);
}
/* Send to server */
- retval = write(sockfd, &hdr, sizeof(hdr));
+ retval = TEMP_FAILURE_RETRY(write(sockfd, &hdr, sizeof(hdr)));
if(retval < sizeof(hdr))
{
/* Write error */
}
/* Receive response */
- retval = read(sockfd, &hdr, sizeof(response_header));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &hdr, sizeof(response_header)));
if(retval < sizeof(hdr) )
{
/* Error on socket */
return SECURITY_SERVER_ERROR_OUT_OF_MEMORY;
}
- retval = read(sockfd, buf, hdr.basic_hdr.msg_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, buf, hdr.basic_hdr.msg_len));
if(retval < hdr.basic_hdr.msg_len)
{
printf("Error: receiving too small amount. %d, %d\n", retval, hdr.basic_hdr.msg_len);
}
/* Send to server */
- retval = write(sockfd, buf, size);
+ retval = TEMP_FAILURE_RETRY(write(sockfd, buf, size));
if(retval < size)
{
/* Write error */
}
/* Send to server */
- retval = write(sockfd, buf, size);
+ retval = TEMP_FAILURE_RETRY(write(sockfd, buf, size));
if(retval < size)
{
/* Write error */
}
/* Receive response */
- retval = read(sockfd, &hdr, sizeof(response_header));
+ retval = TEMP_FAILURE_RETRY(read(sockfd, &hdr, sizeof(response_header)));
if(retval < sizeof(hdr) )
{
/* Error on socket */
return SECURITY_SERVER_ERROR_OUT_OF_MEMORY;
}
- retval = read(sockfd, buf, hdr.basic_hdr.msg_len);
+ retval = TEMP_FAILURE_RETRY(read(sockfd, buf, hdr.basic_hdr.msg_len));
if(retval < hdr.basic_hdr.msg_len)
{
printf("Error: receiving too small amount. %d, %d\n", retval, hdr.basic_hdr.msg_len);