rkt logo

INN FAQ Part 3

NOTE: The maintainers of the INN FAQ stopped publishing in December 1997.
An important update to this topic is provided by Mib Software in the Usenet RKT for Subscribers.

Subject: (3.9) syslog message: ME cant accept RCreader


Situation: INN 1.4sec on ICS2.0 or Interactive Unix System V Release
3.2 or one of the many SVR4 Unix's. You get syslog messages like:

Jul 14 12:07:44 isdn.IFNS.DE innd: ME cant accept RCreader No more
Jul 14 12:07:44 isdn.IFNS.DE innd: ME cant accept RCreader Protocol error
May  7 12:05:07 salyko.cube.net innd: ME cant accept RCreader Protocol error

when you connect to innd from a remote machine, but not from the
local host.

Problem: Well, that's just another bug in the SVR4 networking code.

Chris Munonye <munonye@ifns.de> reports that this patch fixed the
problem:

*** RCS/rc.c     Sun Jul 18 15:02:50 1993
--- rc.c Sun Jul 18 15:04:35 1993
***************
*** 173,178 ****
--- 173,181 ----

      /* Get the connection. */
      size = sizeof remote;
+     if (SetNonBlocking(cp->fd, FALSE) < 0)
+        syslog(L_ERROR, "%s cant un-nonblock %d in RCreader(errno %d) %m :",
+               LogName, cp->fd, errno);
      if ((fd = accept(cp->fd, (struct sockaddr *)&remote, &size)) < 0) {
         syslog(L_ERROR, "%s cant accept RCreader %m", LogName);
         return;

Under Solaris, when accept() fails and sets errno to EPROTO, it means
the client has sent a TCP reset before the connection has been
accepted
by the server.

Therefore, the syslog messages Inn produces:
         innd: ME cant accept RCreader Protocol error
can be merely ignored under Solaris.

Note that in 2.5.1 with the Internet Server Supplement and also in 2.6
the errno for this case has changed from EPROTO to ECONNABORTED.

------------------------------

[Source: INN FAQ Part 3 Archive-name: usenet/software/inn-faq/part3]
[Last Changed: $Date: 1997/11/03 18:15:12 $ $Revision: 2.18 $]
[Copyright: 1997 Heiko Rupp, portions by Tom Limoncelli, Rich Salz, et al.]