New upstream version 2.13

This commit is contained in:
Dave Hibberd 2021-01-27 21:26:06 +00:00
parent 5f0010158a
commit 28d452f5b0
9 changed files with 61 additions and 145 deletions

View File

@ -435,6 +435,36 @@ screens. I did this after noticing some other node softwares go to the
extreme in showing stats that most end users would never understand nor extreme in showing stats that most end users would never understand nor
even care about. This also saves a lot of bandwidth! even care about. This also saves a lot of bandwidth!
17/01/2020 v2.13
Changed the external command text to inform the end user that the escape
sequence (CTRL-T typically) is disabled while an external command is run.
I've been wanting to do this for a while to preserve integrity for the
user. This required an edit in cmdparse.c
Edited node.h to reflect this version.
Cleaned up the status command. Prior *any* single character would print the
long status report. Now either "l" OR "L" will be accepted. If another
character is pressed an error will display:
n1uro-15@n1uro.ampr.org:/uronode6: st s
Usage: status l OR status L
** IMPORTANT **
-= IF YOU DO NOT READ THIS YOU WILL APPEAR BROKEN =-
To be more compliant with downstreams I moved the files in /var/ax25/
to now be looked for in /var/lib/ax25 which appears to be the new file
system ruleset by the linux gods. I did NOT make this up. I would *strongly*
urge you to copy over your current /var/ax25/node/* files after running
"make upgrade" unless you wish to start with a fresh system of sorts.
Your config files in etc/ax25 won't be moved or touched and the man
pages will remain where they are. Your help files, perhaps your ROSE
directory (if you use rose.hlp like I do), and user logs will be reset.
Users will be all considered new again so to prevent this from occurring
I would move those files over.
73 - Enjoy.
----------- Note on SystemD -------- ----------- Note on SystemD --------
In uronode.socket, you'll notice the line: In uronode.socket, you'll notice the line:
ListenStream=0.0.0.0:3694 ListenStream=0.0.0.0:3694

View File

@ -68,7 +68,7 @@ installman:
install -m 644 -p man/axdigi.8 $(MAN_DIR)/man8 install -m 644 -p man/axdigi.8 $(MAN_DIR)/man8
install -m 644 -p man/flexd.8 $(MAN_DIR)/man8 install -m 644 -p man/flexd.8 $(MAN_DIR)/man8
upgrade: installman installhelp upgrade: installbin installman installhelp
install -b -m 600 -p etc/uronode.announce $(ETC_DIR) install -b -m 600 -p etc/uronode.announce $(ETC_DIR)
install -m 755 -p uronode $(SBIN_DIR) install -m 755 -p uronode $(SBIN_DIR)
install -m 755 -p nodeusers $(SBIN_DIR) install -m 755 -p nodeusers $(SBIN_DIR)

View File

@ -244,9 +244,9 @@ int cmdparse(struct cmd *list, char *cmdline)
axio_printf(NodeIo, "%s} ", NodeId); axio_printf(NodeIo, "%s} ", NodeId);
} }
if (check_perms(PERM_ANSI, 0L) != -1) { if (check_perms(PERM_ANSI, 0L) != -1) {
axio_printf(NodeIo,"\e[01;32mExecuting command...\e[0m\n"); axio_printf(NodeIo,"\e[01;32mExecuting command. Escape is disabled until command is done.\e[0m\n");
} else { } else {
axio_puts("Executing command... \n", NodeIo); axio_puts("Executing command. Escape is disabled until command is done. \n", NodeIo);
} }
return extcmd(cmdp, argv); return extcmd(cmdp, argv);
} }

View File

@ -801,7 +801,7 @@ int do_status(int argc, char **argv)
if (check_perms(PERM_ANSI, 0L) != -1) { if (check_perms(PERM_ANSI, 0L) != -1) {
axio_printf(NodeIo, "\e[01;37m"); axio_printf(NodeIo, "\e[01;37m");
} }
node_msg("Status report:"); node_msg("Short Status report:");
if (check_perms(PERM_ANSI, 0L) != -1) { if (check_perms(PERM_ANSI, 0L) != -1) {
axio_printf(NodeIo, "\e[0;m"); axio_printf(NodeIo, "\e[0;m");
} }
@ -829,7 +829,7 @@ int do_status(int argc, char **argv)
return 0; return 0;
} }
/* "Status L" */ /* "Status L" */
if (argc == 2) { if ((*argv[1] == 'L') || (*argv[1] == 'l')) {
if (User.ul_type == AF_NETROM) { if (User.ul_type == AF_NETROM) {
axio_printf(NodeIo,"%s} ", NodeId); axio_printf(NodeIo,"%s} ", NodeId);
} }
@ -939,10 +939,19 @@ int do_status(int argc, char **argv)
axio_printf(NodeIo,"NET/ROM: %-10d %-10d %-10d",nn,n,r); axio_printf(NodeIo,"NET/ROM: %-10d %-10d %-10d",nn,n,r);
#endif #endif
#endif #endif
}
else {
if (User.ul_type == AF_NETROM) {
axio_printf(NodeIo, "%s} ", NodeId);
}
if (check_perms(PERM_ANSI, 0L) != -1) {
axio_printf(NodeIo, "\e[01;37m");
}
axio_printf(NodeIo, "Usage: status l OR status L");
}
if (User.ul_type == AF_NETROM) { if (User.ul_type == AF_NETROM) {
node_msg(""); node_msg("");
} }
}
return 0; return 0;
} }

