From 4b3abbf54683a942a8ee14a236c24e89ff1b4c70 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 25 Nov 2021 13:09:56 +0100 Subject: [PATCH] dns/dyndns: patch this spot PR: https://github.com/opnsense/plugins/issues/2666 --- dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc b/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc index d7b5582cf..143929ec8 100644 --- a/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc +++ b/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc @@ -1499,7 +1499,8 @@ class updatedns } break; case 'namecheap': - $tmp = str_replace("^M", "", $data); + /* technically this is wrong but proves a point about the document being broken remotely */ + $tmp = preg_replace('/(\<\?xml[^?]+?encoding=.?)utf-16([^?]+?\?\>)/i', '$1utf-8$2', $data); $ncresponse = simplexml_load_string($tmp); if (preg_match("/internal server error/i", $data)) { $status = "Dynamic DNS: (Error) Server side error.";