Gordon wrote:Also I tested the individual calls and in my case they appear to be working just fine. You can try the same by running the script like this:
Code: Select all
twistd -l - -n --python=/usr/share/bubba-backend/bubba-easyfind.tac
This will direct all output to screen and may hint what is wrong. To view the raw response from the easyfind server simply replace the string 'pass' on line 116 to 'print response'.
I did not call the bubba-easyfind.tac explicitly, but just changed the file and hoped, the altered part will be executed when the IP changes.
Now I did what you suggested and ran twistd on the command line. First difference I noticed between the syslog output and the stdout was that, according to syslog the IP change was recognized by printing something like
twisted: [HTTP11ClientProtocol,client] Got new IP '<new-ip>' which is not the same as the last one '<old-ip>' whereas on stdout the message was
[HTTP11ClientProtocol,client] Got new IP '<new-ip>' which is the same as the last one '<new-ip>'.
I think this implies that in the bubba-easyfind.tac funtion
easyfind_ip_changed the wrong decision is made on line 105. So it never calls function
easyfind_set_ip. I changed it temporarily to read '==' instead of '!='. It then called the function and I got a printed response from changed line 116:
Code: Select all
{"error":true,"opcode":16,"msg":"Unable to validate from production."}
I had this message in syslog before but only after enabling UPnP in the router/modem combo.
So if I interpret this message right, somehow my B3 MAC/Secret key combo is not valid on the remote machine called by bubba-easyfind.tac whereas it is when called by easyfind.pl. And as Gordon pointed out, there seems to be a problem with the config being updated with the new IP although the DNS update failed.