Univention Bugzilla – Bug 29973
Redirect to new IP during system-setup not reliable enough
Last modified: 2013-11-19 06:44:22 CET
Created attachment 4966 [details] Search in all interfaces if IP changed. Only find changes if it is the current IP If the user changes the IP in Basic Settings, the server cannot be contacted anymore as soon as these changes are saved in the backend. This is handled by the frontend by pointing to the new destination. This does not work in some cases where there is more than one network interface (say eth0 and eth1). 1. The frontend thinks the IP changed although it has not if the user browsed to eth1's IP and changed eth0's 2. The frontend does not think the IP changed although it has if the user browsed to eth1's IP and changed eth1's Patch attached.
We will not ship a UCS 3.1-2 release; the next UCS release will be UCS 3.2. As such, this bug is moved to the new target milestone.
The heuristic has been adapted at Bug #30816. It now does: * check if the current IP changes at the same interface * check if the interface was deleted and use the new primary interface (or eth0 if not set) *** This bug has been marked as a duplicate of bug 30816 ***
Please fix this separately as this is not really a duplicate of "Support of VLAN, Bonding, Bridges" (+ Changelog) setup.js: if (!(/[.]/).test(oldIp)) { oldIp = '\\[' + oldIp + '\\]'; } This will be executed for: * "https://master/umc" -> "https://[master]/umc" * "https://[ipv6]/umc" -> "https://[[ipv6]]/umc" This if statement should be removed. setup.js / _getNewIpAddress: if (oldIp == currentIP) { [...] newIpAddress = prim.ip4[0][0]; } What if the primary interface only has IPv6? There should be a redirect to that address in this case. Same holds for "else if (oldIp6 == currentIP)". Primary's IPv6 should have higher priority in IPv6 case.
Ok, this has been adapted. The order of IP address detection is: for IPv4 devices: newIP4 || primIP4 || newIP6 || primIP6 for IPv6 devices: newIP6 || primIP6 || newIP4 || primIP4
IPv6: window.location.host = '[ipv6]', i.e. with brackets. So _getNewIpAdress does not work. And "if (!(/[.]/).test(oldIp)) {" (see Comment 3) should be re-evaluated.
fixed in univention-system-setup (7.0.29-1)
Changeset: Ok Changelog: Ok
UCS 3.2 has been released: http://docs.univention.de/release-notes-3.2-en.html http://docs.univention.de/release-notes-3.2-de.html If this error occurs again, please use "Clone This Bug".