From 5250652c7d867cae66dfc18f448385d9ee33a92f Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Sun, 4 May 2025 10:02:09 -0400 Subject: [PATCH] Detecting if TLS remote is disconnected --- app/feeder.c | 1 + lib/devsoc.c | 5 +++++ lib/unitls.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/feeder.c b/app/feeder.c index 3ca0523..21931a4 100644 --- a/app/feeder.c +++ b/app/feeder.c @@ -270,6 +270,7 @@ while (proceed==true) { break; case -1 : //signal received (void) rou_alert(0,"A Signal was received"); + phase=999; //No need to go further break; case -2 : //remot disconnected received=rou_freestr(received); diff --git a/lib/devsoc.c b/lib/devsoc.c index d673b9f..2db032c 100644 --- a/lib/devsoc.c +++ b/lib/devsoc.c @@ -937,6 +937,11 @@ if ((soc!=(SOCTYP *)0)&&(isconnected(soc)==true)) { case 0 : //polling timeout break; case 1 : //polling early return (data or event) + //checking if link still available + if (tls_write(soc->tls,(char *)0,0)<0) { + (void) rou_alert(0,"%s, TLS link disconnect detected",OPEP); + status=0; + } break; default : break; diff --git a/lib/unitls.c b/lib/unitls.c index c0a9fc6..901b47d 100644 --- a/lib/unitls.c +++ b/lib/unitls.c @@ -165,7 +165,7 @@ _Bool proceed; done=false; mode=SSL_VERIFY_NONE; -mode=SSL_VERIFY_PEER; +//mode=SSL_VERIFY_PEER; //to have both end check peer certificate phase=0; proceed=true; while (proceed==true) { -- 2.47.3