Date: Mon, 5 May 2008 16:07:12 -0500 (CDT) From: "Douglas K. Rand" <rand@meridian-enviro.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/123437: comms/qpage -- hangup problems and ident requests Message-ID: <200805052107.m45L7Cko097895@delta.meridian-enviro.com> Resent-Message-ID: <200805052130.m45LU1MK051740@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 123437 >Category: ports >Synopsis: comms/qpage -- hangup problems and ident requests >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon May 05 21:30:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Douglas K. Rand >Release: FreeBSD 6.2-RELEASE-p3 i386 >Organization: Meridian Environmental Technology, Inc. >Environment: System: FreeBSD delta.meridian-enviro.com 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Fri Feb 29 22:49:00 CST 2008 root@delta.meridian-enviro.com:/usr/obj/usr/src/sys/DELTA i386 >Description: If you set identtimeout to 0 it is supposed to supress getting the submitting user. It does stop qpage from explicitly making its own ident request, but it doesn't stop qpage from having TCP Wrappers make the request for it. Also, at times we end up with the modem not getting hung up. There is a logic error where it tries to hangup the modem by dropping DTR and setting the line speed to 0. But it then executes a return from the function, skipping the very next check which is to see if carrier detect is still present, and then trying to hang up the modem with "+++" and then a "ATH0". Both patches have been submitted to the qpage author. >How-To-Repeat: For ident, use qpage via a firewall that is dropping ident packets, it takes 10 seconds to establish the connection. For the hangup I am not able to routinely recreate the problem of the modem not hanging up, but I still believe there is a logic error in the code. >Fix: The attached patches. --- srvrsnpp.c.orig Mon May 5 15:53:26 2008 +++ srvrsnpp.c Mon May 5 15:54:40 2008 @@ -1056,7 +1056,12 @@ fromhost(&request); - ptr = eval_user(&request); + /* + ** If we aren't doing an ident request, don't ask + ** TCP Wrappers to do it either + */ + if (IdentTimeout) ptr = eval_user(&request); + else ptr = NULL; if (ptr && strcmp(ptr, STRING_UNKNOWN) != 0) p->ident = strdup(ptr); --- ixo.c.orig Mon May 5 15:55:36 2008 +++ ixo.c Mon May 5 15:56:29 2008 @@ -368,7 +368,6 @@ if (tcsetattr(fd, TCSANOW, &ti) < 0) { qpage_log(LOG_DEBUG, "tcsetattr(): %s", strerror(errno)); closemodem(fd); - return; } /* >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805052107.m45L7Cko097895>