URONODE.CONF(5)

πŸŽ€ URONODE.CONF(5) β€” the manual page, bestie edition πŸŽ€

okay so this is URONODE.CONF(5), straight out of the Linux Programmer's Manual, and we're gonna get through it together. grab a snack. πŸ“


✨ NAME ✨

uronode.conf β€” the URONode configuration file. that's the whole name. iconic, brief, no notes. πŸ’…


πŸ’– DESCRIPTION πŸ’–

uronode.conf is read by URONode at program startup, and it's what changes how the node behaves. big important heads-up: the URONode node.conf is not compatible with the LinuxNode file, because it adds new entries: FlexId, Prompt and PassPromt. so like, don't just paste your old one in and hope. πŸ™ˆ

Every single line inside uronode.conf has to be one of these two things:

  • a comment line, which starts with a # in the first column, or
  • one of the commands listed below.

Commands and arguments are delimited by white space. Arguments can contain white space β€” you just have to wrap them in double quotes. Also, C-style escapes (\n, \x0A, \012 etc.) get parsed inside double quotes. Tabs are allowed for delimiting columns too. ✨

the available configuration commands are, in order, no skipping:

  • Alias <NAme> "<command> [<args...>]" β€” sets up a command alias. here's the trick: the number of uppercase characters at the beginning of <NAme> tells you how much the user is allowed to abbreviate the command. that uppercase part needs to be long enough to separate this command from other commands starting with the same letters. and if there are no uppercase letters at the beginning, the whole name gets converted to upper case and the user can't abbreviate it at all. the command and arguments are subject to parameter expansion (peep the section below πŸ‘€).
  • ConnTimeout <timeout> β€” when a user is connected to another system through this system and the connection sits idle (like, no data flowing either direction) for <timeout> seconds, the connection gets dropped and the user gets disconnected from the node. default is 3600 seconds (1 hour).
  • Email <your@node.ampr.org> β€” this is your amprnet or commercial email address, the one displayed to users on interfaces where you require a password to access your node. highly suggested on inet interfaces, fr fr. you can leave off the <>s. and if you don't have an Email line in node.conf, your email address will display to users as (null) and will make you look sloppy :-). πŸ’€
  • EscapeChar <escape> β€” specifies the escape character. <escape> should be the decimal representation of the ASCII code of the escape character you want. setting the escape character to -1 disables the feature altogether. default is 20 (ctrl-t).
note that the escape mechanism breaks 8-bit transparency of URONode, 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 URONode. this one matters, bestie, don't sleep on it. 😭
  • ExtCmd <NAme> <flags> <uid> <exec> <args...> β€” the big one. let's break it down piece by piece:
    • NAme β€” 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 from other commands starting with the same letters. if there are no uppercase letters in the beginning, the whole name is converted to upper case and the user can not abbreviate the command.
    • flags β€” a sum of flags that control the way the external command is executed. currently two flags are implemented:
      • 1 β€” run command through pipe. without this flag, 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 conversions for it.
      • 2 β€” reconnected to flag. if this flag is set, the user gets a reconnected to prompt after the external command is finished.
    • uid β€” the userid that the following command should run under when executing.
    • exec β€” the executable that should be executed.
    • args... β€” the optional arguments that are passed to the executable. these arguments are subject to parameter expansion (again, see below πŸ‘€).
  • HiddenPorts <portname> ... β€” marks <portname> as hidden. hidden ports are not shown to users in the Links, Mheard, Ports and Routes commands, and they can not be used to make AX.25 downlink connections unless the user is specially permitted to do so (see node.perms(5)). up to 32 hidden ports can be specified with this command.
  • HostName <hostname> β€” the visible hostname of the node. it gets shown at telnet login and in the node welcome message. your main character moment. πŸ‘‘
  • IdleTimeout <timeout> β€” after <timeout> seconds of inactivity while waiting for a command, the user is disconnected from the node. default is 900 seconds (15 mins).
  • LocalNet <network> β€” defines a "local" network. users telneting from hosts in this network are treated separately (see node.perms(5)). <network> is a KA9Q NOS style network address consisting of a dotted quad ip address of the 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. so that one's just free real estate. 🌈
  • LogLevel <loglevel> β€” specifies what node should log. the available levels are:
    • 0 β€” don't log anything.
    • 1 β€” log only critical errors.
    • 2 β€” log errors and logins/logouts.
    • 3 β€” log errors, logins/logouts and all gateway commands.

