summaryrefslogtreecommitdiff
path: root/src/listener.c
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2010-11-27 06:50:41 +0000
committerChristian Pointner <equinox@spreadspace.org>2010-11-27 06:50:41 +0000
commitdcf62b0ecc7c3459badd4a67c85d328220a95d31 (patch)
tree6456dfe8b93fa2dfb4631191519c510c5b3975af /src/listener.c
parentadded initial (not working) version of client list (diff)
one side of cleint connections works for recv
git-svn-id: https://svn.spreadspace.org/tcpproxy/trunk@11 e61f0598-a718-4e21-a8f0-0aadfa62ad6b
Diffstat (limited to 'src/listener.c')
-rw-r--r--src/listener.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/listener.c b/src/listener.c
index 0f92990..e649bf8 100644
--- a/src/listener.c
+++ b/src/listener.c
@@ -43,6 +43,8 @@
#include "tcp.h"
#include "log.h"
+#include "clients.h"
+
void listener_delete_element(void* e)
{
if(!e)
@@ -208,7 +210,7 @@ void listener_read_fds(listeners_t* list, fd_set* set, int* max_fd)
}
}
-int listener_handle_accept(listeners_t* list, fd_set* set)
+int listener_handle_accept(listeners_t* list, clients_t* clients, fd_set* set)
{
if(!list)
return -1;
@@ -229,8 +231,7 @@ int listener_handle_accept(listeners_t* list, fd_set* set)
if(rs) free(rs);
FD_CLR(l->fd_, set);
- // TODO add client to client list
- close(new_client);
+ clients_add(clients, new_client, &(l->remote_end_));
}
tmp = tmp->next_;
}