DDNS with DigitalOcean API "invalid character '-' in numeric literal","request_id"
-
Reference bugtracker: https://redmine.pfsense.org/issues/13167
I saw this in redmine.pfsense.org and it's specifying the bug is in version 2.6.0.
I am on 2.4.4 and still got this error. It might be DigitalOcean changed how they handle requests, resulting in these errors. -
I got the same issues since Friday 13th May 2022 on two separate boxes at different locations. Both on Etisalat (ISP). One is on commercial WAN and other residential. The cached IP is 0.0.0.0 . When I load a DynDyn.org account it works fine and the Cached IP works fine.
Any help on this would be highly appreciated.
-
Can see it responding from a Cloudflare server. Sure its not related to that?
-
I don't have a cloudfare account not know how to set one. but trying with Digital Ocean doesn't work with different API keys and different subdomains. while the dyndns.org (oracle) works fine.
Could it be that Digital ocean is sending ''-" on certain API or domains? or is my ISP insert characters?Is there an easy way to debug the updater communication.
-
There is an open bug for Digital Ocean dynamic DNS logged in Redmine: https://redmine.pfsense.org/issues/13167.
-
Anyone know how to bump the redmine bug report.
-
Same here!
Also two separate pfsense installs (both 2.6), different ISP... -
Looks to me like DO have recently put the API calls through coloudflare ddos protection - the response is coming back from a cloudflare edge device. It's trying to set a session cookie which the DynDNS script doesn't understand - the actual error thrown is as mentioned that the script is expecting a numeric request_id (which it probably still is once proxied to DO).
I do see the bug report but it's sat 20 days - I'm about to go read the issue submission documents - it may be sitting there ignored for not following them? Unusual to have something sat that long....
This will likely be affecting all versions as it's something changed upstream of pfsense...
-
Looks like this happened on 22nd March this year - probably when this broke for everyone.
-
I created a quick and dirty patch that will fix it until a better-made fix is put into place. The file is /etc/inc/dydns.class
-
@plexxer how to use it/patch? thanks.
-
@ra Syntax is patch original_file patch_file
Assuming you have the patch in /tmp you could issue
patch /etc/inc/dyndns.class /tmp/digital-ocean-dyndns-class.patch
-
@plexxer Thanks for taking the time to do this - simply not had time to look properly.
-
@plexxer Thanks, this patch worked for me on 2.6.0-RELEASE.
-
Thanks @pinster - patch also works to correct the issue on 22.05-RELEASE (pfSense+)
Updated the Redmine bug to mention this.
-
@plexxer Worked like a charm on my 2.6.0 boxes too. Updates to my Digital Ocean records seem to take longer than they used to, sometimes long enough for nginx to timeout on pfSense, but if I load the main dashboard in another tab the updates happen quickly, so it looks like the problem is purely cosmetic. In either case, longer updates are far better than broken ones. Thank you!
-
the issue has ben resolved, I'm no longer getting the error