ddns: Import patch to support infomaniak.ch

Message ID 20240422100149.3680266-1-michael.tremer@ipfire.org
State New
Headers
Series ddns: Import patch to support infomaniak.ch |

Commit Message

Michael Tremer April 22, 2024, 10:01 a.m. UTC
  Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
---
 lfs/ddns                                      |  1 +
 ...er-and-sample-configuration-for-info.patch | 61 +++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 src/patches/ddns-15-chore-add-provider-and-sample-configuration-for-info.patch
  

Patch

diff --git a/lfs/ddns b/lfs/ddns
index 274c12cb9..4b6d213c8 100644
--- a/lfs/ddns
+++ b/lfs/ddns
@@ -74,6 +74,7 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	# Apply upstream patches.
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-014-freednsafraid-fix-typo.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-system-Catch-exception-when-host-is-not-dual-stacked.patch
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-15-chore-add-provider-and-sample-configuration-for-info.patch
 
 	cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
 	cd $(DIR_APP) && ./configure \
diff --git a/src/patches/ddns-15-chore-add-provider-and-sample-configuration-for-info.patch b/src/patches/ddns-15-chore-add-provider-and-sample-configuration-for-info.patch
new file mode 100644
index 000000000..ed5561eb5
--- /dev/null
+++ b/src/patches/ddns-15-chore-add-provider-and-sample-configuration-for-info.patch
@@ -0,0 +1,61 @@ 
+From e928b37b8f5509af195d1c56ecf89c3dbfdb0072 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rouven=20Sch=C3=BCrch?= <r.schuerch@gmx.ch>
+Date: Sun, 21 Apr 2024 13:11:52 +0200
+Subject: [PATCH] chore: add provider and sample configuration for
+ infomaniak.ch
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Rouven Schürch <r.schuerch@gmx.ch>
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ ddns.conf.sample      |  6 +++++-
+ src/ddns/providers.py | 12 ++++++++++++
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/ddns.conf.sample b/ddns.conf.sample
+index f93c738..f1adf5d 100644
+--- a/ddns.conf.sample
++++ b/ddns.conf.sample
+@@ -105,12 +105,16 @@
+ # username = key
+ # password = secret
+ 
+-
+ # [test.google.com]
+ # provider = domains.google.com
+ # username = user
+ # password = pass
+ 
++# [test.infomaniak.ch]
++# provider = infomaniak.ch
++# username = user
++# password = pass
++
+ # [test.loopia.se]
+ # provider = loopia.se
+ # username = user
+diff --git a/src/ddns/providers.py b/src/ddns/providers.py
+index 8025720..59f9665 100644
+--- a/src/ddns/providers.py
++++ b/src/ddns/providers.py
+@@ -2005,3 +2005,15 @@ class DDNSProviderZZZZ(DDNSProvider):
+ 
+ 		# If we got here, some other update error happened.
+ 		raise DDNSUpdateError
++
++class DDNSProviderInfomaniak(DDNSProtocolDynDNS2, DDNSProvider):
++	handle    = "infomaniak.ch"
++	name      = "infomaniak"
++	website   = "https://www.infomaniak.ch"
++	protocols = ("ipv4",)
++
++	# Detailed information about how to send the update request and possible response
++	# codes can be obtained from here.
++	# https://www.infomaniak.com/de/support/faq/2376/dyndns-aktualisieren-eines-dynamischen-dns-uber-die-api
++
++	url = "https://infomaniak.com/nic/update"
+-- 
+2.39.2
+