Opened 15 months ago

Last modified 15 months ago

#24915 new defect

ddns scripts - infinite loop

Reported by: yurtesen Owned by: developers
Priority: low Milestone:
Component: packages Version: Chaos Calmer 15.05
Keywords: ddns Cc:


In luci it is possible to set ddns scripts to retry indefinitely. However this option seems to set each action's retry number instead of setting the retry number for the whole script. (which is infinite by default and it never exits).

If I have the retry number set to 0 (infinite retries) then the ddns script starts by first trying to get the current IP set in DNS by doing an nslookup.

The problem is, if the IP was not set previously (inactive in DNS) then nslookup returns error and script goes into an infinite loop.

This is because it never tries to refresh the IP address. (since it loops infinitely in first step while checking the IP with nslookup).

I do not get why it has to have a setting to run each action infinitely. Is there any point? because script will loop and come back to do same thing again when everything fails/succeeds. But if it has to that, then it should at least try update dns before trying nslookup again. Perhaps like 'if 2nd try, first do update, wait for a while, then try nslookup'. Otherwise it will keep entering infinite loop.


Attachments (0)

Change History (1)

comment:1 Changed 15 months ago by chris5560

The infinite loop was a request from the community.
If you setup a record at your DDNS provider you (normally) need to make an initial setup for this record.
Afterwards everything works fine.
The reason for starting with "nslookup" is to prevent ddns-scripts to send out updates for non existing dns records.
It works as designed.

Add Comment

Modify Ticket

as new .

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.