home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC-Online 1996 May
/
PCOnline_05_1996.bin
/
linux
/
source
/
n
/
trn
/
trn-3.6
/
trn-3
Wrap
Text File
|
1995-01-09
|
89KB
|
3,546 lines
diff -u --new-file --recursive trn-3.6.orig/.config/README trn-3.6/.config/README
--- trn-3.6.orig/.config/README Wed Dec 31 19:00:00 1969
+++ trn-3.6/.config/README Mon Jan 9 16:35:44 1995
@@ -0,0 +1,4 @@
+This directory created by Configure to save information that should
+persist across sessions.
+
+You may safely delete it if you wish.
diff -u --new-file --recursive trn-3.6.orig/.config/instruct trn-3.6/.config/instruct
--- trn-3.6.orig/.config/instruct Wed Dec 31 19:00:00 1969
+++ trn-3.6/.config/instruct Mon Jan 9 16:35:48 1995
@@ -0,0 +1 @@
+root
diff -u --new-file --recursive trn-3.6.orig/Makefile trn-3.6/Makefile
--- trn-3.6.orig/Makefile Wed Dec 31 19:00:00 1969
+++ trn-3.6/Makefile Mon Jan 9 16:40:46 1995
@@ -0,0 +1,1001 @@
+# $Id: Makefile.SH,v 3.0 1992/03/01 02:13:32 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+#
+# optional defines you can add to the CFLAGS
+# -DDEBUG compile in support for the -D option
+# -DNO_LISTGROUP avoids attempting to use LISTGROUP
+# -DREPLYTO_POSTER_CHECKING makes -p also check Reply-To (slow)
+
+srcdir = .
+VPATH = .
+
+CC = gcc
+TOUCH = touch
+#YACC = yacc
+#LINT = lint
+lintflags = -phbvxac
+
+CFLAGS = -O2
+LDFLAGS = -s
+
+rnbin = /usr/bin
+rnlib = /usr/lib/trn
+mansrc = /usr/man/man1
+manext = 1
+NNTPFLAGS =
+ndirc =
+ndiro =
+strftimec =
+strftimeo =
+installfilexp = /usr/lib/trn/filexp
+
+libs = -ltermcap -lm -lbsd
+public = trn newsetup newsgroups Pnews Rnmail trn-artchk $(nntpbin)
+private = norm.saver mbox.saver makedir Pnews.header Speller filexp
+util = makedepend newsnews
+manpages = trn.1 Pnews.1 Rnmail.1 newsetup.1 newsgroups.1
+nntpbin=nntplist
+nntpsrc=nntpinit.c nntpclient.c nntpauth.c nntp.c
+nntpobj1=nntpinit.o nntpclient.o nntpauth.o
+nntpobj2=nntp.o
+
+h1 = addng.h art.h artio.h artsrch.h autosub.h backpage.h bits.h cache.h
+h2 = charsubst.h common.h decode.h final.h hash.h head.h help.h init.h intrp.h
+h3 = kfile.h last.h ng.h ngdata.h ngsrch.h ngstuff.h only.h rcln.h rcstuff.h
+h4 = respond.h rthread.h rt-mt.h rt-ov.h rt-page.h rt-process.h rt-select.h
+h5 = rt-util.h rt-wumpus.h search.h sw.h term.h trn.h util.h util2.h
+
+h = $(h1) $(h2) $(h3) $(h4) $(h5)
+
+c1 = addng.c art.c artio.c artsrch.c autosub.c backpage.c bits.c cache.c
+c2 = charsubst.c decode.c edit_dist.c final.c hash.c head.c help.c init.c
+c3 = intrp.c kfile.c last.c $(ndirc) ng.c ngdata.c nghash.c ngsrch.c ngstuff.c
+c4 = only.c rcln.c rcstuff.c respond.c rthread.c rt-mt.c rt-ov.c
+c5 = rt-process.c rt-page.c rt-select.c rt-util.c rt-wumpus.c search.c
+c6 = $(strftimec) sw.c term.c trn.c util.c util2.c unship.c uudecode.c
+c7 = $(nntpsrc) charsubst.c
+
+c = $(c1) $(c2) $(c3) $(c4) $(c5) $(c6) $(c7)
+
+obj1 = addng.o art.o artio.o artsrch.o autosub.o backpage.o bits.o cache.o
+obj2 = charsubst.o decode.o edit_dist.o final.o hash.o head.o help.o init.o
+obj3 = intrp.o kfile.o last.o $(ndiro) ng.o ngdata.o nghash.o ngsrch.o
+obj4 = ngstuff.o only.o rcln.o rcstuff.o respond.o rthread.o rt-mt.o rt-ov.o
+obj5 = rt-process.o rt-page.o rt-select.o rt-util.o rt-wumpus.o search.o
+obj6 = $(strftimeo) sw.o term.o trn.o util.o util2.o unship.o uudecode.o
+obj7 = parsedate.o $(nntpobj1) $(nntpobj2)
+
+obj = $(obj1) $(obj2) $(obj3) $(obj4) $(obj5) $(obj6) $(obj7)
+
+addedbymake = $(public) $(private) $(util) Makefile.old config.h\
+ parsedate.c cppstdin all
+
+# grrr
+SHELL = /bin/sh
+
+.c.o:
+ $(CC) -c $(CFLAGS) $<
+
+all: $(public) $(private) $(util) Makefile
+ $(TOUCH) all
+
+trn: $(obj)
+ $(CC) $(LDFLAGS) $(obj) $(libs) -o trn
+
+nntpinit.o: nntpinit.c
+ $(CC) -c $(CFLAGS) $(NNTPFLAGS) $<
+
+nntplist: nntplist.o util2.o $(nntpobj1)
+ $(CC) $(LDFLAGS) nntplist.o util2.o $(nntpobj1) -o nntplist $(libs)
+
+trn-artchk: trn-artchk.o util2.o $(nntpobj1)
+ $(CC) $(LDFLAGS) trn-artchk.o util2.o $(nntpobj1) -o trn-artchk $(libs)
+
+parsedate.c: parsedate.y
+ @echo 'Expect 6 shift/reduce conflicts'
+ $(YACC) $(srcdir)/parsedate.y
+ mv -f y.tab.c parsedate.c
+
+unipatch: unipatch.o
+ $(CC) $(LDFLAGS) unipatch.o -o unipatch
+
+Pnews.header: Pnews
+
+# if a .h file depends on another .h file...
+$(h):
+ -$(TOUCH) $@
+
+install: $(public) $(private) $(manpages)
+# won't work with csh
+ export PATH || exit 1
+ - (cd `./filexp $(rnbin)`; mv trn trn.old)
+ - if test `pwd` != `./filexp $(rnbin)`; then cp $(public) `./filexp $(rnbin)`;\
+ (cd `./filexp $(rnbin)`; chmod o+x $(public); strip trn trn-artchk $(nntpbin)); fi
+ - if test $(installfilexp) = Rnfilexp; then cp ./filexp `./filexp $(rnbin)/Rnfilexp`; fi
+ - ./makedir `./filexp $(rnlib)`
+ - chmod o+r `./filexp $(rnlib)`
+ - if test `pwd` != `./filexp $(rnlib)`; then cp $(srcdir)/INIT $(private) `./filexp $(rnlib)`; fi
+ - if test ! -f `./filexp $(rnlib)/newsnews`; then cp newsnews `./filexp $(rnlib)`; fi
+ - (cd `./filexp $(rnlib)`; chmod o+x $(private); chmod o+r INIT newsnews)
+ - if test "X$(mansrc)" != "X" -a "X`pwd`" != X`./filexp $(mansrc)`; then \
+for page in $(manpages); do \
+dest=$(mansrc)/`basename $$page .1`.$(manext); \
+rm -f $$dest; cp $(srcdir)/$$page $$dest; chmod 444 $$dest; \
+done; \
+fi
+
+clean:
+ @echo 'Use "make realclean" to also remove the Makefile.'
+ @echo 'Use "make spotless" to even remove config.sh.'
+ rm -rf UU
+ rm -f *.o core $(addedbymake)
+
+realclean:
+ @echo 'You can use "Configure -S ; make depend ; make" to reverse this.'
+ rm -rf UU
+ rm -f *.o core $(addedbymake) Makefile
+
+spotless:
+ rm -rf UU .config
+ rm -f *.o core $(addedbymake) Makefile config.sh
+
+# The following lint has practically everything turned on. Unfortunately,
+# you have to wade through a lot of mumbo jumbo that can't be suppressed.
+# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
+# for that spot.
+
+lint: $(c) parsedate.c
+ $(LINT) $(lintflags) $(defs) $? > trn.fuzz 2>&1
+
+sabertrn: $(c) parsedate.c
+ #load $(c) parsedate.c $(libs)
+
+depend: config.h Makefile makedepend
+ ./makedepend
+
+# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
+addng.o: EXTERN.h
+addng.o: INTERN.h
+addng.o: addng.c
+addng.o: addng.h
+addng.o: common.h
+addng.o: config.h
+addng.o: final.h
+addng.o: intrp.h
+addng.o: last.h
+addng.o: ngdata.h
+addng.o: nntp.h
+addng.o: nntpclient.h
+addng.o: only.h
+addng.o: rcstuff.h
+addng.o: search.h
+addng.o: trn.h
+addng.o: util.h
+art.o: EXTERN.h
+art.o: INTERN.h
+art.o: art.c
+art.o: art.h
+art.o: artio.h
+art.o: artstate.h
+art.o: backpage.h
+art.o: bits.h
+art.o: cache.h
+art.o: charsubst.h
+art.o: common.h
+art.o: config.h
+art.o: final.h
+art.o: head.h
+art.o: help.h
+art.o: intrp.h
+art.o: ng.h
+art.o: ngdata.h
+art.o: ngstuff.h
+art.o: nntp.h
+art.o: nntpclient.h
+art.o: rcstuff.h
+art.o: rt-select.h
+art.o: rt-util.h
+art.o: rt-wumpus.h
+art.o: rthread.h
+art.o: search.h
+art.o: sw.h
+art.o: term.h
+art.o: trn.h
+art.o: util.h
+art.o: util2.h
+artio.o: EXTERN.h
+artio.o: INTERN.h
+artio.o: art.h
+artio.o: artio.c
+artio.o: artio.h
+artio.o: bits.h
+artio.o: cache.h
+artio.o: common.h
+artio.o: config.h
+artio.o: final.h
+artio.o: head.h
+artio.o: ngdata.h
+artio.o: nntp.h
+artio.o: nntpclient.h
+artio.o: rthread.h
+artsrch.o: EXTERN.h
+artsrch.o: INTERN.h
+artsrch.o: artio.h
+artsrch.o: artsrch.c
+artsrch.o: artsrch.h
+artsrch.o: bits.h
+artsrch.o: cache.h
+artsrch.o: common.h
+artsrch.o: config.h
+artsrch.o: final.h
+artsrch.o: head.h
+artsrch.o: intrp.h
+artsrch.o: kfile.h
+artsrch.o: ng.h
+artsrch.o: ngdata.h
+artsrch.o: ngstuff.h
+artsrch.o: nntp.h
+artsrch.o: nntpclient.h
+artsrch.o: rt-select.h
+artsrch.o: rthread.h
+artsrch.o: search.h
+artsrch.o: term.h
+artsrch.o: util.h
+autosub.o: EXTERN.h
+autosub.o: INTERN.h
+autosub.o: autosub.c
+autosub.o: autosub.h
+autosub.o: common.h
+autosub.o: config.h
+autosub.o: final.h
+autosub.o: ngsrch.h
+autosub.o: search.h
+autosub.o: util.h
+backpage.o: EXTERN.h
+backpage.o: INTERN.h
+backpage.o: backpage.c
+backpage.o: backpage.h
+backpage.o: common.h
+backpage.o: config.h
+backpage.o: final.h
+backpage.o: intrp.h
+bits.o: EXTERN.h
+bits.o: INTERN.h
+bits.o: artio.h
+bits.o: bits.c
+bits.o: bits.h
+bits.o: cache.h
+bits.o: common.h
+bits.o: config.h
+bits.o: final.h
+bits.o: head.h
+bits.o: intrp.h
+bits.o: ndir.h
+bits.o: ng.h
+bits.o: ngdata.h
+bits.o: nntp.h
+bits.o: nntpclient.h
+bits.o: rcln.h
+bits.o: rcstuff.h
+bits.o: rt-select.h
+bits.o: rt-util.h
+bits.o: rthread.h
+bits.o: term.h
+bits.o: trn.h
+bits.o: util.h
+bits.o: util2.h
+cache.o: EXTERN.h
+cache.o: INTERN.h
+cache.o: artsrch.h
+cache.o: bits.h
+cache.o: cache.c
+cache.o: cache.h
+cache.o: common.h
+cache.o: config.h
+cache.o: final.h
+cache.o: hash.h
+cache.o: head.h
+cache.o: intrp.h
+cache.o: ng.h
+cache.o: ngdata.h
+cache.o: nntp.h
+cache.o: nntpclient.h
+cache.o: rcstuff.h
+cache.o: rt-ov.h
+cache.o: rt-page.h
+cache.o: rt-process.h
+cache.o: rt-select.h
+cache.o: rt-util.h
+cache.o: rthread.h
+cache.o: search.h
+cache.o: term.h
+cache.o: trn.h
+cache.o: util.h
+cache.o: util2.h
+charsubst.o: EXTERN.h
+charsubst.o: INTERN.h
+charsubst.o: artstate.h
+charsubst.o: charsubst.c
+charsubst.o: charsubst.h
+charsubst.o: common.h
+charsubst.o: config.h
+charsubst.o: search.h
+decode.o: EXTERN.h
+decode.o: INTERN.h
+decode.o: common.h
+decode.o: config.h
+decode.o: decode.c
+decode.o: decode.h
+edit_dist.o: EXTERN.h
+edit_dist.o: common.h
+edit_dist.o: config.h
+edit_dist.o: edit_dist.c
+edit_dist.o: util.h
+final.o: EXTERN.h
+final.o: INTERN.h
+final.o: artio.h
+final.o: bits.h
+final.o: cache.h
+final.o: common.h
+final.o: config.h
+final.o: final.c
+final.o: final.h
+final.o: init.h
+final.o: intrp.h
+final.o: last.h
+final.o: ng.h
+final.o: ngdata.h
+final.o: nntp.h
+final.o: nntpclient.h
+final.o: rcstuff.h
+final.o: term.h
+final.o: util.h
+hash.o: EXTERN.h
+hash.o: INTERN.h
+hash.o: common.h
+hash.o: config.h
+hash.o: final.h
+hash.o: hash.c
+hash.o: hash.h
+hash.o: util.h
+head.o: EXTERN.h
+head.o: INTERN.h
+head.o: artio.h
+head.o: cache.h
+head.o: common.h
+head.o: config.h
+head.o: final.h
+head.o: hash.h
+head.o: head.c
+head.o: head.h
+head.o: ng.h
+head.o: ngdata.h
+head.o: nntp.h
+head.o: nntpclient.h
+head.o: rt-process.h
+head.o: rt-util.h
+head.o: rthread.h
+head.o: util.h
+help.o: EXTERN.h
+help.o: INTERN.h
+help.o: common.h
+help.o: config.h
+help.o: help.c
+help.o: help.h
+help.o: term.h
+help.o: trn.h
+init.o: EXTERN.h
+init.o: INTERN.h
+init.o: addng.h
+init.o: art.h
+init.o: artio.h
+init.o: artsrch.h
+init.o: backpage.h
+init.o: bits.h
+init.o: cache.h
+init.o: common.h
+init.o: config.h
+init.o: decode.h
+init.o: final.h
+init.o: head.h
+init.o: help.h
+init.o: init.c
+init.o: init.h
+init.o: intrp.h
+init.o: kfile.h
+init.o: last.h
+init.o: ng.h
+init.o: ngdata.h
+init.o: ngsrch.h
+init.o: ngstuff.h
+init.o: nntp.h
+init.o: nntpclient.h
+init.o: only.h
+init.o: rcln.h
+init.o: rcstuff.h
+init.o: respond.h
+init.o: rthread.h
+init.o: search.h
+init.o: sw.h
+init.o: term.h
+init.o: trn.h
+init.o: util.h
+intrp.o: EXTERN.h
+intrp.o: INTERN.h
+intrp.o: artio.h
+intrp.o: artsrch.h
+intrp.o: bits.h
+intrp.o: cache.h
+intrp.o: common.h
+intrp.o: config.h
+intrp.o: final.h
+intrp.o: head.h
+intrp.o: init.h
+intrp.o: intrp.c
+intrp.o: intrp.h
+intrp.o: ng.h
+intrp.o: ngdata.h
+intrp.o: nntp.h
+intrp.o: nntpclient.h
+intrp.o: rcstuff.h
+intrp.o: respond.h
+intrp.o: rt-select.h
+intrp.o: rt-util.h
+intrp.o: rthread.h
+intrp.o: search.h
+intrp.o: term.h
+intrp.o: trn.h
+intrp.o: util.h
+intrp.o: util2.h
+kfile.o: EXTERN.h
+kfile.o: INTERN.h
+kfile.o: artsrch.h
+kfile.o: bits.h
+kfile.o: cache.h
+kfile.o: common.h
+kfile.o: config.h
+kfile.o: hash.h
+kfile.o: intrp.h
+kfile.o: kfile.c
+kfile.o: kfile.h
+kfile.o: ng.h
+kfile.o: ngdata.h
+kfile.o: ngstuff.h
+kfile.o: rcstuff.h
+kfile.o: rt-process.h
+kfile.o: rt-select.h
+kfile.o: rthread.h
+kfile.o: search.h
+kfile.o: term.h
+kfile.o: trn.h
+kfile.o: util.h
+last.o: EXTERN.h
+last.o: INTERN.h
+last.o: common.h
+last.o: config.h
+last.o: intrp.h
+last.o: last.c
+last.o: last.h
+last.o: trn.h
+last.o: util.h
+ndir.o: EXTERN.h
+ndir.o: INTERN.h
+ndir.o: common.h
+ndir.o: config.h
+ndir.o: ndir.c
+ndir.o: ndir.h
+ng.o: EXTERN.h
+ng.o: INTERN.h
+ng.o: art.h
+ng.o: artio.h
+ng.o: artsrch.h
+ng.o: artstate.h
+ng.o: backpage.h
+ng.o: bits.h
+ng.o: cache.h
+ng.o: charsubst.h
+ng.o: common.h
+ng.o: config.h
+ng.o: decode.h
+ng.o: final.h
+ng.o: head.h
+ng.o: help.h
+ng.o: intrp.h
+ng.o: kfile.h
+ng.o: last.h
+ng.o: ng.c
+ng.o: ng.h
+ng.o: ngdata.h
+ng.o: ngstuff.h
+ng.o: nntp.h
+ng.o: nntpclient.h
+ng.o: rcln.h
+ng.o: rcstuff.h
+ng.o: respond.h
+ng.o: rt-select.h
+ng.o: rt-wumpus.h
+ng.o: rthread.h
+ng.o: search.h
+ng.o: sw.h
+ng.o: term.h
+ng.o: trn.h
+ng.o: util.h
+ngdata.o: EXTERN.h
+ngdata.o: INTERN.h
+ngdata.o: bits.h
+ngdata.o: cache.h
+ngdata.o: common.h
+ngdata.o: config.h
+ngdata.o: final.h
+ngdata.o: head.h
+ngdata.o: intrp.h
+ngdata.o: kfile.h
+ngdata.o: ndir.h
+ngdata.o: ng.h
+ngdata.o: ngdata.c
+ngdata.o: ngdata.h
+ngdata.o: nntp.h
+ngdata.o: nntpclient.h
+ngdata.o: rcln.h
+ngdata.o: rcstuff.h
+ngdata.o: rt-select.h
+ngdata.o: rthread.h
+ngdata.o: term.h
+ngdata.o: trn.h
+ngdata.o: util.h
+nghash.o: EXTERN.h
+nghash.o: common.h
+nghash.o: config.h
+nghash.o: final.h
+nghash.o: hash.h
+nghash.o: intrp.h
+nghash.o: ndir.h
+nghash.o: ngdata.h
+nghash.o: nghash.c
+nghash.o: nntp.h
+nghash.o: nntpclient.h
+nghash.o: rcln.h
+nghash.o: rcstuff.h
+nghash.o: term.h
+nghash.o: trn.h
+nghash.o: util.h
+ngsrch.o: EXTERN.h
+ngsrch.o: INTERN.h
+ngsrch.o: common.h
+ngsrch.o: config.h
+ngsrch.o: final.h
+ngsrch.o: ngsrch.c
+ngsrch.o: ngsrch.h
+ngsrch.o: rcln.h
+ngsrch.o: rcstuff.h
+ngsrch.o: search.h
+ngsrch.o: term.h
+ngsrch.o: trn.h
+ngsrch.o: util.h
+ngstuff.o: EXTERN.h
+ngstuff.o: INTERN.h
+ngstuff.o: bits.h
+ngstuff.o: cache.h
+ngstuff.o: common.h
+ngstuff.o: config.h
+ngstuff.o: decode.h
+ngstuff.o: final.h
+ngstuff.o: head.h
+ngstuff.o: intrp.h
+ngstuff.o: kfile.h
+ngstuff.o: ng.h
+ngstuff.o: ngdata.h
+ngstuff.o: ngstuff.c
+ngstuff.o: ngstuff.h
+ngstuff.o: rcstuff.h
+ngstuff.o: respond.h
+ngstuff.o: rt-select.h
+ngstuff.o: rt-wumpus.h
+ngstuff.o: rthread.h
+ngstuff.o: sw.h
+ngstuff.o: term.h
+ngstuff.o: trn.h
+ngstuff.o: util.h
+ngstuff.o: util2.h
+nntp.o: EXTERN.h
+nntp.o: artio.h
+nntp.o: bits.h
+nntp.o: cache.h
+nntp.o: common.h
+nntp.o: config.h
+nntp.o: final.h
+nntp.o: head.h
+nntp.o: init.h
+nntp.o: ngdata.h
+nntp.o: nntp.c
+nntp.o: nntp.h
+nntp.o: nntpclient.h
+nntp.o: rcln.h
+nntp.o: term.h
+nntp.o: trn.h
+nntp.o: util.h
+nntpauth.o: EXTERN.h
+nntpauth.o: INTERN.h
+nntpauth.o: common.h
+nntpauth.o: config.h
+nntpauth.o: nntp.h
+nntpauth.o: nntpauth.c
+nntpauth.o: nntpauth.h
+nntpauth.o: nntpclient.h
+nntpauth.o: util2.h
+nntpclient.o: EXTERN.h
+nntpclient.o: INTERN.h
+nntpclient.o: common.h
+nntpclient.o: config.h
+nntpclient.o: nntpclient.c
+nntpclient.o: nntpclient.h
+nntpinit.o: EXTERN.h
+nntpinit.o: common.h
+nntpinit.o: config.h
+nntpinit.o: nntpclient.h
+nntpinit.o: nntpinit.c
+nntplist.o: EXTERN.h
+nntplist.o: common.h
+nntplist.o: config.h
+nntplist.o: nntpclient.h
+nntplist.o: nntplist.c
+only.o: EXTERN.h
+only.o: INTERN.h
+only.o: common.h
+only.o: config.h
+only.o: final.h
+only.o: ngsrch.h
+only.o: only.c
+only.o: only.h
+only.o: search.h
+only.o: util.h
+parsedate.o: config.h
+parsedate.o: parsedate.y
+rcln.o: EXTERN.h
+rcln.o: INTERN.h
+rcln.o: common.h
+rcln.o: config.h
+rcln.o: ngdata.h
+rcln.o: rcln.c
+rcln.o: rcln.h
+rcln.o: rcstuff.h
+rcln.o: util.h
+rcln.o: util2.h
+rcstuff.o: EXTERN.h
+rcstuff.o: INTERN.h
+rcstuff.o: autosub.h
+rcstuff.o: bits.h
+rcstuff.o: cache.h
+rcstuff.o: common.h
+rcstuff.o: config.h
+rcstuff.o: final.h
+rcstuff.o: hash.h
+rcstuff.o: intrp.h
+rcstuff.o: ngdata.h
+rcstuff.o: nntp.h
+rcstuff.o: nntpclient.h
+rcstuff.o: only.h
+rcstuff.o: rcln.h
+rcstuff.o: rcstuff.c
+rcstuff.o: rcstuff.h
+rcstuff.o: search.h
+rcstuff.o: term.h
+rcstuff.o: trn.h
+rcstuff.o: util.h
+respond.o: EXTERN.h
+respond.o: INTERN.h
+respond.o: artio.h
+respond.o: cache.h
+respond.o: charsubst.h
+respond.o: common.h
+respond.o: config.h
+respond.o: decode.h
+respond.o: final.h
+respond.o: head.h
+respond.o: intrp.h
+respond.o: ng.h
+respond.o: ngdata.h
+respond.o: nntp.h
+respond.o: nntpclient.h
+respond.o: respond.c
+respond.o: respond.h
+respond.o: term.h
+respond.o: trn.h
+respond.o: util.h
+respond.o: util2.h
+rt-mt.o: EXTERN.h
+rt-mt.o: INTERN.h
+rt-mt.o: bits.h
+rt-mt.o: cache.h
+rt-mt.o: common.h
+rt-mt.o: config.h
+rt-mt.o: hash.h
+rt-mt.o: intrp.h
+rt-mt.o: ng.h
+rt-mt.o: ngdata.h
+rt-mt.o: nntp.h
+rt-mt.o: nntpclient.h
+rt-mt.o: rcln.h
+rt-mt.o: rt-mt.c
+rt-mt.o: rt-mt.h
+rt-mt.o: rt-process.h
+rt-mt.o: rthread.h
+rt-mt.o: trn.h
+rt-mt.o: util.h
+rt-ov.o: EXTERN.h
+rt-ov.o: INTERN.h
+rt-ov.o: bits.h
+rt-ov.o: cache.h
+rt-ov.o: common.h
+rt-ov.o: config.h
+rt-ov.o: final.h
+rt-ov.o: hash.h
+rt-ov.o: head.h
+rt-ov.o: ng.h
+rt-ov.o: ngdata.h
+rt-ov.o: nntp.h
+rt-ov.o: nntpclient.h
+rt-ov.o: overview.h
+rt-ov.o: rt-ov.c
+rt-ov.o: rt-ov.h
+rt-ov.o: rt-process.h
+rt-ov.o: rt-util.h
+rt-ov.o: rthread.h
+rt-ov.o: term.h
+rt-ov.o: trn.h
+rt-ov.o: util.h
+rt-page.o: EXTERN.h
+rt-page.o: INTERN.h
+rt-page.o: cache.h
+rt-page.o: common.h
+rt-page.o: config.h
+rt-page.o: ngdata.h
+rt-page.o: rt-page.c
+rt-page.o: rt-page.h
+rt-page.o: rt-select.h
+rt-page.o: rt-util.h
+rt-page.o: rthread.h
+rt-page.o: term.h
+rt-page.o: trn.h
+rt-page.o: util.h
+rt-process.o: EXTERN.h
+rt-process.o: INTERN.h
+rt-process.o: bits.h
+rt-process.o: cache.h
+rt-process.o: common.h
+rt-process.o: config.h
+rt-process.o: final.h
+rt-process.o: hash.h
+rt-process.o: intrp.h
+rt-process.o: kfile.h
+rt-process.o: ng.h
+rt-process.o: ngdata.h
+rt-process.o: rcln.h
+rt-process.o: rt-process.c
+rt-process.o: rt-process.h
+rt-process.o: rt-select.h
+rt-process.o: rthread.h
+rt-process.o: trn.h
+rt-process.o: util.h
+rt-select.o: EXTERN.h
+rt-select.o: INTERN.h
+rt-select.o: artsrch.h
+rt-select.o: bits.h
+rt-select.o: cache.h
+rt-select.o: common.h
+rt-select.o: config.h
+rt-select.o: final.h
+rt-select.o: help.h
+rt-select.o: kfile.h
+rt-select.o: ng.h
+rt-select.o: ngdata.h
+rt-select.o: ngstuff.h
+rt-select.o: rt-page.h
+rt-select.o: rt-select.c
+rt-select.o: rt-select.h
+rt-select.o: rt-util.h
+rt-select.o: rthread.h
+rt-select.o: search.h
+rt-select.o: term.h
+rt-select.o: trn.h
+rt-select.o: util.h
+rt-util.o: EXTERN.h
+rt-util.o: INTERN.h
+rt-util.o: artio.h
+rt-util.o: cache.h
+rt-util.o: common.h
+rt-util.o: config.h
+rt-util.o: ngdata.h
+rt-util.o: nntp.h
+rt-util.o: nntpclient.h
+rt-util.o: rt-select.h
+rt-util.o: rt-util.c
+rt-util.o: rt-util.h
+rt-util.o: rthread.h
+rt-util.o: term.h
+rt-wumpus.o: EXTERN.h
+rt-wumpus.o: INTERN.h
+rt-wumpus.o: artio.h
+rt-wumpus.o: backpage.h
+rt-wumpus.o: cache.h
+rt-wumpus.o: common.h
+rt-wumpus.o: config.h
+rt-wumpus.o: final.h
+rt-wumpus.o: head.h
+rt-wumpus.o: ng.h
+rt-wumpus.o: ngdata.h
+rt-wumpus.o: rt-select.h
+rt-wumpus.o: rt-wumpus.c
+rt-wumpus.o: rt-wumpus.h
+rt-wumpus.o: rthread.h
+rt-wumpus.o: term.h
+rt-wumpus.o: util.h
+rthread.o: EXTERN.h
+rthread.o: INTERN.h
+rthread.o: artstate.h
+rthread.o: bits.h
+rthread.o: cache.h
+rthread.o: common.h
+rthread.o: config.h
+rthread.o: final.h
+rthread.o: hash.h
+rthread.o: head.h
+rthread.o: intrp.h
+rthread.o: kfile.h
+rthread.o: ng.h
+rthread.o: ngdata.h
+rthread.o: nntp.h
+rthread.o: nntpclient.h
+rthread.o: rcln.h
+rthread.o: rcstuff.h
+rthread.o: rt-mt.h
+rthread.o: rt-ov.h
+rthread.o: rt-page.h
+rthread.o: rt-process.h
+rthread.o: rt-select.h
+rthread.o: rt-util.h
+rthread.o: rt-wumpus.h
+rthread.o: rthread.c
+rthread.o: rthread.h
+rthread.o: search.h
+rthread.o: trn.h
+rthread.o: util.h
+search.o: EXTERN.h
+search.o: INTERN.h
+search.o: common.h
+search.o: config.h
+search.o: search.c
+search.o: search.h
+search.o: util.h
+strftime.o: EXTERN.h
+strftime.o: common.h
+strftime.o: config.h
+strftime.o: strftime.c
+sw.o: EXTERN.h
+sw.o: INTERN.h
+sw.o: artstate.h
+sw.o: cache.h
+sw.o: charsubst.h
+sw.o: common.h
+sw.o: config.h
+sw.o: head.h
+sw.o: intrp.h
+sw.o: ng.h
+sw.o: ngdata.h
+sw.o: only.h
+sw.o: rt-page.h
+sw.o: rt-util.h
+sw.o: search.h
+sw.o: sw.c
+sw.o: sw.h
+sw.o: term.h
+sw.o: trn.h
+sw.o: util.h
+sw.o: util2.h
+term.o: EXTERN.h
+term.o: INTERN.h
+term.o: cache.h
+term.o: common.h
+term.o: config.h
+term.o: final.h
+term.o: help.h
+term.o: intrp.h
+term.o: term.c
+term.o: term.h
+term.o: util.h
+term.o: util2.h
+test.o: test.c
+trn-artchk.o: EXTERN.h
+trn-artchk.o: common.h
+trn-artchk.o: config.h
+trn-artchk.o: nntpclient.h
+trn-artchk.o: trn-artchk.c
+trn.o: EXTERN.h
+trn.o: INTERN.h
+trn.o: addng.h
+trn.o: cache.h
+trn.o: common.h
+trn.o: config.h
+trn.o: final.h
+trn.o: help.h
+trn.o: init.h
+trn.o: intrp.h
+trn.o: kfile.h
+trn.o: last.h
+trn.o: ng.h
+trn.o: ngdata.h
+trn.o: ngsrch.h
+trn.o: ngstuff.h
+trn.o: nntp.h
+trn.o: nntpclient.h
+trn.o: only.h
+trn.o: patchlevel.h
+trn.o: rcln.h
+trn.o: rcstuff.h
+trn.o: search.h
+trn.o: sw.h
+trn.o: term.h
+trn.o: trn.c
+trn.o: trn.h
+trn.o: util.h
+trn.o: util2.h
+unipatch.o: unipatch.c
+unship.o: EXTERN.h
+unship.o: common.h
+unship.o: config.h
+unship.o: decode.h
+unship.o: respond.h
+unship.o: unship.c
+util.o: EXTERN.h
+util.o: INTERN.h
+util.o: common.h
+util.o: config.h
+util.o: final.h
+util.o: nntp.h
+util.o: nntpauth.h
+util.o: nntpclient.h
+util.o: term.h
+util.o: util.c
+util.o: util.h
+util2.o: EXTERN.h
+util2.o: INTERN.h
+util2.o: common.h
+util2.o: config.h
+util2.o: nntp.h
+util2.o: nntpauth.h
+util2.o: nntpclient.h
+util2.o: util.h
+util2.o: util2.c
+util2.o: util2.h
+uudecode.o: EXTERN.h
+uudecode.o: common.h
+uudecode.o: config.h
+uudecode.o: decode.h
+uudecode.o: respond.h
+uudecode.o: uudecode.c
+Makefile: Makefile.SH config.sh ; /bin/sh $(srcdir)/Makefile.SH
+Pnews: Pnews.SH config.sh ; /bin/sh $(srcdir)/Pnews.SH
+Policy.sh: Policy.sh.SH config.sh ; /bin/sh $(srcdir)/Policy.sh.SH
+Rnmail: Rnmail.SH config.sh ; /bin/sh $(srcdir)/Rnmail.SH
+Speller: Speller.SH config.sh ; /bin/sh $(srcdir)/Speller.SH
+config.h: config.h.SH config.sh ; /bin/sh $(srcdir)/config.h.SH
+filexp: filexp.SH config.sh ; /bin/sh $(srcdir)/filexp.SH
+makedepend: makedepend.SH config.sh ; /bin/sh $(srcdir)/makedepend.SH
+makedir: makedir.SH config.sh ; /bin/sh $(srcdir)/makedir.SH
+mbox.saver: mbox.saver.SH config.sh ; /bin/sh $(srcdir)/mbox.saver.SH
+newsetup: newsetup.SH config.sh ; /bin/sh $(srcdir)/newsetup.SH
+newsgroups: newsgroups.SH config.sh ; /bin/sh $(srcdir)/newsgroups.SH
+newsnews: newsnews.SH config.sh ; /bin/sh $(srcdir)/newsnews.SH
+norm.saver: norm.saver.SH config.sh ; /bin/sh $(srcdir)/norm.saver.SH
+# WARNING: Put nothing here or make depend will gobble it up!
diff -u --new-file --recursive trn-3.6.orig/Pnews trn-3.6/Pnews
--- trn-3.6.orig/Pnews Wed Dec 31 19:00:00 1969
+++ trn-3.6/Pnews Mon Jan 9 16:40:47 1995
@@ -0,0 +1,554 @@
+#!/bin/sh
+# $Id: Pnews.SH,v 3.0 1992/02/23 21:25:39 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+#
+# syntax: Pnews -h headerfile or
+# Pnews -h headerfile oldarticle or
+# Pnews newsgroup title or just
+# Pnews
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+# System dependencies
+
+mailer="${RNMAILER-/usr/sbin/sendmail}"
+# if you change this to something that does signatures, take out signature code
+
+case define in
+define)
+ # where recordings and distributions are kept
+ lib=`/usr/lib/trn/filexp /tmp`
+ # where important rn things are kept
+ rnlib=`/usr/lib/trn/filexp /usr/lib/trn`
+ artcheck=trn-artchk
+ nntplist=nntplist
+ ;;
+undef)
+ # where recordings and distributions are kept
+ lib="/tmp"
+ # where important rn things are kept
+ rnlib="/usr/lib/trn"
+ artcheck=/usr/bin/trn-artchk
+ nntplist=/usr/bin/nntplist
+ ;;
+esac
+
+# your organization name
+orgname="/etc/organization"
+# what pager you use--if you have kernal paging use cat
+pager="${PAGER-/bin/more}"
+# how you derive full names, bsd, usg, or other
+nametype="bsd"
+# default editor
+defeditor="/usr/bin/vi"
+# how not to echo with newline
+n="-n"
+c=""
+
+# You should also look at the distribution warnings below marked !DIST!
+# to make sure any distribution regions you are a member of are included.
+# The following are some prototypical distribution groups. If you do not
+# use them all set the unused ones to a non-null string such as 'none'.
+loc="none"
+org="none"
+multistate="none"
+city="none"
+state="none"
+cntry="none"
+cont="none"
+
+active=none
+test=test
+sed=sed
+echo=echo
+cat=cat
+egrep=egrep
+grep=grep
+tr=tr
+inews=/usr/bin/inews
+cp=cp
+sleep=sleep
+rm=rm
+who=
+mv=mv
+
+nidump=
+ypmatch=
+
+orgname=${NEWSORG-${ORGANIZATION-$orgname}}
+homedir=${HOME-$LOGDIR}
+dotdir=${DOTDIR-$homedir}
+tmpart=$dotdir/.article
+speller=$rnlib/Speller
+
+tmp="${TMPDIR-/tmp}"
+newsgroups=${NEWSGROUPS-$lib/newsgroups}
+active=${NEWSACTIVE-$active}
+case "$active" in
+none) active="$tmp/Pnact.$$";;
+esac
+news_sig=${NEWSSIGNATURE-$dotdir/.news_sig}
+
+case "$NETSPEED" in
+fast)
+ if $test ! -f "$newsgroups"; then
+ newsgroups="$tmp/Pnng.$$";
+ rmlist="$newsgroups";
+ cmdlist="$nntplist -o $newsgroups newsgroups ;";
+ fi
+ if $test ! -f "$active"; then
+ active="$tmp/Pnact.$$";
+ rmlist="$rmlist $active";
+ cmdlist="$cmdlist $nntplist -o $active active";
+ fi
+ ;;
+esac
+
+if $test -f $dotdir/.pnewsexpert; then
+ expertise=expert
+else
+ $cat <<'EOM'
+I see you've never used this version of Pnews before. I will give you extra
+help this first time through, but then you must remember what you learned.
+If you don't understand any question, type h and a CR (carriage return) for
+help.
+
+If you've never posted an article to the net before, it is HIGHLY recommended
+that you read the netiquette document found in news.announce.newusers so
+that you'll know to avoid the commonest blunders. To do that, interrupt
+Pnews, get to the top-level prompt of [t]rn, and use the command
+"g news.announce.newusers" to go to that group.
+
+EOM
+ expertise=beginner
+fi
+
+case $cntry in
+ can) Stpr=Province ; stpr=province ;;
+ *) Stpr=State ; stpr=state ;;
+esac
+
+case $multistate in
+ pnw) multistpr="Pacific NorthWest" ;;
+ *) multistpr="Multi-State Area" ;;
+esac
+
+headerfile=""
+case $# in
+0) ;;
+*) case $1 in
+ -h)
+ headerfile="$2"
+ shift
+ shift
+ case $# in
+ 0)
+ oldart=""
+ ;;
+ *)
+ oldart="$1"
+ shift
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+case $headerfile in
+'')
+ . $rnlib/Pnews.header
+ ;;
+*)
+ $cat < $headerfile > $tmpart
+ ;;
+esac
+ rescue="$sleep 1; $cat $tmpart >>${HOME-$LOGDIR}/dead.article ; $rm -f $rmlist ; $echo Article appended to ${HOME-$LOGDIR}/dead.article ; exit"
+ if $test -n "$rmlist" ; then
+ trap "$rm -f $rmlist" 0
+ fi
+ trap "trap : 1; $rescue" 1
+ trap "$rescue" 2
+
+$echo ""
+
+# extract the newsgroups list and distribution
+hdr_newsgroups=`$sed -n -e '/^Newsgroups:/{' -e 's///' -e 's/,/ /g' -e p -e q -e '}' $tmpart`
+hdr_distribution=`$sed -n -e '/^Distribution:/{' -e 's///' -e p -e q -e '}' $tmpart`
+
+# check for "poster" magic cookie. Allow erroneous user@site too.
+flag=0
+for ng in $hdr_newsgroups ; do
+ case "$ng" in
+ poster) flag=1 ;;
+ *@*) flag=1 ;;
+ *) ;;
+ esac
+done
+case $flag in
+1)
+ $cat <<'EOM'
+
+The original author has requested that messages be sent back via mail
+rather than posting to news. Do you want to jump out of this and
+EOM
+ $echo $n "mail your reply instead? [yn] $c"
+ read ans
+ case $ans in
+ n*) tweak="$tmp/Pntwk.$$"
+ $sed '1,/^[ ]*$/{/^Newsgroups:/d;
+ s/^X-ORIGINAL-NEWSGROUPS:/Newsgroups:/;}' $tmpart >$tweak
+ $cp $tweak $tmpart
+ $rm -f $tweak
+ ;;
+ *) exit ;;
+ esac
+ $echo " "
+ $echo "The Cc: line should have the poster's requested return address."
+ ;;
+esac
+
+# play recorded message
+if $test -s ${lib}/recording ; then
+ for ng in $hdr_newsgroups ; do
+ _rec1=${lib}/`$sed -n "/^$ng/s/^.* //p" ${lib}/recording`
+ _tmp=`$echo $ng |$sed "s/\..*//"`
+ _rec2=${lib}/`$cat -s ${lib}/recording|$grep ${_tmp}.all|$sed "s/^.* //"`
+ if $test -f ${_rec1} ; then
+ $cat -s ${_rec1}
+ fi
+ if $test -f ${_rec2} ; then
+ $cat -s ${_rec2}
+ fi
+ done
+fi
+
+# determine the distribution of this message
+set X $hdr_distribution
+shift
+if $test $# -gt 0 ; then
+ dist=$1.whatever
+else
+ set X $hdr_newsgroups
+ shift
+ if $test $# -gt 0 ; then
+ dist=$1.whatever
+ else
+ dist=misc.whatever
+ fi
+fi
+case $dist in
+*.*)
+ ;;
+*)
+ dist=$dist.whatever
+ ;;
+esac
+
+case "$FAST_PNEWS" in
+y*) ;;
+*)
+# tell them what we think they are doing... !DIST!
+case $dist in
+world.*|comp.*|news.*|sci.*|rec.*|misc.*|soc.*|talk.*|alt.*|'')
+ $cat <<'EOM'
+This program posts news to thousands of machines throughout the entire
+civilized world. Your message will cost the net hundreds if not thousands of
+dollars to send everywhere. Please be sure you know what you are doing.
+
+EOM
+ ;;
+vmsnet.*)
+ $echo 'This program posts news to many machines.'
+ ;;
+bit.*)
+ $echo 'This program posts news to many machines on BITNET.'
+ ;;
+ddn.*)
+ $echo 'This program posts news to many machines throughout the internet.'
+ ;;
+$cont.*)
+ $echo 'This program posts news to many machines throughout the continent.'
+ ;;
+$cntry.*)
+ $echo 'This program posts news to many machines throughout the country.'
+ ;;
+$multistate.*)
+ $echo "This program posts news to many machines throughout the ${multistpr}."
+ ;;
+$state.*)
+ $echo "This program posts news to many machines throughout the ${stpr}."
+ ;;
+$city.*)
+ $echo 'This program posts news to many machines throughout the city.'
+ ;;
+$org.*)
+ $echo 'This program posts news to machines throughout the organization.'
+ ;;
+$loc.*)
+ $echo 'This program posts news to machines throughout the local organization.'
+ ;;
+*.*)
+ $echo 'This program may post news to many machines.'
+ ;;
+to.*)
+ $echo 'This program may post news to a particular machine.'
+ ;;
+*)
+ $echo 'This program posts news to everyone on the machine.'
+ ;;
+esac
+ans=""
+while $test "X$ans" = X ; do
+ $echo $n "Are you absolutely sure that you want to do this? [ny] $c"
+ read ans
+ case $ans in
+ y*) ;;
+ f*) ;;
+ h*) $cat <<'EOH'
+
+Type n or CR to exit, y to post.
+
+EOH
+ ans="" ;;
+ *) exit ;;
+ esac
+done
+;;
+esac
+
+# run nntplist in the background, if necessary
+if $test -n "$cmdlist"; then
+ ( eval $cmdlist ) >/dev/null 2>&1 &
+fi
+
+case "$FAST_PNEWS" in
+y*) file=''
+ $echo "" >> $tmpart
+ state=edit
+ ;;
+*) file=h;;
+esac
+while $test "X$file" = Xh ; do
+ $echo ""
+ $echo $n "Prepared file to include [none]: $c"
+ read file
+ case $file in
+ h)
+ $cat <<'EOH'
+
+If you have already produced the body of your article, type the filename
+for it here. If you just want to proceed directly to the editor, type a
+RETURN. In any event, you will be allowed to edit as many times as you
+want before you send off the article.
+EOH
+ ;;
+ '')
+ $echo "" >> $tmpart
+ state=edit
+ ;;
+ *)
+ $cat $file >>$tmpart
+ state=check
+ ;;
+ esac
+done
+
+$echo ""
+
+if $test -r $news_sig; then
+ $echo "-- " >> $tmpart
+ $sed 4q $news_sig >> $tmpart
+fi
+
+while : ; do
+ case $state in
+ edit)
+ case $expertise in
+ beginner)
+ $cat </dev/null >$dotdir/.pnewsexpert
+ $cat <<'EOMessage'
+A temporary file has been created for you to edit. Be sure to leave at
+least one blank line between the header and the body of your message.
+(And until a certain bug is fixed all over the net, don't start the body of
+your message with any indentation, or it may get eaten.)
+
+Within the header may be fields that you don't understand. If you don't
+understand a field (or even if you do), you can simply leave it blank, and
+it will go away when the article is posted.
+
+Type return to get the default editor, or type the name of your favorite
+editor.
+
+EOMessage
+ ;;
+ esac
+ case "${VISUAL-${EDITOR-}}" in
+ '')
+ tmp=h
+ ;;
+ *)
+ tmp=''
+ ;;
+ esac
+ while $test "X$tmp" = Xh ; do
+ $echo $n "Editor [${VISUAL-${EDITOR-$defeditor}}]: $c"
+ read tmp
+ case $tmp in
+ h)
+ $cat <<'EOH'
+
+Type a return to get the default editor, or type the name of the editor you
+prefer. The default editor depends on the VISUAL and EDITOR environment
+variables.
+
+EOH
+ ;;
+ '')
+ ;;
+ *)
+ VISUAL=$tmp
+ export VISUAL
+ ;;
+ esac
+ done
+ trap : 2
+ ${VISUAL-${EDITOR-$defeditor}} $tmpart $oldart
+ trap "$rescue" 2
+ state=check
+ ;;
+
+ check)
+ # wait for possible background nntplist
+ $test -n "$cmdlist" && wait
+
+ # warn about long lines, malformed headers, misspelled newsgroups
+ ($artcheck $tmpart 79 $newsgroups $active) 2>/dev/null
+ state=ask
+ ;;
+
+ ask)
+ $echo ""
+ $echo $n "Check spelling, Send, Abort, Edit, or List? $c"
+ read ans
+
+ case "$ans" in
+ [aA]*)
+ state=rescue
+ ;;
+ [eE]*)
+ set $ans
+ case $# in
+ 2) VISUAL="$2" ;;
+ esac
+ state=edit
+ ;;
+ [lL]*)
+ $pager $tmpart
+ state=ask
+ ;;
+ [cC]*|[sS][pP]*)
+ $speller $tmpart
+ state=ask
+ ;;
+ [sS]*)
+ state=send
+ ;;
+ [hH]*)
+ $cat <<'EOH'
+
+Type c to check the article's spelling, s to send the article, a to abort
+and append the article to dead.article, e to edit the article again, or l
+to list the article with your pager.
+
+To invoke an alternate editor, type 'e editor'.
+EOH
+ esac
+ ;;
+
+ send)
+ set X `$sed < $tmpart -n -e '/^Newsgroups: /{' -e p -e q -e '}'`
+ shift
+ case $# in
+ 2)
+ state=cleanup
+ #posted_to="$2"
+ headerstrip='1,/^[ ]*$/{/^[A-Z][-A-Za-z0-9]*:[ ]*$/d;
+ /^X-ORIGINAL-NEWSGROUPS:/d;
+ /^[Cc][Cc]:/d;
+ /^Distribution: world/d;}'
+ if $sed "$headerstrip" $tmpart | $inews -h ; then
+ : null
+ else
+ state=ask
+ fi
+ cc=`$sed -n '1,/^[ ]*$/{/^[Cc][Cc]:[ ][^ ]/p;}' $tmpart|
+ $sed 's/^[Cc][Cc]:[ ][ ]*//'`
+ if $test "X$cc" != X ; then
+ case "$mailer" in
+ *recmail) set X ;;
+ *sendmail) set X -t ;;
+ *) set X `echo $cc | $sed 's/,/ /g'` ;;
+ esac
+ shift
+ (#$echo "X-Also-Posted-To: $posted_to"
+ case "$mailer" in
+ *recmail|*sendmail) $echo To: $cc ;;
+ esac
+ $sed "$headerstrip" $tmpart
+ if $test -f $homedir/.signature; then
+ $echo "-- "
+ $cat $homedir/.signature
+ fi
+ ) | $mailer $@
+ fi
+ ;;
+ *)
+ $echo ""
+ $echo "Malformed Newsgroups line."
+ $echo ""
+ $sleep 1
+ state=edit
+ ;;
+ esac
+ ;;
+ rescue)
+ if $test -s $tmpart; then
+ $cat $tmpart >> ${HOME-$LOGDIR}/dead.article
+ $echo "Article appended to ${HOME-$LOGDIR}/dead.article"
+ $echo "A copy may be temporarily found in $tmpart"
+ else
+ $echo "Null article discarded."
+ fi
+ exit
+ ;;
+ cleanup)
+ case "${AUTHORCOPY-none}" in
+ none)
+ ;;
+ *)
+ set X ${USER-${LOGNAME-`$who am i`}} unknown
+ shift
+ $rnlib/mbox.saver $tmpart "." "." 0 0 Pnews $AUTHORCOPY "From $1 `LANG= date`"
+ if $test $? -eq 0 ; then
+ $echo "Article appended to $AUTHORCOPY"
+ else
+ $echo "Cannot append to $AUTHORCOPY"
+ fi
+ ;;
+ esac
+ exit
+ ;;
+ esac
+done
diff -u --new-file --recursive trn-3.6.orig/Pnews.header trn-3.6/Pnews.header
--- trn-3.6.orig/Pnews.header Wed Dec 31 19:00:00 1969
+++ trn-3.6/Pnews.header Mon Jan 9 16:40:47 1995
@@ -0,0 +1,208 @@
+case $# in
+0)
+ ng=h
+ while $test "X$ng" = Xh ; do
+ $echo ""
+ $echo $n "Newsgroup(s): $c"
+ read ng
+ case $ng in
+ h)
+ $cat <<'EOH'
+
+Type the name of one or more newsgroups to which you wish to post an article.
+If you want to post to multiple newsgroups, it is better to do them all at
+once than to post to each newsgroup individually, which defeats the news
+reading programs' strategies of eliminating duplicates.
+
+Separate multiple newsgroup names with commas.
+EOH
+ ;;
+ esac
+ done
+ ;;
+*)
+ ng=$1
+ shift
+ ;;
+esac
+case $ng in
+*\ *)
+ ng=`$echo "$ng" | $sed 's/[, ] */,/g'`
+ ;;
+esac
+case $ng in
+ddn.*)
+ defdist=inet
+ dist=h
+ ;;
+*.*)
+ defdist=''
+ dist=h
+ ;;
+*)
+ defdist=''
+ dist=''
+ ;;
+esac
+
+while $test "X$dist" = Xh ; do
+ if $test -f $lib/distributions; then
+ $echo " "
+ $echo "Your local distribution prefixes are:"
+ $cat $lib/distributions
+ $echo " "
+ else
+ $egrep -v '[ ]none$' <<EOM
+
+Your local distribution prefixes are:
+ Local organization: $loc
+ Organization: $org
+ City: $city
+ $Stpr: $state
+ $multistpr: $multistate
+ Country: $cntry
+ Continent: $cont
+ Everywhere: <null> (not "world")
+
+EOM
+ fi
+ $echo $n "Distribution ($defdist): $c"
+ read dist
+ case $dist in
+ '') dist="$defdist" ;;
+ esac
+ case "$dist" in
+ h)
+ $cat <<'EOH'
+
+The Distribution line may be used to limit the distribution of an article
+to some subset of the systems that would receive the article based only on
+the Newsgroups line. For example, if you want to sell your car in talk.auto,
+and you live in New Jersey, you might want to put "nj" on the Distribution
+line to avoid advertising in California, which has enough problems of its own.
+The actual area designators to use depend on where you are, of course.
+EOH
+ ;;
+ world*|comp*|news*|sci*|rec*|misc*|soc*|talk*|alt*)
+ dist=''
+ ;;
+ ''|$loc|$org|$city|$state|$multistate|$cntry|$cont|$defdist)
+ ;;
+ *)
+ if $test -f $lib/distributions && \
+ $egrep "^$dist[ ]" $lib/distributions >$tmpart && \
+ $test -s $tmpart; then
+ : null
+ else
+ $echo "Unrecognized distribution prefix--type h for help, CR to use anyway."
+ defdist=$dist
+ dist=h
+ fi
+ ;;
+ esac
+done
+
+follow=""
+
+# LCP 16-Oct-91 Subject line is required. Make it a little more
+# difficult to omit. Added "while : ; do", ... "done", and "if"
+# at end of while loop.
+while : ; do
+ case $# in
+ 0)
+ title=h
+ while $test "X$title" = Xh ; do
+ $echo ""
+ $echo $n "Title/Subject: $c"
+ read title
+ case $title in
+ h)
+ $cat <<'EOH'
+
+Type the title for your article. Please make it as informative as possible
+(within reason) so that people who aren't interested won't have to read the
+article to find out they aren't interested. This includes marking movie
+spoilers as (spoiler), and rotated jokes as (rot 13).
+EOH
+ ;;
+ esac
+ done
+ ;;
+ *)
+ title="$*"
+ # LCP 16-Oct-91 Added "set" and "shift". Must insure $# is 0
+ # in case the title is all white space and we make another
+ # pass thru this loop.
+ set X
+ shift
+ ;;
+ esac
+ if expr "X$title" : "^X[ ]*$" > /dev/null 2>&1
+ then
+ $cat <<'EOH'
+
+Articles without a "Subject:" line will not be accepted by the News
+system. Please give a Title/Subject line for your article.
+EOH
+ else
+ break
+ fi
+done
+
+
+# now build a file with a header for them to edit
+
+set X ${USER-${LOGNAME-`$who am i`}}
+shift
+logname=$1
+case $logname in
+*!*) logname=`expr "$logname" : '!\(.*\)$'` ;;
+esac
+case ${NAME-$nametype} in
+bsd)
+ if $test "X$ypmatch" != X; then
+ fullname=`$ypmatch $logname passwd 2>/dev/null | $sed -e "s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^,:;]*\).*"'$'"/\1/"`
+ elif $test "X$nidump" != X; then
+ fullname=`$nidump passwd / | $sed -e "/^$logname:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^,:;]*\).*"'$'"/\1/" -e "q" -e "}" -e "d"`
+ fi
+ if $test "X$fullname" = X; then
+ fullname=`$sed </etc/passwd -e "/^$logname:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^,:;]*\).*"'$'"/\1/" -e "q" -e "}" -e "d"`
+ fi
+ case $fullname in
+ *'&'*) : GACK
+ lname=`$echo $logname | $tr 'a-z' 'A-Z'`
+ lname=`$echo $lname $logname | $sed 's/^\(.\)[^ ]* ./\1/'`
+ fullname=`$echo "$fullname" | $sed "s/&/${lname}/"`
+ ;;
+ esac
+ ;;
+usg)
+ if $test "X$ypmatch" != X; then
+ fullname=`$ypmatch $logname passwd 2>/dev/null | $sed -e "s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^(:]*\).*"'$'"/\1/" -e "s/^.*-//" -e "q"`
+ fi
+ if $test "X$fullname" = X; then
+ fullname=`$sed </etc/passwd -e "/^$logname:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^(:]*\).*"'$'"/\1/" -e "s/^.*-//" -e "q" -e "}" -e "d"`
+ fi
+ ;;
+*)
+ fullname=${NAME-`$cat $dotdir/.fullname`}
+ ;;
+esac
+
+case $orgname in
+/*) orgname=`$cat $orgname` ;;
+esac
+
+$sed -e '/^Reply-To: $/d' > $tmpart <<EOHeader
+Newsgroups: $ng
+Subject: $title
+Summary:
+Reply-To: $REPLYTO
+Followup-To: $follow
+Distribution: $dist
+Organization: $orgname
+Keywords:
+Cc:
+
+EOHeader
+
diff -u --new-file --recursive trn-3.6.orig/Rnmail trn-3.6/Rnmail
--- trn-3.6.orig/Rnmail Wed Dec 31 19:00:00 1969
+++ trn-3.6/Rnmail Mon Jan 9 16:40:47 1995
@@ -0,0 +1,315 @@
+#!/bin/sh
+# $Id: Rnmail.SH,v 3.0 1992/02/23 21:25:39 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+#
+#
+# syntax: Rnmail -h headerfile [oldart] or
+# Rnmail destination-list or just
+# Rnmail
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+# System dependencies
+
+mailer="${RNMAILER-/usr/sbin/sendmail}"
+# if you change this to something that does signatures, take out signature code
+
+# your organization name
+orgname="/etc/organization"
+# what pager you use--if you have kernal paging use cat
+pager="${PAGER-/bin/more}"
+# how you derive full names, bsd, usg, or other
+nametype="bsd"
+# default editor
+defeditor="/usr/bin/vi"
+# where the non-publics are
+case define in
+define) rnlib=`/usr/lib/trn/filexp /usr/lib/trn` ;;
+undef) rnlib="/usr/lib/trn" ;;
+esac
+# how not to do a newline with echo
+n="-n"
+c=""
+
+test=test
+sed=sed
+echo=echo
+cat=cat
+grep=grep
+rm=rm
+sleep=sleep
+who=
+
+orgname=${NEWSORG-${ORGANIZATION-$orgname}}
+dotdir=${DOTDIR-${HOME-$LOGDIR}}
+tmpart=$dotdir/.letter
+speller=$rnlib/Speller
+mail_sig=${MAILSIGNATURE-$dotdir/.mail_sig}
+
+headerfile=""
+case $# in
+0) ;;
+*) case $1 in
+ -h)
+ headerfile="$2"
+ case $# in
+ 3) oldart=$3 ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+case $headerfile in
+'')
+ case $# in
+ 0)
+ to=h
+ while $test "X$to" = Xh ; do
+ $echo ""
+ $echo $n "To: $c"
+ read to
+ case $to in
+ h)
+ $cat <<'EOH'
+
+Type the net address of those people to whom you wish the message sent.
+Additional recipients may be added on the Cc: line when you edit.
+
+Separate multiple addresses with spaces.
+
+EOH
+ ;;
+ esac
+ done
+ ;;
+ *)
+ to="$*"
+ ;;
+ esac
+ to=`$echo "$to" | $sed 's/ */ /g'`
+
+ title=h
+ while $test "X$title" = Xh ; do
+ $echo ""
+ $echo $n "Title/Subject: $c"
+ read title
+ case $title in
+ h)
+ $cat <<'EOH'
+
+Type the title for your message.
+EOH
+ ;;
+ esac
+ done
+
+# now build a file with a header for them to edit
+
+ case $orgname in
+ /*) orgname=`$cat $orgname` ;;
+ esac
+
+ $sed -e '/^Reply-To: $/d' > $tmpart <<EOHeader
+To: $to
+Subject: $title
+Organization: $orgname
+Reply-To: $REPLYTO
+Cc:
+Bcc:
+
+EOHeader
+
+ ;;
+*)
+ $cat < $headerfile > $tmpart
+ ;;
+esac
+
+
+file=h
+while $test X$file = Xh ; do
+ $echo ""
+ $echo $n "Prepared file to include [none]: $c"
+ read file
+ case $file in
+ h)
+ $cat <<'EOH'
+
+If you have already produced the body of your message, type the filename
+for it here. If you just want to proceed directly to the editor, type a
+RETURN. In any event, you will be allowed to edit as many times as you
+want before you send off the message.
+EOH
+ ;;
+ '')
+ $echo "" >> $tmpart
+ state=edit
+ ;;
+ *)
+ $cat $file >>$tmpart
+ state=ask
+ ;;
+ esac
+done
+
+$echo ""
+
+if $test -r $mail_sig; then
+ $echo "-- " >> $tmpart
+ $cat $mail_sig >> $tmpart
+fi
+
+while : ; do
+ case $state in
+ edit)
+ rescue="$sleep 1; $cat $tmpart >>${HOME-$LOGDIR}/dead.letter ; $echo Message appended to ${HOME-$LOGDIR}/dead.letter ; exit"
+ trap "$rescue" 1
+ trap : 2
+ case "${VISUAL-${EDITOR-}}" in
+ '')
+ tmp=h
+ ;;
+ *)
+ tmp=''
+ ;;
+ esac
+ while $test "X$tmp" = Xh ; do
+ $echo $n "Editor [${VISUAL-${EDITOR-$defeditor}}]: $c"
+ read tmp
+ case $tmp in
+ h)
+ $cat <<'EOH'
+
+Type a return to get the default editor, or type the name of the editor you
+prefer. The default editor depends on the VISUAL and EDITOR environment
+variables.
+
+EOH
+ ;;
+ '')
+ ;;
+ *)
+ VISUAL=$tmp
+ export VISUAL
+ ;;
+ esac
+ done
+ ${VISUAL-${EDITOR-$defeditor}} $tmpart $oldart
+ trap "$rescue" 2
+ state=ask
+ ;;
+
+ ask)
+ $echo ""
+ $echo $n "Check spelling, Send, Abort, Edit, or List? $c"
+ read ans
+
+ case $ans in
+ [aA]*)
+ state=rescue
+ ;;
+ [eE]*)
+ set $ans
+ case $# in
+ 2) VISUAL="$2" ;;
+ esac
+ state=edit
+ ;;
+ [lL]*)
+ $pager $tmpart
+ state=ask
+ ;;
+ [cC]*|[sS][pP]*)
+ $speller $tmpart
+ state=ask
+ ;;
+ [sS]*)
+ state=send
+ ;;
+ [hH]*)
+ $cat <<'EOH'
+
+Type c to check the message's spelling, s to send the message, a to abort
+and append the message to dead.letter, e to edit the message again, or l
+to list the message with your pager.
+
+To invoke an alternate editor, type 'e editor'.
+EOH
+ esac
+ ;;
+
+ send)
+ if $test -f $dotdir/.signature; then
+ $echo $n "Append .signature file? [y] $c"
+ read ans
+ case $ans in
+ ''|y*)
+ $echo "-- " >> $tmpart
+ cat $dotdir/.signature >> $tmpart
+ ;;
+ esac
+ fi
+ case $mailer in
+ *sendmail)
+ $mailer -t <$tmpart
+ ;;
+# but recmail does not know about Bcc, alas
+ *recmail)
+ $mailer <$tmpart
+ ;;
+ *)
+ set X `$sed <$tmpart -n -e '/^To:/{' -e 's/To: *//p' -e q -e '}'`
+ shift
+ set X "$@" `$sed <$tmpart -n -e '/^Cc:/{' -e 's/Cc: *//p' -e q -e '}'`
+ shift
+ set X "$@" `$sed <$tmpart -n -e '/^Bcc:/{' -e 's/Bcc: *//p' -e q -e '}'`
+ shift
+ $grep -v "^Bcc:" <$tmpart | $mailer "$@"
+ ;;
+ esac
+ case $? in
+ 0)
+ state=cleanup
+ ;;
+ *)
+ state=rescue
+ ;;
+ esac
+ ;;
+ rescue)
+ $cat $tmpart >> ${HOME-$LOGDIR}/dead.letter
+ $echo "Message appended to ${HOME-$LOGDIR}/dead.letter"
+ $echo "A copy may be temporarily found in $tmpart"
+ exit
+ ;;
+ cleanup)
+ case "${MAILRECORD-none}" in
+ none)
+ ;;
+ *)
+ set X ${USER-${LOGNAME-`$who am i`}} unknown
+ shift
+ $rnlib/mbox.saver $tmpart "." "." 0 0 Pnews $MAILRECORD "From $1 `LANG= date`"
+ if $test $? -eq 0 ; then
+ $echo "Message appended to $MAILRECORD"
+ else
+ $echo "Cannot append to $MAILRECORD"
+ fi
+ ;;
+ esac
+ exit
+ ;;
+ esac
+done
diff -u --new-file --recursive trn-3.6.orig/Speller trn-3.6/Speller
--- trn-3.6.orig/Speller Wed Dec 31 19:00:00 1969
+++ trn-3.6/Speller Mon Jan 9 16:40:48 1995
@@ -0,0 +1,163 @@
+#!/bin/sh
+# $Id: Speller.SH,v 3.0 1992/02/23 21:25:39 davison Trn $
+# Speller - a script to disassemble a posting; use ispell to spell-
+# check the body along with the Subject, Keywords, and Summary lines;
+# and put it all back together again.
+#
+# Written by Eric Schnoebelen, (eric@cirr.com)
+# Fri May 14 20:33:48 CDT 1993
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+# what pager you use--if you have kernal paging use cat
+pager="${PAGER-/bin/more}"
+# either the ispell program or "none"
+ispell=/usr/bin/ispell
+ispell_options=-x
+test=test
+sed=sed
+echo=echo
+cat=cat
+awk=awk
+rm=rm
+mv=mv
+diff=diff
+ed=ed
+spell=spell
+basename=basename
+
+tmpdir="${TMPDIR-/tmp}"
+
+# get us some temporary files.
+hdrs=$tmpdir/sp$$hdr
+body=$tmpdir/sp$$body
+sig=$tmpdir/sp$$sig
+mine=$tmpdir/sp$$mine
+quoted=$tmpdir/sp$$quoted
+bad=$tmpdir/sp$$bad
+
+Cmdname=`$basename $0`
+
+if $test "X$1" = X; then
+ $echo "$Cmdname: insufficent arguments" >&2
+ $echo "$Cmdname: usage: $Cmdname <filename>" >&2
+ exit 1
+fi
+
+trap "$rm -f $hdrs $body $body~ $sig $mine $quoted $bad; exit 1" 0 1 2 15
+
+while $test "X$1" != X; do
+
+ # create the files, so that cat is quiet later..
+ >$hdrs
+ >$body
+ >$sig
+ >$mine
+ >$quoted
+
+ # tear the wanted headers out and toss them at body, leaving the
+ # the remainder to be put back in later.
+
+ $awk 'BEGIN { inhdr = 1; keephdr = 0; insig = 0 }
+ /^$/ {
+ inhdr = 0;
+ print $0 > Body;
+ next;
+ }
+ /^-- $/ {
+ insig = 1;
+ print $0 > Sig;
+ next;
+ }
+ /^Subject: / {
+ if (inhdr) {
+ keephdr = 1;
+ print $0 > Body;
+ next;
+ }
+ }
+ /^Keywords: / {
+ if (inhdr) {
+ keephdr = 1;
+ print $0 > Body
+ }
+ next;
+ }
+ /^Summary: / { if (inhdr) {
+ keephdr = 1;
+ print $0 > Body
+ }
+ next;
+ }
+ /^[ \t]/ {
+ if (keephdr && indhr) {
+ print $0 > Body;
+ } else if (inhdr) {
+ print $0 > Hdrs;
+ }
+ }
+ /^.*: / { if (inhdr) {
+ keephdr = 0;
+ print $0 > Hdrs;
+ next;
+ } }
+ /^.*$/ { if (!inhdr && !insig) {
+ print $0 > Body;
+ next;
+ }
+ if (insig) {
+ print $0 > Sig;
+ next
+ } }
+ ' Body=$body Hdrs=$hdrs Sig=$sig $1
+
+ # now rip out the quoted text from the article, so we only
+ # spell check our own pristine prose..
+
+ if $test "X$QUOTECHARS" = X ; then
+ $mv $body $mine
+ else
+ $sed -e "/^$QUOTECHARS/s/.*//" $body >$mine
+ $diff -e $mine $body > $quoted
+ fi
+
+ # ok, we've torn everything asunder, now lets spell check
+ # the guts of the article..
+
+ if $test "X$ispell" = "Xnone"; then
+ $spell $ispell_options $mine > $bad
+ if $test -s $bad ; then
+ ($echo ---- misspelled words -------------------------------------
+ #$cat $bad | fmt
+ $cat $bad | pr -t -4
+ $echo -----------------------------------------------------------
+ ) | $pager
+ else
+ $echo 'No misspelled words.'
+ fi
+ else
+ $ispell $ispell_options $mine
+ fi
+
+ if $test $? -ne 0; then
+ $echo "$Cmdname: error returned, leaving message untouched"
+
+ # don't want to mess with this file again, either
+ shift
+ continue
+ fi
+
+ # resurrect the body of the article..
+ if $test -s $quoted ; then
+ ($cat $quoted; $echo w $body; $echo q) | $ed - $mine
+ else
+ $mv $mine $body
+ fi
+
+ # ..and re-assemble the article.
+ $cat $hdrs $body $sig >$1
+
+ # move to the next filename!
+ shift
+
+done
diff -u --new-file --recursive trn-3.6.orig/config.h trn-3.6/config.h
--- trn-3.6.orig/config.h Wed Dec 31 19:00:00 1969
+++ trn-3.6/config.h Mon Jan 9 16:40:48 1995
@@ -0,0 +1,463 @@
+/*
+ * This file was produced by running the config.h.SH script, which
+ * gets its values from config.sh, which is generally produced by
+ * running Configure.
+ *
+ * Feel free to modify any of this as the need arises. Note, however,
+ * that running config.h.SH again will wipe out any changes you've made.
+ * For a more permanent change edit config.sh and rerun config.h.SH.
+ *
+ * $Id: Config_h.U,v 3.0.1.2 1993/08/24 12:13:20 ram Exp $
+ */
+
+/* Configuration time: Mon Jan 9 16:35:58 EST 1995
+ * Configured by: root
+ * Target system: linux fuzzy 1.1.73 #1 mon dec 19 21:32:00 cst 1994 i486
+ */
+
+#ifndef _config_h_
+#define _config_h_
+
+/* EUNICE:
+ * This symbol, if defined, indicates that the program is being compiled
+ * under the EUNICE package under VMS. The program will need to handle
+ * things like files that don't go away the first time you unlink them,
+ * due to version numbering. It will also need to compensate for lack
+ * of a respectable link() command.
+ */
+/* VMS:
+ * This symbol, if defined, indicates that the program is running under
+ * VMS. It is currently only set in conjunction with the EUNICE symbol.
+ */
+/*#define EUNICE *//**/
+/*#define VMS *//**/
+
+/* HAS_GETPWENT:
+ * This symbol, if defined, indicates that the getpwent() routine
+ * should be used instead of the getpw() routine.
+ */
+#define HAS_GETPWENT /**/
+
+/* HAS_TERMLIB:
+ * This symbol, when defined, indicates that termlib-style routines
+ * are available. There is nothing to include.
+ */
+#define HAS_TERMLIB /**/
+
+/* INTERNET:
+ * This symbol, if defined, indicates that there is a mailer available
+ * which supports internet-style addresses (user@site.domain).
+ */
+#define INTERNET /**/
+
+/* HAS_MEMCMP:
+ * This symbol, if defined, indicates that the memcmp routine is available
+ * to compare blocks of memory.
+ */
+#define HAS_MEMCMP /**/
+
+/* HAS_MEMCPY:
+ * This symbol, if defined, indicates that the memcpy routine is available
+ * to copy blocks of memory.
+ */
+#define HAS_MEMCPY /**/
+
+/* HAS_MEMSET:
+ * This symbol, if defined, indicates that the memset routine is available
+ * to set blocks of memory.
+ */
+#define HAS_MEMSET /**/
+
+/* NEWS_ADMIN:
+ * This symbol, if defined, contains the login name of the news
+ * administrator.
+ */
+#define NEWS_ADMIN "news" /**/
+
+/* NOLINEBUF:
+ * This symbol, if defined, indicates that stdout is not buffered, so that
+ * the program can call setbuf() or setlinebuf() for efficiency.
+ */
+/*#define NOLINEBUF *//**/
+
+/* NORMSIG:
+ * This symbol, if defined, indicates that normal signal handling routines
+ * should be used, as opposed to the ones in 4.1bsd (sigset, etc.).
+ */
+#define NORMSIG /**/
+
+/* HAS_RDCHK:
+ * This symbol, if defined, indicates that the rdchk routine is available
+ * to find out if there is input pending on an IO channel. Generally
+ * the routine is used only if FIONREAD and O_NDELAY aren't available.
+ */
+/*#define HAS_RDCHK *//**/
+
+/* HAS_RENAME:
+ * This symbol, if defined, indicates that the rename routine is available
+ * to rename files. Otherwise you should do the unlink(), link(), unlink()
+ * trick.
+ */
+#define HAS_RENAME /**/
+
+/* HAS_SIGBLOCK:
+ * This symbol, if defined, indicates that the sigblock routine is
+ * available to block signal reception.
+ */
+#define HAS_SIGBLOCK /**/
+
+/* HAS_SIGHOLD:
+ * This symbol, if defined, indicates that the sighold routine is
+ * available to hold signals.
+ */
+/*#define HAS_SIGHOLD *//**/
+
+/* HAS_STRCASECMP:
+ * This symbol, if defined, indicates that the strcasecmp() routine is
+ * available for case-insensitive string compares.
+ */
+#define HAS_STRCASECMP /**/
+
+/* HAS_VFORK:
+ * This symbol, if defined, indicates that vfork() exists.
+ */
+#define HAS_VFORK /**/
+
+/* Signal_t:
+ * This symbol's value is either "void" or "int", corresponding to the
+ * appropriate return type of a signal handler. Thus, you can declare
+ * a signal handler using "Signal_t (*handler)()", and define the
+ * handler using "Signal_t handler(sig)".
+ */
+#define Signal_t void /* Signal handler's return type */
+
+/* DEFEDITOR:
+ * This symbol contains the full pathname of the default editor.
+ */
+#define DEFEDITOR "/usr/bin/vi" /**/
+
+/* I_DIRENT:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <dirent.h>. Using this symbol also triggers the definition
+ * of the Direntry_t define which ends up being 'struct dirent' or
+ * 'struct direct' depending on the availability of <dirent.h>.
+ */
+#define I_DIRENT /**/
+#ifdef I_DIRENT
+#define Direntry_t struct dirent
+#else
+#define Direntry_t struct direct
+#endif
+
+/* I_STDLIB:
+ * This symbol, if defined, indicates that <stdlib.h> exists and should
+ * be included.
+ */
+#define I_STDLIB /**/
+
+/* I_STRING:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
+ */
+#define I_STRING /**/
+
+/* I_SYS_DIR:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/dir.h>.
+ */
+#define I_SYS_DIR /**/
+
+/* I_SYS_IOCTL:
+ * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
+ * be included. Otherwise, include <sgtty.h> or <termio.h>.
+ */
+/* I_SYS_FILIO:
+ * This symbol, if defined, indicates that <sys/filio.h> exists and
+ * should be included instead of <sys/ioctl.h>.
+ */
+#define I_SYS_IOCTL /**/
+/*#define I_SYS_FILIO *//**/
+
+/* I_SYS_NDIR:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/ndir.h>.
+ */
+/*#define I_SYS_NDIR *//**/
+
+/* I_TERMIO:
+ * This symbol, if defined, indicates that the program should include
+ * <termio.h> rather than <sgtty.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/* I_TERMIOS:
+ * This symbol, if defined, indicates that the program should include
+ * the POSIX termios.h rather than sgtty.h or termio.h.
+ * There are also differences in the ioctl() calls that depend on the
+ * value of this symbol.
+ */
+/* I_SGTTY:
+ * This symbol, if defined, indicates that the program should include
+ * <sgtty.h> rather than <termio.h>. There are also differences in
+ * the ioctl() calls that depend on the value of this symbol.
+ */
+/*#define I_TERMIO *//**/
+#define I_TERMIOS /**/
+/*#define I_SGTTY *//**/
+
+/* I_UNISTD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <unistd.h>.
+ */
+#define I_UNISTD /**/
+
+/* I_VFORK:
+ * This symbol, if defined, indicates to the C program that it should
+ * include vfork.h.
+ */
+/*#define I_VFORK *//**/
+
+/* MAILFILE:
+ * This symbol contains the interpretable name of the mail spool file
+ * for the current user. The program must be prepared to substitute
+ * the HOME directory for %~, and the login id for %L.
+ */
+#define MAILFILE "/var/spool/mail/%L" /**/
+
+/* MBOXCHAR:
+ * This symbol contains a character which will match the beginning
+ * of a mailbox file.
+ */
+#define MBOXCHAR 'F' /**/
+
+/* PASSNAMES:
+ * This symbol, if defined, indicates that full names are stored in
+ * the /etc/passwd file.
+ */
+/* BERKNAMES:
+ * This symbol, if defined, indicates that full names are stored in
+ * the /etc/passwd file in Berkeley format (name first thing, everything
+ * up to first comma, with & replaced by capitalized login id, yuck).
+ */
+#define PASSNAMES /* (undef to take name from ~/.fullname) */
+#define BERKNAMES /* (that is, ":name,stuff:") */
+
+/* ORGNAME:
+ * This symbol contains either the organizaton name or the full pathname
+ * of a file containing the organization name, which the program must
+ * be prepared to open and substitute the contents of.
+ */
+#define ORGNAME "/etc/organization" /**/
+
+/* PREFSHELL:
+ * This symbol contains the full name of the preferred user shell on this
+ * system. Usual values are /bin/csh, /bin/ksh, /bin/sh.
+ */
+#define PREFSHELL "/bin/bash" /**/
+
+/* ROOTID:
+ * This symbol contains the uid of root, normally 0.
+ */
+#define ROOTID 0 /**/
+
+/* ACTIVE:
+ * The name of the active file for the news system. This file contains
+ * the list of active newsgroups. The name may have ~ on the front.
+ */
+/* ACTIVE_TIMES:
+ * The name of the active.times file for the news system.
+ */
+#define ACTIVE "none" /**/
+#define ACTIVE_TIMES "nntp" /**/
+
+/* HAS_FTIME:
+ * This symbol, if defined, indicates that the ftime() routine exists.
+ * It is basically a sub-second accuracy clock, but is less accurate
+ * than gettimeofday(2) anyway. The type "Timeval" should be used to
+ * refer to "struct timeb".
+ */
+#define HAS_FTIME /**/
+
+/* HAS_GETHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * gethostname() routine to derive the host name. See also HAS_UNAME
+ * and PHOSTCMD.
+ */
+/* HAS_UNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * uname() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and PHOSTCMD.
+ */
+/* PHOSTCMD:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTCMD as a command to feed to the popen() routine
+ * to derive the host name. See also HAS_GETHOSTNAME and HAS_UNAME.
+ * Note that the command uses a fully qualified path, so that it is safe
+ * even if used by a process with super-user privileges.
+ */
+/*#define HAS_GETHOSTNAME *//**/
+/*#define HAS_UNAME *//**/
+/*#define PHOSTCMD "" *//* How to get the host name */
+
+/* HAS_GETWD:
+ * This symbol, if defined, indicates that the getwd routine is
+ * available to get the working directory.
+ */
+/* HAS_GETCWD:
+ * This symbol, if defined, indicates that the getcwd routine is
+ * available. This is never defined if getwd is found first.
+ */
+#define HAS_GETWD /**/
+/*#define HAS_GETCWD *//**/
+
+/* IGNOREORG:
+ * This symbol, if defined, indicates that the ORGANIZATION environment
+ * variable does not contain an organization name.
+ */
+/*#define IGNOREORG *//**/
+
+/* MIMESHOW:
+ * This symbol points to the program to run to show a mime article.
+ */
+/* MIMESTORE:
+ * This symbol points to the program to run to store a mime article.
+ */
+/*#define MIMESHOW "none" *//**/
+/*#define MIMESTORE "none" *//**/
+
+/* USE_NNTP:
+ * This symbol, if defined, indicates that NNTP should be used.
+ */
+/* USE_GENAUTH:
+ * This symbol, if defined, indicates that authinfo generic
+ * authentication is to be supported.
+ */
+/* SERVER_NAME:
+ * When using NNTP, this symbol indicates the server name or a
+ * file to open to read the server name.
+ */
+/* USE_XTHREAD:
+ * This symbol, if defined, indicates that .thread files can be
+ * gotten via NNTP. It is never defined if USE_NNTP is undefined.
+ */
+/* USE_XOVER:
+ * This symbol, if defined, indicates that .overview files can be
+ * gotten via NNTP. It is never defined if USE_NNTP is undefined.
+ */
+#define USE_NNTP /**/
+/*#define USE_GENAUTH *//**/
+#define SERVER_NAME "/etc/nntpserver" /**/
+#define USE_XTHREAD /**/
+#define USE_XOVER /**/
+
+/* void:
+ * This symbol is used for void functions. On implementations which
+ * support void appropriately, its value is "void". Otherwise, its
+ * value should be set to "int".
+ */
+/*#define void int *//**/
+
+/* size_t:
+ * This symbol is defined as an int if no size_t definition exists.
+ */
+/*#define size_t int *//**/
+
+/* HAS_STRCHR:
+ * This symbol is defined to indicate that the strchr()/strrchr()
+ * functions are available for string searching. If not, try the
+ * index()/rindex() pair.
+ */
+#define HAS_STRCHR /**/
+
+/* HAS_STRFTIME:
+ * This symbol, if defined, indicates that the strftime routine is
+ * available to format locale-specific times.
+ */
+#define HAS_STRFTIME /**/
+
+/* EMULATE_NDIR:
+ * This symbol, if defined, indicates that the program should compile
+ * the ndir.c code provided with the package.
+ */
+/* I_NDIR:
+ * This symbol, if defined, indicates that the program should include the
+ * system's version of ndir.h, rather than the one with this package.
+ */
+/*#define EMULATE_NDIR *//**/
+/*#define I_NDIR *//**/
+
+/* I_PTEM:
+ * This symbol, if defined, indicates to the C program that it should
+ * include ptem.h.
+ */
+/*#define I_PTEM *//**/
+
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/*#define I_TIME *//**/
+#define I_SYS_TIME /**/
+
+/* NEWSLIB:
+ * This symbol contains the name of the directory serving as the news
+ * library. The program must be prepared to do ~ expansion on it.
+ */
+#define NEWSLIB "/tmp" /**/
+
+/* NEWSSPOOL:
+ * This symbol contains the directory name where news articles are
+ * spooled. The program must be prepared to do ~ expansion on it.
+ */
+#define NEWSSPOOL "/tmp" /**/
+
+/* PHOSTNAME:
+ * This symbol contains the posting host's name or a file from which
+ * to read its name.
+ */
+#define PHOSTNAME "/etc/HOSTNAME" /**/
+
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
+#define PRIVLIB "/usr/lib/trn" /**/
+
+/* THREAD_DIR:
+ * This symbol indicates where the thread files go.
+ */
+/* OVERVIEW_DIR:
+ * This symbol indicates where the overview files go.
+ */
+/* USE_MT:
+ * This symbol indicates if thread file support is desired.
+ */
+/* USE_OV:
+ * This symbol indicates if overview file support is desired.
+ */
+#define THREAD_DIR "/tmp" /**/
+#define OVERVIEW_DIR "/tmp" /**/
+#define USE_MT /**/
+#define USE_OV /**/
+
+/* THREAD_INIT:
+ * This symbol indicates we act like trn no matter what our name is.
+ */
+/* SELECT_INIT:
+ * This symbol indicates we default to the selector for group entry.
+ */
+#define THREAD_INIT FALSE
+#define SELECT_INIT TRUE
+
+/*#define LONG_THREAD_NAMES *//**/
+
+#define CANCEL "/usr/bin/inews -h <%h"
+#define SPEED_OVER_MEM /* use more memory to run faster */
+/*#define ANCIENT_NEWS *//* if your B news system is <= 2.10.1 */
+
+#endif
diff -u --new-file --recursive trn-3.6.orig/config.sh trn-3.6/config.sh
--- trn-3.6.orig/config.sh Wed Dec 31 19:00:00 1969
+++ trn-3.6/config.sh Mon Jan 9 16:40:41 1995
@@ -0,0 +1,220 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Configuration time: Mon Jan 9 16:35:58 EST 1995
+# Configured by: root
+# Target system: linux fuzzy 1.1.73 #1 mon dec 19 21:32:00 cst 1994 i486
+
+d_bsd='undef'
+d_eunice='undef'
+d_xenix='undef'
+eunicefix=':'
+Mcc='Mcc'
+awk='awk'
+basename='basename'
+bash='bash'
+cat='cat'
+cp='cp'
+cpp='cpp'
+csh='csh'
+date='date'
+diff='diff'
+echo='echo'
+ed='ed'
+egrep='egrep'
+expr='expr'
+grep='grep'
+inews='inews'
+ispell='ispell'
+ksh='ksh'
+less='less'
+lint=''
+mail='mail'
+metamail='metamail'
+mhn='mhn'
+mkdir='mkdir'
+more='more'
+munpack='munpack'
+mv='mv'
+nroff='nroff'
+pg='pg'
+rm='rm'
+rmail='rmail'
+sed='sed'
+sendmail='sendmail'
+smail='smail'
+sort='sort'
+spell='spell'
+tail='tail'
+test='test'
+tr='tr'
+uname='uname'
+uniq='uniq'
+uuname='uuname'
+vi='vi'
+vspell=''
+who=''
+hint='recommended'
+myuname='linux fuzzy 1.1.73 #1 mon dec 19 21:32:00 cst 1994 i486 '
+srcdir='.'
+vincludes=''
+vpath='.'
+Id='$Id'
+Log='$Log'
+active='none'
+acttimes='nntp'
+d_acttimes='define'
+myactive='.falseactive'
+bin='/usr/bin'
+binexp='/usr/bin'
+installbin='/usr/bin'
+cc='gcc'
+ccflags=''
+cppflags=''
+ldflags='-s'
+lkflags=''
+optimize='-O2'
+cf_by='root'
+cf_time='Mon Jan 9 16:35:58 EST 1995'
+contains='grep'
+cpplast='-'
+cppminus='-'
+cpprun='gcc -E'
+cppstdin='gcc -E'
+d_ftime='define'
+aphostcmd=''
+d_gethname='undef'
+d_phostcmd='undef'
+d_uname='undef'
+d_getpwent='define'
+d_getcwd='undef'
+d_getwd='define'
+d_havetlib='define'
+termlib='-ltermcap'
+d_ignoreorg='undef'
+d_internet='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memset='define'
+d_mimeshow='undef'
+d_mimestore='undef'
+mimeshow="none"
+mimestore="none"
+d_newsadm='define'
+newsadmin='news'
+d_nntp='define'
+d_xdata='define'
+d_genauth='undef'
+servername='/etc/nntpserver'
+d_nolnbuf='undef'
+d_normsig='define'
+jobslib=''
+d_novoid='undef'
+void=''
+d_portable='define'
+d_rdchk='undef'
+d_rename='define'
+d_sigblock='define'
+d_sighold='undef'
+d_sizet='undef'
+d_strccmp='define'
+d_strchr='define'
+d_strftime='define'
+strftimec=''
+strftimeo=''
+d_libndir='undef'
+d_usendir='undef'
+libndir=''
+ndirc=''
+ndiro=''
+d_vfork='define'
+d_voidsig='define'
+signal_t='void'
+defeditor='/usr/bin/vi'
+filexp='/usr/lib/trn/filexp'
+d_dirnamlen=''
+i_dirent='define'
+i_ptem='undef'
+i_stdlib='define'
+i_string='define'
+strings='/usr/include/string.h'
+i_sysdir='define'
+d_voidtty=''
+i_bsdioctl=''
+i_sysfilio='undef'
+i_sysioctl='define'
+i_syssockio=''
+i_sysndir='undef'
+i_sgtty='undef'
+i_termio='undef'
+i_termios='define'
+i_systime='define'
+i_time='undef'
+i_unistd='define'
+i_vfork='undef'
+ispell_options='-x'
+ispell_prg='/usr/bin/ispell'
+libc='/usr/lib/libc.a'
+plibpth='/usr/ccs/lib /usr/lib /usr/ucblib /usr/local/lib'
+xlibpth='/usr/lib/386 /lib/386'
+libs='-lbsd'
+citydist='none'
+cntrydist='none'
+contdist='none'
+locdist='none'
+multistatedist='none'
+orgdist='none'
+statedist='none'
+mailer='/usr/sbin/sendmail'
+mailfile='/var/spool/mail/%L'
+installmansrc='/usr/man/man1'
+manext='1'
+mansrc='/usr/man/man1'
+mansrcexp='/usr/man/man1'
+mboxchar='F'
+c=''
+n='-n'
+d_berknames='define'
+d_passnames='define'
+d_usgnames='undef'
+nametype='bsd'
+inewsloc='/usr/bin/inews'
+newslib='/tmp'
+newslibexp='/tmp'
+newsspool='/tmp'
+orgname='/etc/organization'
+package='trn'
+spackage='Trn'
+pager='/bin/more'
+phost='/etc/HOSTNAME'
+phostcmd=''
+prefshell='/bin/bash'
+installprivlib='/usr/lib/trn'
+privlib='/usr/lib/trn'
+privlibexp='/usr/lib/trn'
+rootid='0'
+sharpbang='#!'
+shsharp='true'
+spitshell='cat'
+startsh='#!/bin/sh'
+sysman='/usr/man/man1'
+d_usemt='define'
+d_useov='define'
+overviewdir='/tmp'
+threaddir='/tmp'
+trn_init='FALSE'
+trn_select='TRUE'
+nm_opt=''
+runnm='true'
+usenm='true'
+incpath=''
+mips=''
+mips_type=''
+usrinc='/usr/include'
+PATCHLEVEL="3.6 (20 Nov 1994)"
+CONFIG=true
diff -u --new-file --recursive trn-3.6.orig/filexp trn-3.6/filexp
--- trn-3.6.orig/filexp Wed Dec 31 19:00:00 1969
+++ trn-3.6/filexp Mon Jan 9 16:40:48 1995
@@ -0,0 +1,38 @@
+#!/bin/sh
+sed=sed
+expr=expr
+basename=basename
+test=test
+: expand filename
+case "$1" in
+ ~/*|~)
+ echo $1 | $sed "s|~|${HOME-$LOGDIR}|"
+ ;;
+ ~*)
+ if $test -f /bin/csh; then
+ /bin/csh -f -c "glob $1"
+ failed=$?
+ echo ""
+ exit $failed
+ else
+ name=`$expr x$1 : '..\([^/]*\)'`
+ dir=`$sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd`
+ if $test ! -d "$dir"; then
+ me=`$basename $0`
+ echo "$me: can't locate home directory for: $name" >&2
+ exit 1
+ fi
+ case "$1" in
+ */*)
+ echo $dir/`$expr x$1 : '..[^/]*/\(.*\)'`
+ ;;
+ *)
+ echo $dir
+ ;;
+ esac
+ fi
+ ;;
+*)
+ echo $1
+ ;;
+esac
diff -u --new-file --recursive trn-3.6.orig/hints/Policy.sh trn-3.6/hints/Policy.sh
--- trn-3.6.orig/hints/Policy.sh Wed Dec 31 19:00:00 1969
+++ trn-3.6/hints/Policy.sh Mon Jan 9 16:40:47 1995
@@ -0,0 +1,135 @@
+#!/bin/sh
+#
+# This file was produced by running the Polich.sh.SH script, which
+# gets its values from config.sh, which is generally produced by
+# running Configure.
+#
+# $Id: Policy.sh.SH,v 3.5 1994/04/24 16:47:38 davison Trn $
+
+# login name of the person who configured trn (not particularly interesting).
+cf_by='root'
+# time of configuration (not particularly interesting).
+cf_time='Mon Jan 9 16:35:58 EST 1995'
+
+# install directives.
+
+# bin directories (string values)
+# name of the final resting place
+bin='/usr/bin'
+# how to get to the final resting place (thank you, AFS)
+installbin='/usr/bin'
+
+# private libraries
+# name of the final resting place for those items in the library
+# directory (string value)
+privlib='/usr/lib/trn'
+# How to get to the library final resting place (thanks, AFS)
+installprivlib='/usr/lib/trn'
+
+# interesting questions about man
+# where do man page sources go?
+mansrc='/usr/man/man1'
+# what extention do man pages get?
+manext='1'
+
+# path to assorted programs that we might want to override.
+# name of the default editor. (string value)
+defeditor='/usr/bin/vi'
+# prefered user shell (string value)
+prefshell='/bin/bash'
+# favorite local pager (string value)
+pager='/bin/more'
+# where is inews? (string value)
+inewsloc='/usr/bin/inews'
+# path to interactive speller or "none" (string value)
+ispell_prg='/usr/bin/ispell'
+# spelling options for ispell_prg or "spell" if "none" (string value)
+ispell_options='-x'
+
+# internal options
+# ignore the ORGANIZATION environment variable? (define/undef)
+d_ignoreorg='undef'
+# does the mailer understand FQDN addressing? (define/undef)
+d_internet='define'
+# do you have a news admin? (define/undef)
+d_newsadm='define'
+# name of the news admin? (string value)
+newsadmin='news'
+# read via NNTP? (define/undef)
+d_nntp='define'
+# use the XDATA NNTP extension? (define/undef)
+d_xdata='define'
+# path to a file containing a server name, or a hostname (string value)
+servername='/etc/nntpserver'
+
+# distribution names (string values)
+# local city
+citydist='none'
+# "local" country
+cntrydist='none'
+# "local" continent
+contdist='none'
+# site distribution
+locdist='none'
+# organizational distribution
+orgdist='none'
+# state/province distribution name
+statedist='none'
+# multistate region distribution name
+multistatedist='none'
+
+# Naming information.
+# password file contains names (define/undef)
+d_passnames='define'
+# berkeley style password entries (name first in GCOS) (define/undef)
+d_berknames='define'
+# USG style password entries (account number first in GCOS)
+# (define/undef)
+d_usgnames='undef'
+# what type of name to use.. (bsd/usg/other)
+nametype='bsd'
+
+# How portable do we want to be? Determines if we do lookups now
+# or wait until run time. (define/undef)
+d_portable='define'
+
+# news library information
+# where is the news library (usually /usr/lib/news) may contain ~<usrname>
+newslib='/tmp'
+# absolute path name to /usr/lib/news.
+newslibexp='/tmp'
+# where is the news spool (usually /{var,usr}/spool/news)
+newsspool='/tmp'
+# active file stuff, like where is it, what is its name, etc
+# path to the active file. (string value)
+active='none'
+# do we have an active.times file? (define/undef)
+d_acttimes='define'
+# path to the active.times file. (string value)
+acttimes='nntp'
+# organizations name. path to file, or constant string
+orgname='/etc/organization'
+
+# only one of the two following is needed
+# command to find the posting hosts name (string value, optional)
+phostcmd=''
+# file containing posting hosts name or constant string
+# (string value, optional)
+#
+phost='/etc/HOSTNAME'
+
+# what should we use? mthreads or overview
+# use the mthreads format? (define/undef)
+d_usemt='define'
+# where do we find the thread files? (string value)
+threaddir='/tmp'
+# use the overview format? (define/undef)
+d_useov='define'
+# where do we find the .overview fils? (string value)
+overviewdir='/tmp'
+
+# trn start up options
+trn_init='FALSE'
+# start up with the selector?
+trn_select='TRUE'
+
diff -u --new-file --recursive trn-3.6.orig/makedepend trn-3.6/makedepend
--- trn-3.6.orig/makedepend Wed Dec 31 19:00:00 1969
+++ trn-3.6/makedepend Mon Jan 9 16:40:48 1995
@@ -0,0 +1,69 @@
+#!/bin/sh
+# $Id: makedepend.SH,v 3.0 1991/09/09 20:23:31 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+srcdir=.
+objdir=/cdrom/source/n/trn/trn-3.6
+deptmp=$objdir/.deptmp
+cat /dev/null >$deptmp
+echo "(Note: this is going to take a while.)"
+cd $srcdir
+for file in *.[cy]; do
+ case "$file" in
+ *.c) filebase=`basename $file .c`;;
+ *.y) filebase=`basename $file .y`;;
+ esac
+ echo "Finding dependencies for $filebase.o."
+ sed -n <$file \
+ -e "/^${filebase}_init(/q" \
+ -e '/^#/{' \
+ -e 's|/\*.*$||' \
+ -e 's/\\[ ]*$//' \
+ -e p \
+ -e '}' | gcc -E -I$objdir -I/usr/include - | sed \
+ -e '/^# *line/s/line//' -e '/^# *[0-9]/!d' \
+ -e 's/^.*"\(.*\)".*$/'$filebase'.o: \1/' \
+ -e 's|: \./|: |' \
+ -e "s|$objdir/||" \
+ -e 's/: .*\.c/: '$file'/' | \
+ uniq | sort | uniq >>$deptmp
+done
+
+for file in *.SH; do
+ echo `basename $file .SH`: $file config.sh \; /bin/sh "\$(srcdir)/$file" >>$deptmp
+done
+
+cd $objdir
+
+sed <Makefile >Makefile.new -e '1,/^# AUTOMATICALLY/!d'
+
+if test -s $deptmp; then
+ echo "Updating Makefile..."
+ sed -e 's/\$[^(]/$$/g' $deptmp | egrep -v /usr/include >dependencies
+else
+ echo "You don't seem to have a proper C preprocessor. Using grep instead."
+ cd $srcdir
+ egrep '^#include ' *.[cyh] ?.[cyh] >$deptmp
+ cd $objdir
+ echo "Updating Makefile..."
+ <$deptmp sed -n 's|c:#include "\(.*\)".*$$|o: \1|p' > dependencies
+ <$deptmp sed -n 's|y:#include "\(.*\)".*$$|o: \1|p' >> dependencies
+ <$deptmp sed -n 's|h:#include "\(.*\)".*$$|h: \1|p' >> dependencies
+fi
+echo "# WARNING: Put nothing here or make depend will gobble it up!" >> dependencies
+mv Makefile Makefile.old
+mv Makefile.new Makefile
+cat dependencies >>Makefile
+rm $deptmp
diff -u --new-file --recursive trn-3.6.orig/makedir trn-3.6/makedir
--- trn-3.6.orig/makedir Wed Dec 31 19:00:00 1969
+++ trn-3.6/makedir Mon Jan 9 16:40:48 1995
@@ -0,0 +1,52 @@
+#!/bin/sh
+# $Id: makedir.SH,v 2.11 90/09/17 17:03:55 hokey Exp Locker: hokey $
+#
+# $Log: makedir.SH,v $
+# Revision 2.11 90/09/17 17:03:55 hokey
+# 2.11 alpha baseline
+#
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+case $# in
+ 0)
+ echo "makedir pathname filenameflag"
+ exit 1
+ ;;
+esac
+
+: guarantee one slash before 1st component
+case $1 in
+ /*) ;;
+ *) set ./$1 $2 ;;
+esac
+
+: strip last component if it is to be a filename
+case X$2 in
+ X1) set `echo $1 | sed 's:\(.*\)/[^/]*$:\1:'` ;;
+ *) set $1 ;;
+esac
+
+: return reasonable status if nothing to be created
+if test -d "$1" ; then
+ exit 0
+fi
+
+list=''
+while : ; do
+ case $1 in
+ */*)
+ list="$1 $list"
+ set `echo $1 | sed 's:\(.*\)/:\1 :'`
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+
+set $list
+
+for dir do
+ mkdir $dir >/dev/null 2>&1
+done
diff -u --new-file --recursive trn-3.6.orig/mbox.saver trn-3.6/mbox.saver
--- trn-3.6.orig/mbox.saver Wed Dec 31 19:00:00 1969
+++ trn-3.6/mbox.saver Mon Jan 9 16:40:48 1995
@@ -0,0 +1,34 @@
+#!/bin/sh
+# $Id: mbox.saver.SH,v 3.0 1991/09/09 20:23:31 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+#
+# Arguments:
+# 1 Full name of article (%A)
+# 2 Public news spool directory (%P)
+# 3 Directory of current newsgroup (%c)
+# 4 Article number (%a)
+# 5 Where in article to start (%B)
+# 6 Newsgroup name (%C)
+# 7 Save destination (%b)
+# 8 First line of message, normally From...
+#
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+ ( echo "$8"
+ if test "$5" = 0 -a ! "$4" = 0 ; then
+ echo "Article: $4 of $6"
+ fi
+ tail +$5c $1 | sed "s/^[Ff]rom />& /"
+ echo ""
+ echo "" ) >> $7
diff -u --new-file --recursive trn-3.6.orig/newsetup trn-3.6/newsetup
--- trn-3.6.orig/newsetup Wed Dec 31 19:00:00 1969
+++ trn-3.6/newsetup Mon Jan 9 16:40:49 1995
@@ -0,0 +1,98 @@
+#!/bin/sh
+# $Id: newsetup.SH,v 3.0 1992/02/01 03:09:32 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+: syntax: newsetup
+
+case define in
+define)
+ # where recordings, distributions and moderators are kept
+ lib=`/usr/lib/trn/filexp /tmp`
+ # where important rn things are kept
+ rnlib=`/usr/lib/trn/filexp /usr/lib/trn`
+ nntplist=nntplist
+ ;;
+undef)
+ # where recordings, distributions and moderators are kept
+ lib="/tmp"
+ # where important rn things are kept
+ rnlib="/usr/lib/trn"
+ nntplist=/usr/bin/nntplist
+ ;;
+esac
+
+test=test
+echo=echo
+cat=cat
+mv=mv
+rm=rm
+cp=cp
+
+dotdir="${DOTDIR-${HOME-$LOGDIR}}"
+newsrc="$dotdir/.newsrc"
+tmp="${TMPDIR-/tmp}"
+
+subs="$lib/subscriptions"
+tmpsubs="$tmp/trnsubs.$$"
+
+$cat <<'EOH'
+
+Welcome to trn. Here's some important things to remember:
+
+ o Trn is an extension of rn and has a similar command syntax.
+ o To access all the new features, specify the options -x and -X. These
+ options MAY be on by default, but it won't hurt to be redundant.
+ o Single-character commands don't require a carriage return -- only
+ commands that let you type in an argument.
+ o At ANY prompt, you may type 'h' for help. There are many different help
+ menus, depending on the context. Also, typing <esc>h in the middle of a
+ multi-character command will list escape substitutions.
+ o Typing a space to any prompt means to do the normal thing. You could
+ spend all day reading news and never hit anything but the space bar.
+ o If you have never used the news system before, you may find the articles
+ in news.announce.newusers to be helpful.
+ o Please consult the man page for complete information.
+
+EOH
+
+$rm -f $newsrc-old
+$echo "Creating $newsrc to be used by news programs."
+
+if $test -s "$newsrc"; then
+ $echo "Saving your current one as $newsrc-old..."
+ $mv -f $newsrc $newsrc-old
+fi
+
+if $test -r $subs; then
+ $cp $subs $newsrc
+else
+ ($nntplist -o $tmpsubs subscriptions) >/dev/null 2>&1
+ if $test -s $tmpsubs; then
+ $cp $tmpsubs $newsrc
+ else
+ $cat <<EOM >$newsrc
+news.announce.newusers:
+EOM
+ fi
+ $rm -f $tmpsubs
+fi
+
+$cat <<'EOH'
+Done.
+
+To add new group use "a pattern" or "g newsgroup.name". To get rid of
+newsgroups you aren't interested in, use the 'u' command.
+EOH
diff -u --new-file --recursive trn-3.6.orig/newsgroups trn-3.6/newsgroups
--- trn-3.6.orig/newsgroups Wed Dec 31 19:00:00 1969
+++ trn-3.6/newsgroups Mon Jan 9 16:40:49 1995
@@ -0,0 +1,73 @@
+#!/bin/sh
+# $Id: newsgroups.SH,v 3.0 1992/02/01 03:09:32 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+: syntax: newsgroups [pattern] [pipeflag]
+
+: System Dependencies
+
+: You might want to change pager to a "make column" program if you have one.
+: On the other hand, if your kernel does paging, cat would probably do.
+pager="/bin/more"
+
+
+active="/tmp/active.$$"
+rnlib=/usr/lib/trn
+case $rnlib in
+~*) rnlib=`/usr/lib/trn/filexp $rnlib` ;;
+esac
+nntplist=/usr/bin/nntplist
+
+: End of system dependencies, hopefully
+
+if $nntplist -o $active ACTIVE; then
+ : nothing
+else
+ exit 1
+fi
+
+if test $# -ge 2 ; then
+ pager=cat
+else
+ echo "Completely unsubscribed newsgroups:"
+fi
+
+dotdir=${DOTDIR-${HOME-$LOGDIR}}
+newsrc=$dotdir/.newsrc
+
+: Throwing .newsrc into the pot twice is a lovely hack to prevent
+: bogus newsgroups from showing up as unsubscribed.
+
+cat $newsrc $newsrc $active | \
+sed -n -e '/^options/d' \
+ -e '/^[ ]/d' \
+ -e '/^control/d' \
+ -e '/^to\./d' \
+ -e '/ x$/d' \
+ -e 's/^\([^ !:]*\)[ !:].*$/\1/' \
+ -e "/.*$1/p" | \
+sort | uniq -u | $pager
+rm -f $active
+if test $# -ge 2 ; then
+ exit
+fi
+echo -n "[Type return to continue] "
+read tmp
+echo ""
+echo "Unsubscribed but mentioned in $newsrc:"
+sed -n < $newsrc \
+ -e "/$1.*!/"'s/^\([^!]*\)!.*$/\1/p' | \
+sort | $pager
diff -u --new-file --recursive trn-3.6.orig/newsnews trn-3.6/newsnews
--- trn-3.6.orig/newsnews Wed Dec 31 19:00:00 1969
+++ trn-3.6/newsnews Mon Jan 9 16:40:49 1995
@@ -0,0 +1,13 @@
+ *** NEWS NEWS ***
+
+Welcome to trn 3.6, which continues on the feature trail, adding support
+for slow net connections, and squashing some bugs. Trn is "threaded read
+news", based on rn.
+
+You can type 'h' at any prompt to display a summary of the commands that
+are available.
+
+This message will not be displayed again unless it is updated with new
+information.
+
+Wayne Davison <davison@borland.com>
diff -u --new-file --recursive trn-3.6.orig/norm.saver trn-3.6/norm.saver
--- trn-3.6.orig/norm.saver Wed Dec 31 19:00:00 1969
+++ trn-3.6/norm.saver Mon Jan 9 16:40:49 1995
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $Id: norm.saver.SH,v 3.0 1991/09/09 20:23:31 davison Trn $
+#
+# This software is Copyright 1991 by Stan Barber.
+#
+# Permission is hereby granted to copy, reproduce, redistribute or otherwise
+# use this software as long as: there is no monetary profit gained
+# specifically from the use or reproduction of this software, it is not
+# sold, rented, traded or otherwise marketed, and this copyright notice is
+# included prominently in any copy made.
+#
+# The author make no claims as to the fitness or correctness of this software
+# for any use whatsoever, and it is provided as is. Any use of this software
+# is at the user's own risk.
+#
+# Arguments:
+# 1 Full name of article (%A)
+# 2 Public news spool directory (%P)
+# 3 Directory of current newsgroup (%c)
+# 4 Article number (%a)
+# 5 Where in article to start (%B)
+# 6 Newsgroup name (%C)
+# 7 Save destination (%b)
+#
+export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+( case "$5" in
+ 0) echo "Article $4 of $6:" ;;
+ esac
+ tail +$5c $1
+ echo ""
+ echo "" ) >> $7