[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: