I'm trying to set up my Mikrotik node with the new (3.20.3.0) firmware. When I click save on the Basic Setup page I get the following:
Configuration NOT saved!
- Use of uninitialized value $parm in uc at /usr/local/bin/node-setup line 170.
- Use of uninitialized value $parm in string eq at /usr/local/bin/node-setup line 170.
- Use of uninitialized value $parm in lc at /usr/local/bin/node-setup line 172.
- Use of uninitialized value $parm in concatenation (.) or string at /usr/local/bin/node-setup line 173.
- Use of uninitialized value $file in concatenation (.) or string at /usr/local/bin/node-setup line 173.
- parameter '' in file '' does not exist
What am I doing wrong?
Upgrade from prior installed AREDN version
I've done a couple of those in the past couple weeks. Hopefully one of the developers can make sense out of the errors.
The error occurs without making any modifications to the screen. Simply clicking on save results in the error. The node seems to function properly in all other aspects.
David
Joe AE6XE
Joe AE6XE
1. I reloaded the 3.20.3.0 firmware - error still present.
2. Downgraded to 3.19.3.0 firmware - error resolved
3. Reloaded 3.20.3.0 firmware - no error until I entered a tunnel client connection. In the contact info field, I entered the node owner's name with the email address between chevrons < >. It seems these were the culprits causing the error. When I removed the chevrons and clicked save, the error was gone.
Crazy, crazy
Then repeated on a hAP and a Rocket M5 XM. does not cause an error on the Tunnel page, but barfs when tying to save on the basic setup page.
All three nodes I tested on were using Nightly Build 1476.
This is a common issue in data validation of fields. Stuffing certain data or characters into the field is a common exploit to hack into a system or trigger an error. We need to add validation code on the data entered into this recently added field to ensure neither condition occurs. Generally saving data needs to add escape handling or quotes around characters that perl, shell scripting, have special handling. In this case a "<" can redirect standard input, possibly the issue causing the follow on error.
We'll be mindful to catch this in the development and code review process for future changes :) .
Joe AE6XE