Skip site navigation (1)Skip section navigation (2)
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>