Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2008 14:31:48 +0200 (CEST)
From:      Ed Schouten <ed@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/124484: [Patch] comms/conserver: don't use sgtty
Message-ID:  <20080611123148.2E9111CC1A@palm.hoeg.nl>
Resent-Message-ID: <200806111240.m5BCe8s8034583@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         124484
>Category:       ports
>Synopsis:       [Patch] comms/conserver: don't use sgtty
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 11 12:40:08 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Ed Schouten
>Release:        FreeBSD 6.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD palm.hoeg.nl 6.3-STABLE FreeBSD 6.3-STABLE #0: Wed Jun 4 08:56:01 CEST 2008 ed@palm.hoeg.nl:/usr/obj/usr/src/sys/PALM i386
>Description:
The comms/conserver port still uses the sgtty programming interface.
This interface is going away soon, which means we have to switch this
application to use termios. conserver already supports termios, but it
is disabled on FreeBSD.

Using sgtty is bad; it doesn't work when COMPAT_43TTY is disabled in the
kernel configuration file.
>How-To-Repeat:
>Fix:
Store the following patch in the `files' directory. It enables termios
and makes it compile as well.

--- etc/autologin/autologin.c
+++ etc/autologin/autologin.c
@@ -41,7 +41,6 @@
 
 #if USE_TERMIOS
 #include <termios.h>
-#include <unistd.h>
 
 #else
 #if USE_TERMIO
@@ -443,11 +442,11 @@
 		/* NOTREACHED */
 	}
 #endif
-	n_tio.c_iflag &= ~(IGNCR|IUCLC);
+	n_tio.c_iflag &= ~(IGNCR);
 	n_tio.c_iflag |= ICRNL|IXON|IXANY;
-	n_tio.c_oflag &= ~(OLCUC|ONOCR|ONLRET|OFILL|NLDLY|CRDLY|TABDLY|BSDLY);
-	n_tio.c_oflag |= OPOST|ONLCR|TAB3;
-	n_tio.c_lflag &= ~(XCASE|NOFLSH|ECHOK|ECHONL);
+	n_tio.c_oflag &= ~(ONOCR|ONLRET);
+	n_tio.c_oflag |= OPOST|ONLCR|OXTABS;
+	n_tio.c_lflag &= ~(NOFLSH|ECHOK|ECHONL);
 	n_tio.c_lflag |= ISIG|ICANON|ECHO;
 	n_tio.c_cc[VEOF] = '\004';		/* ^D	*/
 	n_tio.c_cc[VEOL] = '\000';		/* EOL	*/
--- etc/autologin/machine.h
+++ etc/autologin/machine.h
@@ -38,7 +38,7 @@
 #define USE_TERMIO	(defined(ETA10)||defined(V386))
 #endif
 #if !defined(USE_TERMIOS)
-#define USE_TERMIOS	(defined(HPUX)||defined(SUN5)||defined(PTX)||defined(IRIX5)||defined(LINUX))
+#define USE_TERMIOS	(defined(HPUX)||defined(SUN5)||defined(PTX)||defined(IRIX5)||defined(LINUX)||defined(FREEBSD))
 #endif
 #if !defined(USE_TCBREAK)
 #define USE_TCBREAK	(defined(SUN4)||defined(PTX))
@@ -66,7 +66,7 @@
 #endif
 
 #if !defined(USE_TC)
-#define USE_TC		(defined(EPIX)||defined(IBMR2)||defined(V386)||defined(S81)||defined(PARAGON))
+#define USE_TC		(defined(EPIX)||defined(IBMR2)||defined(V386)||defined(S81)||defined(PARAGON)||defined(FREEBSD))
 #endif
 
 #if !defined(HAVE_GETUSERATTR)
@@ -74,7 +74,7 @@
 #endif
 
 #if !defined(USE_IOCTL)
-#define USE_IOCTL	(defined(V386)||defined(S81)||defined(NETBSD)||defined(FREEBSD))
+#define USE_IOCTL	(defined(V386)||defined(S81)||defined(NETBSD))
 #endif
 
 
@@ -127,7 +127,6 @@
 #if FREEBSD
 #include <sys/uio.h>
 #include <sys/proc.h>
-#include <sys/ioctl_compat.h>
 #define setsid()	getpid()
 #else
 
>Release-Note:
>Audit-Trail:
>Unformatted:



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