X-Git-Url: http://git.pk910.de/?p=NextIRCd.git;a=blobdiff_plain;f=src%2Fircd_sock.c;h=5e750082ca75ab57fb46a865ac15a53d7f3e43b0;hp=602282a35302caa16242da44181b0dee38c44329;hb=c034e019f212727f6e2fbd6c824c7a965770ae28;hpb=94f13fd523ed67aef66be996df03f76a83a4ef5d diff --git a/src/ircd_sock.c b/src/ircd_sock.c index 602282a..5e75008 100644 --- a/src/ircd_sock.c +++ b/src/ircd_sock.c @@ -18,6 +18,7 @@ #include "ircd_config.h" #include "ircd_sock.h" #include "ircd_client.h" +#include "ircd_parse.h" #include "struct_connection.h" #include "IOHandler/IOSockets.h" @@ -196,11 +197,12 @@ static IOSOCKET_CALLBACK(sockets_iohandler_callback) { break; case IOSOCKETEVENT_RECV: - if(connection->server) { - - } else { - client_recv(connection, event->data.recv_str); - } + if(!connection->authed) + parse_unauth_data(connection->data.auth, event->data.recv_str); + else if(connection->server) + parse_server_data(connection->data.server, event->data.recv_buf); + else + parse_client_data(connection->data.client, event->data.recv_str); break; default: @@ -212,3 +214,8 @@ void socket_send(struct Connection *conn, char *data, int len) { iosocket_send(conn->socket, data, len); } +void socket_set_server(struct Connection *conn) { + struct IOSocket *iosock = conn->socket; + iosock->parse_delimiter = 0; + conn->server = 1; +}