default is to log only critical errors.

  • NodeId <nodeid> β€” the node id that is shown in every message from node. default is "URONode".
  • FlexID <flexid> β€” this is typically your ax25 callsign-ssid that links to flexnet and/or to your user interface set by the sysop in ax25d.conf.
  • RoseID <rosecall@dnic,######> β€” your node's rosecall-ssid and your full dnic number, typically consisting of your country code, area code, and phone extension. an example is: 3100,860906. the full string for this part of the conf file, using my config, would be RoseID n1uro-8@3100860906 β€” or if you do not use rose, enter: RoseID none.
  • NrPort <portname> β€” the name of the netrom port that is used when making outgoing netrom connects. normally it should match the portname that is used in ax25d.conf to listen for incoming netrom calls. default is the first netrom port.
  • ReConnect on|off β€” the ReConnect flag. if this is on, users gatewaying to another host get reconnected to this node after the remote host closes the connection. if it's off, the connection to the user will also be closed. the user can override the default behaviour with a single s or d at the end of the gatewaying command (connect or telnet). default is off.
  • Prompt <NodePrompt> β€” the prompt string of the node. it's delimited by double quotes. you can use a "\n" character for a multi-lines prompt too. πŸŽ€
  • PassPrompt <PasswordPrompt> β€” the prompt string for sysop password request. it's delimited by double quotes. you can also use a "\n" character for a multi-lines prompt. πŸ”

🌸 PARAMETER EXPANSION 🌸

the arguments passed to the real command by the Alias and ExtCmd commands are subject to parameter expansion. if a word starts with a %, it is expanded. the following formats are expanded:

  • %parameter β€” this is substituted with the value of parameter.
  • %{parameter} β€” the same as above.
  • %{parameter:default} β€” if parameter is defined, this is susbtituted with the value of it. if not, the default value is substituted. this currently applies only to positional parameters 0...9.

the following parameters are defined:

  • 0...9 β€” the positional parameters.
  • U β€” the username (callsign) of the remote station in upper case without the SSID.
  • u β€” the username (callsign) of the remote station in lower case without the SSID.
  • S β€” the username (callsign) of the remote station in upper case with the SSID.
  • s β€” the username (callsign) of the remote station in lower case with the SSID.
  • P β€” the nodename (callsign) of the remote station (NET/ROM), the portname the user is coming in via (AX.25) or the ip address of the remote host (TCP). in upper case without the SSID.
  • p β€” the nodename (callsign) of the remote station (NET/ROM), the portname the user is coming in via (AX.25) or the ip address of the remote host (TCP). in lower case without the SSID.
  • R β€” the nodename (callsign) of the remote station (NET/ROM), the portname the user is coming in via (AX.25) or the ip address of the remote host (TCP). in upper case with the SSID.
  • r β€” the nodename (callsign) of the remote station (NET/ROM), the portname the user is coming in via (AX.25) or the ip address of the remote host (TCP). in lower case with the SSID.
  • t β€” the type of the user connection (ax25, netrom, rose, inet, host) in lower case.
  • T β€” the type of the user connection (ax25, netrom, rose, inet, host) in upper case.

anything else after a % is substituted with a %. that's just how it is. πŸ’…


πŸ¦‹ FILES πŸ¦‹

/usr/local/etc/ax25/uronode.conf

πŸ’œ SEE ALSO πŸ’œ

uronode(8), uronode.perms(5), axports(5), ax25(4).


and that's a wrap, bestie 🫢 this page is from Linux, dated 28 April 1998, and it's still out here doing the absolute most for URONODE.CONF(5). go configure something cute. βœ¨πŸ‘‘πŸ’–