4
configure vendored
View File

@ -26,7 +26,7 @@ make distclean > make.debug
[ "$LIB_DIR" ] || LIB_DIR=/usr/local/lib [ "$LIB_DIR" ] || LIB_DIR=/usr/local/lib
[ "$DATA_DIR" ] || DATA_DIR=/usr/local/share [ "$DATA_DIR" ] || DATA_DIR=/usr/local/share
[ "$MAN_DIR" ] || MAN_DIR=/usr/local/share/man [ "$MAN_DIR" ] || MAN_DIR=/usr/local/share/man
[ "$VAR_DIR" ] || VAR_DIR=/usr/local/var/ax25 [ "$VAR_DIR" ] || VAR_DIR=/usr/local/var/lib/ax25
echo "Welcome to the configuration utility for URONode. This configure script" echo "Welcome to the configuration utility for URONode. This configure script"
echo "will very simply and easily guide you into installling URONode with as" echo "will very simply and easily guide you into installling URONode with as"
@ -62,7 +62,7 @@ if [ -e "$MAKE" ]
then then
echo -n "saw $MAKE... " echo -n "saw $MAKE... "
_sleep 1 _sleep 1
echo "MAKE found! Congratulations!!" echo "MAKE found!"
else else
echo "make not found!" echo "make not found!"
echo " " echo " "

View File

