Comment 0 for bug 1312649

Revision history for this message
Russell Phillips (ignissport) wrote :

After upgrading from 12.04 to 14.04, I noticed that gogoc no longer started. I tracked it down to a logical error in the bash script to build the tunnel.

The following line appears 3 times in /usr/share/gogoc/template/linux.sh (lines 167, 279 and 312):

echo "$subif" | while read sub int ; do

It should read:

echo "$subif" || while read sub int ; do

(Note that "|" becomes "||")

When the subinterfaces file (/etc/gogoc/interfaces.conf) is empty or missing, the subif variable has an empty value. It appears that the intention of the aforementioned line in linux.sh is to test for an empty value, and only process it if it's populated. It doesn't seem to work this way.

What is happening, is that the radvd config file is populated with a second interface containing uninitialized nonsense, and radvd in turn fails to parse the config file. Radvd will then return an error status and gogoc will react by tearing down the tunnel.