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
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 --------
In uronode.socket, you'll notice the line:
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/flexd.8 $(MAN_DIR)/man8
upgrade: installman installhelp
upgrade: installbin installman installhelp
install -b -m 600 -p etc/uronode.announce $(ETC_DIR)
install -m 755 -p uronode $(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);
}
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 {
axio_puts("Executing command... \n", NodeIo);
axio_puts("Executing command. Escape is disabled until command is done. \n", NodeIo);
}
return extcmd(cmdp, argv);
}

View File

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

4
configure vendored
View File

@ -26,7 +26,7 @@ make distclean > make.debug
[ "$LIB_DIR" ] || LIB_DIR=/usr/local/lib
[ "$DATA_DIR" ] || DATA_DIR=/usr/local/share
[ "$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 "will very simply and easily guide you into installling URONode with as"
@ -62,7 +62,7 @@ if [ -e "$MAKE" ]
then
echo -n "saw $MAKE... "
_sleep 1
echo "MAKE found! Congratulations!!"
echo "MAKE found!"
else
echo "make not found!"
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
receive any destinations to your system that way and the BBS will think
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
@ -44,6 +48,7 @@ you're attempting a feed.
.SH FILES
.LP
/usr/local/etc/ax25/flexd.conf
/usr/local/etc/ax25/uronode.routes
.SH "SEE ALSO"
.BR uronode (8),
.BR uronode.perms (5),

4
node.h
View File

@ -1,5 +1,5 @@
#define VERSION "URONode v2.12"
#define COMPILING "30 June, 2020"
#define VERSION "URONode v2.13"
#define COMPILING "17 January, 2021"
#define STATE_IDLE 0
#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];
int fd;
@ -83,10 +84,11 @@ int find_pty(char *ptyname)
for(num = lastnum + 1; ; num++) {
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); */
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); */
lastnum = num;
return fd;
@ -496,7 +498,7 @@ void lastlog(void)
break;
#endif
case AF_INET: strcpy(hostname, User.call);
strcat(hostname, " on IPv4 ");
strcat(hostname, " from ip ");
strcat(hostname, User.ul_name);
break;
case AF_INET6: strcpy(hostname6, User.ul_name);