SkillAgentSearch skills...

Jnos2

Maiko Langelaar (VE4KLM), James P. Dugal (N5KNX), Phil Karn (KA9Q) et al. Network Operating System (UNOFFICIAL MIRROR)

Install / Use

/learn @DigitalHERMES/Jnos2
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Final patch, this is 2.0m.5F, next official version, cleaned everything up !

This patch converts the official 2.0m.4 to the new official 2.0m.5F :]

version.c - changed from 5E to 5F

mboxmail.c - base36 code now permanent (removed HARGROVE_VE4KLM_FOX_USE_BASE36)

forward.c - multiple wl2k calls and base36 code now permanent (removed HARGROVE_VE4KLM_FOX_USE_BASE36, renamed MULTIPLE_WL2K_CALLS)

fbbfwd.c - base36 code now permanent (removed HARGROVE_VE4KLM_FOX_USE_BASE36)

wlauth.c - multiple wl2k calls now permanent (removed MULTIPLE_WL2K_CALLS)

j2KLMlists.[ch] - multiple wl2k calls now permanent (renamed MULTIPLE_WL2K_CALLS)

aprssrv.c - removed code that had been long commented out

makefile - bumped up to 03Dec2020_v1.8 from 30Aug2020_v1.7 (removed directives from PATCHES that really didn't belong there)

configure - bumped up to 03Dec2020_v1.8 from 30Aug2020_v1.7 (must match what is defined in the makefile)

config.h.default - added a couple of directives previously in makefile (also trying to clean up the file, sections by version # perhaps)

Couple of #define directives you can add to your config.h if you wish :

#define WINRPR /* kiss over tcp/ip for SCS WinRPR modem software */

#define J2MFA /* prototype of Multi Factor Authentication */

Note : JNOS 2.0m.5F is JNOS 2.0m.5E 'cleaned up'. I just want to get a new official version out there, it's been a while and I'm sure everyone is tired of all these patches (including myself actually) ...

05Dec2020 - corrections made after initial patch release

compiler warnings (from N2NOV) corrected IF following defined in config.h :

RSPF, TCPGATE, MBOX_DYNIPROUTE, AX25_XDIGI, EDITOR
mailbox.c, tcpgate.c, rarp.c, ax25xdigi.c editor.c 
rspfcmd.c, rspfhdr.c

rspf.c - particularly concerned me, trying to understand the reason
behind 'pointer casting of source' on some of the function calls ?
 (compiler warnings fixed, hopefully RSPF has not been broke)

13Dec2020 - more corrections and 2 additions

mailbox.c - if a user has is not registered (REGISTER command) and they
try to telnet into a MFA enabled JNOS, it will crash, I wasn't checking
for a NULLCHAR on m->IPemail - fixed. The JNOS log will say user is not
registered for MFA use and disconnect them. Also changed sysop warning.

aprs.c - remove trailing 0xc0 from aprs data if we are getting it from
the new WinRPR interface, yes, it's a kludge, but I don't want to mess
with the winrpr.c source right now, need to give this some thought.

lapb.c - firestorm protection, read comments in the code for details.
 (protection against strange behavior from apps using linux AX25 stack)

21Dec2020 - couple of patches, they keep coming in, don't they :|

mailbox.c - don't disconnect an unregistered MFA user, chances are they
are not even in ftpusers file, so univperm is low enough for them to do
little to no damage - it also gives them an opportunity to REGISTER :)

Also forgot to kick the SMTP queue, failure to do so results in the user
having to wait a very long time before they get their auth code emailed.

24Dec2020 - give sysops a way to disable enforcement of bbs user during fwd sessions, had one report already, it makes life difficult for them, so added the #ifndef J2_DONT_ENFORCE_BBS_USER compiler directive to mboxmail.c, then you can '#define J2_DONT_ENFORCE_BBS_USER' in your config.h if you want :) (also added to config.h.default, but as #undef, thanks Red :)

Originally Updated December 4, 2020


Another patch, this is 2.0m.5E, all about Multi Factor Authentication (MFA)

  1. mailbox.c - added MFA support functions, this is where it happens.

  2. mboxcmd.c - added 2 new 'mbox' commands -> MFAexclude and MFAfixed.

  3. j2KLMlists.[ch] - added MFAexclude list and supporting functions.

  4. j2strings.[ch] - added MFAexclude strings.

  5. makefile - added '-DJ2FMA' to enable the MFA feature.

Note : IF you decide to #undef WINLINK_SECURE_LOGIN in your config.h, you need to edit makefile and remove '-DMULTIPLE_WL2K_CALLS' from it or else you will get an unresolved link error, have not fixed it yet.

  1. usage/MFAexclude.txt - copy this to your /jnos/usage area

DOCUMENTATION : https://www.langelaar.net/jnos2/documents/working.txt (actually an edit of some new documentation I started last summer)

just search for the term MFA ...

  1. corrections made after initial patch release

29Nov2020, Maiko, The 'mbox MFAfixed' can NOT be any length, due to the way the original non-BBS prompting code was written (it's related), so for now the maximum length is 10 characters. It's also enforced in the command now.

Also note, incoming telnet mbox 'open' is now 'open (MFA)' in the JNOS log, with exclusions logged as 'auth excluded' and failures as 'auth rejected'.

26Nov2020, Maiko, another oops, MFA prompting shouldn't be happening for non telnet connects - if you are connecting ax25 over a port. It turns out I wrongly interpreted the use of the &anony flag. I should be using the value of m->family instead, patch file is updated now.

26Nov2020, Maiko, added code to reduce the amount of connect failed entries in the main JNOS log if the WinRPR software is offline for extended times. (so the tar.gz will contain an additional source file - winrpr.c)

Updated November 24, 2020


Fourth patch, this one is 2.0m.5D, sorry it's not the final one yet :)

  1. makefile - added WINRPR define (for now) and the NEW winrpr object file.

  2. mboxmail.c - some major work on the SID capture stuff, much better now.

  3. config.c and winrpr.c - new WinRPR (KISS over TCP/IP) interface code.

  4. bbs10000.[ch] - long time coming updates to HTTP VNC service !!!

  5. ipcmd.c - remove the first 'gateway ip' column from genencaptxt file.

  6. OOPS - forgot to copy patched misc.c, netuser.c, socket.h, and telnet.c for Brian's TNODE modifications - supposedly available version 2.0m.5

    14Nov2020, Maiko, found a mistake in telnet.c - work around put in place.

Updated November 12, 2020


Third patch, this one is 2.0m.5C, these are additions to 2.0m.5B changes. (see the first two patches further further below)

  • WHY are these being released as patches ? because I would like a fair of time to pass to make sure they are all 'working' as planned before they get permanently added to the official release - Sorry :|
  1. nr4subr.c - try and better validate a NETROM CB (Control Block) when a NETROM disconnect is received, because we might be trying to free memory for something that may have disappeared already.

  2. Bumped up Nr_maxroutes to 10, seeing Nr_maxroutes exceeded in the logs.

  3. mboxmail.c - IMPORTANT - if a station that is NOT configured as a BBS in your ftpusers, sends a SID, JNOS will NOW send back terse message saying the user is not configured for BBS operation, disrupting the flow !

    This is my alternative to some modifications Brian (N1URO) came up with, the concern being to protect against rogue or ignorant incoming connects, which could result in possible malicious forwarding or illegal forwarding of 3rd party messages. Any events are also logged to the JNOS logfile.

    WARNING : IF you choose to apply this update, make sure ALL the remote systems you expect INCOMING forwards from have 0x02000 OR'd into their permissions - so for example, 0x0407f will become 0x0607f instead.

    I also cleaned up log calls in the capture_sid() function, thinking they should not be smack in the middle of link list processing, like what was encountered in the DUPE control code. I also removed some old code that was permanently commented out, no point leaving it there anymore.

  4. fbbfwd.c - updates to the DUPE control code introduced in 2.0m.5B.

    When duplicate messages are coming in simulaneously, we pick one of them, and then ignore the rest by refusing them. The problem with refusing them however is if anything bad happens during the processing of the message we picked, then we've taken away the ability for JNOS to receive the message again from our remote systems. I've changed it now to use defer instead.

    Also, if anything bad happens during processing, we need to make sure to remove the BID from the DUPE control list, or else JNOS will NEVER accept the message again, since the only other time it's removed is inside SMTP code after the message has been successfully delivered by JNOS.

  5. Added EHLO support to smtpserv.c (thought it was there already, oops)

    Discovered this by accident, when my android phone kept complaining that the SMTP to my JNOS was not working, a quick trace showed the EHLO cmd.

Updated November 1, 2020


Last updated October 25, 2020 just after 8:10 pm (Winnipeg Time) DST

*** This is BETA, test the crap out of it, watch for DUPES ***

ONLY APPLY THIS to the latest 2.0m.4 (from rsync repository), sorry ...

please report ANY issues ASAP, thank you !

This is the second patch, which sees the addition of DUPE protection for concurrent forwarding sessions from more then one remote host, where the same message with same BID is coming in from multiple sources, seconds of each other, even within a minute or so of each other. JNOS is vunerable to this, resulting in duplicate bulletins. This patch fixes the issue.

The first patch was 2.0m.5, this one is 2.0m.5B !

What this patch adds to the first patch

  1. As noted above, addition of DUPE protection, explanation below :

When JNOS gets an incoming proposal and accepts a message with FS +, there is a period of time (depending how quick forwarding is with remote system), where if another message with the same BID shows up from another remote BBS or even i

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated10mo ago
Forks1

Languages

C

Security Score

77/100

Audited on May 12, 2025

No findings