[svn] - clear up use of fd_table in ircd.

This commit is contained in:
nenolod 2007-03-05 09:28:27 -08:00
parent e70f8e928e
commit c961476e55
3 changed files with 21 additions and 4 deletions

View File

@ -1,3 +1,19 @@
nenolod 2007/03/05 17:23:07 UTC (20070305-3229)
Log:
- use a hashtable for fdlist storage. first step to making the amount of allowed clients dynamic and removing MAXCONNECTIONS.
Changes: Modified:
+97 -26 trunk/libcharybdis/commio.c (File Modified)
+3 -2 trunk/libcharybdis/commio.h (File Modified)
+8 -6 trunk/libcharybdis/devpoll.c (File Modified)
+1 -1 trunk/libcharybdis/epoll.c (File Modified)
+2 -2 trunk/libcharybdis/kqueue.c (File Modified)
+3 -3 trunk/libcharybdis/poll.c (File Modified)
+2 -2 trunk/libcharybdis/ports.c (File Modified)
+2 -2 trunk/libcharybdis/select.c (File Modified)
jilles 2007/03/05 01:14:46 UTC (20070305-3227) jilles 2007/03/05 01:14:46 UTC (20070305-3227)
Log: Log:
Fix some cases where the size argument to strlcpy() Fix some cases where the size argument to strlcpy()

View File

@ -1 +1 @@
#define SERNO "20070305-3227" #define SERNO "20070305-3229"

View File

@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA * USA
* *
* $Id: s_serv.c 3183 2007-02-01 01:07:42Z jilles $ * $Id: s_serv.c 3233 2007-03-05 17:28:27Z nenolod $
*/ */
#include "stdinc.h" #include "stdinc.h"
@ -1631,6 +1631,7 @@ serv_connect_callback(int fd, int status, void *data)
struct Client *client_p = data; struct Client *client_p = data;
struct server_conf *server_p; struct server_conf *server_p;
char *errstr; char *errstr;
fde_t *F = comm_locate_fd(fd);
/* First, make sure its a real client! */ /* First, make sure its a real client! */
s_assert(client_p != NULL); s_assert(client_p != NULL);
@ -1649,9 +1650,9 @@ serv_connect_callback(int fd, int status, void *data)
} }
/* Next, for backward purposes, record the ip of the server */ /* Next, for backward purposes, record the ip of the server */
memcpy(&client_p->localClient->ip, &fd_table[fd].connect.hostaddr, sizeof client_p->localClient->ip); memcpy(&client_p->localClient->ip, &F->connect.hostaddr, sizeof client_p->localClient->ip);
/* Set sockhost properly now -- jilles */ /* Set sockhost properly now -- jilles */
inetntop_sock((struct sockaddr *)&fd_table[fd].connect.hostaddr, inetntop_sock((struct sockaddr *)&F->connect.hostaddr,
client_p->sockhost, sizeof client_p->sockhost); client_p->sockhost, sizeof client_p->sockhost);
/* Check the status */ /* Check the status */