summaryrefslogtreecommitdiff
path: root/netcon/intercept.c
diff options
context:
space:
mode:
Diffstat (limited to 'netcon/intercept.c')
-rwxr-xr-xnetcon/intercept.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/netcon/intercept.c b/netcon/intercept.c
index df2dc7cf..f4fff1f9 100755
--- a/netcon/intercept.c
+++ b/netcon/intercept.c
@@ -174,14 +174,11 @@ int get_retval()
memcpy(&errno, &retbuf[1+sizeof(retval)], sizeof(errno));
return retval;
}
- else {
- dwr("unable to read connect: return value\n");
- return -1;
- }
}
+ dwr("unable to read connect: return value\n");
+ return -1;
}
-#define SLEEP_TIME 0
/*------------------------------------------------------------------------------
---------- Unix-domain socket lazy initializer (for fd-transfers)--------------
@@ -190,7 +187,6 @@ int get_retval()
/* Sets up the connection pipes and sockets to the service */
int init_service_connection()
{
- usleep(SLEEP_TIME);
if(!is_initialized)
{
struct sockaddr_un addr;
@@ -515,10 +511,12 @@ int socket(SOCKET_SIG)
if(socket_family == AF_LOCAL
|| socket_family == AF_NETLINK
|| socket_family == AF_UNIX) {
- int err = realsocket(socket_family, socket_type, protocol);
- return err;
+ return realsocket(socket_family, socket_type, protocol);
}
+ /* FIXME: Check type, protocol, return EINVAL errno */
+ /* FIXME: Check family, return EAFNOSUPPORT errno */
+
/* Assemble and route command */
struct socket_st rpc_st;
rpc_st.socket_family = socket_family;
@@ -549,7 +547,7 @@ int socket(SOCKET_SIG)
return get_retval();
}
pthread_mutex_unlock(&lock);
- errno = ERR_OK;
+ errno = ERR_OK; // OK
return newfd;
}
else { // Try to read retval+errno since we RXed a bad fd
@@ -562,7 +560,6 @@ int socket(SOCKET_SIG)
pthread_mutex_unlock(&lock);
return get_retval();
}
- return realsocket(socket_family, socket_type, protocol);
#endif
}
@@ -765,6 +762,8 @@ int accept(ACCEPT_SIG)
addr->sa_family = AF_INET;
/* TODO: also get address info */
+ /* FIXME: Check that socket is type SOCK_STREAM */
+
char cmd[BUF_SZ];
if(realaccept == NULL) {
dwr( "Unresolved symbol: accept()\n");
@@ -788,7 +787,7 @@ int accept(ACCEPT_SIG)
pthread_mutex_lock(&lock);
int n_write = write(fdret_sock, cmd, BUF_SZ);
if(n_write < 0) {
- dwr("Error sending perceived FD to service. Service might be down.\n");
+ dwr("Error sending perceived FD to service.\n");
errno = ECONNABORTED;
return -1;
}
@@ -797,12 +796,12 @@ int accept(ACCEPT_SIG)
return new_conn_socket; // OK
}
else {
- dwr("Error receiving new FD from service. Service might be down.\n");
+ dwr("Error receiving new FD from service.\n");
errno = ECONNABORTED;
return -1;
}
}
- dwr("Error reading signal byte from service. Service might be down.\n");
+ dwr("Error reading signal byte from service.\n");
//errno = EWOULDBLOCK;
errno = ECONNABORTED;
return -1;