Stefan Schantl [Wed, 2 Dec 2020 19:31:19 +0000 (20:31 +0100)]
Add option to list provider with token support.
This option can be used to get a list of all known provider which support
a token based authentication method.
In order to provide this feature the provider details has been extended
to contain the information if a provider supports this authentication
method or not.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Stefan Schantl [Mon, 25 May 2020 16:00:51 +0000 (18:00 +0200)]
ProviderDDNSS: Fix unhandled exception on update
In python > 3.3 the getheader() attribute is not longer part of the
urllib.response response.info() object. It is part of response object
and so directly can be accessed.
Fixes #12328
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
sorry for the long delay. It's the time of the year, where I think it might be easier to just move in with the childrens doctor instead of daily vists :-(
Michael thank you for your pointers and reviews. Reviewed-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Tue, 8 Oct 2019 08:37:06 +0000 (08:37 +0000)]
Use HTTPS for checkip{6,4}.dns.lightningwirelabs.com
Since we are deploying a HSTS policy for lightningwirelabs.com now,
and we generally only use HTTPS for everything, this patch changes
this for the IP address discovery process, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Alexander Koch [Tue, 24 Sep 2019 08:58:34 +0000 (10:58 +0200)]
Fix whitespace at end of line
Signed-off-by: Alexander Koch <ipfire@starkstromkonsument.de> Reviewed-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Alexander Koch <ipfire@starkstromkonsument.de> Acked-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Stefan Schantl [Fri, 28 Oct 2016 10:35:20 +0000 (12:35 +0200)]
Schockokeks.org: Fix malformed update URL.
* Move Provider Class into correct alphabetical order.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org> Reviewed-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Michael Tremer [Tue, 7 Jun 2016 14:33:59 +0000 (15:33 +0100)]
spdyn: Update name and URL after service has been renamed
Reported-by: Thomas Berthel <5p9@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
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.