@ -1,130 +0,0 @@
Common subdirectories: jnos/backup and jnos2/backup
Common subdirectories: jnos/installerv2.1 and jnos2/installerv2.1
Common subdirectories: jnos/j2pwmgr and jnos2/j2pwmgr
Common subdirectories: jnos/k6fsh and jnos2/k6fsh
diff -u jnos/mailbox.c jnos2/mailbox.c
--- jnos/mailbox.c 2016-07-03 10:04:21.000000000 -0400
+++ jnos2/mailbox.c 2016-09-13 22:45:14.293150509 -0400
@@ -1646,7 +1646,7 @@
/* Now say goodbye */
if(!(m->privs & IS_EXPERT))
- tprintf("\nThank you %s, for calling %s JNOS.\n",
+ tprintf("%s, thank you for calling %s. Come back soon.\nRemember to keep packet alive!\n",
#ifdef USERLOG
m->username ? m->username : m->name,
#else
diff -u jnos/makefile jnos2/makefile
--- jnos/makefile 2015-12-08 12:37:21.000000000 -0500
+++ jnos2/makefile 2016-09-14 18:18:30.268383703 -0400
@@ -198,7 +198,8 @@
echo "YOU MUST EDIT scanjmsg.c TO SPECIFY WHERE scanjmsg.dat IS LOCATED"
clean:
- $(RM) *.[oa]
+# Oops, forgot to remove possible existing binaries too! - N1URO
+ $(RM) *.[oa] jnos jnospwmgr jnosinstaller j2pwmgr/j2pwrtns.o
clients.a: $(CLIENTS)
$(RM) clients.a
diff -u jnos/mboxcmd.c jnos2/mboxcmd.c
--- jnos/mboxcmd.c 2016-07-03 10:04:26.000000000 -0400
+++ jnos2/mboxcmd.c 2016-09-13 22:45:14.293150509 -0400
@@ -478,7 +478,7 @@
#ifdef NETROM
if(Nr_iface != NULLIF) { /* Use netrom call, and alias (if exists) */
if(*Myalias != '\0')
- sprintf(Mbnrid,"%s:%s ",pax25(tmp,Myalias),
+ sprintf(Mbnrid,"%s:%s} ",pax25(tmp,Myalias),
pax25(tmp2,Nr_iface->hwaddr));
else
sprintf(Mbnrid,"%s ",pax25(tmp,Nr_iface->hwaddr));
@@ -486,7 +486,7 @@
}
/* Use Mycall, and alias (if exists) */
if(*Myalias != '\0')
- sprintf(Mbnrid,"%s:%s ",pax25(tmp,Myalias),pax25(tmp2,Mycall));
+ sprintf(Mbnrid,"%s:%s} ",pax25(tmp,Myalias),pax25(tmp2,Mycall));
else
#endif
#ifdef AX25
diff -u jnos/misc.c jnos2/misc.c
--- jnos/misc.c 2007-04-12 14:08:19.000000000 -0400
+++ jnos2/misc.c 2016-09-13 22:45:14.293150509 -0400
@@ -14,6 +14,8 @@
n = strlen(s);
if(!strncmp(s,"convers",n))
p = IPPORT_CONVERS;
+ else if(!strncmp(s,"node",n))
+ p = IPPORT_NODE; /* URONode port - N1URO */
else if(!strncmp(s,"telnet",n))
p = IPPORT_TELNET;
else if(!strncmp(s,"ttylink",n))
diff -u jnos/netuser.c jnos2/netuser.c
--- jnos/netuser.c 2007-04-12 14:08:19.000000000 -0400
+++ jnos2/netuser.c 2016-09-13 22:45:14.293150509 -0400
@@ -164,9 +164,12 @@
case 1234: /* Pulled out of the air */
sprintf(port,"remote");
break;
- case 3600:
+ case 3600: /* Convers server port */
sprintf(port,"convers");
break;
+ case 3694: /* URONode inbound tcp port - N1URO*/
+ sprintf(port,"node");
+ break;
default:
sprintf(port,"%u",s->port);
break;
diff -u jnos/nrcmd.c jnos2/nrcmd.c
--- jnos/nrcmd.c 2012-03-20 12:30:29.000000000 -0400
+++ jnos2/nrcmd.c 2016-09-13 22:45:14.293150509 -0400
@@ -498,7 +498,7 @@
* ALSO change the size of the STRSIZE define above !!!
*/
sprintf(&temp[k],"%-16s %s %3d %3d %-8s %-9s %c %-5u",buf,
- rp->flags & G8BPQ_NODEMASK ? "(BPQ)" : " ",
+ rp->flags & G8BPQ_NODEMASK ? " " : " ",
bp->quality,bp->obsocnt,
np->iface->name,
pax25(neighbor,np->call),
@@ -631,7 +631,7 @@
#endif
,buf,pax25(destbuf,rp->call)
#ifdef G8BPQ
- ,rp->flags & G8BPQ_NODEMASK ? "(BPQ)" : " "
+ ,rp->flags & G8BPQ_NODEMASK ? " " : " "
#endif
);
} else
@@ -648,7 +648,7 @@
#endif
#ifdef G8BPQ
if (npp && (npp->flags & G8BPQ_NODEMASK))
- tprintf ("(BPQ)");
+ tprintf (" ");
else
#endif
@@ -793,7 +793,7 @@
#endif
#ifdef G8BPQ
if (rp && (rp->flags & G8BPQ_NODEMASK))
- tprintf ("(BPQ)");
+ tprintf (" ");
else
#endif
Common subdirectories: jnos/old_inp_code and jnos2/old_inp_code
diff -u jnos/socket.h jnos2/socket.h
--- jnos/socket.h 2016-06-26 13:27:07.000000000 -0400
+++ jnos2/socket.h 2016-09-14 10:20:04.532733148 -0400
@@ -56,6 +56,7 @@
#define IPPORT_RSYSOP 1513 /* Remote sysop login (totally arbitrary #) */
#define IPPORT_CONVERS 3600 /* Converse */
#define IPPORT_XCONVERS 3601 /* LZW Convers */
+#define IPPORT_NODE 3694 /* URONode telnet port - N1URO*/
#define IPPORT_CALLDB 1235 /* Pulled out of the air GRACILIS */
#define IPPORT_TRACE 1236 /* Pulled out of the air - WG7J */
#define IPPORT_TERM 5000 /* Serial interface server port */

View File

@ -37,6 +37,10 @@ PollInterval <time/mins>. Be sure you do NOT configure it to connect to
a service linked within the flexnet neighbor such as a BBS! You will NOT a service linked within the flexnet neighbor such as a BBS! You will NOT
receive any destinations to your system that way and the BBS will think receive any destinations to your system that way and the BBS will think
you're attempting a feed. you're attempting a feed.
Also note: your FlexNet destination host *must* reside in your uronode.route
file or else flexd will *not* know the path where to connect and the robot
will exit.
.TP 14 .TP 14
@ -44,6 +48,7 @@ you're attempting a feed.
.SH FILES .SH FILES
.LP .LP
/usr/local/etc/ax25/flexd.conf /usr/local/etc/ax25/flexd.conf
/usr/local/etc/ax25/uronode.routes
.SH "SEE ALSO" .SH "SEE ALSO"
.BR uronode (8), .BR uronode (8),
.BR uronode.perms (5), .BR uronode.perms (5),

4
node.h
View File

@ -1,5 +1,5 @@
#define VERSION "URONode v2.12" #define VERSION "URONode v2.13"
#define COMPILING "30 June, 2020" #define COMPILING "17 January, 2021"
#define STATE_IDLE 0 #define STATE_IDLE 0
#define STATE_TRYING 1 #define STATE_TRYING 1

View File

@ -73,8 +73,9 @@ int cusgets(char *buf, int buflen, ax25io *iop)
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
#define _XOPEN_SOURCE
int find_pty(char *ptyname) int find_pty(char **ptyname)
{ {
char master[80]; char master[80];
int fd; int fd;
@ -83,10 +84,11 @@ int find_pty(char *ptyname)
for(num = lastnum + 1; ; num++) { for(num = lastnum + 1; ; num++) {
if (num >= NUMPTY) num = 0; if (num >= NUMPTY) num = 0;
sprintf(master, "/dev/pty%c%x", 'p' + (num >> 4), num & 0xf); // sprintf(master, "/dev/ptmx%c%x", 'p' + (num >> 4), num & 0xf);
sprintf(master, "/dev/ptmx", O_RDWR);
/* sprintf(master, "/dev/pts/%x", num & 0xf); */ /* sprintf(master, "/dev/pts/%x", num & 0xf); */
if ((fd = open(master, O_RDWR | O_NONBLOCK, 0600)) >= 0) { if ((fd = open(master, O_RDWR | O_NONBLOCK, 0600)) >= 0) {
sprintf(ptyname, "/dev/tty%c%x", 'p' + (num >> 4), num & 0xf); sprintf(ptyname, "/dev/ptmx", 'p' + (num >> 4), num & 0xf);
/* sprintf(ptyname, "/dev/pts/%x", num & 0xf); */ /* sprintf(ptyname, "/dev/pts/%x", num & 0xf); */
lastnum = num; lastnum = num;
return fd; return fd;
@ -496,7 +498,7 @@ void lastlog(void)
break; break;
#endif #endif
case AF_INET: strcpy(hostname, User.call); case AF_INET: strcpy(hostname, User.call);
strcat(hostname, " on IPv4 "); strcat(hostname, " from ip ");
strcat(hostname, User.ul_name); strcat(hostname, User.ul_name);
break; break;
case AF_INET6: strcpy(hostname6, User.ul_name); case AF_INET6: strcpy(hostname6, User.ul_name);