BSD 4_4_Lite2 development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 3 Mar 1993 06:10:04 +0000 (22:10 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 3 Mar 1993 06:10:04 +0000 (22:10 -0800)
Work on file usr/src/contrib/news/pathalias/README
Work on file usr/src/contrib/news/pathalias/CHANGES
Work on file usr/src/contrib/news/pathalias/make.honey

Synthesized-from: CSRG/cd3/4.4BSD-Lite2

usr/src/contrib/news/pathalias/CHANGES [new file with mode: 0644]
usr/src/contrib/news/pathalias/README [new file with mode: 0644]
usr/src/contrib/news/pathalias/make.honey [new file with mode: 0644]

diff --git a/usr/src/contrib/news/pathalias/CHANGES b/usr/src/contrib/news/pathalias/CHANGES
new file mode 100644 (file)
index 0000000..c681345
--- /dev/null
@@ -0,0 +1,43 @@
+Internet connectivity (-I option).  Arpatxt decommissioned.
+Nets without names.
+Allow negative cost components; prohibit negative costs.
+New input syntax: adjust {host, ...}; kill -a option.
+New input syntax: file {filename}.
+New input syntax: delete {host, host!neighbor}.
+Terminal nets.
+Prevent back links to domains.
+
+-- mod.sources, 10/87 -- version 9
+Terminal edges and domains (<host> syntax and -D option).
+Dead hosts and edges in the input stream.
+Empty private list ends scope of privates.
+First hop cost in output (-f option).
+Penalize deprecated hosts (-a option).
+
+-- mod.sources, 4.3bsd, 1/86 -- version 8
+Improved alias treatment.
+Routes to domain gateways.
+Leading dot in name implies domain.
+Link/host tracing (-t option).
+Use getopt().
+
+-- mod.sources, 8/85 -- version 7
+Private hosts documented.
+Homegrown scanner -- it was true what they said about lex.
+Makedb.
+Domains and gateways.
+DEAD back link.
+
+-- net.sources, 1/85 -- version 6
+No ! in dbm key.
+Network character must be one of !@%: -- dot is dead.
+Private hosts.
+Discourage hybrid addresses.  
+Magic @ <-> % rule.
+
+-- 1983-1984 -- version 5
+Reverse sense of the -c (cost) flag.
+Use cheapest among duplicate links.
+Elide network names in output.
+
+-- epoch (smb version) -- versions 1-4
diff --git a/usr/src/contrib/news/pathalias/README b/usr/src/contrib/news/pathalias/README
new file mode 100644 (file)
index 0000000..462f156
--- /dev/null
@@ -0,0 +1,36 @@
+From citi.umich.edu!honey Sun Jun  2 00:34:54 1991
+Date: Sun, 2 Jun 91 00:34 EDT
+From: honey@citi.umich.edu
+To: whom it may concern
+Subject: release notes
+
+---> compilation instructions
+edit config.h
+make
+
+if getopt is undefined, obtain a copy from a usenet sources archive site and
+adjust Makefile.
+
+---> using pathalias
+pathalias, written by steve bellovin and peter honeyman, is in the public
+domain, and may be used by any person or organization, in any way and for
+any purpose.  
+
+i.e., you can use it, you can change it, you can sell it, you can take our
+names off of it (but this would be rude), whatever.  why can't it be this
+simple for other "free" software?
+
+however ...
+
+There is no warranty of merchantability nor any warranty of fitness for a par-
+ticular purpose nor any other warranty, either express or implied, as to the
+accuracy of the enclosed materials or as to their suitability for any particu-
+lar purpose.  Accordingly, the authors assume no responsibility for their use
+by the recipient.   Further, the authors assume no obligation to furnish any
+assistance of any kind whatsoever, or to furnish any additional information or
+documentation.  
+
+the preceeding paragraph was copied without permission from an old crypt(1)
+man page.
+
+pathalias input is regularly published in a usenet newsgroup.
diff --git a/usr/src/contrib/news/pathalias/make.honey b/usr/src/contrib/news/pathalias/make.honey
new file mode 100644 (file)
index 0000000..bb4bef3
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/make -f
+# pathalias -- by steve bellovin, as told to peter honeyman
+
+### configuration section
+###
+# if you can't or don't intend to use dbm files,
+# don't bother with DBM or makedb
+DBM = -ldbm
+# or if you roll your own ...
+# DBM = dbm.o
+###
+# where is getopt (if not in the c library)?
+# GETOPT = -lgetopt
+###
+# where is the resolver (if not in the c library)?
+RESOLV = -lresolv
+### end of configuration section 
+
+CC = cc -g
+CFLAGS =  
+LDFLAGS =$(DBM) $(GETOPT) $(RESOLV)
+YFLAGS = -dD
+YYDEBUG=0
+
+OBJ = addlink.o addnode.o domain.o local.o main.o mapit.o mapaux.o mem.o parse.o printit.o
+OFILES = addlink.O addnode.O domain.O local.O main.O mapit.O mapaux.O mem.O parse.O printit.O
+HDRS = def.h config.h
+CSRC = addlink.c addnode.c domain.c local.c main.c mapit.c mapaux.c mem.c printit.c
+LSRC = $(CSRC) parse.c
+SRC = $(CSRC) parse.y makedb.c
+
+pathalias: & $(OBJ)
+       $(CC) $(OBJ) $(LDFLAGS) -o pathalias
+
+all: pathalias makedb
+
+$(OBJ):        $(HDRS)
+
+parse.c: parse.y $(HDRS)
+       $(YACC) $(YFLAGS) parse.y
+       mv y.tab.c parse.c
+#      echo '#define YYDEBUG' > parse.c
+#      sed -e '/^# line/d' -e 's/yydebug = 0/yydebug = $(YYDEBUG)/' y.tab.c >> parse.c
+
+makedb: makedb.o
+       $(CC) makedb.o $(LDFLAGS) -o makedb
+
+makedb.o: config.h
+
+clean:
+       rm -f *.o y.tab.? parse.c
+
+tags: $(SRC) $(HDRS)
+       ctags -w $(SRC) $(HDRS)
+
+bundle: README CHANGES pathalias.8 Makefile ${HDRS} ${SRC} make.honey
+       @bundle README CHANGES pathalias.8 Makefile ${HDRS} ${SRC} make.honey
+
+bundle1: README CHANGES pathalias.8 Makefile make.honey ${HDRS}
+       @bundle README CHANGES pathalias.8 Makefile make.honey ${HDRS} 
+
+bundle2: addlink.c addnode.c domain.c local.c main.c
+       @bundle addlink.c addnode.c domain.c local.c main.c
+
+bundle3: mapaux.c mapit.c
+       @bundle mapaux.c mapit.c 
+
+bundle4: mem.c printit.c parse.y makedb.c
+       @bundle mem.c printit.c parse.y makedb.c 
+
+ftp:
+       @make -s bundle | compress > /usr/ftp/usr/honey/pathalias/pathalias.Z
+
+make.honey: makefile
+       @cp makefile make.honey
+
+lint:  $(LSRC)
+       lint -hbu $(CFLAGS) $(LSRC)
+       lint makedb.c
+
+
+# the remainder is site specific.
+
+LOCAL = paths/citi # paths/internet
+FILES = uumap/* $(LOCAL)
+
+AVOID =
+
+# map output (input, really) to lower case; verbose; terminal domains
+ARGS = -iDI
+
+PARGS=$(ARGS) $(AVOID) $(FILES)
+# desperation debugging -- examine the costs.
+costs:
+       pathalias -icvvD ${PARGS} 2>error.costs | awk '{printf("%s\t%s\t%s\n", $$2, $$1, $$3)}' | sort -o pa.costs 
+
+# make one BIG file.  a BIG bad idea.
+cat:
+       for i in $(FILES); do echo "file {$$i}"; cat $$i; echo 'private {}'; done > CAT
+
+# make a pathparse database.  -g is undocumented.
+edges:
+       pathalias -g edges $(PARGS) 2>ERRORS > edges.hosts
+#      makedb edges pa
+
+# let dns do its job
+POSTPROC = egrep -v '(\.(com|edu|mil|gov|net|org|arpa|int|[a-z][a-z])  )' | sort
+
+# round up the usual suspects
+citi doom: $(LOCAL) uumap
+       time pathalias -l $@ $(PARGS) | $(POSTPROC) > $@