ports/124484: [Patch] comms/conserver: don't use sgtty

Ed Schouten ed at FreeBSD.org
Wed Jun 11 12:40:08 UTC 2008


>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 at 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:



More information about the freebsd-ports-bugs mailing list