Category: Uronode
Uronode Van Brain N1URO
Uronode 2.11
Brian N1URO, has released Uronode 2.11 (Mar 03, 2020)
Changelog
03/03/2020 v2.11 Changed node.h to reflect current version. Note: The system has been behaving as best as it can be expected considering it`s a front-end to the linux protocol stacks. As long as there can be an ax# or sp# interface, it can attach to it and work the protocol(s) the user wishes to use. There`s still the 2-line patch that the kernel maintainers need to add to ax25.ko so that netrom will continue to properly function however that`s not the issue of URONode, it`s the kernel ax25 module. Made a couple of changes in gateway.c where the color schema wasn`t properly resetting the netrom prompt only in regards to aborting ping or a connect request. This is now fixed. Made changes in system.c where it wasn`t displaying the user being on IPv6 properly. While at it, I changed how it handles the user when they`re on IPv4 in the lastlog and loggedin databases. Changed user.c to reflect incoming session is via IPv6 which also fixes the output of nodeusers so that instead of displaying ??????? it now shows that Telnet6 is being used as the incoming protocol. This one was really getting under my skin. Now I can rest in peace (as per QST 2/2020 haha!) ----------- Note on SystemD -------- In uronode.socket, you`ll notice the line: ListenStream=0.0.0.0:3694 This tells SystemD to listen on TCP socket 3694 for any IPv4 ONLY incoming connection. If you wish to filter JUST your amprnet and IPv4 localhost IPs make a line for each changing 0.0.0.0 to 127.0.0.1 and another for your amprnet IP. This will by default filter any commercial IP requests to URONode. If you want SystemD to try IPv6 *first*, don`t enter in any IP schemas and just list the port number. SystemD by default appears to use IPv6 prior to IPv4. You can verify the above by running systemctl status uronode.socket: systemctl status uronode.socket ● uronode.socket - URONode Server Activation Socket Loaded: loaded (/usr/lib/systemd/system/uronode.socket; enabled) Active: active (listening) since Mon 2016-03-07 15:30:39 EST; 6min ago Listen: 0.0.0.0:3694 (Stream) Accepted: 3; Connected: 1 ----------- Wish-list: ----------- ---------------------------------- Original Development Information (aka Disclaimer): URONode was developed on an IBM eSeries 330 eServer with dual 1.2GHz CPUs The OS is Debian Linux 4 using kernel 2.4.27, libax25 v0.0.11, ax25-tools v0.0.8 and ax25-apps v0.0.6. This software comes with absolutely NO guarantees so crash n burn at your own risk. We all may be surprised and find out that it actually DOES something useful! URONode may not run 100% depending on environmental conditions specific to your system. URONode is GLPv2 code, and tested by it`s main author on the following platforms: Raspberry Pi ver. B, Debian 7.7 on a Core-i3, Ubuntu 12.0.4LTS on a Core-i3, Fedora ver. 21
https://ham.packet-radio.net/packet/uronode/uronode-2.11.tar.gz
Source Link
Small BUG in uronode 2.9
Mario YO2LOJ has found a small bug in the source code of UROnode.
Thanks to Marius YO2LOJ for a patch in do_ports within command.c where there is a possibility that the interface count may return NULL and the function will generate an exception in libc for the routine causing the node to segment fault out and disconnect the user from the node.
To patch the bug you need to edit the command.c in the source code of UROnode.
On line 398 you will find this line.
if (strcmp(ax->dest_addr, "*")!=0 && strcmp(ax25_config_get_name(ax->dev), cp)==0) n++;
You have to replace it with this.
if (strcmp(ax->dest_addr, "*")!=0 && ax25_config_get_name(ax->dev) && strcmp(ax25_config_get_name(ax->dev), cp)==0) n++;
After that you can recompile the source.
Or you can download a complet command.c here.
Uronode nodesearch 2.2 released
Brian N1URO has released a new version of Nodesearch 2.2
Change is that now users can search a netrom node
by alias. This idea was taken from a recent change in JNOS. Ex:
Which node are you looking for (no * please): NOS
Searching NetRom nodes for NOS …
CTJNOS:N1URO-7 DZINOS:SV1DZI-12 INNOS:N9LYA-5 MFNOS:N1URO-14
NodeSearch v2.2 by N1URO for URONode.
Goodbye.
For now it’s only on the ftp server of N1URO
ftp://n1uro.no-ip.org/pub/hamradio/packet/node-plugins/
Uronode update version 2.9
Brian N1URO has released uronode-2.9 on 2018-05-28
Download add https://sourceforge.net/projects/uronode/files/?source=navbar
I have released URONode 2.9 on both my FTP server and on SourceForge (both git and svn). The changelog for this release is as follows: 27/05/2018 v2.9 Changed the abort message from "Connection Aborted" to just "Aborted". The madness in the logic is that FBB and other PBBS scripts may only read "Connect" and send their next command in their sequence and thus causing a bit of a loop. Changed version number in node.h Changed this file. I noticed that an IPv6 connection did NOT offer EXit as a command. Fixed. I also noticed that for an IPv6 connection, when running an external command it did not inform the user that they were being returned to the node which may hint that the plug-in is not returning to the node properly, or is exiting/forking prior to it's close. This is now fixed. Mainly for sysop debugging purposes but also for end users, when executing a plugin such as NS or tracer, it'll still open with "Executing command" but now it will return back to the node prompt with "Command ended.". This lets both the sysop and end user know the command exited properly, like with a "return 0" I decided that just having IPv6 as a trailer for IPv6 connects at the prompt to be a bit vague in display so to keep it a bit more consistant with IPv4 it now will show ...:/uronode6 instead. Fixed the "Sockets:" line in the Status command display. The word "Sessions" was off by one space throwing all the following column headers off by 1 space.
SystemD and Uronode
It`s also possible to run uronode with Systemd.. The systemd files can be found is the source directory of uronode. /uronode-2.8.1/systemd/
A sort list what to do.
- copy the SystemD files into /lib/systemd/system - run: systemctl enable uronode - run: chkconfig uronode on - run: systemctl daemon-reload - in /etc/xinetd.d/uronode (or node) set disable to yes (or comment out your line in /etc/inetd.conf) - run: systemctl restart xinetd - reboot
The systemd files unit files
/uronode-2.8.1/systemd/uronode.service
[Unit] Description = URONode Server Requires = uronode.socket After=syslog.target network.target [Service] Type=oneshot ExecStartPre=systemctl start uronode.socket ExecStart=/usr/local/sbin/uronode ExecStartPost=systemctl restart uronode.socket StandardInput=socket Sockets=uronode.socket [Install] Also = uronode.socket WantedBy = multi-user.target WantedBy = network.target
The uronode.socket
/uronode-2.8.1/systemd/uronode.socket
[Unit] Description=URONode Server Activation Socket [Socket] ListenStream=0.0.0.0:3694 Accept=yes [Install] WantedBy=sockets.target
The uronode@.service
/uronode-2.8.1/systemd/uronode@.service
[Unit] Description = URONode Server Requires = uronode.socket After=syslog.target network.target [Service] Type=oneshot ExecStart=/usr/local/sbin/uronode StandardInput=socket Sockets=uronode.socket [Install] Also = uronode.socket WantedBy = multi-user.target WantedBy = network.target
You can also start the ax25 system with Systemd.
Copy the ax25.system file /uronode2.8.1/systemd to the /lib/systemd/system directory
[Unit] Description=ax25 service After=network.target syslog.target [Service] Type=oneshot ExecStart=/usr/local/bin/ax25 start ExecReload=/usr/local/bin/ax25 restart ExecStop =/usr/local/bin/ax25 stop [Install] WantedBy=multi-user.target
systemctl enable ax25.system systemctl daemon-reload systemctl start ax25
Forward from linbpq through uronode to fbb.
There were some problems getting the forward from linbpq through a uronode to a linfbb bbs. I spent a while testing to see if we could get things going. It actually works pretty well.
I have add the following connection script to linbpq
ATT 3 C 44.137.31.73 3694 NEEDLF PI8LAP pi8lap BBS
ATT 3 stands for attach port 3, and port 3 is in my system the telnet port.
Furthermore, in uronode.conf I have created an Alias with the name BBS. So if the command BBS is given in uronode, you will be connected with linfbb.
Alias BBS "c pi8lap"
We can test whether the forward script does what it is supposed to do. Let’s start the forward in Linbpq.
Log file of Linbpq
171209 05:36:28 >PI8LAP ATT 3 171209 05:36:28 <PI8LAP LAPBPQ:PI1LAP-9} Ok 171209 05:36:28 >PI8LAP C 44.137.31.73 3694 NEEDLF PI8LAP pi8lap BBS 171209 05:36:28 <PI8LAP *** Connected to Server 171209 05:36:28 <PI8LAP ��"(uro.pd2lt.ampr.org:uronode) login: *** Password required! 171209 05:36:28 <PI8LAP If you don't have a password please mail 171209 05:36:28 <PI8LAP pd2lt (@) packet-radio.net for a password you wish to use. 171209 05:36:28 <PI8LAP Password: ��^A��^A 171209 05:36:28 <PI8LAP [URONode v2.8.1] 171209 05:36:28 <PI8LAP Welcome pi8lap to the uro.pd2lt.ampr.org packet shell. 171209 05:36:28 <PI8LAP Network node PI1LAP is located in Kortgene, Zeeland, JO11VN Regio 33 171209 05:36:28 <PI8LAP 171209 05:36:28 <PI8LAP https://packet-radio.net / pd2lt@packet-radio.net 171209 05:36:28 <PI8LAP 171209 05:36:28 <PI8LAP {BBS} Linfbb V7.0.8-beta4 (pi8lap) 171209 05:36:28 <PI8LAP {DX} DXSpider V1.55 build 0.196 (pi1lap-4) 171209 05:36:28 <PI8LAP {FPac} Fpac node 4.0.0 (pi1lap-7) 171209 05:36:28 <PI8LAP {JNos} Jnos2.0k1 (pd2lt) 171209 05:36:28 <PI8LAP {Xnet} Xnet v1.39 (pi1lap) 171209 05:36:28 <PI8LAP {RMS} Winlink Gateway 2.4.0-182 (pi1lap-10) 171209 05:36:28 <PI8LAP {BPQ} Linbpq 6.0.13.1 (pi1lap-9) 171209 05:36:28 <PI8LAP {CHat} Linbpq chat (pi1lap-6) 171209 05:36:28 <PI8LAP {COnv} WWconvers saup-1.62a 171209 05:36:28 <PI8LAP 171209 05:36:28 <PI8LAP pi8lap@uro.pd2lt.ampr.org-IPv6: Trying pi8lap ... <Enter> aborts. 171209 05:36:28 <PI8LAP *** connected to pi8lap 171209 05:36:29 <PI8LAP [FBB-7.0.8-AB1FHMRX$] 171209 05:36:29 <PI8LAP Hallo Niels, welkom. 171209 05:36:29 <PI8LAP 1:PI8LAP-BBS> 171209 05:36:29 >PI8LAP [BPQ-6.0.13.1-B1FIHJM$] 171209 05:36:29 >PI8LAP FF
Okay looks good.
axMail admin util “spamblock”
There is a spamblock util for axMail. It’s handy to block spam.
Here can you get the program.
ftp://n1uro.ampr.org/pub/hamradio/linux-utils/spamblock-1.0.tar.gz
Read the INSTALL file carefully. If you do not have the line smtpd_client_restrictions in your main.cf you need to add it.
The complete rule is ….
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access
Let test the program.
root@gw:/usr/local/src/spamblock# ./spamblock What ip or block do you wish to deny? 192.168.1.238 [info] Adding 192.168.1.238 to your postfix access file.... postfix/postfix-script: refreshing the Postfix mail system [ ok ] Block for: 192.168.1.238 is in place.
Now let test if you can send mail by postfix.
'pd2lt (@) zeelandnet.nl' op 7-12-2017 7:37 554 5.7.1 <test.packet-radio.net[192.168.1.238]>: Client host rejected: Access denied
Okay that just work quit well. Have a look in the file /etc/postfix/access
1.1.1.1 REJECT 2.2.2.2 REJECT 3.3.3.3 REJECT 192.168.1.238 REJECT
Delete the last line if you want to send e-mail. And “postfix reload”
For those running axMail-FAX, I have created an admin script I call spamblock. This creates a filter list within postfix of who you wish to connect to you and who NOT to connect to you. Especially this time of year spammers are at their worst trying to see you their grandmother to make a small coin... most of which is simply junk and abuse of bandwidth YOU pay for. Also, if you run axMail in a location who's rules are extremely strict about financial transactions on ham radio this will also help protect your users as well as yourself against unlawful communications. Instructions are in the INSTALL file. I strongly urge you to add blocks through whois lookups rather than single IPs as spammers tend to open up several servers within a data center so capturing their block protects you that much more. I'm of the mindset that any data center or block that has a spammer on it doesn't deserve the right to send me junk mail... and MY expense of bandwidth.
Uronode update version 2.8.1
Brian n1uro just released a minor update. To correct some issues.
Download https://sourceforge.net/projects/uronode/files/latest/download
12/07/2017 v2.8.1 Spotted and fixed an issue in the D command within router.c that I somehow introduced in regards to columns not equalling a full 4x4. Locally it didn't show but remotely it did. When one ran a D command and there were less than 4 columns a carriage return/new line was not sent making the user's screen look "stuck" when in fact it was not. Fixed!.. before bugs were reported :)
Bugs i love bugs.
Uronode-2.8 Release
Brian n1uro has released on 2017-11-24 the new source code of urnode-2.8
You can find the source here.
https://sourceforge.net/projects/uronode/files/?source=navbar