930 lines
48 KiB
Groff
930 lines
48 KiB
Groff
|
URONode bug fix and change notes:
|
||
|
|
||
|
30/4/1998 v0.3a:
|
||
|
Users with no permissions on AX25, NETROM, ROSE, TELNET outgoing connections,
|
||
|
can use alias commands that connect a remote node by AX25, NETROM, ROSE and
|
||
|
TELNET outgoing connections.
|
||
|
|
||
|
30/4/1998 v0.3b:
|
||
|
"!" command crashed on systems with no swap: CORRECTED!
|
||
|
Reconnected on Telnet sended two prompt-line: CORRECTED!
|
||
|
|
||
|
8/1/2000 v0.4-pre1:
|
||
|
Now compile and run under kernel 2.2.x, glibc6 and new ax25 and ax25io libs!
|
||
|
Added Gateway special tranfer mode.
|
||
|
|
||
|
18/2/2000 v0.4-pre2:
|
||
|
"Ports" command crashed on systems without listening sockets: CORRECTED!
|
||
|
Bad Pre-compiler directive order for systems without ROSE support: CORRECTED!
|
||
|
Now AWZNode have a better I/O flushing.
|
||
|
Other little code bugs resolved.
|
||
|
|
||
|
*Rewrites by Brian N1URO
|
||
|
**Note: this is being done on a debian linux server running kernel 2.4.20.
|
||
|
your milage may vary depending on the flavor of linux you're using. It
|
||
|
may be possible that with the exception of screen pushes, the AWZNode
|
||
|
could infact be working 100% fine, this I don't know.
|
||
|
|
||
|
5/4/2003 v0.5.2:
|
||
|
Renamed the project to AWZ-URONode.
|
||
|
Stripped out the recursing prompt to the end users.
|
||
|
Redesigned the output of the node to be similar to that of TheNet X1J type
|
||
|
nodes.
|
||
|
Added NodeId variable header of several command output lines, this is
|
||
|
totally configurable in /etc/ax25/node.conf under the "NodeId" option. I
|
||
|
suggest in keeping with the design of TheNet X1J to use a format similar
|
||
|
to: UROHUB:N1URO-2} (that's my personal preference hi!)
|
||
|
In flexd.c (line 310), changed i++ from (2) to (16) to ignore additional ctext.
|
||
|
If by chance you only get one packet burst worth of ctext or login.fpr
|
||
|
information, you may reduce (16) below to 8, or if yo uget 3 packets worth
|
||
|
of information you may go higher. In my case, I receive two packets of connect
|
||
|
texts from my FlexNet gateway node so I use 16 for myself. You will have to
|
||
|
experiment with this. You have been notified. Failure to adjust the parsing
|
||
|
code properly -will- result in any connect text strings as being falsely
|
||
|
parsed as bogus flexnet destinations and will maintain a sloppy list.
|
||
|
|
||
|
5/4/2003 v0.5.3:
|
||
|
With the amount of rewrites, I decided to rename the node to URONode.
|
||
|
Did more cosmetic cleanups and changed the node to look more like TheNet
|
||
|
type node. This also included some code cleanup and rewrites of some
|
||
|
minor routines.
|
||
|
Readded a node prompt as an option, however unlike the previous way
|
||
|
the prompt was programmed, if there was no prompt defined, a generic
|
||
|
AWZNode -> prompt displayed. If in /etc/ax25/node.conf the prompt
|
||
|
was left blank (aka: "") then a null line feed occurred. Now in
|
||
|
regards to the prompt, if no Prompt is defined in /etc/ax25/node.conf
|
||
|
a flexnet type prompt "=>" will display, or if you set the prompt in
|
||
|
/etc/ax25/node.conf to Prompt "", then the prompt will be defeated
|
||
|
and no additional lines of text (null or not) will be displayed.
|
||
|
*I found it VERY frustrating that when a sysop or a user with
|
||
|
shell permissions accessed the shell, upon return, there was
|
||
|
no notification that you were back into the node! Added a routine
|
||
|
that welcomed the user back to the node upon shell logout.
|
||
|
Repeated the above for the PMS gateway. I guess AWZ hardcoded in
|
||
|
a prompt for such notifications so I assume I am the one who
|
||
|
broke this hi!
|
||
|
|
||
|
6/4/2003 v0.5.4
|
||
|
Cleaned out some coded carriage returns which to me only adds junk to the
|
||
|
code (unless the intent was for this to ensure a local echo wasn't working
|
||
|
or something of that nature... ) at any rate, commented it out for now.
|
||
|
Tightned some more of the displays which also cleans up some code as well.
|
||
|
By now you may be wondering the madness behind my logic:
|
||
|
As I stated when I first started this project, my goal was to use the
|
||
|
existing AWZNode code and make it behave (oh austin powers behave!) as
|
||
|
much like a TheNet X1J node as I could, with enhancing upon the existing
|
||
|
tcp/ip and flexnet features this node has. Of course, code cleanup is part
|
||
|
of the process. One thing I noticed on both AWZ and Tomi's node programs
|
||
|
were the added strings both push such as the "Trying" messages when a
|
||
|
user requests a connect to another node, etc. Personally, and especially
|
||
|
on busy 1k2 baud links, i find it a bit irritating (as I'm sure end users
|
||
|
do also) that additional lag due to a null line-feed or the node telling
|
||
|
me what I asked it to is in process. In essance, this *should* make the
|
||
|
node appear to connect faster for the end user... I hope *grin*
|
||
|
Cleaned up the Sessions display... the net/rom sessions screen had an
|
||
|
allocation for Rtt when it's not in use. This also caused the Sendq
|
||
|
colum to appear grunged/misplaced.
|
||
|
There's still some line-feeds here n there I'm cleaning as I go to which
|
||
|
the subversion will increase hi!
|
||
|
|
||
|
6/4/2003 v0.5.5
|
||
|
Changed mailbox.c and system.c from looking at the users's environment
|
||
|
mail variable to point to /usr/bin/mail and /var/spool/mail/ respectively.
|
||
|
I noticed (on debian anyway) that the hardcoded paths failed mail to no
|
||
|
end. Doing more work on mail as I go along. Note: this only affects internet
|
||
|
based email! A seperate PBBS such as F6FBB is recommended for AX.25 mail.
|
||
|
Changed MSession command back to Sessions. I have no idea why this was done.
|
||
|
Deleted the Send command. It refuses to send no matter what I do anyway, so
|
||
|
to me it's useless. Also changed ! (STats) to STats to match Tomi's node.
|
||
|
Personally, I found this confusing between the two nodes. Added a Quit
|
||
|
hardcoded command to match both TheNet X1J and FlexNet style nodes.
|
||
|
Tweeked the way the Stats displayed. Memory shows not just 'memory' but
|
||
|
the definitions between swap and physical ram are displayed. Also AX.25
|
||
|
daemon socket stats are also a bit more defined.
|
||
|
Mail checking sometimes worked, other times didn't. Fixed the mailpoll
|
||
|
routines so that polling would keep displaying to the user that he/she
|
||
|
has new mail. This may irritate the user, but considering it's your
|
||
|
hard disk space that's storing their internet email, for them to be
|
||
|
on the node and simply choose *not* to read and/or delete mail from
|
||
|
your resources is just as rude to you (my train of thought anyway).
|
||
|
**NOTE: I can't stress enough on how dangerous (in regards to spam)
|
||
|
the mail feature can be! I **highly** suggest that you *only* give
|
||
|
access to those you know are hams! Needless to say, I would *not*
|
||
|
turn access for this feature on for global access!!! Not only would
|
||
|
you upset many people who are against receiving junk emails, but you
|
||
|
could risk losing any and all internet connectivity from your ISP as
|
||
|
some are *very* picky about spam mail that's relayed! Working for ISPs
|
||
|
in the past, I can verify this :-)
|
||
|
|
||
|
8/4/2003 v0.5.6
|
||
|
Still cleaning up some displays...this will be a task as I go along.
|
||
|
One thing I'm not positive about is whether or not on multiple port
|
||
|
usage how some diplays will read since I only have a single ax0 port
|
||
|
I'm using.
|
||
|
Fixed some routines in the do_finger command and added user usage
|
||
|
messages. In some cases, routines were forced so that if certain
|
||
|
strings (even null) weren't set after the finger command, it
|
||
|
was programmed to force the user to finger the localhost whether
|
||
|
or not that was their intentions. Personally, I found it better
|
||
|
to push a usage message of one line to the user than to go ahead
|
||
|
and process an errant finger request to the localhost. I did
|
||
|
force finger to require an @ within the command... since you're
|
||
|
fingering something"@"somewhere. This is displayed in the usage
|
||
|
message to the end user whether or not the input string after
|
||
|
the command is null.
|
||
|
Mail checking still seems buggy, and the bug seems somehow (so far)
|
||
|
to be linked with the mailbox.c routines. This is also where the
|
||
|
do_sendmessage command is. Fixed some routines in the send command
|
||
|
where if the To: or Subject fields comtained an UPPERCASE
|
||
|
character, it could cause the node to segfault out and leave
|
||
|
the ipcs open. This is bad! More on this in the Known Bugs section.
|
||
|
|
||
|
10/4/2003 v0.5.7
|
||
|
Whew! After much hassle...FIXED the former (and I mean former hi!)
|
||
|
SEnd command. While I was at it I also renamed it from Send to
|
||
|
MEssage. I thought Mail and MEssage were similar in function so
|
||
|
I decided to keep them together on the prompt as well.
|
||
|
|
||
|
11/4/2003 v0.5.8
|
||
|
Found a bug in the MEssage command *sigh* more on this below.
|
||
|
Moved the location of the help files from /usr/lib/ax25/node/help/
|
||
|
to /var/ax25/node/help/ so that all created node files are together.
|
||
|
Changed/fixed some of the help files to reflect changed commands, etc.
|
||
|
Cleaned up more diplay text. (since I'm more a code hacker than a true
|
||
|
coder, this is what I do best hi!.. but I learn as I go.)
|
||
|
Edited the man pages and changed them from a text to a compressed format.
|
||
|
Changed the configure script to grab the server's hostname. If your
|
||
|
server's hostname is already an *.ampr.org host, then you should be
|
||
|
fine with everything. If your server's hostname is a commercial domain
|
||
|
based name, then you will have to edit config.h and insert the proper
|
||
|
your.ampr.org hostname inside, or if you wish replied mail to be auto
|
||
|
redirected to a NOS based node, enter in your NOS' ampr.org hostname.
|
||
|
Added a warning message in the ./configure script to alert the sysop
|
||
|
to check their config.h file for proper paths, etc. I was going to force
|
||
|
a load of vi, but now-a-day most people don't use vi from my discussions
|
||
|
but another editor such as ae, joe, pico, etc. Since the sysop will be
|
||
|
editing their config files anyway, I feel the sysop can take a minute to
|
||
|
verify paths and variables. Please pay close attention to any and all
|
||
|
comments within this file!
|
||
|
Added Makefile.in which is a 'generic' Makefile. Makefile is now created
|
||
|
when you run the configure script. Also added some other environment
|
||
|
grabber functions to the configure script which adds to the proper files
|
||
|
that requires them for you.
|
||
|
Added removal of Makefile in the command 'make distclean'.
|
||
|
Removed local echo of "To:" field when using the MEssage command. That was
|
||
|
for debugging purposes anyway.
|
||
|
|
||
|
12/4/2003 v0.5.9
|
||
|
Fixed the bug that drove me nuts with the mail command. Now the mail
|
||
|
command will reject/refuse a parameter. One more down off of the
|
||
|
hitlist of bugs :-) It was suggested by N1UAN to make a configure
|
||
|
script toggle for the MEssage command too. I may do that in the future.
|
||
|
Fixed a bug in the POrts output. Since I only have one port, this was
|
||
|
hard for me to test. N1UAN has multiple ports and using his node I was
|
||
|
able to see and fix this bug before it made it to the buglist.
|
||
|
|
||
|
12/4/2003 v0.5.10
|
||
|
Woops, fixed a bug in the Info command where there wasn't a line
|
||
|
feed after the compile date. Reported by N1UAN. I also found a bug
|
||
|
in the display of: Node Call|Alias where lines were grunging. I
|
||
|
*think* I fixed this. Unfortunately this is the result of me only
|
||
|
having one port to work with hi! I happened to find this myself
|
||
|
using the copy N1UAN is running. Hopefully I fixed this bug.
|
||
|
More of a maintenance release than anything else. Fixed a few tweeks
|
||
|
here and there, nothing worthwhile to mention. The key thing in this
|
||
|
version was to make it more customizable for the hard-set commands.
|
||
|
This was suggested by N1UAN to which I kind of agree. It is possible that
|
||
|
one could have a linux box on an amateur radio packet network but not wish
|
||
|
to have it connected to the ampr.org or any other TCP/IP network. Coding in
|
||
|
these commands would then become a bit of a tease to the end user who may
|
||
|
wish to use URONode as a 'NOS' substitute for outbound telnet links, etc.
|
||
|
Now hardcoded commands will be toggled on/off depending on how you answer
|
||
|
the configure script. Answering NO to ALL questions will enable ONLY the
|
||
|
following hardcoded commands:
|
||
|
?, Bye, Escape, Help, Info, Quit, Status.
|
||
|
Answering YES to AX.25 enables:
|
||
|
Connect, Desti, Ports, Links, SEssions, Users.
|
||
|
Answering YES to Email enables:
|
||
|
MEssage.
|
||
|
Answering NO to FlexNet:
|
||
|
Disables the Desti command and will NOT compile or install the flexd
|
||
|
daemon...however if you have a destinations file that is valid that
|
||
|
will allow users to connect to digipeated paths without having to
|
||
|
manually type a 'via' statement in.
|
||
|
Answering YES to FlexNet enables:
|
||
|
Desti.
|
||
|
Answering YES to MHEARD enables:
|
||
|
MHeard.
|
||
|
Answering YES to NETROM enables:
|
||
|
Nodes, Routes.
|
||
|
Answering YES to ROSE enables:
|
||
|
Rose based protocol strings within ax.25
|
||
|
Answering YES to TCP/IP enables:
|
||
|
Finger, HOst, Ping, Telnet
|
||
|
Answering YES to TALK enables:
|
||
|
TAlk.
|
||
|
I may move the users to the default hardcoded commands..but for now my
|
||
|
thinking at 5:00am on a saturday morning is, if you're not going to run
|
||
|
ax.25, then you probably aren't as concerned who's in the node :-) Also
|
||
|
the use of the linux netstat command will show you who's on. The commands
|
||
|
I'm considering moving to the default are the ax.25 related commands...
|
||
|
since after all, if you're on RF, you'll -need- ax.25 right?
|
||
|
The Mail and SYsop commands are flagged on|off by the node.user file.
|
||
|
|
||
|
14/4/2003 v.0.5.11
|
||
|
Another change to the configure script. This time it checks your local
|
||
|
hostname and requests that you verify it. If you see it's correct,
|
||
|
just hit enter. If not, change it. Now... and this is tricky...
|
||
|
*if* you do NOT wish to have users RECEIVE mail on the node but have another
|
||
|
smtp based server such as a NOS node in which you wish your users to receive
|
||
|
smtp mail, then what I suggest you do is set hostname to the hostname of
|
||
|
THAT server. What this will do is send mail from the user with a 'return'
|
||
|
path of your NOS server. For example;
|
||
|
On my system I have an MFNOS node which users may send and receive SMTP
|
||
|
based mail. It has a hostname of "n1uro.ampr.org". While users may have
|
||
|
permission to SEND mail from URONode "dx.n1uro.ampr.org", I wish them to
|
||
|
only receive their mail at n1uro.ampr.org, so in this case I would tell
|
||
|
the configure script my hostname is: n1uro.ampr.org. It's sort of a way
|
||
|
you can allow mail with some sort of anti-third-party protection. Its not
|
||
|
perfect, but it helps. The configure script *will* prompt you for this
|
||
|
whether or not you enable the Email feature.
|
||
|
I added two neat commands. One is the new Version command. This is set
|
||
|
as part of the default hardcoded commands. All it does is shows the
|
||
|
version information of the node. This same data is also shown in the
|
||
|
Users command to keep the node in line with the display parameters of
|
||
|
TheNet/X1J style nodes (as I like). The other is what I call a Whowas
|
||
|
command. I got the idea from being on IRC, and borrowed code from
|
||
|
PE1RJA's node. With the W command, this will show you when a callsign
|
||
|
was last on the node, and how that user connected... ie: which port,
|
||
|
ip address, etc. If the user connected multiple times within the scope
|
||
|
of the log rotation then a columnized listing of that user's information
|
||
|
will be displayed. My happy news is that the SSID stripper from the
|
||
|
user's connection in sending email is fixed. One bug down!
|
||
|
|
||
|
15/4/2003 v0.5-R1
|
||
|
WooHOO! MHeard table read/write of digipeated MHeard routing is FIXED!
|
||
|
What I had to do was get argv to parse up to two digipeaters and then
|
||
|
print to the device each in reverse order. Now since my RF digipeater
|
||
|
gateway is a direct flexnet neighbor on axip, this was all I had to
|
||
|
test with, your milage may vary. If the digipeated path is not yet in
|
||
|
the mheard table, then it will fail. Another bug off of the list!
|
||
|
*whew* I knew I was close <G>. Also found some more screen writes
|
||
|
to tighten up. As far as I know, I'm going to (for now) close this
|
||
|
chapter of my life's efforts and make a release. I"m happy with how
|
||
|
URONode is performing and my alpha tester N1UAN appears to be just
|
||
|
as pleased :)
|
||
|
Found a bug in the output of the Who command when *
|
||
|
was entered. While this didn't seem to affect me on a debian system,
|
||
|
it did seem to act funky on a SuSe system. Flexd needs NOT be edited
|
||
|
now. Cleaned up some time variables in the MHeard routine and added
|
||
|
a column for the port heard, and the frame (pid) type. Since the
|
||
|
users can now see the pid types, they'll have a hint as to how their
|
||
|
connect request will be handled.
|
||
|
Found two bugs in the finger routine, both which appear to be in ALL
|
||
|
flavors of "*node". The first one I fixed, and that was quite simple.
|
||
|
When fingering information, the [address] or [hostname] was omitted.
|
||
|
I don't know if this was intentional, but I fixed it anyway to match
|
||
|
that of standard 'finger' displays. The second appears to be that
|
||
|
on a long RF hop, or a socket that's become broke due to routing
|
||
|
being cut, etc... there's *no* escape. For now, I've omitted the
|
||
|
Escape: CTRL-* display in all routines. It will still work for
|
||
|
telnet, netrom, and other types of connects. Since the Escape
|
||
|
command is a seperate command at the moment, I think it's fine
|
||
|
for users to check|set their Escape sequence. Hopefully I'll be
|
||
|
able to figure out a routine to escape from a 'stuck finger' :-)
|
||
|
Also tweeked the output of the HOst command.
|
||
|
*Welp, further research shows that there is no "escape" in the
|
||
|
native linux finger command... as there is none with the ftp command.
|
||
|
Needless to say, the better 'fix' was to simply disable all 'trying' state
|
||
|
messages. Personally I find them to be excess traffic that's not needed as
|
||
|
either the node will tell you that it's connected or it will tell you that
|
||
|
it failed. I know flexnet will tell you that it's trying a link setup and
|
||
|
xnet will take that a step further and show you which port the link is being
|
||
|
setup on. I may add the set escape sequence in the login screen as default
|
||
|
prior to users attempting connections so that it'll be easier on them to
|
||
|
know that there is a way to break a connect if needed.
|
||
|
|
||
|
16/4/2003 v0.5-R2
|
||
|
Ok, well I did decide to add the CTRL-* message as part of the
|
||
|
initial user login screen. Also made some minor tweeks to the
|
||
|
telnet login where now it shows more of a 'linux' style login.
|
||
|
Did some more screens cleanups and stripped out a lot of the debugs
|
||
|
I had commented out of the code. Ok..enough for now...I'm considering
|
||
|
this version 'done' unless bugs are reported. :)
|
||
|
|
||
|
22/08/2003 - Bug/security report
|
||
|
Morgan sm6tky publically posed a security report with some PoC listed but
|
||
|
not all. While I was able to duplicate what he did submit for PoC, I
|
||
|
wasn't able to find others. I'm very greatful to Morgan for bringing such
|
||
|
information to my attention, I'm surprised that his first step was to post
|
||
|
it in a public email list and list that I didn't reply when I wasn't even
|
||
|
given the chance to... however with that being said, I still took his
|
||
|
notations to heart and put the project a bit on the back-burner until I
|
||
|
had time to do the fixes. I also offered Morgan a chance to submit code
|
||
|
fixes to which he failed to do such. I don't claim to be a coder but just
|
||
|
a hobbiest in regards to C and always welcome patches as I have with htppu
|
||
|
with patches submitted by Thomas dl9sau who's also released his own flavor
|
||
|
entitled SAUPP. Version 0.6.x will be in process as I have the time to do
|
||
|
such.
|
||
|
|
||
|
v0.6.0 - never happened. Just made the directory structure and took an
|
||
|
initial peek at Morgan's reports.
|
||
|
|
||
|
12/7/2005 v0.6.1
|
||
|
Security issues fixed/removed. Rather than fix the talk command I decided
|
||
|
to just eliminate it in favor of an external conversd command. I figure
|
||
|
there's plenty of channels and lord knows there's actually more convers
|
||
|
servers now than users to use them... why not just use that?
|
||
|
|
||
|
Another security issue was mail. Instead of having mail routines built
|
||
|
into the node itself, I figure a node sysop can grab my updated axmail
|
||
|
node plugin and use that. I've done some basic security tests and it
|
||
|
seems to be a better way to go.
|
||
|
|
||
|
12/7/2005 v0.6.2
|
||
|
Just a beta version, never released while working on more security
|
||
|
fixes... I think I'm getting close now!
|
||
|
|
||
|
Changed some code in the do_help routine in command.c where Morgan
|
||
|
reported the possibility of a buffer overflow.
|
||
|
|
||
|
Changed some code in the syslog routine in util.c hopefully fixing the
|
||
|
formatstring vulnerability in that routine.
|
||
|
|
||
|
Changed some code in gateway.c in hopes of fixing the reported buffer
|
||
|
overflow.
|
||
|
|
||
|
Found what I thought to be an open hole in ipc.c, should be fixed and
|
||
|
with any luck the ipcs build-up issues will vanish with it. Only time
|
||
|
and your debug reports will tell.
|
||
|
|
||
|
Fixed a bug in Makefile where the man pages weren't installed due to the
|
||
|
fact I gzipped them and didn't change this in Makefile.
|
||
|
|
||
|
Changed the ftp url path, listed below.
|
||
|
|
||
|
v0.6.3 - some cosmetic tweeks I can't recall what they were.
|
||
|
|
||
|
04/07/2006 v0.6.4
|
||
|
|
||
|
Found a bug where if a user's permissions were flagged for "no escape"
|
||
|
such as a xNOS, F6FBB BBS, etc, that the node tried to display an Esc-?
|
||
|
as part of the prompt/screens. Removed the Esc-? from displaying. That
|
||
|
simply annoyed me and I'm surprised it wasn't reported... after all if
|
||
|
there's no escape why show "?" as one since "?" can be used as an escape
|
||
|
character with CTRL.
|
||
|
|
||
|
Added an Email flag in node.conf. Simply add:
|
||
|
Email <your@node.ampr.org>
|
||
|
on a blank line within node.conf for it to get pulled into the node. If you
|
||
|
don't "(null)" will display. It won't prevent the node from functioning but
|
||
|
will show users how lazy you are hi! This allows a sysop to deny all users
|
||
|
connection access _unless_ they have a password, while at the same time
|
||
|
allowing the node sysop a means of displaying a point of contact so that
|
||
|
users wishing to use their node and it requires a password can send a
|
||
|
communication to gain access. I strongly suggest for any account that has
|
||
|
sysop privs on the node that you force a password on _all_ connects and
|
||
|
that you only grant access via internet/amprnet to those who request a
|
||
|
password for security reasons if anything at all. Because I feel this is
|
||
|
security related, I'm making this a release.
|
||
|
|
||
|
Fixed a bug in the install routine for the man pages. The default
|
||
|
install for man pages was /usr/man, now it's /usr/share/man. I also
|
||
|
updated the manpage for node.conf.5 and re-gzipped it.
|
||
|
|
||
|
24/10/2006 v0.6.5
|
||
|
After a nudge from Stefano in Italy, I reintroduced a method in which one
|
||
|
user on the node can send a brief "msg" to another. The command once was
|
||
|
"talk" and still is on node (or if you prefer linuxnode that Tomi has
|
||
|
set the standard for!). For the sender, they get a full status report
|
||
|
as to what happened to their "msg" once the "enter" key is hit. For
|
||
|
the receiver, if they're truely idle on the node, the message will pop up
|
||
|
on them and the prompt will not return until they acknowledge receipt
|
||
|
of the msg by hitting the "enter" key. Also note that a system bell
|
||
|
will return on both sides, or just the sender's side *if* the msg
|
||
|
wasn't delivered. Since this acts sort of similar to today's Instant
|
||
|
Messaging world... I figure "what the hay they play noises too". I still
|
||
|
stand on the theory that if one wishes to engage in keyboard chat, they
|
||
|
should make direct TNC<>TNC connects or use convers but Stefano
|
||
|
made me rethink this and I can see how it could be used for one user
|
||
|
to "ping" another user with a msg saying "hey meet me on conv channel
|
||
|
32767 and see if we can wake the sleeping sysops!" :-) Originally this
|
||
|
was part of Morgan's security report filed back in 2003 (what? me
|
||
|
procrastinate? LOL) so with convers so easily available to URONode as
|
||
|
a plugin I felt it just as simple and quicker a fix just to remove
|
||
|
"talk". I renamed the command to "msg" since you're really just sending
|
||
|
a message and not really "talking" to the remote end.
|
||
|
|
||
|
Fixed the help files a bit to move talk.hlp to msg.hlp, and edited the
|
||
|
content of such to fit the re-introduced command.
|
||
|
|
||
|
26/10/2006 v1.0.0
|
||
|
First off, many thanks to Stefano and Alessio for their interest and
|
||
|
contributions to URONode. They've inspired me to help improve this
|
||
|
spinoff of AWZNode (which is a spinoff of FlexNode which is a
|
||
|
spinoff of node which is a spinoff of.... :-} ) Stefano asked me a while
|
||
|
back about putting in compression for Telnet and Connect commands.
|
||
|
Considering so many have broadband now on their wired links, I somewhat felt
|
||
|
this to be unnecessary, and here in the U.S. ax25 based transmissions are
|
||
|
supposed to be in plain text... so between those two major reasons I had
|
||
|
thought it best to just eliminate this feature a while back... not to
|
||
|
mention security issues with zlib that were going on. Since those have
|
||
|
been cleared and in respect to the motivation Stefano and Alessio have
|
||
|
given me with their interest in this project I thought it only nice that
|
||
|
I try and fullfill their desires as best as I can. Recieving compressed
|
||
|
requests into URONode was always there but not an outgoing client... so
|
||
|
I spent a few moments and coded one back into the front end. Needless
|
||
|
to say, ZTelnet and ZConnect (as with node) are in URONode now as
|
||
|
client gateway commands.
|
||
|
You need to set up another inetd/xinetd instance on an unused port
|
||
|
that calls "node -c" to enable receiving compressed connections via
|
||
|
telnet. Make a new alias/ssid for ax25/netrom if you wish to support
|
||
|
ZConnect client requests. Failure to do such will result in the remote
|
||
|
end getting an error message.
|
||
|
|
||
|
27/12/2007 v1.0.1
|
||
|
After a heated discussion with w0rli (as if that has never happened
|
||
|
on packet before, and him accusing me of knowing nothing about packet
|
||
|
or it's protocols) I decided to keep him happy while working on a system
|
||
|
that's linked to one of his. Hank feels that by having a login screen this
|
||
|
makes a node an application. While I can understand how he determines this
|
||
|
in his one-sided point of view, I still disagree with it but can appreciate
|
||
|
his concerns. Apparently he has never logged into a backbone router at an
|
||
|
ISP and seen a cisco MOTD file... or is a backbone core or border router
|
||
|
not a node on a network? :) In any event, I decided that I'd make the whole
|
||
|
login sequence of displaying the node version and /etc/ax25/node.motd file
|
||
|
an option to the node sysop upon running the ./configure script. Along
|
||
|
with not displaying a MOTD file, the default FlexNet style prompt of
|
||
|
"=>" will also not display. This will make URONode act more like
|
||
|
Hank's snos and like TheNet X1J-4 (with the "welcome" message flagged
|
||
|
off upon connect). Thanks are given to w0rli for this idea.
|
||
|
|
||
|
I also added a flag for the "NODE} Goodbye." string so that if you
|
||
|
do not have a MOTD displayed, it will also halt the display of the
|
||
|
node front-end saying bye to the user.
|
||
|
|
||
|
01/01/2008 v1.0.1a
|
||
|
I decided that I'd go through the code and search for more cases that
|
||
|
if MOTD is *not* defined, to ignore any and all reconnect flags, whether or not
|
||
|
they're defined for external plugins (ie: axMail) or alias commands in the
|
||
|
/etc/ax25/node.conf file. If during configure you decided to add MOTD during
|
||
|
the option questions, then the node will infact act more like a user
|
||
|
application including allowing reconnects etc.
|
||
|
|
||
|
I had thought I fixed the man pages install, appearantly I never saved it.
|
||
|
This should now be fixed. My apologies.
|
||
|
|
||
|
* Author's Note: If you're linking the node to systems such as SNOS, or
|
||
|
you're on a very busy network, or if you forward with other BBS systems
|
||
|
who for whatever reason feel the need to connect to your node first
|
||
|
before connecting to the BBS (which I feel is unneccessary but happens), I
|
||
|
strongly suggest that you do NOT enable the MOTD which is the default option
|
||
|
now in the configure script.
|
||
|
|
||
|
*** Important: I just don't have the time to clean up all the gcc-3.x
|
||
|
compiler warnings however URONode compiles just fine under gcc-2.95
|
||
|
so I made a decision to force gcc-2.95 for compiling URONode under.
|
||
|
Configure was rewritten to check for this, and if it doesn't it will
|
||
|
instruct you on where you can get a copy. This will not interfere with
|
||
|
your installed copy of gcc-3.x if you so have it. I have verified that
|
||
|
URONode compiles quite cleanly under gcc-2.95 and I do have both
|
||
|
versions on my box:
|
||
|
root@schlitz:/usr/bin# ls -al gcc
|
||
|
lrwxrwxrwx 1 root root 7 Jun 25 00:00 gcc -> gcc-3.3
|
||
|
root@schlitz:/usr/bin# ls -al gcc-*
|
||
|
-rwxr-x--- 1 root root 69960 Mar 10 2004 gcc-2.95
|
||
|
-rwxr-x--- 1 root root 85196 May 24 2005 gcc-3.3
|
||
|
As you see above, gcc by itself is just a symlink to the latest
|
||
|
version of gcc-*. Ensure that gcc-2.95 is in your executable
|
||
|
path.
|
||
|
|
||
|
23-24/01/2008 v1.0.2
|
||
|
Huge news! I finally got off my duff and cleaned up compile warnings.
|
||
|
URONode will now compile fine on gcc-4.1 and under! This was just something
|
||
|
that was under my craw for a very long time, but not that critical enough
|
||
|
so you can really ignore the above notes in regards to GCC.
|
||
|
|
||
|
I ended up also making some modifications to the configure script, Makefile
|
||
|
and config.h. Part of cleaning up some of the compile errors was a dupe
|
||
|
conflict between library "log" routines and the internal node "log" routine.
|
||
|
URONode now has it's own node_log() routine as to keep it seperate from
|
||
|
library log routines. There's no change in it writing to syslog for you,
|
||
|
just the function was renamed to avoid compiler warnings. Many files were
|
||
|
updated due to this.
|
||
|
|
||
|
**Man file for uronode is now called "uronode", not "node". The binary made now
|
||
|
is also "uronode".** This is *very* important because when you run
|
||
|
"make install" or "make installbin", your inetd.conf/xinetd files will need
|
||
|
to be changed to spawn the new binary, and your config within
|
||
|
/etc/ax25/ax25d.conf will also need to be changed from calling "node" to
|
||
|
call "uronode" now!! If you do NOT do this, you will be stuck running either
|
||
|
an older compile or it won't launch at all. Please see the examples in the
|
||
|
INSTALL file for help on how to configure this properly. In the future
|
||
|
I may change the config files from node.* to uronode.* too. The advantage
|
||
|
of doing this would be tri fold:
|
||
|
1) it'd allow sysops to compare and test URONode side by side with another
|
||
|
package such as Tomi's LinuxNode
|
||
|
2) sysops could offer both flavors of a "node" to users if they so desired
|
||
|
to do such.
|
||
|
3) a sysop might prefer to have 2 compiles of URONode... one with full
|
||
|
MOTD compiled in, one without.
|
||
|
Those who know me, know I believe in allowing a sysop to have the freedom
|
||
|
to pick and choose just how they run their nodes... and this just adds
|
||
|
to their options. I do however discourage doing this unless it's for
|
||
|
testing reasons but c'est la vie.
|
||
|
|
||
|
**** Actually, I figured why wait to change files around, so I changed
|
||
|
all the config files from "node.*" to "uronode.*". Now if you're doing
|
||
|
an UPGRADE, you'll need to rename your config files in /etc/ax25/node.*
|
||
|
to /etc/ax25/uronode.* or else you'll have issues with some routines.
|
||
|
I also deleted the *.ex files and changed installconf so that the proper
|
||
|
files get copied into /etc/ax25 for new installs. I also changed all the
|
||
|
man page files that were node.* to uronode.*
|
||
|
|
||
|
As much as it sorta kinda but not really pained me to do this, I decided
|
||
|
that it may be cool to have *something* to let the user know that their
|
||
|
outbound ax25-type connect is via flexnet, so I added a routine in
|
||
|
gateway.c which checks the connect type and if the request is via FlexNet,
|
||
|
the user will see the standard "link setup..." message like they would on
|
||
|
a flexnet node, followed by "*** connected to <desti>". This MAY have an
|
||
|
adverse affect on FBB forwarding since FBB looks for "Connected..." instead
|
||
|
of "*** connected...", but there's ways around that in your FBB forward
|
||
|
file.
|
||
|
|
||
|
25/01/2008 v1.0.3
|
||
|
|
||
|
*Big News*
|
||
|
For Debian and (K)ubuntu users, I've decided to make a release of
|
||
|
uronode as a .deb package. This is my first time doing this and I'm really
|
||
|
not that comfortable with rolling it out officially since it's my first
|
||
|
pre-packaged binary so here's what I suggest you do if you decide to use it:
|
||
|
cd /etc and tar cvf ax25/* ax25files.tar
|
||
|
dpkg -i /path/to/uronode*.deb
|
||
|
tar xvf ax25files.tar
|
||
|
For now this will preserve your current config as the .deb package *will*
|
||
|
overwrite your current files in full including configs!
|
||
|
YOU HAVE BEEN WARNED!
|
||
|
|
||
|
Found a bug in the WHO command when MOTD was disabled. Currently if you
|
||
|
don't define that, then the WHO command is deactivated and not compiled
|
||
|
in. MH works fine and should be enough to be used to track recent connects
|
||
|
to your node.
|
||
|
|
||
|
Discovered a bug in the newly introduced FlexNet style cosmetics where
|
||
|
after "link setup..." if the connect request times out, error isn't printed
|
||
|
on a new line. I wrote a new string to push to the user so that if their
|
||
|
request does time out, it matches that of FlexNet's timeout string while
|
||
|
leaving vanilla ax25 and netrom timeout errors the same. Again, these
|
||
|
strings will inform end users the type of outgoing request was made
|
||
|
whether it was FlexNet or vanilla ax25.
|
||
|
|
||
|
While I was add it, I decided it would be helpful to end users who are
|
||
|
making FlexNet links to show which ax25 interface is being used for
|
||
|
connects similar to that of how Xnet shows connect requests. The interface
|
||
|
will be displayed in parentheses () such as: Link setup (ax0)...
|
||
|
so if the link fails, the user can see which interface to try a direct ax25
|
||
|
connect request out from.
|
||
|
|
||
|
I think I fixed a slight bug in flexd.c where if the LO.FPR and C.FPR
|
||
|
weren't formatted just right, it'd exit prematurely and issue a false
|
||
|
error. Apparantly the buffer was set a bit too high and captured too much
|
||
|
to parse, so I lowered "buffer" from 1024 to 512 and it now appears to be
|
||
|
fine.
|
||
|
|
||
|
A "bug" was reported about the config of the backend of URONode when infact
|
||
|
the bug was with ax25d.conf and nrports. Remember, when you configure your
|
||
|
node, ALL your SSIDs for ax25, netrom ports, and axports *MUST BE UNIQUE* if
|
||
|
you have RF links to native netrom nodes. Failure to do such will result in
|
||
|
some flooding issues because if an ssid in axports, ax25d.conf and nrports
|
||
|
is shared, an X1J node connecting into URONode will result in the ax25 link
|
||
|
layer being seen as a user and not a network socket. You'll ping-pong
|
||
|
the node with X1J in almost an endless loop. *You have been warned!*
|
||
|
|
||
|
22/02/2008 v1.0.4
|
||
|
|
||
|
I decided to make the node text more "technically correct" in it's display
|
||
|
of things... mainly in regards to "ports". We don't have "ports" per say
|
||
|
but we do have "interfaces". Needless to say, any reference to "port(s)"
|
||
|
has been changed to "interface(s)" including the former Ports command. This
|
||
|
has been replaced with the new INTerfaces command.
|
||
|
|
||
|
Users now will show the "interface" a user may be coming in on if it's ax25
|
||
|
or if inbound from FlexNet.
|
||
|
|
||
|
The PIng command has been shortened to Ping now with the refactor of the
|
||
|
"Ports" command. Ping now only requires "P" to ping another node.
|
||
|
|
||
|
*Note: this will be the last release for a while as I'm moving and won't
|
||
|
have a server or test bed to test with.
|
||
|
|
||
|
10/05/2008 v1.0.5r1
|
||
|
|
||
|
The move has completed and of course in my own sick and twisted mind, I have
|
||
|
decided to do a release that I call version 1.0.5 release candidate 1. This
|
||
|
is a minor release but it's something I despirately wanted to do for a while
|
||
|
and was just sitting like an itch under my skin to do, and sometimes you have
|
||
|
to just take a break from it <all> to clear the noggin and get the code the
|
||
|
way you want it. What was bothering me was the fact that not one flavor of
|
||
|
a linux-node complies with that of the Software 2000, inc specifications of
|
||
|
Net/Rom... and I desired to be the first to do such... yay me?
|
||
|
|
||
|
In any event I went through the code and made changes to the following files:
|
||
|
command.c, config.c, extcmd.c, gateway.c, node.c, node.h, and system.c.
|
||
|
What this does for you is makes your URONode behave more to the specifications
|
||
|
of Net/Rom regardless of how you define the MOTD flag. If you define the MOTD
|
||
|
flag, the node will continue to behave as it has <all> along, however it forces
|
||
|
it in "off" mode when the incoming connection is Net/Rom based. This is
|
||
|
extremely useful if a robot script (such as FBB forwarding) is used to
|
||
|
go through your node.
|
||
|
|
||
|
The decision of making this a release candidate was because I'm sure I may
|
||
|
have missed testing some of it's behavior and will have to do some cosmetic
|
||
|
and/or bug fixes.. so if you find any, please report them to me and I'll do
|
||
|
what I can to fix it.
|
||
|
|
||
|
Source, .deb, and .rpm packages are available at the typical location of
|
||
|
ftp://ftp.uroweb.net/pub/ax25/ ...enjoy for now!
|
||
|
|
||
|
12/05/2008 v1.0.5r2
|
||
|
|
||
|
I had this really irritating bug that appearantly I just never noticed
|
||
|
all this time when HAVEMOTD was undefined. Thanks to some assistance from
|
||
|
K2MF, I was able to identify and fix this bug. Inside the main loop statement
|
||
|
for the node, when a user disconnected, it was adding an extra frame to
|
||
|
the stream that contained only a line feed. Looking back at this, I did this
|
||
|
due to the fact that X1J handles it's output to the terminal differently than
|
||
|
does any other node that I'm aware of.
|
||
|
|
||
|
In any event, taking out this line feed somewhat caused other outputs of
|
||
|
text to lack a line feed when it needed it... so this meant changes in
|
||
|
command.c, extcmd.c, gateway.c, ipc.c, node.c, system.c, user.c and maybe
|
||
|
more that I can't quite recall as of this writing.
|
||
|
|
||
|
The good news is that I did fix 2 minor bugs that were under my skin!
|
||
|
One minor bug was that when a nodes or destis list ended with a row of
|
||
|
4, an extra line-feed was displayed. While this bug still exists under
|
||
|
certain conditions, it's no longer present during netrom connects.
|
||
|
|
||
|
Also during a netrom disconnect, an extra line-feed no longer sends to
|
||
|
the remote node thus making it more Software 2000, inc. compliant. I'll fix
|
||
|
the previous mentioned bug for release 1.0.6 sometime.
|
||
|
|
||
|
21/05/08 v1.0.5r3
|
||
|
|
||
|
Fixed some screen cosmetics that I introduced while making the node more
|
||
|
Software2000 compliant... I'm sure I missed a few more.
|
||
|
|
||
|
***Big News***
|
||
|
I've finally tracked down and fixed the remote escape bug (I think)!
|
||
|
What I saw was happening was that the SIGPIPE handler wasn't being
|
||
|
executed properly and it appeared to be waiting for more data which
|
||
|
it never received. I added a quit_handler routine in the main loop
|
||
|
which now will execute a node_logout(), flush out the IPCs,
|
||
|
log the event to syslog, and close out the application properly.
|
||
|
Due to this bug lingering in all flavors of *node for linux, and not
|
||
|
having the resources to fully stress-test this, I'm going to leave this
|
||
|
as release candidate 3 for now until (hopefully not!) someone reports
|
||
|
that this routine is causing ill-behavior.
|
||
|
|
||
|
26/05/08 v1.0.5r4
|
||
|
|
||
|
There was a LOT of cosmetic changes in this one which caused me to add
|
||
|
a LOT of conditional calls into the code, many of which I'm unsure whether
|
||
|
or not it'll fly properly under every condition so your milage will definately
|
||
|
vary depending on your specific setup! Since URONode has become very popular
|
||
|
within the EastNet packet system I decided to make the node appear for both
|
||
|
the ax25/FlexNet side or its NetRom side, dependant on how the user logs into
|
||
|
the node. Because of the massive changes in structures, rather than listing
|
||
|
them <all>, the above description should do.
|
||
|
**Note: you MUST add a new line in uronode.conf that defines
|
||
|
FlexId XX#XX-##
|
||
|
Either take yourcall-ssid from ax25d.conf OR if you're linked to a
|
||
|
node that does flexnet, use yourcall-ssid as it is on the remote flexnet
|
||
|
system. If you don't, and a user connects in via telnet or ax25/flex you'll
|
||
|
display (null) to them. Also: if you added a } after your NodeId
|
||
|
callsign-ssid, remove it. It's been hardcoded into URONode now.
|
||
|
|
||
|
I decided to mute the banner section of the login sequence however
|
||
|
it will still display your MOTD if it's defined during ./configure.
|
||
|
If there's a demand for it, I may add it as a configurable option.
|
||
|
|
||
|
Even though I put r4 out for download, I did find a couple minor bugs
|
||
|
which have since been fixed.
|
||
|
|
||
|
29/05/08 v1.0.5r5
|
||
|
|
||
|
In a nutshell, if the user connects to your URONode via NetRom, then
|
||
|
they will get standard NetRom prompts with "ALIAS:CALL-#} " as a result
|
||
|
header to all of your commands with the exception of FlexNet gateway
|
||
|
connects.
|
||
|
|
||
|
Now in uronode.conf, a *new* line _must_ be added for FlexId. The parameter
|
||
|
is:
|
||
|
FlexId <call-flexssid>
|
||
|
An example since my URONode is on FlexNet as ssid 3:
|
||
|
FlexId N1URO-3
|
||
|
|
||
|
Also note that the need to have a closed bracket "}" after your NodeId
|
||
|
now is not required and should be deleted. I finally got off my butt and
|
||
|
hard-coded it into the software.
|
||
|
|
||
|
The Version routine was also changed depending on how the user is connected
|
||
|
in. If the incoming connect is made using NetRom, then the standard prompt
|
||
|
is displayed. If the incoming connect is via any other type of link, then
|
||
|
a columnized display is made showing Software version, NodeId, and FlexId
|
||
|
in hopes of eliminating confusion to the end user.
|
||
|
|
||
|
While in the midst of all the above, I did find some cosmetics to fix.
|
||
|
|
||
|
Before I make this release candidate an official, I'm curious as to
|
||
|
whether or not anyone would object to me eliminating some of the
|
||
|
standards of the login banner of the node (non-NetRom displayed).
|
||
|
Please let me know and I'll make the necessary changes if need be.
|
||
|
-- actually I already decided to do this.
|
||
|
|
||
|
I added a new routine in util.c which now will give the end user
|
||
|
the type of prompt based upon the type of connection. The default
|
||
|
for ax25/FlexNet is: "=> " (note the space after > unlike Flex)
|
||
|
for NetRom is: "ALIAS:CALL-ID} "
|
||
|
for tcp/ip is: "usercall@hostname:/uronode$ "
|
||
|
|
||
|
With the new routine, I changed the main loop in node.c from defaulting to
|
||
|
Prompt simply to using node_prompt().
|
||
|
|
||
|
01/06/08 v 1.0.5
|
||
|
URONode version 1.0.5 is now considered to be "final". With the new month
|
||
|
is a new final release, and in this release it has more face-lifts than
|
||
|
Joan Rivers hihi!
|
||
|
|
||
|
I added a new routine in the configure script which will prompt you for
|
||
|
telnet colored routines... yes we have ANSI! Now, a couple things about
|
||
|
pushing ANSI code:
|
||
|
1 - consider network bandwidth if you have IP users via RF
|
||
|
2 - many windows apps such as WinPack do NOT support ansi. This is NOT
|
||
|
a fault of URONode, but that of the Windows application. If you
|
||
|
find you have trouble decoding ansi, try PuTTY or use HyperTerminal
|
||
|
in telnet mode. Ansi is hard disabled for ax25/Flex and NetRom connects.
|
||
|
I also added ansi codes for "Nodes" and for "Desti" lists commands if the
|
||
|
inbound connect is made via IP.
|
||
|
|
||
|
Added an "EXit" command for users in IP mode since you now feel like you're
|
||
|
in a bash shell... just a 'force of habit' thing. Bye still works.
|
||
|
|
||
|
Fixed a bug introduced with the new node_prompt changes to node.c. If
|
||
|
the user was required to enter a password outside of being on the localhost
|
||
|
or amprnet, the prompt displayed twice... this is now fixed. I also found
|
||
|
and fixed soem more cosmetics that I considered to be wrong. This bug was
|
||
|
driving me insane as to why it was doing this, but I finally tracked it
|
||
|
down.
|
||
|
|
||
|
Found and fixed another bug where if the user's permissions were set
|
||
|
to a perm "escape off", prompts didn't properly function.
|
||
|
|
||
|
Made a change to nodeusers where now if no one is on the node, it'll
|
||
|
say such instead of simply being blank.
|
||
|
|
||
|
A note about ansi:
|
||
|
linux shells will decode ansi pretty good as will old DOS based terminal
|
||
|
programs such as Qmodem, Telix, etc. If you use a raw terminal such as
|
||
|
xNOS, you'll need to insure you load ANSI.SYS in your C:\CONFIG.SYS file
|
||
|
and reboot so the terminal will decode ansi.
|
||
|
Windows telnet *will* decode ansi as well however since XP, local echoing
|
||
|
by default is set to OFF. You can CTRL-] and type: set localecho, then hit
|
||
|
enter twice and you can get echoing back on.
|
||
|
If you use something such as WinPack which doesn't decode ANSI, please do
|
||
|
NOT contact me! Contact the authors of WinPack and report the lack of
|
||
|
ansi as a bug.
|
||
|
|
||
|
I also am including a copy of axdigi from the original FlexNode package.
|
||
|
This is compiled as a static binary and a copy of axdigi.conf IS
|
||
|
also included in the source package, but I won't package it with the .deb
|
||
|
or .rpm packages... however I do reserve the right to change my mind :)
|
||
|
|
||
|
Static binary packages are compiled with the following options OFF:
|
||
|
Rose support
|
||
|
All other options are compiled in.
|
||
|
|
||
|
04/07/2008 v1.0.6
|
||
|
Found and fixed a bug in the Who routine where a netrom prompt was merging
|
||
|
with the last entry of a list even if the connect was not netrom. This change
|
||
|
was made in system.c.
|
||
|
|
||
|
Added some more ansi routines if #defined COLOR. Here's the schema:
|
||
|
Connects display in green as in "gateway go"
|
||
|
Reconnects display in red as in "gateway stop"
|
||
|
Commands display in bright white
|
||
|
Netrom Nodes (full list) in bold cyan
|
||
|
FlexNet destis (full list) in yellow
|
||
|
Current users in magenta
|
||
|
Aborts and timeouts blink bright red
|
||
|
Logouts in low cyan
|
||
|
I'm making the color schema a bit more consistant through out the application.
|
||
|
While doing such, I'm cleaning things up so that just the headers are in
|
||
|
color, not the actual results so that if one is NOT decoding in ansi (and
|
||
|
again if not that's a fault of the client NOT of the node) the node won't
|
||
|
appear as offensive.
|
||
|
|
||
|
Found a bug in the auto router where it wasn't parsing the digi path
|
||
|
from the mheard table, HUGE credit goes to Barry K2MF (of MFNOS fame) for
|
||
|
supplying the code that properly handles this. Fixed.
|
||
|
|
||
|
Did a lot of clean-up for how the node/shell responds dependant on how the
|
||
|
user connects in. Many changes done in gateway.c, extcmd.c and node.c.
|
||
|
|
||
|
Now made ANSI a flag in uronode.perm... I may change this later however
|
||
|
because of such, it forced me to have to make a new nuser_list routine
|
||
|
in command.c as well as move node_prompt from util.c elsewhere so
|
||
|
command.c seemed like the best choice. Setting the user bit +512 will
|
||
|
now grant them telnet ANSI color. Not giving them this will turn
|
||
|
it off. I'd like to make it an end-user toggle so that depending on
|
||
|
which client the user is coming in with they can choose online to get
|
||
|
color or not. The user perm flag replaces defining Color during the
|
||
|
configure script.
|
||
|
|
||
|
Defining MOTD now serves multiple functions:
|
||
|
1) Display of the MOTD screen/file
|
||
|
2) Display of prompts for all interfaces
|
||
|
3) Reconnect back to the node upon a gateway link out
|
||
|
I suggest compiling with MOTD on, which configured by default in the
|
||
|
.deb and .rpm packages.
|
||
|
|
||
|
Changed some of the technical correctness of the node in regards to IP
|
||
|
functions. Ping now returns ICMP Echo request/reply messages and IP based
|
||
|
connects out now show the service/port that the connection request is being
|
||
|
opened to.
|
||
|
|
||
|
Added color schemas to the NetRom and ax25/Flex interfaces if the user
|
||
|
requests it to be on. The same color schema is used on all 3 interfaces.
|
||
|
|
||
|
Fixed a very irritating bug that some folks have reported on which
|
||
|
when do_ports() was called, and the axport description was over 42
|
||
|
characters in length, do_ports() was *not* properly truncating the
|
||
|
additional characters, and making things looks a bit sloppy. A similar
|
||
|
bug exists in LinuxNode =< 0.3.2. Note: In your axports file, you *MUST*
|
||
|
have a tab after the window digit before writing your interface
|
||
|
description or else the parser will consider the spaces as just that...
|
||
|
empty spaces! You have been WARNED!
|
||
|
|
||
|
Updated uronode.conf and uronode.perms files to show examples of recently
|
||
|
added features.
|
||
|
|
||
|
Long overdue: Updated the MAN pages!! I'm so sorry for letting these slide!
|
||
|
It really is hard enough trying to keep track of things in this file, never
|
||
|
mind actually documenting it in a manual page or two hihi!
|
||
|
|
||
|
Found and fixed a bug in the logout routine where a false error was being
|
||
|
reported that the shared memory segment (IPC) couldn't close. Somehow this
|
||
|
was introduced by me duping the lines in the routines so that it was actually
|
||
|
trying to close the shared memory segment twice! I guess in reality, the
|
||
|
log error was indeed correct since there was no second segment to close hi!
|
||
|
|
||
|
Added a "make update" option to the Makefile. This option *must* be used
|
||
|
in version release sequential order or else it may fail!
|
||
|
|
||
|
Fixed a cosmetic bug in the way NetRom nodes introduced by me when I created
|
||
|
multiple interfaces. The word "NetRom" appeared twice in the header when
|
||
|
a user would request a Nodes list.
|
||
|
|
||
|
15/11/2008 v1.0.7
|
||
|
|
||
|
Made some cosmetic changes to text and ansi color displays, still a few
|
||
|
more to do but not critical so it gives me an excuse to do a maintenance
|
||
|
release one of these days hihi!
|
||
|
|
||
|
With the assistance of the great and mighty <all>, the <all> of c coding
|
||
|
knowledge, I was able to incorporate a loop detection system when making
|
||
|
FlexNet or ax25 connects... now if there's a loop in the outbound connect
|
||
|
request, the user will be informed of such which includes a system bell
|
||
|
(beep). I thought about adding a loop connect block such as with FlexNet
|
||
|
however in the case of axip/axudp links many links may share the same
|
||
|
interface which really would be unfair to the user trying to gateway out
|
||
|
that's also coming in from the same axip interface.
|
||
|
|
||
|
Now for the big news of this release: By request of Bob Anderson K2BJG,
|
||
|
I wrote a kluge for flexd.c which now requires 2 additional fields in
|
||
|
/etc/ax25/flexd.conf - MyGate and MyRange. Inside flexd.conf, MyGate
|
||
|
is your neighbor FlexNet gateway without ssid, and MyRange would be
|
||
|
the full ssid range of the FlexNet gateway you poll. This will add your
|
||
|
FlexNet gateway into your local desti table complete with SSID range and
|
||
|
give it a ttl of 0 since there's no true ttl polling going on... but there
|
||
|
is a catch to this: you MUST add each ssid of the remote FlexNet system
|
||
|
into uronode.routes as a direct link or else connect requests will fail
|
||
|
because the connect will try to digi off of the remote FlexNet system
|
||
|
to itself. I don't know if I agree with this yet or not as a local
|
||
|
FlexNet system never shows itself in it's desti table, and that's what
|
||
|
K2BJG has asked me to do with URONode. As I said, for now this is all
|
||
|
a kluge but it does appear to work if instructions are followed
|
||
|
verbatim.
|
||
|
|
||
|
Examples:
|
||
|
MyGate N1URO
|
||
|
MyRange 1-11
|
||
|
|
||
|
Made a change in the Makefile so that the axdigi module does NOT copy over
|
||
|
by default. Now you MUST do this manually and add it to your scripts. Not
|
||
|
everyone would wish to use this so why force more junk in a directory? :)
|
||
|
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
See CHANGES.2 for more notes in regards to changes.
|