From aa112083f850e1b6c5c6ed9c9e59a568ff66a000 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Thu, 8 Jul 1999 06:46:27 +0200 Subject: Import ax25-apps 0.0.2 from tarball --- ChangeLog | 10 + INSTALL | 7 +- Makefile.am | 10 + Makefile.in | 17 +- NEWS | 5 + README | 2 +- acconfig.h | 8 + aclocal.m4 | 9 +- ax25ipd/COPYING.ax25ipd | 39 +++ ax25ipd/HISTORY.ax25ipd | 49 ++++ ax25ipd/Makefile.am | 21 +- ax25ipd/Makefile.in | 71 +++-- ax25ipd/README.ax25ipd | 695 ++++++++++++++++++++++++++++++++++++++++++++++++ ax25ipd/ax25ipd.conf | 71 +++++ ax25rtd/Makefile.am | 18 +- ax25rtd/Makefile.in | 70 +++-- ax25rtd/README | 268 ------------------- ax25rtd/README.ax25rtd | 268 +++++++++++++++++++ ax25rtd/TODO | 10 - ax25rtd/TODO.ax25rtd | 10 + call/Makefile.in | 5 - config.guess | 89 +++++-- config.h.in | 9 + config.sub | 284 +++++++++++++++++--- configure | 180 +++++++++---- configure.in | 28 +- listen/Makefile.in | 14 - listen/listen.c | 2 +- ltconfig | 219 +++++++++------ ltmain.sh | 18 +- pathnames.h | 28 +- 31 files changed, 1970 insertions(+), 564 deletions(-) create mode 100644 acconfig.h create mode 100644 ax25ipd/COPYING.ax25ipd create mode 100644 ax25ipd/HISTORY.ax25ipd create mode 100644 ax25ipd/README.ax25ipd create mode 100644 ax25ipd/ax25ipd.conf delete mode 100644 ax25rtd/README create mode 100644 ax25rtd/README.ax25rtd delete mode 100644 ax25rtd/TODO create mode 100644 ax25rtd/TODO.ax25rtd diff --git a/ChangeLog b/ChangeLog index e69de29..aeb95ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -0,0 +1,10 @@ +ax25-apps 0.0.2 + * Fixed where to find config files + * Had another crack at working around broken headers + + - Craig Small 7 July 1999 + +ax25-apps 0.0.1 + * First public release + + - Craig Small diff --git a/INSTALL b/INSTALL index 12c2848..fa9ffc1 100644 --- a/INSTALL +++ b/INSTALL @@ -5,7 +5,7 @@ To make this library you will need the following: glibc2.1 A Modern kernel libtool - ax25-lib 0.0.3 or better + libax25 0.0.5 or better To build it you type: ./configure @@ -14,6 +14,9 @@ To build it you type: By default, it will install the files in /usr/local. To change this so that binaries go in /usr and the conf files go in /etc -type 'make install prefix=/usr' +type 'make install --prefix=/usr --sysconfdir=/etc --localstatedir=/var' + +To install the example configuration files type + make installconf - Craig Small diff --git a/Makefile.am b/Makefile.am index 6fac074..670f2e3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,3 +3,13 @@ SUBDIRS = ax25ipd ax25rtd call listen EXTRA_DIST = pathnames.h +installconf: + @for app in $(SUBDIRS); do $(MAKE) -C $$app installconf; done + +AX25_SYSCONFDIR=$(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR=$(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" \ + -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + + diff --git a/Makefile.in b/Makefile.in index 236302b..ab8b282 100644 --- a/Makefile.in +++ b/Makefile.in @@ -78,14 +78,20 @@ VERSION = @VERSION@ SUBDIRS = ax25ipd ax25rtd call listen EXTRA_DIST = pathnames.h + +AX25_SYSCONFDIR = $(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR = $(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ -Makefile.am Makefile.in NEWS aclocal.m4 config.guess config.h.in \ -config.sub configure configure.in install-sh ltconfig ltmain.sh missing \ -mkinstalldirs +Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.guess \ +config.h.in config.sub configure configure.in install-sh ltconfig \ +ltmain.sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -124,7 +130,7 @@ $(srcdir)/config.h.in: $(srcdir)/stamp-h.in rm -f $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \ else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h cd $(top_srcdir) && $(AUTOHEADER) @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null @@ -359,6 +365,9 @@ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean +installconf: + @for app in $(SUBDIRS); do $(MAKE) -C $$app installconf; done + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/NEWS b/NEWS index e69de29..00e046d 100644 --- a/NEWS +++ b/NEWS @@ -0,0 +1,5 @@ +NEWS for ax25-apps +================== + +These programs are still being tested, you should expect some quirks +especially with compiling for a little while longer diff --git a/README b/README index 2ec0f6e..21a9696 100644 --- a/README +++ b/README @@ -8,7 +8,7 @@ More specifically, it is recommended that you use a glibc newer than 2 May 1999, I believe Debian libc6 package 2.1.1-5 will do. These tools were built on a Debian system, potato release, the libraries -are libc6 2.1.1-10 and ncurses 4.2-3.2. Kernel is 2.2.5 +are libc6 2.1.1-12 and ncurses 4.2-3.2. Kernel is 2.2.10 - Craig Small diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..65a2cfc --- /dev/null +++ b/acconfig.h @@ -0,0 +1,8 @@ +/* Define if you have a proper netax25/ax25.h header file. */ +#undef HAVE_NETAX25_AX25_H + +/* Define if you have a proper netrom/netrom.h header file. */ +#undef HAVE_NETROM_NETROM_H + +/* Define if you have a proper netrose/rose.h header file. */ +#undef HAVE_NETROSE_ROSE_H diff --git a/aclocal.m4 b/aclocal.m4 index 3dc036c..ee15744 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -126,7 +126,7 @@ done<<>>dnl>>) changequote([,]))]) -# serial 39 AC_PROG_LIBTOOL +# serial 40 AC_PROG_LIBTOOL AC_DEFUN(AC_PROG_LIBTOOL, [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl @@ -487,6 +487,7 @@ AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; esac LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) ]) # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for @@ -510,9 +511,11 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl if test x"$enable_ltdl_install" = x"yes"; then ac_configure_args="$ac_configure_args --enable-ltdl-install" LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) else ac_configure_args="$ac_configure_args --enable-ltdl-install=no" LIBLTDL="-lltdl" + INCLTDL= fi ]) @@ -525,6 +528,6 @@ AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl -dnl This is just to quiet aclocal about the macro not being used -ifelse(a,b,[AC_DISABLE_FAST_INSTALL])dnl +dnl This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL])dnl diff --git a/ax25ipd/COPYING.ax25ipd b/ax25ipd/COPYING.ax25ipd new file mode 100644 index 0000000..ed29b23 --- /dev/null +++ b/ax25ipd/COPYING.ax25ipd @@ -0,0 +1,39 @@ + +AX25IPD ++++++++ + +ax25ipd is a derivative work of ax25ip written by Michael Westerhof, and +as such copyright is governed by Mike's original copyright notice. + +> /* ax25ipd.c main entrypoint +> * +> * Copyright 1991, Michael Westerhof, Sun Microsystems, Inc. +> * This software may be freely used, distributed, or modified, providing +> * this header is not removed. +> * +> */ + +And an extract from the original README file. + +> Comments, Criticism, Enhancements, Problems, Bugs +> ------------------------------------------------- +> +> You can reach the person responsible for ax25ip at any of the following +> addresses: +> +> Mike.Westerhof@Central.Sun.COM +> +> KA9WSB@WB9YAE +> +> Mike Westerhof, 17 N Main St, Mt Prospect, IL 60056 +> +> ------------------------------------------------------------------------- +> Copyright 1991, Michael Westerhof, Sun Microsystems, Inc. +> This software may be freely used, distributed, or modified, providing +> this footer is not removed. +> ------------------------------------------------------------------------- + +This release of ax25ipd was cleaned up slightly, and prototyped, man page +written, and had a few other's enhancements included along the way, by +Rob Mayfield VK5XXX, mayfieldrob@mail.dec.com. + diff --git a/ax25ipd/HISTORY.ax25ipd b/ax25ipd/HISTORY.ax25ipd new file mode 100644 index 0000000..f4a28cd --- /dev/null +++ b/ax25ipd/HISTORY.ax25ipd @@ -0,0 +1,49 @@ +/* + * HISTORY: + * + * 0.2.1 First distribution. + * + * 0.2.2 Comments, documentation, increased routing table to 128. + * + * 0.3.0 Added the "myalias" stuff, and began work on a beacon + * mechanism. + * Added support for the SIGHUP signal. Now a "kill -1 " + * will make ax25ip re-read the config file and restart. + * + * 0.3.1 Now can specify the internet host by internet number as + * well as host name. + * + * 0.4.0 Removed "autoadd" references + * Added support for sending and listening on UDP sockets. + * Added "SIGUSR" handler for dumping statistics on demand. + * The Beacon frame is computed only once. + * Any I/O errors will result in an exit()... This should be + * fixed, specially for the UDP socket, but for the moment + * this prevents errors from going wild and consuming vast + * amounts of system and user time. + * Fixed a bug in the KISSEMIT macro (thanks Jim Durham) + * Added support for both termio and termios (thanks Jim Durham) + * + * 0.4.1 added a generic "io_error" routine to handle errors in the + * main processing loop. This is in hopes of building a mech- + * anism that can deal with temporary network failures in a + * more robust fashion. + * + * 0.4.2 added support for the BSD sgtty method for setting and + * controlling the serial port. + * + * 1.0.0 modifications to bring ax25ip into line with the standard + * linux ax25 tools distribution. (vk5xxx) + * + * 1.0.1 various cleanups and changes ... now called ax25ipd + * added prototypes, fork's itself ... (vk5xxx) + * + * 1.0.2 Incorporated patch allowing wildcarding of ax.25 callsigns. + * The old method required a route for every call/ssid + * combination. (thanks to John Woolner. Wildcarding to be + * enhanced later ... + * + * July97 Added support for broadcast addresses and routes. + * Converted route array to a linked list and removed the + * maximum route limitations. (vk2ktj) + */ diff --git a/ax25ipd/Makefile.am b/ax25ipd/Makefile.am index 1572b25..93f90af 100644 --- a/ax25ipd/Makefile.am +++ b/ax25ipd/Makefile.am @@ -3,7 +3,10 @@ sbin_PROGRAMS = ax25ipd man_MANS = ax25ipd.8 ax25ipd.conf.5 -EXTRA_DIST = $(man_MANS) +EXTRA_DIST = $(man_MANS) $(etcfiles) $(doc_DATA) + +docdir = /usr/doc/ax25-apps +doc_DATA = README.ax25ipd HISTORY.ax25ipd COPYING.ax25ipd CFLAGS = -DUSE_TERMIO ax25ipd_LDADD = $(AX25_LIB) @@ -17,3 +20,19 @@ ax25ipd_SOURCES = \ ax25ipd.h \ process.c \ routing.c + +# Needed so that install is optional +etcfiles = ax25ipd.conf +installconf: + $(mkinstalldirs) $(DESTDIR)$(AX25_SYSCONFDIR) + @list='$(etcfiles)'; for p in $$list; do \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p; \ + done + +AX25_SYSCONFDIR=$(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR=$(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" \ + -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + diff --git a/ax25ipd/Makefile.in b/ax25ipd/Makefile.in index 2876a26..31ea95c 100644 --- a/ax25ipd/Makefile.in +++ b/ax25ipd/Makefile.in @@ -79,13 +79,25 @@ sbin_PROGRAMS = ax25ipd man_MANS = ax25ipd.8 ax25ipd.conf.5 -EXTRA_DIST = $(man_MANS) +EXTRA_DIST = $(man_MANS) $(etcfiles) $(doc_DATA) + +docdir = /usr/doc/ax25-apps +doc_DATA = README.ax25ipd HISTORY.ax25ipd COPYING.ax25ipd CFLAGS = -DUSE_TERMIO ax25ipd_LDADD = $(AX25_LIB) ax25ipd_SOURCES = config.c crc.c io.c kiss.c ax25ipd.c ax25ipd.h process.c routing.c + +# Needed so that install is optional +etcfiles = ax25ipd.conf + +AX25_SYSCONFDIR = $(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR = $(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -109,6 +121,8 @@ man8dir = $(mandir)/man8 MANS = $(man_MANS) NROFF = nroff +DATA = $(doc_DATA) + DIST_COMMON = Makefile.am Makefile.in @@ -269,6 +283,25 @@ uninstall-man: @$(NORMAL_UNINSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-man5 uninstall-man8 +install-docDATA: $(doc_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(docdir) + @list='$(doc_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p; \ + fi; fi; \ + done + +uninstall-docDATA: + @$(NORMAL_UNINSTALL) + list='$(doc_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(docdir)/$$p; \ + done + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) @@ -313,13 +346,6 @@ distdir: $(DISTFILES) || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -ax25ipd.o: ax25ipd.c ../config.h ../pathnames.h ax25ipd.h -config.o: config.c ax25ipd.h ../pathnames.h -crc.o: crc.c ax25ipd.h ../pathnames.h -io.o: io.c ax25ipd.h ../pathnames.h -kiss.o: kiss.c ax25ipd.h ../pathnames.h -process.o: process.c ax25ipd.h ../pathnames.h -routing.o: routing.c ax25ipd.h ../pathnames.h info-am: info: info-am @@ -332,21 +358,21 @@ installcheck: installcheck-am install-exec-am: install-sbinPROGRAMS install-exec: install-exec-am -install-data-am: install-man +install-data-am: install-man install-docDATA install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-am -uninstall-am: uninstall-sbinPROGRAMS uninstall-man +uninstall-am: uninstall-sbinPROGRAMS uninstall-man uninstall-docDATA uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(MANS) +all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man5 \ - $(DESTDIR)$(mandir)/man8 + $(DESTDIR)$(mandir)/man8 $(DESTDIR)$(docdir) mostlyclean-generic: @@ -391,13 +417,20 @@ install-sbinPROGRAMS mostlyclean-compile distclean-compile \ clean-compile maintainer-clean-compile mostlyclean-libtool \ distclean-libtool clean-libtool maintainer-clean-libtool install-man5 \ uninstall-man5 install-man8 uninstall-man8 install-man uninstall-man \ -tags mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ -distdir info-am info dvi-am dvi check check-am installcheck-am \ -installcheck install-exec-am install-exec install-data-am install-data \ -install-am install uninstall-am uninstall all-redirect all-am all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - +uninstall-docDATA install-docDATA tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ +check-am installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean + +installconf: + $(mkinstalldirs) $(DESTDIR)$(AX25_SYSCONFDIR) + @list='$(etcfiles)'; for p in $$list; do \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p; \ + done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/ax25ipd/README.ax25ipd b/ax25ipd/README.ax25ipd new file mode 100644 index 0000000..99e2c54 --- /dev/null +++ b/ax25ipd/README.ax25ipd @@ -0,0 +1,695 @@ + +** +** This file is a cobbling together of the various notes on ax25ipd. +** + + ax25ipd + ======= + +This README files pertains to version 1.0.2 of ax25ipd. +(this document is still incomplete -- the UDP features lack examples) + +Overview +-------- + + RFC1226 describes a method of using TCP/IP based networks to transport +AX.25 frames. The ax25ipd utility uses this technique to transfer AX.25 +frames in and out of TCP/IP environments. + + The interface to the AX.25 world is via KISS, with ax25ipd emulating +either a standard KISS TNC or operating as a digipeater. AX.25 frames +arriving on the KISS interface are routed to the IP interface and sent +to the appropriate IP host system. Incoming frames from the IP interface +are filtered and sent out the KISS interface. The operator controls the +mode (tnc or digipeater), the routing (callsign to ip host mapping), and +a few sundry controls via a configuration file, read at startup. + + ax25ipd is the Linux incarnation of ax25ip by Mike Westerhof, and is +not intended to support any OS other than Linux. Although getting it to +run on BSD should not present too many issues, there has been no attempt +to retain BSD(Sun) operability since it was updated in an environment +where there was no access to BSD. + + ax25ipd requires a serial port, and uses a raw socket to gain access +to the IP layer of the host's TCP/IP implementation (this requires that +ax25ipd be started by root). ax25ipd also supports using a standard UDP +socket in place of the raw socket, although this does not adhere to +RFC1226. + + +Modes and Routing +----------------- + + There are two interfaces into and out of ax25ipd. The KISS interface +is a standard serial port, running speeds up to 38400 baud. The IP +interface reads and writes packets to an IP network in accordance with +the specifications in RFC1226. Several factors determine how AX.25 +frames route within ax25ipd and through the IP network, although some +basic rules always apply: + + A frame will never leave ax25ipd on the same interface it came in on. +This fundamental rule eliminates much complexity and much confusion on +how to set up ax25ipd. + + A frame will never be sent to more than one IP host. Using an IP +network as a broadcast media is probably not a good idea, especially +across the Internet! + + Most other routing factors involve user configuration, and depend +heavily on the mode of operation. + + In tnc mode, ax25ipd emulates a KISS tnc, and behaves as one would +expect. The next destination callsign (either the destination or the +next digipeater in line) is extracted from frames arriving on the KISS +interface, and looked up in a routing table (built by the operator in the +configuration file). The routing table provides the IP address to which +this frame should be sent. The standard CRC is computed, tacked onto the +frame, and the result is sent off to the target system. Frames arriving +from the IP interface have the CRC checked and removed, and are forwarded +to the KISS interface. + + Digi mode is a little more complicated. In this mode, ax25ipd is +assigned a callsign, and acts as a digipeater. If a frame arriving on +the KISS interface has ax25ipd's callsign specified as the next digipeater, +ax25ipd will mark the frame as digipeated by it, look up the next callsign +in the routing table, compute and append the CRC, and send the frame to +the specified IP host. Frames arriving on the IP interface will be +handled in a similar fashion, but note that in no cases will the frame be +sent out the same port it arrived in on. + + +Configuration +------------- + + A single configuration file is used to tailor ax25ipd. The file is +usually named "ax25ipd.cfg" and should be located in the same directory +ax25ipd is executed from. An example is probably the best way to become +familiar with configuring ax25ipd. + +# Sample Configuration file for ax25ipd +mode digi +socket ip +device /dev/ttya +speed 9600 +mycall KA9WSB-7 +myalias ILSUN +beacon every 540 +btext ax25ipd -- digi ka9wsb-7 -- Experimental IP encapsulator +loglevel 2 +route W1AW-13 handbook.arrl.com +route WZ9ZZZ last.one.edu +param 1 20 + +The mode command selects the behavior of ax25ipd. The device line specifies +the tty device to use, and the speed line selects the baud rate. Baud +rates up to 34800 can be used, but 9600 is probably the fastest safe +speed for serial cables of any distance (remember, KISS has no error +detection). The mycall command is required only if you are in digi mode. +The loglevel command selects the amount of verbosity you want, ranging from +0 (no output) to 4 (streams of data). The route command adds entries to +a static routing table, currently 128 entries deep. In the example, AX.25 +frames destined for W1AW-13 are forwarded to handbook.arrl.com, frames for +WZ9ZZZ are sent to last.one.edu, and all others go nowhere. Specifying the +word "default" in place of a callsign sets up a default route, used when +the destination callsign cannot be found in the routing table. Finally, +in digi mode, the device on the other end of the KISS interface is probably +a TNC. The param command allows you to set the KISS parameters (txdelay, +slottime, etc). As many param commands as required can be specified. + +The myalias command allows you to specify an alias for this digipeater. +If you do this, you should probably use the beacon command to ensure +that you ID regularly. The beacon every 540 command forces an ID message +to be sent out the KISS interface every 9 minutes. Specifying beacon +after 540 will send the ID packet only if the channel has been idle for +9 minutes. + +Sending a hang-up signal to the ax25ipd process will cause it to reread +the configuration file and re-initialize itself (kill -HUP ). + + +Sample Configuration - NOS-to-NOS +--------------------------------- + + This example shows how to connect a pair of NOS-based PCs together +using ax25ipd to carry AX.25 traffic. + + + KA9WSB-3 one.two.com + .----------. .----------. + | | | | + | | KISS | UNIX | | + | NOS |------| host |---| + | on | | | | TCP/IP network + | PC | | | | + `----------' `----------' | + | + (vast distance) + | + | fish.sea.com W1AW-5 + | .----------. .----------. + | | | | | + | | UNIX | KISS | | + |---| host |------| NOS | + | | | 1200 | on | + | | baud | PC | + `----------' `----------' + + + Config file: Config file: + mode tnc mode tnc + device /dev/ttya device /dev/ttya + speed 9600 speed 1200 + route W1AW-5 fish.sea.com route KA9WSB-3 one.two.com + +Using this setup, a user could run AX.25 connections between the two PCs. +Note that while NOS can digipeat, NOS will not automatically allow users +near W1AW-5 to digipeat through it to reach KA9WSB-3 (i.e. the command +"C KA9WSB-3 V W1AW-5" will not have the desired result). This may or may +not be a problem. + + +Sample Configuration - digi-to-digi +----------------------------------- + + This example shows how to configure ax25ipd as a pair of digipeaters. + + + (KA9WSB-3) + one.two.com + .----------. .----------. + | | | | + | Standard | KISS | UNIX | | + | KISS |------| host |---| + | TNC | | | | TCP/IP network + | & radio | | | | + `----------' `----------' | + | + (vast distance) + | + | (W1AW-5) + | fish.sea.com W1AW-5 + | .----------. .----------. + | | | | | + | | UNIX | KISS | Standard | + |---| host |------| KISS | + | | | 9600 | TNC | + | | baud | & radio | + `----------' `----------' + + + Config file: Config file: + mode digi mode digi + mycall KA9WSB-3 mycall W1AW-5 + device /dev/ttya device /dev/ttya + speed 9600 speed 9600 + route W1AW-5 fish.sea.com route KA9WSB-3 one.two.com + param 1 20 param 1 33 + +In this setup, the UNIX hosts are "on the air". No PCs or additional +hardware are required. A user near W1AW-5 could read a user near KA9WSB-3 +simply by providing the digipeater path: "c KA9WSB V W1AW-5 KA9WSB-3" +would work just fine. + + +--------- + +We have added dual port capibility in DIGI MODE ONLY to allow us to use it +with a Dataengine. Very little needed changing, but we did not document the +changes. If you really need to know, diff the package against the original, +which was/is at sunsite.unc.edu. To specify the second port, do something +like this... + +#to use the second port, we need to be in digi mode +mode digi +# +#port 0 on my tnc goes to vhf +mycall ve3djf-12 +myalias vhfdjf +# +#port 1 on my tnc goes to uhf. +#The callsign and alias must be different for this to work right... +mycall2 ve3djf-13 +myalias2 uhfdjf +# + +Everything else is the same. Note that if you leave out the mycall2 and +myalias2 defines, it works just like the original in single port mode. For +recieving on the KISS (dual) port, packets are checked against both callsigns +and aliases. Whoever is on the other end of the AXIP link can find out what +port it came from by looking at the who it got digi'd through, although +I can't think of any reason to do that... For transmiting, you go out the +port with the callsign matching the digi address. For example, to go out +port 0 in the above example, digi through ve3djf-12 or vhfdjf. +To go out port 1, digi through ve3djf-13 or uhfdjf. + +Deficencies: If you specify the same callsign on both +ports, no error is generated, but the way the logic in the code works you +always go out the upper port (port 1), not port 0. In TNC mode, there is +really no way to specify which port to transmit on that I can think of, so +there is no multiplexing there. Everything goes out port 0 in TNC mode +still. Lastly, none of the dump routines know anything about ports on the +KISS interface, so they look the same, with both ports lumped into one. + +Let us know if you like this hack, BTW. In retrospect, we should have +written a KISSPlexor (tm:-) HIHI. I think we will do that next. + + +73! de Jeff / VE3DJF +Jeff@lnx_rpi.ee.ryerson.ca +VE3DJF@bbs.VE3RPI.ampr.org + + +AXIP (IP encapsulation of AX.25 frames) daemon by Michael Westerhof. + + + + + + + + +Network Working Group B. Kantor +Request for Comments: 1226 Univ. of Calif San Diego + May 1991 + + + Internet Protocol Encapsulation of AX.25 Frames + +Status of this Memo + + This memo describes a method for the encapsulation of AX.25 (the + Amateur Packet-Radio Link-Layer Protocol) frames within IP packets. + This technique is an Experimental Protocol for the Internet + community. Discussion and suggestions for improvement are requested. + Please refer to the current edition of the "IAB Official Protocol + Standards" for the standardization state and status of this protocol. + Distribution of this memo is unlimited. + +The AX.25 Amateur Packet-Radio Link-Layer Protocol + + The AX.25 Amateur Packet-Radio Link-Layer Protocol is described in + the publication by that name [1], incorporated here by reference. + + Each AX.25 packet ("frame") is encapsulated in one IP datagram. + Normally no AX.25 frame will exceed 330 octets, so fragmentation at + the IP layer should not be necessary. However, experiments with + larger AX.25 frame sizes may require the use of standard IP + fragmentation and reassembly procedures. + + When an AX.25 frame is encapsulated within an IP packet, HDLC framing + elements (flags and zero-stuffing) are omitted, as the IP datagram + adequately delimits the beginning and end of each AX.25 frame. The + 16-bit CRC-CCITT frame check sequence (normally generated by the HDLC + transmission hardware) is included. In all other respects, AX.25 + frames are encapsulated unaltered. + + Each such IP datagram shall have a protocol number of 93. + +Reference + + [1] AX.25 Amateur Packet-Radio Link-Layer Protocol Version 2.0 + October 1984. Available from the American Radio Relay League, + Newington CT USA 06111, and other sources. + +Security Considerations + + Security issues are not discussed in this memo. + + + + + +Kantor [Page 1] + +RFC 1226 IP Encapsulation of AX.25 Frames May 1991 + + +Author's Address + + Brian Kantor + University of California at San Diego + Network Operations C-024 + La Jolla, CA 92093-0214 + + Phone: (619) 534-6865 + + EMail: brian@UCSD.EDU + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Kantor [Page 2] + + + + +/etc/ax25/ax25ipd.conf for vk5xxx + + +# +# ax25ipd configuration file for station floyd.vk5xxx.ampr.org +# +# Select axip transport. 'ip' is what you want for compatibility +# with most other gates ... +# +socket ip +# +# Set ax25ipd mode of operation. (digi or tnc) +# +mode tnc +# +# If you selected digi, you must define a callsign. If you selected +# tnc mode, the callsign is currently optional, but this may change +# in the future! (2 calls if using dual port kiss) +# +#mycall vk5xxx-4 +#mycall2 vk5xxx-5 +# +# In digi mode, you may use an alias. (2 for dual port) +# +#myalias svwdns +#myalias2 svwdn2 +# +# Send an ident every 540 seconds ... +# +beacon after 540 +btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway +# +# Serial port, or pipe connected to a kissattach in my case +# +device /dev/ttyqd +# +# Set the device speed +# +speed 9600 +# +# loglevel 0 - no output +# loglevel 1 - config info only +# loglevel 2 - major events and errors +# loglevel 3 - major events, errors, and AX25 frame trace +# loglevel 4 - all events +# log 0 for the moment, syslog not working yet ... +# +loglevel 0 +# +# If we are in digi mode, we might have a real tnc here, so use param to +# set the tnc parameters ... +# +#param 1 20 +# +# ax.25 route definition, define as many as you need (< 128?) +# format is route (call/wildcard) (ip host at destination) +# +route vk5zeu* 44.136.202.3 +route vk5wsr-1 44.136.202.241 +route vk5wsr-0 44.136.202.241 +route vk5dj-15 44.136.202.241 +route vk5ham* 44.136.202.241 +# +# a default route. Carefull here, all undefined traffic end's up here. +# +route default 44.136.202.241 +# + + +another ax25ipd.cfg + + +# Sample ax25ipd configuration file +# +# First select the mode of operation. (digi or tnc) +# +socket ip +# +mode tnc +# +# If you selected digi, you must define a callsign. If you selected +# tnc mode, the callsign is currently optional, but this may change +# in the future! +# +mycall ve3rpi-14 +mycall2 ve3rpi-15 +# +# In digi mode, you may use an alias. +# +myalias ryeha1 +myalias2 ryeha2 +# +# ID every 10 minutes... +# +beacon after 540 +btext ax25ipd -- digi jeff -- Experimental IP gateway +# +# The tnc or host system must be connected to a serial port. +# +device /dev/ttyS1 +# +# The line speed is set here +# +speed 9600 +# +# loglevel 0 - no output +# loglevel 1 - config info only +# loglevel 2 - major events and errors +# loglevel 3 - major events, errors, and AX25 frame trace +# loglevel 4 - all events +# +loglevel 4 +# +# If digi mode, we probably have a tnc on the other end of the serial +# port. Use the param command to set the KISS parameters (like txdelay!) +# You can specify as many as you need. +# +param 1 20 +# +# Define some routes. This example routes all traffic for callsign ka9wsb-7 +# to a host named waveguide.central.sun.com. You can define as many as +# required. +# +route ve3rpi bbs.ve3rpi.ampr.org +route ve3rpi-2 ryeham.ee.ryerson.ca +route qst ryeham.ee.ryerson.ca +# +# A catch-all is provided: this line sends all calls not specifically +# noted in the routing tables to sunbird.central.sun.com. Use this feature +# with great care -- the host on the other end may not appreciate all the +# traffic! +# +#route default sunbird.central.sun.com +# + + + +ax25ipd.cfg.n8qlb + + +# Sample ax25ipd configuration file (0.4.2 version) +# +# First select the mode of operation. (digi or tnc) +# +mode tnc +# +# The normal mode of operation is using IP datagrams: +# +socket ip +# +# But you can also use UDP datagrams. If you don't specify a port number +# to use, the default will be chosen (usually a Good Idea). +# +socket udp +# +# If you selected digi, you must define a callsign. If you selected +# tnc mode, the callsign is currently optional, but this may change +# in the future! +# +mycall N8QLB-1 +# +# In digi mode, you may use an alias. +# +myalias LINUXX +# +# Note that if you use an alias, in order to guarantee you will properly +# ID every 10 minutes, you MUST specify "beacon every 540" (or so -- +# don't beacon too often, but setting it to 600 might end up squeaking +# past the 10 minute time if the channel is busy) +# A possible future enhancement may allow an ID only if necessary (i.e. +# a packet has been digipeated using the "myalias" id)... +# +beacon every 540 +btext ax25ipd -- digi n8qlb -- Experimental IP gateway +# +# The tnc or host system must be connected to a serial port. +# +device /dev/tnc +# +# The line speed is set here +# +speed 9600 +# +# loglevel 0 - no output +# loglevel 1 - config info only +# loglevel 2 - major events and errors +# loglevel 3 - major events, errors, and AX25 frame trace +# loglevel 4 - all events +# +loglevel 0 +# +# If digi mode, we probably have a tnc on the other end of the serial +# port. Use the param command to set the KISS parameters (like txdelay!) +# You can specify as many as you need. +# +param 1 20 +# +# Define some routes. This example routes all traffic for callsign ka9wsb-6 +# to a host named sales.central.sun.com, using udp instead of raw ip. The +# next line sends all traffic for e3abc-5 to a host at ip address 11.22.33.44, +# sending the datagrams to udp port 12345. The last example sends frames +# addressed to y4xyz-9 and sends them to flim.flam.com, using the ip +# encapsulation. You can define as many as required. +# +#route n8qlb linux.n8qlb +#route e3abc-5 11.22.33.44 udp 12345 +#route y4xyz-9 flim.flam.com +# +# A catch-all is provided: this line sends all calls not specifically +# noted in the routing tables to fred.central.sun.com. Use this feature +# with great care -- the host on the other end may not appreciate all the +# traffic! +# +route default linux.n8qlb +# +ax25ipd.cfg.stock +# Sample ax25ipd configuration file +# +# First select the mode of operation. (digi or tnc) +# +mode digi +# +# If you selected digi, you must define a callsign. If you selected +# tnc mode, the callsign is currently optional, but this may change +# in the future! +# +mycall ka9wsb-7 +# +# In digi mode, you may use an alias. +# +myalias sunord +# +# ID every 10 minutes... +# +beacon after 540 +btext ax25ipd -- digi ka9wsb-7 -- Experimental IP gateway +# +# The tnc or host system must be connected to a serial port. +# +device /dev/ttyb +# +# The line speed is set here +# +speed 9600 +# +# loglevel 0 - no output +# loglevel 1 - config info only +# loglevel 2 - major events and errors +# loglevel 3 - major events, errors, and AX25 frame trace +# loglevel 4 - all events +# +loglevel 3 +# +# If digi mode, we probably have a tnc on the other end of the serial +# port. Use the param command to set the KISS parameters (like txdelay!) +# You can specify as many as you need. +# +param 1 20 +# +# Define some routes. This example routes all traffic for callsign ka9wsb-7 +# to a host named waveguide.central.sun.com. You can define as many as +# required. +# +route ka9wsb-6 salespuke.central.sun.com +# +# A catch-all is provided: this line sends all calls not specifically +# noted in the routing tables to sunbird.central.sun.com. Use this feature +# with great care -- the host on the other end may not appreciate all the +# traffic! +# +#route default sunbird.central.sun.com +# + + + + +Outstanding Issues +------------------ + + There are many outstanding issues with this software. A partial list, +in no particular order, appears below. + +- Portability! io.c currently uses BSD-style select but sys5-style termios! + +- ICMP messages relating to ax25ipd are ignored. + +- Performance of the routing lookups is probably horrid. Also, a static + table is a crock. Feedback from evaluations and test sites may help + determine how this should work. + +- Statistics should be added. + +- A few more comments in the code would be nice. + + +Comments, Criticism, Enhancements, Problems, Bugs +------------------------------------------------- + + You can reach the person responsible for ax25ipd at any of the following + addresses: + + Mike.Westerhof@Central.Sun.COM + + KA9WSB@WB9YAE + + Mike Westerhof, 17 N Main St, Mt Prospect, IL 60056 + +------------------------------------------------------------------------- +Copyright 1991, Michael Westerhof, Sun Microsystems, Inc. +This software may be freely used, distributed, or modified, providing +this footer is not removed. +------------------------------------------------------------------------- + diff --git a/ax25ipd/ax25ipd.conf b/ax25ipd/ax25ipd.conf new file mode 100644 index 0000000..391494f --- /dev/null +++ b/ax25ipd/ax25ipd.conf @@ -0,0 +1,71 @@ +# +# ax25ipd configuration file for station floyd.vk5xxx.ampr.org +# +# Select axip transport. 'ip' is what you want for compatibility +# with most other gates ... +# +socket ip +# +# Set ax25ipd mode of operation. (digi or tnc) +# +mode tnc +# +# If you selected digi, you must define a callsign. If you selected +# tnc mode, the callsign is currently optional, but this may change +# in the future! (2 calls if using dual port kiss) +# +#mycall vk5xxx-4 +#mycall2 vk5xxx-5 +# +# In digi mode, you may use an alias. (2 for dual port) +# +#myalias svwdns +#myalias2 svwdn2 +# +# Send an ident every 540 seconds ... +# +#beacon after 540 +#btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway +# +# Serial port, or pipe connected to a kissattach in my case +# +device /dev/ttyp0 +# +# Set the device speed +# +speed 9600 +# +# loglevel 0 - no output +# loglevel 1 - config info only +# loglevel 2 - major events and errors +# loglevel 3 - major events, errors, and AX25 frame trace +# loglevel 4 - all events +# log 0 for the moment, syslog not working yet ... +# +loglevel 0 +# +# If we are in digi mode, we might have a real tnc here, so use param to +# set the tnc parameters ... +# +#param 1 20 +# +# Broadcast Address definition. Any of the addresses listed will be forwarded +# to any of the routes flagged as broadcast capable routes. +# +broadcast QST-0 NODES-0 +# +# ax.25 route definition, define as many as you need. +# format is route (call/wildcard) (ip host at destination) +# ssid of 0 routes all ssid's +# +# route [flags] +# +# Valid flags are: +# b - allow broadcasts to be transmitted via this route +# d - this route is the default route +# +#route vk2sut-0 44.136.8.68 b +#route vk5xxx 44.136.188.221 b +#route vk2abc 44.1.1.1 +# +# diff --git a/ax25rtd/Makefile.am b/ax25rtd/Makefile.am index b804faa..a4db33c 100644 --- a/ax25rtd/Makefile.am +++ b/ax25rtd/Makefile.am @@ -1,19 +1,21 @@ etcfiles = ax25rtd.conf -etcdir = $(sysconfdir)/ax25 installconf: - $(mkinstalldirs) $(DESTDIR)$(etcdir) + $(mkinstalldirs) $(DESTDIR)$(AX25_SYSCONFDIR) @list='$(etcfiles)'; for p in $$list; do \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(etcdir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(etcdir)/$$p; \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p; \ done sbin_PROGRAMS = ax25rtd ax25rtctl LDADD = $(AX25_LIB) -EXTRA_DIST = $(etcfiles) +EXTRA_DIST = $(etcfiles) $(doc_DATA) + +docdir=/usr/doc/ax25-apps +doc_DATA= TODO.ax25rtd README.ax25rtd ax25rtd_SOURCES = \ ax25rtd.c \ @@ -23,3 +25,9 @@ ax25rtd_SOURCES = \ config.c \ listener.c +AX25_SYSCONFDIR=$(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR=$(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(ax25_sysconfdir)"\" \ + -DAX25_LOCALSTATEDIR=\""$(localstatedir)/ax25/"\" + diff --git a/ax25rtd/Makefile.in b/ax25rtd/Makefile.in index 8925278..02b28b3 100644 --- a/ax25rtd/Makefile.in +++ b/ax25rtd/Makefile.in @@ -76,16 +76,24 @@ RANLIB = @RANLIB@ VERSION = @VERSION@ etcfiles = ax25rtd.conf -etcdir = $(sysconfdir)/ax25 sbin_PROGRAMS = ax25rtd ax25rtctl LDADD = $(AX25_LIB) -EXTRA_DIST = $(etcfiles) +EXTRA_DIST = $(etcfiles) $(doc_DATA) + +docdir = /usr/doc/ax25-apps +doc_DATA = TODO.ax25rtd README.ax25rtd ax25rtd_SOURCES = ax25rtd.c ax25rtd.h cache_ctl.c cache_dump.c config.c listener.c + +AX25_SYSCONFDIR = $(sysconfdir)/ax25/ +AX25_LOCALSTATEDIR = $(localstatedir)/ax25/ + +INCLUDES = -DAX25_SYSCONFDIR=\""$(ax25_sysconfdir)"\" -DAX25_LOCALSTATEDIR=\""$(localstatedir)/ax25/"\" + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -111,7 +119,9 @@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CF LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README Makefile.am Makefile.in TODO +DATA = $(doc_DATA) + +DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -203,6 +213,25 @@ ax25rtctl: $(ax25rtctl_OBJECTS) $(ax25rtctl_DEPENDENCIES) @rm -f ax25rtctl $(LINK) $(ax25rtctl_LDFLAGS) $(ax25rtctl_OBJECTS) $(ax25rtctl_LDADD) $(LIBS) +install-docDATA: $(doc_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(docdir) + @list='$(doc_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p; \ + fi; fi; \ + done + +uninstall-docDATA: + @$(NORMAL_UNINSTALL) + list='$(doc_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(docdir)/$$p; \ + done + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) @@ -247,12 +276,6 @@ distdir: $(DISTFILES) || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -ax25rtctl.o: ax25rtctl.c ../config.h ../pathnames.h -ax25rtd.o: ax25rtd.c ../pathnames.h ax25rtd.h -cache_ctl.o: cache_ctl.c ax25rtd.h -cache_dump.o: cache_dump.c ax25rtd.h -config.o: config.c ../pathnames.h ax25rtd.h -listener.o: listener.c ../pathnames.h ax25rtd.h info-am: info: info-am @@ -265,20 +288,20 @@ installcheck: installcheck-am install-exec-am: install-sbinPROGRAMS install-exec: install-exec-am -install-data-am: +install-data-am: install-docDATA install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-am -uninstall-am: uninstall-sbinPROGRAMS +uninstall-am: uninstall-sbinPROGRAMS uninstall-docDATA uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) +all-am: Makefile $(PROGRAMS) $(DATA) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: - $(mkinstalldirs) $(DESTDIR)$(sbindir) + $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(docdir) mostlyclean-generic: @@ -321,20 +344,21 @@ maintainer-clean: maintainer-clean-am clean-sbinPROGRAMS maintainer-clean-sbinPROGRAMS uninstall-sbinPROGRAMS \ install-sbinPROGRAMS mostlyclean-compile distclean-compile \ clean-compile maintainer-clean-compile mostlyclean-libtool \ -distclean-libtool clean-libtool maintainer-clean-libtool tags \ -mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ -distdir info-am info dvi-am dvi check check-am installcheck-am \ -installcheck install-exec-am install-exec install-data-am install-data \ -install-am install uninstall-am uninstall all-redirect all-am all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +distclean-libtool clean-libtool maintainer-clean-libtool \ +uninstall-docDATA install-docDATA tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ +check-am installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean installconf: - $(mkinstalldirs) $(DESTDIR)$(etcdir) + $(mkinstalldirs) $(DESTDIR)$(AX25_SYSCONFDIR) @list='$(etcfiles)'; for p in $$list; do \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(etcdir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(etcdir)/$$p; \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(AX25_SYSCONFDIR)/$$p; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/ax25rtd/README b/ax25rtd/README deleted file mode 100644 index a7bf2c4..0000000 --- a/ax25rtd/README +++ /dev/null @@ -1,268 +0,0 @@ -***************************************************************** -* Please send all comments and suggestions regarding ax25rtd to * -* Klaus Kudielka (oe1kib@oe1xtu.ampr.org). * -***************************************************************** - -Just a quick small README... -This will hopefully go into the man pages ASAP. - -Ax25routed ----------- - -/usr/sbin/ax25rtd - -This is a daemon that: - -- emulates the ceased "autorouter" of Linux Kernel AX.25 -- sets up ARP entries automagically -- may adjust IP routes and encapsulation mode - (although I really do not recomment to use this feature...) - -The "autorouter" is not really an autorouter. It just listens to the AX.25 -traffic on your ports and uses this information to setup AX.25 routes. This -can be turned on or off by altering the configuration file -/etc/ax25/ax25rtd.conf. - -Ax25routed provides a socket /var/ax25/ax25rtd/control which is used for -runtime maintainance through ax25rtctl or to set up new routes by other -daemons (a Flexnet router, perhaps?) - -On startup ax25rtd reads the configuration file and afterwards preloads -the caches from the files /var/ax25/ax25rtd/ax25_routes and -/var/ax25/ax25rtd/ip_routes. On SIGTERM or ax25rtctl --save it saves the -caches to those files. - -ax25rtd.conf ---------------- - -The file /etc/ax25/ax25rtd.conf is the configuration file for ax25rtd. -The parameters of the options shown here are the default values except the -ones marked with (example) - -ax25-maxroutes 256 -ip-maxroutes 256 - - The maximum size of the three lists / caches. On overflow, - ax25rtd will substitute the oldest entry with the new one. -[1k2] - This marks the beginning of per-port definitions. Note that - you have to use port names as defined in axports(5) here, - anywhere else you may use the port or the device name. - -ax25-learn-routes no - - Set this to "yes", ax25rtd will add the routing information - for every heard frame (with complete digipeater path) to the - kernel AX.25 routing table. Note that ax25rtd's internal cache - will be updated anyway, regardless of this option. - -ax25-learn-only-mine no - - If you set it to "yes", only frames that are sent to (1) the - interface callsign, (2) any of the listeners on this device, or - (3) the callsigns specified by ax25-more-mycalls will be used - to update the internal cache and (depending on - ax25-learn-routes) the kernel routing table. - -ax25-add-path db0ach (example) - - This is useful on DAMA digipeaters. In this case, the DAMA - master has to be used for _every_ AX.25 connection, thus - ax25rtd will add this digipeater(s) to every target we learn - that has no digipeater path (yet). "db0ach" is just an - example here. - -ax25-more-mycalls dl1bke dl1bke-8 (example) - - You can specify more calls as calls here that belong to - this interface... "dl1bke" and "dl1bke-8" are examples. - -ip-learn-routes no - - If set to "yes", ax25rtd will modify the IP routing table if it - receives an IP frame (directed to us). This is dangerous! - - It should not screw up your routing table, though. Ax25rtd - recognizes the netmask of the device and will adjust the route - only if it fits the netmask and the old route points to - one of the devices ax25rtd knows about (hence an AX.25 device). - - The problems begin if you have more than one port and a user - is able to hear your outgoing traffic on at least two of them. - Due to technical reasons ax25rtd adjusts the route _after_ the - kernel has sent the reply to the received TCP frame already. - This has technical reasons. - - If the remote does the same both are switching between the two - ports. - - Don't use this feature unless you know what you are doing. - - It _should_ be safe do enable this on one-port machines, although - I strongly recommend to set a network route instead, i.e.: - - route add -net 44.0.0.0 scc3 - - Note that ax25rtd's internal cache will be updated anyway, - regardless of this option. - -irtt - - If ip-learn-routes is enabled this will assign newly added - routes an initial round trip time (IRTT) for TCP. - is measured in msec, hence - - irtt 10000 - - sets the irtt to 10 seconds. A value of 0 disables this - feature (default). - -ip-adjust-mode no - - If you set this option to "yes" ax25rtd will change the IP - encapsulation mode according to the last received IP frame. - - The problem with this option is that the kernel AX.25 sends - a received IP frame to the IP layer regardless if it was - sent in UI frame encapsulation "mode datagram (dg)" or - in I frame encaps, hence in an AX.25 connection, "mode virtual - connect (vc)". The Linux kernel will respond to this frame - before ax25rtd can adjust the mode. If the remote does the - same... You get the picture. - - Don't use this feature unless you know what you are doing. - -arp-add no - - This option, if set to "yes", changes the ARP table to the - source callsign of the received frame. It should be harmless, - just has the the effect that if it is a new entry, the Linux - ARP code will send one ARP request before ax25rtd has adjust - the ARP table. If there was already an existing ARP entry - for this IP route, one IP datagram will be sent to the old - address. Not really a problem, I hope. - - -Ax25rtctl ---------- - -/usr/sbin/ax25rtctl