[GH-ISSUE #137] research: what do other dyndns services return if you give myip=invalidipaddressstring #129

Closed
opened 2026-02-26 09:35:54 +03:00 by kerem · 5 comments
Owner

Originally created by @ThomasWaldmann on GitHub (Jan 21, 2014).
Original GitHub issue: https://github.com/nsupdate-info/nsupdate.info/issues/137

I had a little trouble to find a good response code in 5d2ee03e02 so it would be interesting how other services deal with that.

so, if you have an account at dyn.com, no-ip.com or other popular dyndns services, please find out and leave a comment here.

we are interested in the plain text response to and invalid update http GET request. you can find out using a browser or wget or so.

Originally created by @ThomasWaldmann on GitHub (Jan 21, 2014). Original GitHub issue: https://github.com/nsupdate-info/nsupdate.info/issues/137 I had a little trouble to find a good response code in 5d2ee03e02c4131160b0b3f50edcfe0cbb903cb0 so it would be interesting how other services deal with that. so, if you have an account at dyn.com, no-ip.com or other popular dyndns services, please find out and leave a comment here. we are interested in the plain text response to and invalid update http GET request. you can find out using a browser or wget or so.
kerem 2026-02-26 09:35:54 +03:00
  • closed this issue
  • added the
    task
    easy
    labels
Author
Owner

@elsbrock commented on GitHub (Jan 29, 2014):

Information regarding no-ip API:

butters% # valid IPv4
butters%  curl -X GET -D- http://foo:bar@dynupdate.no-ip.com/nic/update\?hostname\=foobar\&myip\=1.2.3.4 
HTTP/1.1 200 OK
Date: Wed, 29 Jan 2014 18:55:20 GMT
Server: Apache/2
Content-Location: update.php
Vary: negotiate
TCN: choice
Content-Length: 12
Connection: close
Content-Type: text/plain; charset=UTF-8

good 1.2.3.4
butters% # invalid IPv4
butters%  curl -X GET -D- http://foo:bar@dynupdate.no-ip.com/nic/update\?hostname\=foobar\&myip\=1.2.3.412
HTTP/1.1 200 OK
Date: Wed, 29 Jan 2014 18:55:25 GMT
Server: Apache/2
Content-Location: update.php
Vary: negotiate
TCN: choice
Content-Length: 5
Connection: close
Content-Type: text/plain; charset=UTF-8

abuse
<!-- gh-comment-id:33617479 --> @elsbrock commented on GitHub (Jan 29, 2014): Information regarding no-ip API: ``` butters% # valid IPv4 butters% curl -X GET -D- http://foo:bar@dynupdate.no-ip.com/nic/update\?hostname\=foobar\&myip\=1.2.3.4 HTTP/1.1 200 OK Date: Wed, 29 Jan 2014 18:55:20 GMT Server: Apache/2 Content-Location: update.php Vary: negotiate TCN: choice Content-Length: 12 Connection: close Content-Type: text/plain; charset=UTF-8 good 1.2.3.4 butters% # invalid IPv4 butters% curl -X GET -D- http://foo:bar@dynupdate.no-ip.com/nic/update\?hostname\=foobar\&myip\=1.2.3.412 HTTP/1.1 200 OK Date: Wed, 29 Jan 2014 18:55:25 GMT Server: Apache/2 Content-Location: update.php Vary: negotiate TCN: choice Content-Length: 5 Connection: close Content-Type: text/plain; charset=UTF-8 abuse ```
Author
Owner

@TobiX commented on GitHub (Jan 30, 2014):

afraid.org:

$ curl -v http://freedns.afraid.org/dynamic/update.php\?[AUTHCODE]\&address\=127.0.0.1
* About to connect() to freedns.afraid.org port 80 (#0)
*   Trying 204.140.20.22...
* connected
* Connected to freedns.afraid.org (204.140.20.22) port 80 (#0)
> GET /dynamic/update.php?[AUTHCODE]&address=127.0.0.1 HTTP/1.1
> User-Agent: curl/7.26.0
> Host: freedns.afraid.org
> Accept: */*
> 
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 30 Jan 2014 08:55:33 GMT
< Content-Type: text/plain; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Cache-Control: no-store, no-cache, must-revalidate
< Cache-Control: post-check=0, pre-check=0
< Pragma: no-cache
< Expires: Mon, 26 Jul 1997 05:00:00 GMT
< X-Cache: MISS
< 
Updated 1 host(s) [DYNHOST] to 127.0.0.1 in 0.029 seconds
* Connection #0 to host freedns.afraid.org left intact
* Closing connection #0

$ curl -v http://freedns.afraid.org/dynamic/update.php\?[AUTHCODE]\&address\=notip
* About to connect() to freedns.afraid.org port 80 (#0)
*   Trying 204.140.20.22...
* connected
* Connected to freedns.afraid.org (204.140.20.22) port 80 (#0)
> GET /dynamic/update.php?[AUTHCODE]&address=notip HTTP/1.1
> User-Agent: curl/7.26.0
> Host: freedns.afraid.org
> Accept: */*
> 
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 30 Jan 2014 08:55:25 GMT
< Content-Type: text/plain; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Cache-Control: no-store, no-cache, must-revalidate
< Cache-Control: post-check=0, pre-check=0
< Pragma: no-cache
< Expires: Mon, 26 Jul 1997 05:00:00 GMT
< X-Cache: MISS
< 
ERROR: "notip" is an invalid IP address.
* Connection #0 to host freedns.afraid.org left intact
* Closing connection #0

Yeah, I know, their API is strange :)

<!-- gh-comment-id:33670287 --> @TobiX commented on GitHub (Jan 30, 2014): afraid.org: ``` $ curl -v http://freedns.afraid.org/dynamic/update.php\?[AUTHCODE]\&address\=127.0.0.1 * About to connect() to freedns.afraid.org port 80 (#0) * Trying 204.140.20.22... * connected * Connected to freedns.afraid.org (204.140.20.22) port 80 (#0) > GET /dynamic/update.php?[AUTHCODE]&address=127.0.0.1 HTTP/1.1 > User-Agent: curl/7.26.0 > Host: freedns.afraid.org > Accept: */* > * HTTP 1.1 or later with persistent connection, pipelining supported < HTTP/1.1 200 OK < Server: nginx < Date: Thu, 30 Jan 2014 08:55:33 GMT < Content-Type: text/plain; charset=utf-8 < Transfer-Encoding: chunked < Connection: keep-alive < Vary: Accept-Encoding < Cache-Control: no-store, no-cache, must-revalidate < Cache-Control: post-check=0, pre-check=0 < Pragma: no-cache < Expires: Mon, 26 Jul 1997 05:00:00 GMT < X-Cache: MISS < Updated 1 host(s) [DYNHOST] to 127.0.0.1 in 0.029 seconds * Connection #0 to host freedns.afraid.org left intact * Closing connection #0 $ curl -v http://freedns.afraid.org/dynamic/update.php\?[AUTHCODE]\&address\=notip * About to connect() to freedns.afraid.org port 80 (#0) * Trying 204.140.20.22... * connected * Connected to freedns.afraid.org (204.140.20.22) port 80 (#0) > GET /dynamic/update.php?[AUTHCODE]&address=notip HTTP/1.1 > User-Agent: curl/7.26.0 > Host: freedns.afraid.org > Accept: */* > * HTTP 1.1 or later with persistent connection, pipelining supported < HTTP/1.1 200 OK < Server: nginx < Date: Thu, 30 Jan 2014 08:55:25 GMT < Content-Type: text/plain; charset=utf-8 < Transfer-Encoding: chunked < Connection: keep-alive < Vary: Accept-Encoding < Cache-Control: no-store, no-cache, must-revalidate < Cache-Control: post-check=0, pre-check=0 < Pragma: no-cache < Expires: Mon, 26 Jul 1997 05:00:00 GMT < X-Cache: MISS < ERROR: "notip" is an invalid IP address. * Connection #0 to host freedns.afraid.org left intact * Closing connection #0 ``` Yeah, I know, their API is strange :)
Author
Owner

@ThomasWaldmann commented on GitHub (Jan 30, 2014):

thanks for researching!

so, in short: no-ip says "abuse", afraid.org doesn't seem to follow dyndns2 protocol at all.

<!-- gh-comment-id:33673997 --> @ThomasWaldmann commented on GitHub (Jan 30, 2014): thanks for researching! so, in short: no-ip says "abuse", afraid.org doesn't seem to follow dyndns2 protocol at all.
Author
Owner

@ThomasWaldmann commented on GitHub (Jul 2, 2014):

the test account on members.dyndns.org (==dyn.com) will just use the REMOTE_ADDR if the myip= value is not a valid ipv4 address.

http://members.dyndns.org/nic/update?hostname=test.dyndns.org&myip=foobarbaz

<!-- gh-comment-id:47759782 --> @ThomasWaldmann commented on GitHub (Jul 2, 2014): the test account on members.dyndns.org (==dyn.com) will just use the REMOTE_ADDR if the myip= value is not a valid ipv4 address. http://members.dyndns.org/nic/update?hostname=test.dyndns.org&myip=foobarbaz
Author
Owner

@ThomasWaldmann commented on GitHub (Oct 28, 2014):

so, in short: there seems to be no "standard way", closing.

<!-- gh-comment-id:60809681 --> @ThomasWaldmann commented on GitHub (Oct 28, 2014): so, in short: there seems to be no "standard way", closing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nsupdate.info-nsupdate-info#129
No description provided.