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>