Skip to content

Conversation

@kbabioch
Copy link
Contributor

📦 Package Details

Maintainer: @feckert

Description:

This adds support for tb.nettassist.ua as requested by 1.

The service seems to have a somewhat broken API in that it returns OK! for the first update, but will return FAIL! for any consecutive update with the same IP.

For example:

curl "https://tb.netassist.ua/autochangeip.php?l=[USERNAME]&p=[PASSWORD]&ip=1.2.3.4"
OK!
The IP will be updated in 60 seconds.%

curl "https://tb.netassist.ua/autochangeip.php?l=[USERNAME]&p=[PASSWORD]&ip=1.2.3.4"
FAIL!
IPv4 address you entered "<b>1.2.3.4</b>" is already registered in our
system for another customer. Try another one. Sorry.%

On the other hand, it doesn't feel right to add FAIL! as expected response for an successful update.

If anything, the service provider should be contacted and asked to fix the API.


✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

@kbabioch
Copy link
Contributor Author

By the way: What is the policy on bumping PKG_RELEASE vs. PKG_VERSION (@feckert)?

@feckert
Copy link
Member

feckert commented Nov 26, 2025

Normally, PKG_VERSION stands for the upstream version and PKG_RELEASE for the package build. With ddns-scripts, we do not have a PKG_VERSION because the package is managed in the OpenWrt feed. The PKG_VERSION is only updated if the internal source has changed. If we only add an additional DDNS provider script, update the JSON files, or add a new provider, the PKG_RELEASE is updated.

This adds support for tb.nettassist.ua as requested by [1].

The service seems to have a somewhat broken API in that it returns `OK!`
for the first update, but will return `FAIL!` for any consecutive update
with the same IP.

For example:

```
curl "https://tb.netassist.ua/autochangeip.php?l=[USERNAME]&p=[PASSWORD]&ip=1.2.3.4"
OK!
The IP will be updated in 60 seconds.%

curl "https://tb.netassist.ua/autochangeip.php?l=[USERNAME]&p=[PASSWORD]&ip=1.2.3.4"
FAIL!
IPv4 address you entered "<b>1.2.3.4</b>" is already registered in our
system for another customer. Try another one. Sorry.%
```

On the other hand, it doesn't feel right to add `FAIL!` as expected
response for an successful update.

If anything, the service provider should be contacted and asked to fix
the API.

[1]: openwrt#25861

Signed-off-by: Karol Babioch <[email protected]>
@systemcrash
Copy link
Contributor

The service seems to have a somewhat broken API in that it returns OK! for the first update, but will return FAIL! for any consecutive update with the same IP.

This is a violation of idempotency. At worst - they can return a 'nochg'. Who is to say that several DNS names cannot point to the same IP anyway?

@kbabioch
Copy link
Contributor Author

The service seems to have a somewhat broken API in that it returns OK! for the first update, but will return FAIL! for any consecutive update with the same IP.

This is a violation of idempotency. At worst - they can return a 'nochg'. Who is to say that several DNS names cannot point to the same IP anyway?

Yes, I agree. Seems like a stupid restriction. I'm just reporting my findings while working on #25861, I'm not running the service myself.

I've also contacted the provider in the mean time, let's see if and how they'll react.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants