Michael Tremer [Wed, 12 Aug 2015 00:06:43 +0000 (01:06 +0100)]
Silently fall back to the guess the IP address with a remote server
For most OSes we do not implement a way to read the current IP
address from the local configuration. In that case ddns used to
throw an exception and stop. This patch changes that in the way
that ddns will fall back to guess the IP address with help
of a remote server.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Stefan Schantl [Fri, 29 Apr 2016 11:46:35 +0000 (13:46 +0200)]
Zoneedit: Provide better error message on error 702 responses.
A returned error code 702 when using Zoneedit as provider now raise
a request error with an corresponding message instead of a simple
InternalServerError exception.
This will help to clarify and debug update problems.
Fixes #11042.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Mon, 3 Aug 2015 19:00:57 +0000 (20:00 +0100)]
Catch SSL errors
Properly catch SSL errors. When a connection could not be
established, the ddns client will try again. If an invalid
certificate is presented future updates are held back for
the usual time.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Sat, 4 Jul 2015 10:25:17 +0000 (12:25 +0200)]
Catch 'Internal Server Error' on update
When there is an internal server error, we won't log an error
and hold off updates for a while. This is an error on the
provider's side and the client must retry in order to update
the hostname.
This error was seen with selfhost.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Tue, 23 Jun 2015 22:34:33 +0000 (22:34 +0000)]
Soft-fail on network errors
When an update could not be performed because of a network
error (host unreachable/no route to host) we should not
log an error to the database and hold off updates for a
long time.
Those errors are usually caused by local configuration
errors and the servers of the providers should not be
bothered with update requests as those won't reach them
any way.
The client will try to resend the update at the next
update call.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Sat, 25 Apr 2015 11:18:07 +0000 (13:18 +0200)]
Perform lazy initialization of the database
The database will only be initialized when it is actually
needed. That makes starting up ddns a bit faster and allows
us to execute it as non-root for simple commands like
"list-providers".
If the database path is not writable at all, the database
feature is disable and an error message is logged. This
will hopefully help us to perform the DNS update even when
there is a local misconfiguration.
Stefan Schantl [Mon, 2 Mar 2015 20:07:00 +0000 (21:07 +0100)]
strato: Add mx and backupmx flags to update request.
Add the deprecated mx and backupmx flags to the update request for strato,
because this provider still uses them. The providers implementation anyway seems
to be broken because already set entries get lost when an update is performed
without given mx and backupmx flags.
Stefan Schantl [Thu, 22 Jan 2015 17:03:05 +0000 (18:03 +0100)]
easydns.com: Provider does not use the DynDNS 2 Protocol.
The provider uses return codes which are different from the used one in the
DynDNS 2 Protocol. Therefore we directly need to handle them in the easydns class.
The provider also supports to remove the assigned address from a host, but currently
only supports IPv4.
Michael Tremer [Sun, 14 Sep 2014 19:30:27 +0000 (19:30 +0000)]
Add option to ignore removal of IP addresses
On systems that had connectivity to e.g. IPv6 which they don't
have any more need to remove the IPv6 address from the DNS system.
Most providers do not support this and hence this case is completely
ignored and the invalid record is left in the DNS system.