Skip to content
This repository was archived by the owner on Oct 25, 2025. It is now read-only.

fix dnspod error: Communication with checkip server %s failed#526

Merged
troglobit merged 2 commits intotroglobit:masterfrom
V-E-O:patch-3
Oct 25, 2025
Merged

fix dnspod error: Communication with checkip server %s failed#526
troglobit merged 2 commits intotroglobit:masterfrom
V-E-O:patch-3

Conversation

@V-E-O
Copy link
Copy Markdown
Contributor

@V-E-O V-E-O commented Oct 14, 2025

The plugin of dnspod had server_url = "". When I configured check_ip_server, the "get address from remote" function in ddns.c gets always returned.
static int get_address_remote(ddns_t *ctx, ddns_info_t *info, char *address, size_t len) { if (!info->server_url[0]) return 1;

The easy fix is change empty string to "/" in dnspod plugin.
Well, I believe another fix to the IF-condition "if (!info->server_url[0])" should be done. Maybe some plugin has empty server_url but always has server_name.
static ddns_system_t plugin = { .server_name = "dnsapi.cn", .server_url = "" };
Like as

- if (!info->server_url[0])
+ if (!info->server_name[0])

@troglobit
Copy link
Copy Markdown
Owner

Appreciate the analysis, I think you are spot on. Would you mind redoing the PR with your suggested change to:

inadyn/src/ddns.c

Lines 335 to 339 in 2a99888

static int get_address_remote(ddns_t *ctx, ddns_info_t *info, char *address, size_t len)
{
if (!info->server_url[0])
return 1;

@V-E-O
Copy link
Copy Markdown
Contributor Author

V-E-O commented Oct 14, 2025

Hi, I modified the condition from check ddns provider api server to checkip server name.

@troglobit troglobit merged commit af290fc into troglobit:master Oct 25, 2025
4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants