I have some questions about telnet/telnetd/libtelnet/tn3270 and why FreeBSD is different than other BSDs in this regard

Paul Seniura pdseniura at techie.com
Thu Mar 11 19:34:25 PST 2004


Hi Kris,


> On Tue, Mar 09, 2004 at 04:43:48PM -0600, Paul Seniura wrote:
> 
> > I'm wondering what historical moves were done to the src that builds
> > FreeBSD's telnet command and telnetd daemon, because now they do not
> > match other BSDs (AFAICS).  This is the crux of my perplextion.
> 
> Read the commit logs and mailing list archives - it's all discussed
> there.
> 
> Kris

I'm sorry, I am using Rambler to find any hits on 'tn3270' and
see nothing useful.

How many years do I need to go back?

Let me show you what I found, please.  Maybe you can help me find
the "discussion" that isn't here in my notes.

CVSweb still shows 'tn3270.c' being under the Attic with No
Useful Comments as to why it was put there.

Then I went to the CVSweb under /src/usr.bin/telnet to find the
following Humorous But Terribly Non-Useful Comment:

¥ Revision 1.4, Tue Aug 31 08:53:58 1999 UTC (4 years, 6 months ago) by markm 
¥ Branch: MAIN 
¥ CVS Tags: HEAD 
¥ Changes since 1.3: +0 -0  lines
¥ FILE REMOVED
¥ 
¥ FreeBSD District court of Appeals - TN3270 vs Ports
¥ 
¥ Judge:          TN3270, you are charged with being superfluous to
¥                 requirement, and have been found guilty.
¥                 Defence, do you have any final words?
¥ Defence lawyer: Yes,..
¥                 *!BLAM!*
¥ Judge:          Contempt of court!! That blood is disgusting! Sergeant?
¥ Sergeant:       Sah!?
¥ Judge:          Get that mess out of here.
¥ Sergeant:       Sah!!
¥ Judge:          Anyone else have anything else to say?
¥                 ...
¥ Judge:          Executioner!
¥ Executioner:    My lord?
¥ Judge:          Carry out the sentence, forthwith!
¥ Executioner:    As my lord wishes...
¥                 *!BLAM!* *!BLAM!* *!BLAM!*
¥ Judge:          Any more matters for the court today?

A reply to that very non-useful comment:

¥ From: Dag-Erling Smorgrav <des at flood.ping.uio.no>
¥ Date: 02/09/1999
¥ Mark Murray <markm at FreeBSD.org> writes:
¥ >   Removed files:
¥ >     [...]
¥ >   Log:
¥ >     [...]
¥ 
¥ So, you just added 650 bytes of moderately funny but totally useless
¥ text to about a hundred files in the repo, thus contributing 65 kB to
¥ repo bloat and lengthening an average user's cvsup session by 20
¥ seconds.
¥ 
¥ DES

...And still no useful comment to this day.

I see the thread leading up to markm's action:

¥ Re: cvs commit: src/usr.bin/tn3270/sys_curses termout.c
¥ From: Mark Murray <mark at grondar.za>
¥ Date: 30/08/1999
¥ > peter       1999/08/30 01:23:34 PDT
¥ > 
¥ >   Modified files:
¥ >     usr.bin/tn3270/sys_curses termout.c 
¥ >   Log:
¥ >   Make this compile..  (Why do we have tn3270 in the tree anyway?)
¥ 
¥ I've had a license to punt this to ports for _years_. I'll do this tonight.
¥ 
¥ M

and

¥ Re: cvs commit: src/usr.bin/tn3270/sys_curses termout.c
¥ From: Mark Murray <mark at grondar.za>
¥ Date: 30/08/1999
¥ > >   Make this compile..  (Why do we have tn3270 in the tree anyway?)
¥ >   
¥ > Because it was in 4.4.  I've been wanting to get rid of it for three
¥ > or four years now....
¥ 
¥ It will be gone in 6 hours!
¥ 
¥ M

and finally

¥ cvs commit: CVSROOT modules
¥ From: Mark Murray <markm at FreeBSD.org>
¥ Date: 31/08/1999
¥ markm       1999/08/30 13:21:32 PDT
¥ 
¥   Modified files:
¥     .                    modules 
¥   Log:
¥     port_tn3270 --> ports/net/tn3270
¥   
¥   Revision  Changes    Path
¥   1.325     +2 -1      CVSROOT/modules

Afterwards:

¥ cvs commit: ports/net/tn3270 - Imported sources
¥ From: Mark Murray <markm at FreeBSD.org>
¥ Date: 31/08/1999
¥ markm       1999/08/30 13:27:51 PDT
¥ 
¥   ports/net/tn3270 - Imported sources
¥   Update of /home/ncvs/ports/net/tn3270
¥   In directory freefall.freebsd.org:/d/users/markm/import/tn3270
¥   
¥   Log Message:
¥   This is FreeBSD's tn3270, yanked from src/usr.bin, and lightly hacked
¥   with the addition of relevant parts of src/usr.bin/telnet/*
¥   
¥   Once the dateline hase crossed the repository, the original will
¥   be led outside, given a perfunctory trial, and shot.
¥   
¥   Status:
¥   
¥   Vendor Tag:   BSD_4_4
¥   Release Tags: bsd_4_4
¥                 
¥   N ports/net/tn3270/Makefile
¥   N ports/net/tn3270/files/md5
¥   N ports/net/tn3270/patches/patch-aa
¥   N ports/net/tn3270/pkg/COMMENT
¥   N ports/net/tn3270/pkg/DESCR
¥   N ports/net/tn3270/pkg/PLIST
¥   
¥   No conflicts created by this import


Rambler produced hits logged several years before; I found hits
on 'imports' of this subtree back in 1996, other hits in 1995.
But I see no "discussion" concerning this move during those
years, at all.

About a year after tn3270 was moved, people began to experience
problems with it.  PR 21264 seems to be the first one -- and it
is STILL OPEN, because the prebuilt binaries package on the
servers is horribly out of date -- and THAT is because tn3270
under ports will not compile properly for several reasons (not
entirely related to "the move").

Prior "discussions" I see that Rambler found tn3270 mentioned at
all:
* an old and very long thread on "ports-current/packages-current"
  being removed in favor for ports solely supporting -stable,
  ca. FreeBSD-v2.2;
* when changes to <sys/wait.h> were discussed, in which tn3270
  was one of many affected items;
* the Y2K thread.
At the time of those msgs, telnet[d]+tn3270 was still under
/src/usr.bin/telnet -- and no mention of moving it.

All that is aside the seldom random 'slanderous' comments
directed at tn3270 itself made over the years by such notables as
Jordan Hubbard and a few others.  Those msgs cannot be construed
as "discussion".  There was an odd blurb that gave me a clue as
to why tn3270 is 'hated' so much: it generates things outside its
subdir and touches other things like that -- but no precise
statements as to exactly what it does 'wrong' and where and why,
no PR filed, no nuthin explaining the REAL reason it is so hated. 
I know bento logs show the technical problems with it today --
but I don't see any *real* discussion you elude w/r/t "the tn3270
move".  BTW if y'all hated that thing so much, EVEN WHILE IT
*WAS* WORKING all those years ago, why didn't anyone fix it to
compile & work properly *before* I showed up here in 2003? ;) 
Obtaining access to a mainframe to test this program is not
difficult; there are several systems around that are publicly
on-line with 'guest' accounts and will use this IBM-modified
version of telnet.


Getting back to what you mentioned, tho.  Could you point me to
discussions you had in mind, please?  Maybe Rambler doesn't go
back that far in its archives.  Right now I'm inclined to think
maybe instead there WAS NO real discussion in actuality,
just 'hate speech'. ;)

Fixing tn3270 properly is exactly what I intend to do. 
And fixing it properly leads me to putting it back with its
telnet relatives where it belongs esp. as close as possible to
all other BSDs I can look at. 
Nothing I've seen has changed my mind about this. 
(See my reply to Alex, too, please.)


...some extra things to think about...

"They" out there who write magazine articles and such are all
saying Mainframes Are Dead.  Things like 3270 terminals are
"legacy products".  We've seen an article proclaiming those
notions to be False only very rarely.  Until we can get
permission from TPTB here to install IBM's Linux/390 (I believe
FreeBSD/390 is way far behind), we must continue using the 3270
style of terminals.  And even if we had Linux/390 running, there
are tons of (yes) COBOL programs and JCL and TSO apps & CLists
that still require 3270 terminals.  This kind of communications
interface is not going away anytime AFAICS.  And FreeBSD is one
o.s. that doesn't have a working basic text-mode terminal here
(x3270 seems to work fine, but it has other problems... perhaps
I'll try working on them, too).

I'm relegated to using a Puny Pentium2 to make things work.  TPTB
don't want me to bring in my supercharged G4, but I also intend
on making tn3270 work on big-endians as well as li'l-ones.  This
could save several hundred U.S. Dollars PER COPY of the
commercial 3270 emulators.  Hint hint.


In summing up, bearing in mind I've seen no "real discussion" on
this at all, this will be my approach:
(1) to "un-move"* it locally on the PC at work;
(2) fix it so it at least compiles properly and hopefully can
    talk to our z/OS system; 
(3) then I will keep asking y'all to TELL ME EXACTLY WHY YOU
    HATE IT SO MUCH, to file PRs on the matter,
(4) AND FIX *THOSE* REASONS.
When everything works as per current specs (and all ramifications
involved there), and can be agreed upon, then we can "un-move"*
it For Real ('commiting' everything needed to do so). 
Once And For All. ;)


* -- move tn3270.c & its parts back to its relatives presently
under /src/contrib/telnet -- not back to /src/usr.bin/telnet. 
Okay?  ;)


  --  thx, Paul Seniura.



More information about the freebsd-questions mailing list