[BlueOnyx:22123] Re: 5209R cannot change nameserver settings in tcp/ip

Michael Stauber mstauber at blueonyx.it
Tue May 29 14:42:52 -05 2018


Hi Dirk,

> ok, you received the request.

Yes, I got it. Many thanks. I identified the problem and it's a really
stupid thing which is a lack of imagination on my end. \o/

When you go to "System Settings" / "TCP/IP" and hit save, then it is
possible that multiple CCEd SET transactions to various different
CODB-Objects are done:

"System" Object: Change of Host- and Domain-Name and maybe DNS.

"Network" Objects of eth0, eth1, eth2 and so on.

So we may end up with updating one, two or more CODB objects. Each of
these updates will force a restart of the Network. When these go through
one by one this might throw a wrench into the GUI page finishing to load.

That's why I implemented a CODB-Replay-Mechanism which allows us to
record CODB transactions, execute them all at once and force a timed
reload of the transactional GUI page that even survives one or more
network restarts that might happen in the replay stage.

It gets more complicated if you change IP's. Or disable IPv4 and
configure IPv6. Or if you had IPv4 and enable IPv6 dual stack. That's
why this transactional GUI page has a mechanism that's analyzing the
planned transactions and does the reload onto whatever combination of
hostname of IPv4 or IPv6 IP we have at the end.

The problem: Cookies.

A GUI page determines your access rights via the username cookie and the
sessionId cookie. And cookies are only valid on the domain (or IP) that
they were set on.

Scenario A): You connect to the GUI via the IP and "System Settings" /
"TCP/IP" will work just fine through all stages.

Scenario B): You connect to the GUI via the hostname. "System Settings"
/ "TCP/IP" will crap out early on, because the 2nd reload of the
transactional page will have it reload on the IP instead of the hostname
due to a logic problem in my code. And on the IP it tries to reload you
don't have a valid sessionId cookie yet.

Scenario C): You connect via IP. You use "System Settings" / "TCP/IP" to
change the primary IP. It will fail as well during the 3rd or 4th reload
of that page, because the new IP that you're switching the server to
never had the username and sessionId cookies set.

This will require some intricate fiddling to fix. I'll get on to it, but
I might need a day or two to fix this.

In the meantime: If you need to update the DNS servers of your 5209R,
then please connect to the GUI via the IP and not the hostname and it
should work for now. I'll have a proper fix for this soon.

-- 
With best regards

Michael Stauber



More information about the Blueonyx mailing list