diff --git a/CHANGES.3 b/CHANGES.3 index 3e89b96..bf02602 100644 --- a/CHANGES.3 +++ b/CHANGES.3 @@ -393,6 +393,29 @@ Changed a call that was in axdigi.c which had a lib call hardcoded and could break compiles under different archs. Patch supplied by Helmut Grohne, thanks to KI6ZHD for relaying the mail that included the patch. +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 @@ -436,7 +459,7 @@ ftp://ftp.n1uro.net/packet and https://uronode.sourceforge.net. You may also find URONode in your distro's repositories. search uronode -Join our support mail list graciously donated by TAPR! -http://www.tapr.org/mailman/listinfo/uronode +Join our support mail list: +https://uronode.n1uro.com/list/ 73 de Brian N1URO diff --git a/axdigi.c b/axdigi.c index 06ecb2f..2f3dbe6 100644 --- a/axdigi.c +++ b/axdigi.c @@ -21,7 +21,7 @@ * 12th June 1997. */ -#include +#include #include #include #include diff --git a/command.c b/command.c index c6b18f9..ae97701 100644 --- a/command.c +++ b/command.c @@ -77,6 +77,10 @@ void init_nodecmds(void) void node_prompt(const char *fmt, ...) { + + if ((User.ul_type == AF_NETROM) && (check_perms(PERM_ANSI, 0L) != -1)) { + axio_printf(NodeIo,"\e[0m"); + } if (User.ul_type == AF_NETROM) { axio_printf(NodeIo,"%s} ", NodeId); } diff --git a/docs/URONode.txt b/docs/URONode.txt new file mode 100644 index 0000000..d10edef --- /dev/null +++ b/docs/URONode.txt @@ -0,0 +1,7 @@ +Documentation for URONode program +version 2.10 dated 27/01/2019 + +Latest release of this program can be downloaded +from one of two below sites: + ftp://ftp.n1uro.net/pub/hamradio/packet/ + https://sourceforge.net/projects/uronode/ diff --git a/gateway.c b/gateway.c index e480b8f..7b2dd3b 100644 --- a/gateway.c +++ b/gateway.c @@ -266,7 +266,12 @@ static ax25io *connect_to(char **addr, int family, int escape, int compr) if (check_perms(PERM_ANSI, 0L) != -1) { axio_printf(NodeIo, "\e[01;33m"); } + if (check_perms(PERM_ANSI, 0L) == -1) { axio_printf(NodeIo,"link setup (%s)...", User.dl_port); + } + if (check_perms(PERM_ANSI, 0L) != -1) { + axio_printf(NodeIo,"link setup (%s)...\e[0;m", User.dl_port); + } } /* else node_msg("Trying %s on %s... Type to abort", User.dl_name, User.dl_port); */ break; @@ -795,7 +800,7 @@ int do_connect(int argc, char **argv) if (check_perms(PERM_ANSI, 0L) != -1) { axio_printf(NodeIo,"\e[01;31m"); } - axio_printf(NodeIo,"Returning you to the shell..."); + axio_printf(NodeIo, "Returning you to the shell..."); } else if ((User.ul_type == AF_AX25) && (!stay)) { axio_flush(NodeIo); @@ -1146,17 +1151,17 @@ int do_ping(int argc, char **argv) if (User.ul_type == AF_NETROM){ axio_printf(NodeIo,"%s} ", NodeId); } - if (User.ul_type == AF_INET) { +// if (User.ul_type == AF_INET) { if (check_perms(PERM_ANSI, 0L) != -1) { axio_printf(NodeIo, "\e[05;31m"); - } +// } } axio_printf(NodeIo,"Ping aborted."); - if (User.ul_type == AF_INET) { +// if (User.ul_type == AF_INET) { if (check_perms(PERM_ANSI, 0L) != -1) { axio_printf(NodeIo, "\e[0;m"); } - } +// } if (User.ul_type == AF_NETROM) { node_msg(""); } diff --git a/node.h b/node.h index fa9dfe5..f075601 100644 --- a/node.h +++ b/node.h @@ -1,5 +1,5 @@ -#define VERSION "URONode v2.10" -#define COMPILING "December, 2018" +#define VERSION "URONode v2.11" +#define COMPILING "03 March, 2020" #define STATE_IDLE 0 #define STATE_TRYING 1 diff --git a/system.c b/system.c index f1079d5..0b20ed0 100644 --- a/system.c +++ b/system.c @@ -458,6 +458,7 @@ void lastlog(void) int UserId=0; char tty[LAST_DATA_SIZE]; char hostname[LAST_DATA_SIZE]; + char hostname6[LAST_DATA_SIZE]; char usercall[10]; char *cp; int escape; @@ -494,7 +495,13 @@ void lastlog(void) } break; #endif - case AF_INET: strcpy(hostname, User.ul_name); + case AF_INET: strcpy(hostname, User.call); + strcat(hostname, " from ip "); + strcat(hostname, User.ul_name); + break; + case AF_INET6: strcpy(hostname6, User.ul_name); + strcat(hostname, User.call); + strcat(hostname, " on IPv6"); break; case AF_UNSPEC: strcpy(hostname, User.call); strcat(hostname, " on local"); diff --git a/systemd/uronode.service b/systemd/uronode.service deleted file mode 100644 index b380c87..0000000 --- a/systemd/uronode.service +++ /dev/null @@ -1,17 +0,0 @@ -[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 diff --git a/user.c b/user.c index 2b1fb44..c0f2b26 100644 --- a/user.c +++ b/user.c @@ -185,6 +185,9 @@ int user_list(int argc, char **argv) sprintf(buf, "\nTelnet (%.9s @ %.16s)", u.call, u.ul_name); break; + case AF_INET6: + sprintf(buf, "\nTelnet6 (%.9s via IPv6)", u.call); + break; case AF_UNSPEC: sprintf(buf, "\nHost (%.9s on local)", u.call);