|
|
|
@ -75,18 +75,21 @@ static int nc_socket(struct CP_ENTRY *cpe) { |
|
|
|
|
char er[256]; |
|
|
|
|
|
|
|
|
|
if (s == -1) { |
|
|
|
|
logg("!Failed to create socket: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!Failed to create socket: %s\n", er); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
flags = fcntl(s, F_GETFL, 0); |
|
|
|
|
if (flags == -1) { |
|
|
|
|
logg("!fcntl_get failed: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!fcntl_get failed: %s\n", er); |
|
|
|
|
close(s); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
flags |= O_NONBLOCK; |
|
|
|
|
if (fcntl(s, F_SETFL, flags) == -1) { |
|
|
|
|
logg("!fcntl_set failed: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!fcntl_set failed: %s\n", er); |
|
|
|
|
close(s); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
@ -102,7 +105,8 @@ static int nc_connect(int s, struct CP_ENTRY *cpe) { |
|
|
|
|
|
|
|
|
|
if (!res) return 0; |
|
|
|
|
if (errno != EINPROGRESS) { |
|
|
|
|
logg("*connect failed: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("*connect failed: %s\n", er); |
|
|
|
|
close(s); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
@ -154,7 +158,8 @@ int nc_send(int s, const void *buff, size_t len) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
if(errno != EAGAIN && errno != EWOULDBLOCK) { |
|
|
|
|
logg("!send failed: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!send failed: %s\n", er); |
|
|
|
|
close(s); |
|
|
|
|
return 1; |
|
|
|
|
} |
|
|
|
@ -214,7 +219,8 @@ int nc_sendmsg(int s, int fd) { |
|
|
|
|
|
|
|
|
|
if((ret = sendmsg(s, &msg, 0)) == -1) { |
|
|
|
|
char er[256]; |
|
|
|
|
logg("!clamfi_eom: FD send failed (%s)\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!clamfi_eom: FD send failed (%s)\n", er); |
|
|
|
|
close(s); |
|
|
|
|
} |
|
|
|
|
return ret; |
|
|
|
@ -251,7 +257,8 @@ char *nc_recv(int s) { |
|
|
|
|
res = recv(s, &buf[len], sizeof(buf) - len, 0); |
|
|
|
|
if(res==-1) { |
|
|
|
|
char er[256]; |
|
|
|
|
logg("!recv failed after successful select: %s\n", strerror_r(errno, er, sizeof(er))); |
|
|
|
|
strerror_r(errno, er, sizeof(er)); |
|
|
|
|
logg("!recv failed after successful select: %s\n", er); |
|
|
|
|
close(s); |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|