From e002bd90d14dffa94f81ace744dd07e59722fb90 Mon Sep 17 00:00:00 2001 From: Lars The Date: Fri, 13 Sep 2024 21:42:42 +0200 Subject: [PATCH 1/2] Handle occupied remote SAT>IP server Within the satipc module, when a remote SAT>IP server sends a 404 "Not Found" response instead of retrying the Request it stays quiet. --- src/satipc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/satipc.c b/src/satipc.c index 5c90db3f34..957335307a 100644 --- a/src/satipc.c +++ b/src/satipc.c @@ -273,7 +273,8 @@ int satipc_reply(sockets *s) { } if (rc == 404) { - sip->state = SATIP_STATE_OPTIONS; + LOG("satipc %d: Ocuppied server, can't use it", s->sid); + sip->state = SATIP_STATE_INACTIVE; } // quirk for Geniatech EyeTV Netstream 4C when fe=x is in the URL From 9c99cc7b28895eb75cbc08a1de0cf0efdb835b68 Mon Sep 17 00:00:00 2001 From: Lars The Date: Fri, 13 Sep 2024 22:23:22 +0200 Subject: [PATCH 2/2] Generic handle of SAT>IP remote busy server Handle the 404 (from minisatip) and 503 (No-More: frontends) equally. --- src/satipc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/satipc.c b/src/satipc.c index 957335307a..966e35c2d7 100644 --- a/src/satipc.c +++ b/src/satipc.c @@ -272,9 +272,8 @@ int satipc_reply(sockets *s) { ad->tp.mtype = QAM_256; } - if (rc == 404) { - LOG("satipc %d: Ocuppied server, can't use it", s->sid); - sip->state = SATIP_STATE_INACTIVE; + if (rc == 404 && (strstr((char *)s->buf, "minisatip") != NULL)) { + rc = 503; // Hack the response from minisatip! } // quirk for Geniatech EyeTV Netstream 4C when fe=x is in the URL @@ -283,7 +282,8 @@ int satipc_reply(sockets *s) { sip->satip_fe = 0; if (rc == 454 || rc == 503 || rc == 405) { - sip->state = SATIP_STATE_OPTIONS; + LOG("satipc %d: Ocuppied server, can't use it", s->sid); + sip->state = SATIP_STATE_INACTIVE; sip->last_setup = -10000; } else if (rc != 200) { if (rc != 0) // AVM Fritz!Box workaround sdp reply without header