Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 1998 20:56:22 -0800
From:      Don Lewis <Don.Lewis@tsc.tdk.com>
To:        The Hermit Hacker <scrappy@hub.org>, Katsuhiro Kondou <kondou@nec.co.jp>
Cc:        freebsd-hackers@FreeBSD.ORG, inn-workers@isc.org
Subject:   Re: innstat problem still exists...
Message-ID:  <199812150456.UAA28495@salsa.gv.tsc.tdk.com>
In-Reply-To: The Hermit Hacker <scrappy@hub.org> "Re: innstat problem still exists..." (Dec 15, 12:38am)

next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 15, 12:38am, The Hermit Hacker wrote:
} Subject: Re: innstat problem still exists...
} 
} Does anyone recall what the fix is for this?  Basically, the problem is
} that on a FreeBSD system, running INN, the following command just returns
} an error:
} 
} %ctlinnd name ''
} Can't send "name" command (short read failure) No such file or directory.
} 
} I swear there was a solution to this posted eons back, but can't find
} it...
} 
} Thanks...
} 
} 
} On Tue, 15 Dec 1998, Katsuhiro Kondou wrote:
} 
} > In article <Pine.BSF.4.05.9812142313570.6029-100000@thelab.hub.org>,
} > 	The Hermit Hacker <scrappy@hub.org> wrote;
} > 
} > } 	'K, how does one fix? :(  I took a look through lib/inndcomm.c, at
} > } the ICCcommand() function, which appears to be what is generating the
} > } error, but nothing jumps out at me as a value that I can increase...
} > :
} > }   4083 ctlinnd  CALL  recvfrom(0x4,0x12000,0x1000,0,0,0)
} > }   4083 ctlinnd  GIO   fd 4 read 35 bytes
} > }        "0 Reply too long for server to send"
} > 
} > I've just remembered that someone reported this some
} > months ago, but forgot what should be.
} > Your innd fails to send the response due to huge data.
} > Maybe some other method, e.g. ctlinnd indicates output
} > file and innd writes the result to it, might be one
} > of solutions.
} > -- 
} > Katsuhiro Kondou



>From my email archives:


On Oct 20,  9:12pm, "Andrew Vasilyev" wrote:
} Subject: Re: ctlinnd name '' and too many connections
} > On Thu, 16 Oct 1997, Andrew Vasilyev wrote:
} ...
} > >   Change MIN_BUFFER_SIZE in lib/inndcomm.c to something bigger
} > >   (I've made it 32K) and recompile ctlinnd.
} > 
} > Already tried that, but it doesn't help.  I am sure I reinstalled ctlinnd
} > and innd and restarted innd since then, but I still get the error at 2k.
} 
}   Somewhere in the past, when I used FreeBSD 1.5.1 (:))) and failed
}   to read about setsockopt(), I've hacked this place in cc.c:CCreader()
}   so it attempted to restart the reply from the previous end-point
}   (so one gets several 2K pieces). And it worked! :)))
} _______
} 	ANDY
}-- End of excerpt from "Andrew Vasilyev"


On Oct 20,  2:46pm, Another Victim of the Usenet Mafia wrote:
} Subject: Re: ctlinnd name '' and too many connections
} On my birthday, when I was passing out fro^H^H^H far too many FREE BEERS,
} Jeff Garzik wrote:
} 
} > > Can't send "name" command (short read failure) Operation not permitted.
} > 
} > The output the modified "ctlinnd name" command returns is very verbose. 
} > I sent Barry Boursyma a patch (does he still have it?)
} 
}     I should have it somewhere...  Hmmm....  (NFS-mounts innumerable
} filesystems, spends countless hours in confusion digging aroung, coming to
} the conclusion that I'm not at all organized...)
} 
}     The closest I can come up with is this.  Seems that with as many
} simultaneous connections as I was having, Jeff decided to totally dispense
} with labels, as the output would be parsed by a script anyway.  So this
} worked for me up to around 192 connections, give or take a handful...  Or
} maybe less?  I donna rememba...
} 
} *** cc.c        Tue Jun  3 16:28:14 1997
} --- cc.c.new    Sun Jun  8 07:45:59 1997
} ***************
} *** 903,909 ****
}   	    BUFFappend(&CCreply, NL, 1);
}   	p = CHANname(cp);
}   	BUFFappend(&CCreply, p, strlen(p));
} ! 	sprintf(Gs1, ":seconds %ld:accepted %ld:refused %ld:rejected %ld",
}   		(long)Now.time - cp->Started, cp->Received, cp->Refused, cp->Rejected);
}   	  BUFFappend(&CCreply, Gs1, strlen(Gs1));
}       }
} --- 903,909 ----
}             BUFFappend(&CCreply, NL, 1);
}         p = CHANname(cp);
}         BUFFappend(&CCreply, p, strlen(p));
} !       sprintf(Gs1, ":%ld:%ld:%ld:%ld",
}                 (long)Now.time - cp->Started, cp->Received, cp->Refused, cp->Rejected);
}           BUFFappend(&CCreply, Gs1, strlen(Gs1));
}       }
} 
} 
} So to my glazed eyes, I believe you should be able to obtain what you
} want in any desired degree of verbosity (with suitable limit on total
} response length until you tweak the size of the buffer in inndcomm.c),
} by replacing the line in the patched version as
} ! 	sprintf(Gs1, ":seconds %ld:accepted %ld:refused %ld:rejected %ld",
} with something else, like maybe
} !       sprintf(Gs1, ":sec %ld:acc %ld:ref %ld:rej %ld",
} or whatever tickles your goat.
} 
} 
} Barry Bouwsma, will dispense FREE BEER for food
} Boursyma.  Ha.  You want me to say hello to more killfiles, eh?
} 
}-- End of excerpt from Another Victim of the Usenet Mafia



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812150456.UAA28495>