britannic / EdgeMax-RFC2136-DDNS

Adds EdgeOS RFC2136 and Cloudflare DDNS extensions to configuration
Other
6 stars 0 forks source link

Specify server port number? #2

Closed kpfleming closed 6 years ago

kpfleming commented 6 years ago

My DDNS server is listening on a non-standard port; when using nsupdate manually I can specify the port number after the server address on the server line. I can't figure out how to specify it using this package though; where is the code which transforms the configuration items into input for nsupdate?

britannic commented 6 years ago

This package adds templates to Ubiquiti's EdgeOS DDNS configuration, which in turn uses ddclient to actually perform the DDNS updates. I checked ddclient's Perl source code and docs to see if it supports alternative DDNS ports for nsupdate, but couldn't find any. Reopen this issue if you can find ddclient support for an alternate DDNS port.

kpfleming commented 6 years ago

Thanks, that is very helpful. Even though the ddclient docs don't indicate that a port number can be provided, reviewing the code shows that the 'server' configuration item is parsed as a T_FQDNP, and does allow a port number to be included in the string (separated by a ':' from the hostname or IPv4 address). Unfortunately when it is passed to nsupdate it will be the wrong format, as nsupdate requires the port number to be separated from the server name/address by whitepace, not a colon, but that's a ddclient bug, not a bug in this package. I'll experiment with a modified ddclient and send a PR there if I can get it to work.

kpfleming commented 6 years ago

Confirmed; with a tiny change to ddclient-ubnt, I can specify the server with an explicit port number and the update is sent properly. Thanks again for producing this package!