Bug#614907: Is anyone maintaining (the ham radio tool) node?
Jaime Robles wrote:
> OK I have found your offer!Send the bugs to the package so the problem can
> be solved :-)
Well, not bugs, but patches. I imagine they would be something like this:
1. rename node to ax25-node, and add a compatibility wrapper that
prints a message and calls ax25-node. Update inetd.conf to use the
new command name.
2. add a NEWS.Debian for node, explaining that the command has been
renamed
3. update the default ax25d.conf to use ax25-node instead of node
4. ax25-tools.postinst: offer to update ax25d.conf to use the new command
name
6. remove the 'node' compatibility wrapper
Part 1 might look like this:
---
INSTALL | 8 +-
Makefile | 18 ++-
debian/NEWS | 12 ++
debian/postinst | 2 +-
man/{node.8 => ax25-node.8} | 10 +-
man/node.8 | 254 ++++---------------------------------------
man/node.conf.5 | 20 ++--
node.sh | 8 ++
8 files changed, 71 insertions(+), 261 deletions(-)
create mode 100644 debian/NEWS
rename man/{node.8 => ax25-node.8} (97%)
rewrite man/node.8 (98%)
create mode 100644 node.sh
diff --git a/INSTALL b/INSTALL
index 26aac9a3..40ca78fa 100644
--- a/INSTALL
+++ b/INSTALL
@@ -37,23 +37,23 @@ these files. The AX25-HOWTO is a must read also.
Node is intended to be called from ax25d or inetd. It doesn't need
any command line arguments but there is one to support incoming
-compressed connects. See the node(8) manual page.
+compressed connects. See the ax25-node(8) manual page.
To run LinuxNode from ax25d, /etc/ax25/ax25d.conf should have something
like this in it:
# AX.25
[OH2BNS VIA 144]
- default * * * * * * - root /usr/bin/node node
+ default * * * * * * - root /usr/bin/ax25-node ax25-node
# NETROM
<netrom>
- default * * * * * * - root /usr/bin/node node
+ default * * * * * * - root /usr/bin/ax25-node ax25-node
/etc/inetd.conf could have something like this in it:
# Set up LinuxNode to listen at telnet port
- telnet stream tcp nowait root /usr/bin/node node
+ telnet stream tcp nowait root /usr/bin/ax25-node ax25-node
Note that LinuxNode should always be run as root. Otherwise outgoing
connects won't work. Also ping needs a raw socket which requires root
diff --git a/Makefile b/Makefile
index 299b65b3..75caf6dd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-all: nodeusers node
+all: nodeusers ax25-node node
CC = gcc
LD = gcc
@@ -23,13 +23,12 @@ NODEUSERS_OBJS = $(NODEUSERS_SRC:.c=.o)
install: installbin installconf installman installhelp
install -m 755 -o root -g root -d $(prefix)$(VAR_DIR)/node
install -m 644 -o root -g root etc/loggedin $(prefix)$(VAR_DIR)/node
- @rm -f /usr/bin/node
- @rm -f /usr/bin/nodeusers
installbin: all
install -m 755 -o root -g root -d $(prefix)$(SBIN_DIR)
- install -m 4755 -s -o root -g root node $(prefix)$(SBIN_DIR)
+ install -m 4755 -s -o root -g root ax25-node $(prefix)$(SBIN_DIR)
install -m 755 -s -o root -g root nodeusers $(prefix)$(SBIN_DIR)
+ install -m 755 -o root -g root node $(prefix)$(SBIN_DIR)
installhelp:
install -m 755 -o root -g root -d $(prefix)$(LIB_DIR)/ax25/node/help
@@ -48,6 +47,7 @@ installman:
install -m 644 -o bin -g bin man/node.conf.5 $(prefix)$(MAN_DIR)/man5
install -m 644 -o bin -g bin man/node.perms.5 $(prefix)$(MAN_DIR)/man5
install -m 755 -o root -g root -d $(prefix)$(MAN_DIR)/man8
+ install -m 644 -o bin -g bin man/ax25-node.8 $(prefix)$(MAN_DIR)/man8
install -m 644 -o bin -g bin man/node.8 $(prefix)$(MAN_DIR)/man8
clean:
@@ -57,17 +57,21 @@ clean:
distclean: clean
rm -f .depend Makefile.include config.h
- rm -f node nodeusers
+ rm -f ax25-node nodeusers node+ node
depend:
$(CC) $(CFLAGS) -M $(COMMON_SRC) $(NODE_SRC) $(NODEUSERS_SRC) > .depend
-node: $(COMMON_OBJS) $(NODE_OBJS)
- $(LD) $(LDFLAGS) -o node $(COMMON_OBJS) $(NODE_OBJS) $(LIBS) $(ZLIB)
+ax25-node: $(COMMON_OBJS) $(NODE_OBJS)
+ $(LD) $(LDFLAGS) -o ax25-node $(COMMON_OBJS) $(NODE_OBJS) $(LIBS) $(ZLIB)
nodeusers: $(COMMON_OBJS) $(NODEUSERS_OBJS)
$(LD) $(LDFLAGS) -o nodeusers $(COMMON_OBJS) $(NODEUSERS_OBJS) $(LIBS) $(ZLIB)
+node: node.sh
+ cp node.sh node+
+ mv node+ node
+
ifeq (.depend,$(wildcard .depend))
include .depend
endif
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 00000000..52a8da7c
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,12 @@
+node (0.3.2-8) experimental; urgency=low
+
+ The /usr/sbin/node daemon has been renamed to /usr/sbin/ax25-node.
+ The inetd configuration is automatically updated, but other
+ configuration (including ax25d) is not yet.
+
+ Please update your scripts to use the new name.
+
+ A /usr/sbin/node wrapper has been included to avoid breaking
+ working setups in the short term.
+
+ -- Jonathan Nieder <jrnieder@gmail.com> Tue, 08 Nov 2011 12:34:43 -0600
diff --git a/debian/postinst b/debian/postinst
index 888d6394..c96ba911 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -25,7 +25,7 @@ set -e
case "$1" in
install|upgrade|configure)
update-inetd --add \
- "bbs\tstream\ttcp\twait\troot\t/usr/sbin/node\tnode"
+ "bbs\tstream\ttcp\twait\troot\t/usr/sbin/ax25-node\tax25-node"
update-inetd --disable bbs
;;
diff --git a/man/node.8 b/man/ax25-node.8
similarity index 97%
rename from man/node.8
rename to man/ax25-node.8
index 0a7c1ca2..b12b9282 100644
--- a/man/node.8
+++ b/man/ax25-node.8
@@ -1,11 +1,11 @@
-.TH NODE 8 "16 June 1999" Linux "Linux System Managers Manual"
+.TH AX25-NODE 8 "16 June 1999" Linux "Linux System Managers Manual"
.SH NAME
-node \- Node front end for AX.25, NET/ROM, Rose and TCP
+ax25\-node \- Node front end for AX.25, NET/ROM, Rose and TCP
.SH SYNOPSIS
-.B node [-c]
+.B ax25\-node [-c]
.SH DESCRIPTION
.LP
-.B Node
+.B ax25\-node
is a simple node front end, modelled after the node shells of TheNet
and G8BPQ nodes.
.SH OPTIONS
@@ -22,7 +22,7 @@ At the moment I know only two implementations compatible with this
compression method, namely LinuxNode and Clussed.
.SH NODE COMMANDS
The following commands are supported for users of
-.B node:
+.B ax25\-node:
.TP 14
.BI ?
Give short list of available commands.
diff --git a/man/node.8 b/man/node.8
dissimilarity index 98%
index 0a7c1ca2..7e160b2e 100644
--- a/man/node.8
+++ b/man/node.8
@@ -1,234 +1,20 @@
-.TH NODE 8 "16 June 1999" Linux "Linux System Managers Manual"
-.SH NAME
-node \- Node front end for AX.25, NET/ROM, Rose and TCP
-.SH SYNOPSIS
-.B node [-c]
-.SH DESCRIPTION
-.LP
-.B Node
-is a simple node front end, modelled after the node shells of TheNet
-and G8BPQ nodes.
-.SH OPTIONS
-.TP 14
-.BI \-c
-Enable compression. With this option it is assumed that the incoming
-call is using Zlib based compression (modified Lempel-Ziv 1977).
-Currently no negotiation is done so the
-caller must be aware of this. You probably want to set up a separate
-AX.25, NET/ROM or ROSE callsign in ax25d.conf or a separate TCP port
-in inetd.conf to listen to compressed connects.
-.sp 1
-At the moment I know only two implementations compatible with this
-compression method, namely LinuxNode and Clussed.
-.SH NODE COMMANDS
-The following commands are supported for users of
-.B node:
-.TP 14
-.BI ?
-Give short list of available commands.
-.TP 14
-.BI Bye
-Disconnect user from the node.
-.TP 14
-.BI "Connect <port> <call> [via <call1> ...] [d|s] For AX.25"
-.TP 14
-.BI "Connect <call | alias> [d|s] For NET/ROM"
-.TP 14
-.BI "Connect <call> <address> [<digi>] [d|s] For ROSE"
-.sp 1
-Initiate an AX.25, NET/ROM or ROSE connection to a remote host.
-If only one argument is supplied then the connection is assumed to be a
-NET/ROM connection and the argument specifies the callsign of alias of a
-NET/ROM node. If more than one argument is supplied and the second parameter
-is composed of numeric characters only then the connection is assumed to be
-a ROSE connection. Any other combination is assumed to be an AX.25 connection
-with the first argument being the AX25 port to use for the connection.
-.sp
-For a ROSE connection the <address> part must be exactly six or ten digits.
-If only six digits are supplied, the DNIC (first four digits) default to the
-local DNIC. The local DNIC is assumed to be that of the first configured
-Rose port in /etc/ax25/rsports.
-.sp
-The user may optionally supply as the last argument a single character
-which modifies the default behaviour on disconnection of the connection.
-If a single `s' is entered as the last argument, then when the remote host
-disconnects you will be returned to this node. If a single `d' is entered as
-the last argument, you will be disconnected from this node too. The Default
-behaviour (neither `s' nor `d' entered) is configured in the node configuration
-file and depends on the sysop preference.
-.TP 14
-.BI "Escape [<escape string>]"
-Override the sysop configured default escape character setting. If the Escape
-command is given without an argument then the current escape character setting
-is returned to the user. The escape string may be specified using any of the
-well known codings:
-.IP
-.BI "<char>"
-to enter the escape character in its binary form.
-.IP
-.BI "^C"
-to enter the escape character as a control character value.
-.IP
-.BI "NNN"
-to set the escape character to a Decimal value.
-.IP
-.BI "0xNN"
-to set the escape character to a HexaDecimal value.
-.IP
-.BI "0NNN"
-to set the escape character to an Octal value.
-.IP
-.BI "off"
-to disable the escape character.
-.TP 14
-.BI "Finger [<username>][@<hostname>]"
-Retrieve information about users of a system. If the user
-name is omitted, shows the users currently logged on the
-host. If the hostname is omitted, defaults to the local host.
-.TP 14
-.BI "Help [<command>]"
-Give help for the specified command or this text if no
-command is specified. Commands can not be abbreviated.
-Use the "?" command to retrieve a list of available commands.
-.TP 14
-.BI "HOst <hostname> | <ip address>"
-Give the Domain Name Service host name information about <hostname> or
-<ip address>.
-.TP 14
-.BI Info
-Display the version information and the contents of the
-/etc/ax25/node.info file, which should describe any aspects
-of your system that you would like to brag about.
-.TP 14
-.BI "Links [* | <call>]"
-Give a list of active AX.25 connections to and from the local host.
-With an optional argument * list also AX.25 sockets in state listening.
-A callsign as argument gives a list of all connections with <call> as
-source or destination address.
-.TP 14
-.BI "Mheard <portname>"
-Give a list of heard AX.25 stations on the specified port.
-.TP 14
-.BI "NLinks"
-Give a list of active NET/ROM connections to and from the local host.
-.TP 14
-.BI "Nodes [* | <node>]"
-Show the NET/ROM node table of the local host. The nodes on this
-list can be reached using the Connect command without knowing the
-actual network path used (assuming the network is OK).
-.sp
-The optional argument '*' toggles verbose mode, showing the
-Obsolescence counter, relative path quality and the port and
-neighbour node used to reach each node. You can also specify
-a node callsign to get the verbose information for a single node.
-In that case a "which" field that tells what route the kernel
-will use to reach the node is also shown.
-.TP 14
-.BI Ports
-Show the available AX.25 ports. Shown are the port name and a short
-description for the port. The port name is used when using the Connect
-command to connect to an user or service not running NET/ROM (eg. not
-visible in the Nodes list).
-.TP 14
-.BI "PIng <host> [<size>]"
-Check if a host can be reached trough the network by sending
-an ICMP Echo Request packet to the host and waiting for it to
-reply. If a reply is received the round-trip-time (RTT)
-between the local and remote hosts is shown.
-.sp
-If an optional length is specified the data portion of the
-packet is filled with length number of bytes.
-.TP 14
-.BI Routes
-Show the NET/ROM neighbour table of the local host (ie. the nodes
-which the local node directly talks with). These nodes are used
-to reach the other nodes on the node table.
-.TP 14
-.BI Status
-Give some more or less useful information about the system.
-.TP 14
-.BI "Telnet <host> [<port>] [<string>] [d|s]"
-Initiate a telnet session to a remote host using TCP/IP.
-By default, the telnet command connects to the TCP port 23
-(allocated for telnet). You can specify another TCP port or
-a TCP port name.
-.sp
-If an optional third argument <string> is given, that string, followed
-by a CRLF is sent to the remote host right after the connection is
-established. This is mainly useful for command aliases.
-.sp
-If a single `s' is entered as the last parameter, then when
-the remote host disconnects you will be returned to this node.
-If a single `d' is entered as the last parameter, you will
-be disconnected from this node too. Default behaviour (neither
-`s' nor `d' entered) depends on sysop configuration.
-.TP 14
-.BI "TAlk <user> <message>"
-Send a message to another user of the node. The user
-in question must be in idle state (ie. not connected/connecting
-anywhere or running a program).
-.sp
-If the user has an SSID other than zero, the SSID must be
-specified. If multiple users are logged in with the same
-callsign/SSID pair, those who are in idle state, get the message.
-.TP 14
-.BI Users
-Show a list of users currently connected to the local node,
-where the users are coming from, and what are they doing at the
-moment.
-.TP 14
-.BI "ZConnect"
-Initiate a compressed AX.25, NET/ROM or ROSE connection. The command
-arguments are the same as in
-.B "Connect"
-command. Note that the other end must be expecting a compressed
-connection (a LinuxNode started with the -c command line option).
-No negotiation of compression is done.
-.TP 14
-.BI "ZTelnet"
-Initiate a compressed telnet session. The command
-arguments are the same as in
-.B "Telnet"
-command. Note that the other end must be expecting a compressed
-connection (a LinuxNode started with the -c command line option).
-No negotiation of compression is done.
-.SH FILES
-.LP
-.TP 5
-.B /etc/ax25/node.conf
-LinuxNode configuration file.
-.br
-.TP 5
-.B /etc/ax25/node.perms
-LinuxNode permissions file.
-.br
-.TP 5
-.B /etc/ax25/node.motd
-LinuxNode message of the day file.
-.br
-.TP 5
-.B /etc/ax25/node.info
-The response to the 'info' command.
-This file should be edited to reflect the local configuration.
-.br
-.TP 5
-.B /var/ax25/node/loggedin
-Database of current users.
-.br
-.TP 5
-.B /var/ax25/mheard/mheard.dat
-Information about AX.25 stations heard.
-.br
-.TP 5
-.B /usr/lib/ax25/node/help/*.hlp
-The online help files.
-.SH "SEE ALSO"
-.BR node.conf (5),
-.BR node.perms (5),
-.BR axports (5),
-.BR ax25d (8),
-.BR mheardd (8).
-.SH AUTHOR
-Tomi Manninen OH2BNS <tpmannin@cc.hut.fi>
-.br
-Alan Cox GW4PTS <gw4pts@gw4pts.ampr.org>
+.TH NODE 8 "8 November 2011" Linux "Linux System Managers Manual"
+.SH NAME
+node \- compatibility wrapper for ax25\-node
+.SH SYNOPSIS
+.B node [args]
+.SH DESCRIPTION
+.PP
+.B ax25\-node
+is a simple node front end, modelled after the node shells of TheNet
+and G8BPQ nodes.
+It previously was named
+.B node
+but it has been given a less generic name so scripts can reliably
+refer to the right program.
+The
+.B node
+command prints a warning and then calls
+.BR ax25\-node .
+.SH "SEE ALSO"
+.BR ax25-node (8)
diff --git a/man/node.conf.5 b/man/node.conf.5
index 1b4bad72..daf18fc7 100644
--- a/man/node.conf.5
+++ b/man/node.conf.5
@@ -33,7 +33,7 @@ to use double quotes and escape the percent sign with a backslash (eg. \\%1)
.B ConnTimeout <timeout>
When user is connected to another system via this system and the
connection is idle (no data flowing in either direction) for <timeout>
-seconds the connection is dropped and user disconnected from node.
+seconds the connection is dropped and user disconnected from the node.
Default is 3600 seconds
(1 hour).
.TP 14
@@ -66,14 +66,14 @@ Note that the escape mechanism breaks 8-bit transparency of LinuxNode
and you should either disable it or set the no-escape flag in node.perms
for the forwarding stations if (compressed) forward is run trough
LinuxNode. Also the Escape user command can be used in a forward script
-to disable the escape (see node(8)).
+to disable the escape (see ax25\-node(8)).
.TP 14
.B ExtCmd <NAme> <flags> <uid> <exec> <args...>
Sets up an external command.
.RS
.TP 10
.B NAme
-This is the name under which the command appears at nodes command list.
+This is the name under which the command appears at the node's command list.
The number of uppercase characters at the beginning of <NAme> specifies
how much the user may abbreviate the command.
The uppercase part should be long enough to separate the command
@@ -87,11 +87,11 @@ command is executed. Currently two flags are implemented:
.RS
.TP 5
.B 1
-Run command through pipe. Without this flag node just fork()s and exec()s
+Run command through pipe. Without this flag, ax25\-node just fork()s and exec()s
the specified command and then waits for it to terminate. The command must
it self be aware about the underlying protocol. It must handle packetising
-and any end of line conversions. With this flag however node sets up a pipe
-between it self and the command and handles packetising and end of line
+and any end of line conversions. With this flag, however, ax25\-node sets up
+a pipe between itself and the command and handles packetising and end of line
conversions for it.
.TP 5
.B 2
@@ -128,7 +128,7 @@ login and in the node welcome message.
.TP 14
.B IdleTimeout <timeout>
After <timeout> seconds of inactivity while waiting for a command user
-is disconnected from node. Default is 900 seconds (15 mins).
+is disconnected from the node. Default is 900 seconds (15 mins).
.TP 14
.B LocalNet <network>
Defines a "local" network. Users telneting from hosts in this network
@@ -138,7 +138,7 @@ network and a number of significant bits separated by a slash. Note
that 127.0.0.0/8 (loopback net) is also considered "local" by default.
.TP 14
.B LogLevel <loglevel>
-Specifies what node should log. The available levels are:
+Specifies what ax25\-node should log. The available levels are:
.RS
.TP 5
.B 0
@@ -157,7 +157,7 @@ Default is to log only critical errors.
.RE
.TP 14
.B NodeId <id>
-This is the id that is shown in every message from node. Default
+This is the id that is shown in every message from ax25\-node. Default
is "LinuxNode}".
.TP 14
.B NodePrompt <prompt>
@@ -318,7 +318,7 @@ Anything else after a % is substituted with a %.
.LP
/etc/ax25/node.conf
.SH "SEE ALSO"
-.BR node (8),
+.BR ax25\-node (8),
.BR node.perms (5),
.BR axports (5),
.BR ax25 (4).
diff --git a/node.sh b/node.sh
new file mode 100644
index 00000000..a08dafb3
--- /dev/null
+++ b/node.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+echo >&2 'To avoid breaking scripts that use other commands'
+echo >&2 'named "node", the node(8) program has been renamed'
+echo >&2 'to ax25-node(8).'
+echo >&2
+echo >&2 'Please update your scripts.'
+
+exec ax25-node "$@"
--
1.7.8.rc1
Reply to: