This is a replacement for NEXTSTEP's /bin/login. It has been patched by
Ingo Paschke <ipaschke@xlan.hil.de> to provide 8-bit clean login's with
mgetty's sgtty NEXTSTEP port.

To use, just "make install". This will install modem-login in /usr/local/bin.
Then, in mgetty's login.config, replace `/bin/login' with
`/usr/local/bin/modem-login' or change DEFAULT_LOGIN_PROGRAM in policy.h
to `/usr/local/bin/modem-login'.


For more information on NEXTSTEP and mgetty, consult the `Operating Systems'
section on NEXTSTEP in the mgetty manual.

	Gregor Hoffleit <flight@mathi.uni-heidelberg.de>





This is the README of the original jsh-login as found on peanuts.leo.org
as Patches/jsh-login.s.tar.gz:

---
This is a replacement for /bin/login in NeXT Software Release 2.0
and 2.1 that enables job control for /bin/sh users.

/bin/sh and /bin/jsh are hard links to the same file; job control
is enabled if argv[0][0]=='j' or the -J flag is set.  Shells
started from login have a '-' prepended to their basename to
indicate that .profile should be sourced, so if you specify
/bin/jsh as your login shell, its sees its name as -jsh, and
doesn't activate job control.  This has been reported to
BUG_NEXT.

This version of login passes the "-J" flag if the login shell
is /bin/sh.  Everything else still thinks you're running
"regular" sh, so you don't have to muck with /etc/shells or
anything.  Inferior shells will *not* have job control
enabled; use jsh instead if that's what you want (most of the
time it isn't).
---



This is Ingo's patch:

---
Sun, 14 Apr 1996 23:23:25       de.comp.sys.next            Thread   12 of   15
Lines 92             mgetty fuer NSfIP? - Teilerfolg...     No responses
ipaschke@xlan.hil.de                                    Ingo Paschke at private

Hallo!

ipaschke@xlan.hil.de (Ingo Paschke) writes:

>Das Problem ist nur, dass /bin/login offenbar die Verbindung wieder auf
>7-Bit, gerade Paritaet zuruecksetzt: Issue und login-Prompt werden von
>mgetty korrekt in 8-Bit ausgegeben, das Passwort-Prompt ist dann nicht mehr
>lesbar, weil es in 7-Bit ausgegeben wird.

Man nehme jsh-login.s.tar.gz von peanuts (/Patches), wende folgendes diff
an (NeXT_repair_line ist von mgetty-0.99 geklaut):

-------------------------------------------------------------------
diff -burN jsh-login.orig/Makefile jsh-login/Makefile
--- jsh-login.orig/Makefile     Fri Apr 26 11:51:56 1991
+++ jsh-login/Makefile  Sun Apr 14 22:43:42 1996
@@ -17,11 +17,12 @@
 # from @(#)Makefile    5.3 (Berkeley) 5/9/89
 #

-CFLAGS=        -O -bsd
+CFLAGS=        -O -bsd -DORIGINAL -DFIX8BIT
 LIBC=  /lib/libsys_s.a
 SRCS=  login.c setenv.c
 OBJS=  login.o setenv.o
 MAN=   login.0
+DESTDIR= /usr/local

 all: login

@@ -40,9 +41,8 @@
 depend: ${SRCS}
        mkdep -p ${CFLAGS} ${SRCS}

-install: ${MAN}
-       install -s -o root -g bin -m 4755 login ${DESTDIR}/bin/login
-       install -c -o bin -g bin -m 444 login.0 ${DESTDIR}/usr/man/cat1
+install:
+       install -s -o root -g bin -m 4755 login ${DESTDIR}/bin/modem-login

 lint: ${SRCS}
        lint ${CFLAGS} ${SRCS}
diff -burN jsh-login.orig/login.c jsh-login/login.c
--- jsh-login.orig/login.c      Fri Apr 26 12:00:26 1991
+++ jsh-login/login.c   Sun Apr 14 22:37:10 1996
@@ -180,6 +180,10 @@
        (void)ioctl(0, TIOCSETC, &tc);



        (void)ioctl(0, TIOCSETP, &sgttyb);

+#if defined(NeXT) && defined(FIX8BIT)
+       NeXT_repair_line(0);
+#endif
+
        for (cnt = getdtablesize(); cnt > 2; cnt--)
                close(cnt);

@@ -705,5 +709,16 @@
                (void)write(fd, (char *)ut, sizeof(struct utmp));
                (void)close(fd);
        }
+}
+#endif
+
+#if defined(NeXT) && defined(FIX8BIT)
+NeXT_repair_line(int fd)
+{
+    int             bitset = LPASS8 | LPASS8OUT;
+    int             bitclr = LNOHANG;
+
+    ioctl(fd, TIOCLBIS, &bitset);
+    ioctl(fd, TIOCLBIC, &bitclr);
 }
 #endif
--------------------------------------------------------------

... und kann sich ganz auf das naechste Problem konzentrieren.

Dummerweise funktioniert naemlich das "LNOHANG"-Bit-Loeschen nicht (d.h. ich
denke schon, dass das Loeschen funktioniert, das scheint NEXTSTEP jedoch
wenig zu stoeren). Legt der Anrufer also einfach auf, haengt die Kiste
ewiglich :(.

Ideen?

Aaargh! Jemand erwecke mich bitte aus diesem NEXTSTEP-tty-Alptraum! ;).

Ciao,
Ingo.
--
Ingo Paschke
Braunschweig, Germany
[MIME, Nextmail welcome.]
