lkml.org 
[lkml]   [1996]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: irc/ircd loopback problem with (scary) fix.


On Wed, 13 Mar 1996, Joel Katz wrote:

>
> It seems the irc/ircd loopback problem with 1.3.64-1.3.73 has
> something to do with the socket options ircd likes to set. If you prevent
> ircd from setting any socket options, local irc/ircd works fine.
>
> In s_bsd.c, comment out all the code in set_sock_opts and
> irc/ircd loopback works. All this function does is set
> SO_REUSEADDR, possibly SO_USELOOPBACK, and possibly try to change the
> RCVBUF/SNDBUF to 8192 bytes.
>
This is much apprectiated. The actual problem looks like it's with the
setup of the SO_RCVBUF code. In other works I narrowed it down into
removing the following piece of code from s_bsd.c in ircd source.

#if 0
#ifdef SO_RCVBUF
opt = 8192;
if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &opt, sizeof(opt)) < 0)
report_error("setsockopt(SO_RCVBUF) %s:%s", cptr);
#endif
#endif

As soon as I removed this piece of code from ircd inet sockets started
working again. Looks like SO_SNDBUF works though as it set directly below
this piece of code. Someone familar with the internals of networking
should look into this. I spent the afternoon screwing around with patch
files and trying to narrow it down to a single piece of code... Waste of
time looks like.


Colten Edwards



\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.068 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site