From unknown Mon Apr 27 20:24:41 2026
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
X-Loop: owner@bugs.x2go.org
From: owner@bugs.x2go.org (X2Go Bug Tracking System)
Subject: Bug#865 closed by Stefan Baur <X2Go-ML-1@baur-itcs.de>
 (Closing/Archiving)
Message-ID: <handler.865.q865.170665182820359.notifdone@bugs.x2go.org>
References: <4af06456-62f3-44e2-a313-0ac0221adb3b@baur-itcs.de>
X-X2go-PR-Keywords: fixed-upstream patch
X-X2go-PR-Message: they-closed 865
X-X2go-PR-Package: nx-libs
Date: Tue, 30 Jan 2024 22:00:05 +0000
Content-Type: multipart/mixed; boundary="----------=_1706652005-20741-0"

This is a multi-part message in MIME format...

------------=_1706652005-20741-0
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

This is an automatic notification regarding your Bug report
which was filed against the nx-libs package:

#865: New API call for nxcom (nx-libs) NXTransCleanupForReconnect

It has been closed by Stefan Baur <X2Go-ML-1@baur-itcs.de>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Stefan Baur <X2Go-ML-1=
@baur-itcs.de> by
replying to this email.


--=20
865: https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=3D865
X2Go Bug Tracking System
Contact owner@bugs.x2go.org with problems

------------=_1706652005-20741-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 865-quiet) by bugs.x2go.org; 30 Jan 2024 21:57:08 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,RCVD_IN_MSPIKE_H5,
	RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham
	autolearn_force=no version=3.4.2
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.135])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 1253E5DA21
	for <865-quiet@bugs.x2go.org>; Tue, 30 Jan 2024 22:57:05 +0100 (CET)
Received: from [192.168.0.25] ([178.202.75.45]) by mrelayeu.kundenserver.de
 (mreue012 [213.165.67.97]) with ESMTPSA (Nemesis) id 1MnWx3-1qns6c43Nd-00jalh
 for <865-quiet@bugs.x2go.org>; Tue, 30 Jan 2024 22:57:04 +0100
Message-ID: <4af06456-62f3-44e2-a313-0ac0221adb3b@baur-itcs.de>
Date: Tue, 30 Jan 2024 22:57:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Stefan Baur <X2Go-ML-1@baur-itcs.de>
Content-Language: en-US
To: 865-quiet@bugs.x2go.org
Subject: Closing/Archiving
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K1:hJyYgmJl2wYxwWqHtOXhvBEljptszHhjvsYMe72Z7u6aIUrZr/5
 T0SS7Bm8plA8DSRxJ2Y9BzJODO5TSrc86tHeZ5MT/E1GUeD3X/XFfO+WzuST/2uMJRAbJOP
 lstO7jFS78SAeW9KjRvOwsRtoKMeLSn4b4Le+bvXWCQ55NOfb4u4CqUKalWz1mpA9xX6E9+
 u+tgIRo2Xj8Mb/F7VUFTQ==
UI-OutboundReport: notjunk:1;M01:P0:Fv3YDoD3K58=;TVFP57eiBd0ZnJ6e9WgwHKLDAYR
 JaCL2nDgE0z0CDlUj0Cwzp15an/JnMLBWis6LbBejynhcN6AytiZuKxlHgK/4oLYrit1Tw/Ie
 gXoqsAkLSYNTbzD3+diXjJskjhfnUdgptMarYHA3+qPQkPesuJE5DfAXVCloROj5cA3kJdE4J
 ww1tCcQQ71yb572/3dungkWl6VqXMifuwdh3rttGog+Sl+gNM5kElcjII3KPUEqWhqK1PS6RJ
 ACCKFsH7uMCVbS1V/csF7fD8Gy0Ht4prpLJvwhvNMsr+YQytv7651NJuAHFpxc+t8hJqW7IdJ
 O6BXdTjl19EBXtCUnRaiH0TEr+QSRJiOZeR/sXUGmTWcAFvdmhfBl88dm/Q2o10KIeYD18pX0
 u64YmncBrMCedl86gC13Nn4wglUrTWRX37u3OfeRDadZsCuwxl0/A0sRE2jr8mfC5DRjToqyG
 rOGBjRVV0YjdX/trRgipUcLEKB3u0855Vi8T+YN0csLcGRsiECBMAHyPwX8t0IF81/RQJonTu
 V2H/zDSCkmkFTIeS6Zyb5gBByQcog33/ySUP+TV0GoCFADcX5VTLYbvE884Om3q1axBAi2k9G
 ul4axVVj35D/CQ3AQgQY1cMcHIp1PK+NRO4sD04aReCJFYcq60q2n+NfzffuvaT3r9AosNdPR
 2AftTYKuU+rZ2pu4nA1nRfbb+gJqm/aUjk6nUDpRhIkW6cwof6n1LSYf78pbR9kJYvKk/h1sj
 s+XWWyn8jL14Jk/MooH7jDEuKRkSzBhbYJTMmbxvFnwO7Ld9fDXsgEWiQy7jMBF+kqYTEKnBG
 uaQakMAGBx0LaIvWHaGWukXVMd1rWxlrYUtfEievE3iFPTFVe5rHaP/re8lrViXAlSoJR53h/
 uprsoqmmFlnvmCA==

Control: close -1
Control: archive -1

This bug has long since been moved to the Arctica Project Github issue 
tracker.

Kind Regards,
Stefan Baur
-- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243


------------=_1706652005-20741-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by bugs.x2go.org; 7 May 2015 22:40:29 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,HTML_MESSAGE
	autolearn=ham version=3.3.2
X-Greylist: delayed 314 seconds by postgrey-1.34 at ymir.das-netzwerkteam.de; Fri, 08 May 2015 00:40:26 CEST
Received: from thor.qindel.com (smtp.qindel.com [89.140.90.34])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTP id 13E515DA80
	for <submit@bugs.x2go.org>; Fri,  8 May 2015 00:40:25 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by thor.qindel.com (Postfix) with ESMTP id E32DD6020E
	for <submit@bugs.x2go.org>; Fri,  8 May 2015 00:40:25 +0200 (CEST)
Received: from thor.qindel.com ([127.0.0.1])
	by localhost (thor.qindel.com [127.0.0.1]) (amavisd-new, port 10032)
	with ESMTP id 0ISONZYdD4dh for <submit@bugs.x2go.org>;
	Fri,  8 May 2015 00:40:25 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by thor.qindel.com (Postfix) with ESMTP id 670396020F
	for <submit@bugs.x2go.org>; Fri,  8 May 2015 00:40:25 +0200 (CEST)
X-Virus-Scanned: amavisd-new at thor.qindel.com
Received: from thor.qindel.com ([127.0.0.1])
	by localhost (thor.qindel.com [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id 2_wXD9cFoqyO for <submit@bugs.x2go.org>;
	Fri,  8 May 2015 00:40:25 +0200 (CEST)
Received: from [10.1.0.254] (qvd-254.int.qindel.com [172.26.11.254])
	by thor.qindel.com (Postfix) with ESMTPSA id 2D0606020E
	for <submit@bugs.x2go.org>; Fri,  8 May 2015 00:40:25 +0200 (CEST)
Message-ID: <554BE9D8.8080007@Qindel.ES>
Date: Fri, 08 May 2015 00:40:24 +0200
From: Nito Martinez <Nito@Qindel.ES>
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: submit@bugs.x2go.org
Subject: New API call for nxcom (nx-libs) NXTransCleanupForReconnect
Content-Type: multipart/mixed;
 boundary="------------030507060506090903000205"

This is a multi-part message in MIME format.
--------------030507060506090903000205
Content-Type: multipart/alternative;
 boundary="------------030509030903080302010206"


--------------030509030903080302010206
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Package: nx-libs
Version: 3.5.0.28

Description:

The following patch includes support for a new API call 
NXTransCleanupForReconnect, which basically clears the state of nxcomp 
proxy side (modified nxproxy), so that a reconnection is possible.

Rationale:

Usually nxproxy clears the status of the connection by doing an exit and 
launching a new nxproxy. This strategy does not work for applications in 
IOS which do not allow forking.

Special care has been taking to not modify any of the other nxcomp code.

Regards,

Nito

--------------030509030903080302010206
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Arial">Package: nx-libs<br>
      Version: 3.5.0.28<br>
      <br>
      Description:<br>
      <br>
      The following patch includes support for a new API call
      NXTransCleanupForReconnect, which basically clears the state of
      nxcomp proxy side (modified nxproxy), so that a reconnection is
      possible.<br>
      <br>
      Rationale:<br>
      <br>
      Usually nxproxy clears the status of the connection by doing an
      exit and launching a new nxproxy. This strategy does not work for
      applications in IOS which do not allow forking.<br>
      <br>
      Special care has been taking to not modify any of the other nxcomp
      code.<br>
      <br>
      Regards,<br>
      <br>
      Nito<br>
    </font>
  </body>
</html>

--------------030509030903080302010206--

--------------030507060506090903000205
Content-Type: text/x-diff;
 name="nxcomp-reconnect.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="nxcomp-reconnect.patch"

diff --git a/nx-libs-3.5.0.22/nxcomp/Loop.cpp b/nx-libs-3.5.0.22/nxcomp/Loop.cpp
index 8c19467..16b757a 100644
--- a/nx-libs-3.5.0.22/nxcomp/Loop.cpp
+++ b/nx-libs-3.5.0.22/nxcomp/Loop.cpp
@@ -1311,6 +1311,11 @@ void NXTransCleanup()
   HandleCleanup();
 }

+void NXTransCleanupForReconnect()
+{
+  HandleCleanupForReconnect();
+}
+
 //
 // Check the parameters for subsequent
 // initialization of the NX transport.
@@ -4835,6 +4840,28 @@ int StartKeeper()
   return 1;
 }

+void HandleCleanupForReconnect()
+{
+  #ifdef TEST
+  *logofs << "Loop: Going to clean up system resources for Reconnect "
+          << "in process '" << getpid() << "'.\n"
+          << logofs_flush;
+  #endif
+  handleTerminatedInLoop();
+  DisableSignals();
+  if (control)
+    CleanupChildren();
+  CleanupListeners();
+  CleanupSockets();
+  CleanupKeeper();
+  CleanupStreams();
+  CleanupLocal();
+  CleanupGlobal();
+  RestoreSignals();
+  ServerCache::lastInitReply.set(0,NULL);
+  ServerCache::lastKeymap.set(0,NULL);
+  ServerCache::getKeyboardMappingLastMap.set(0,NULL);
+}
 void HandleCleanup(int code)
 {
   #ifdef TEST
diff --git a/nx-libs-3.5.0.22/nxcomp/Misc.h b/nx-libs-3.5.0.22/nxcomp/Misc.h
index 21a5030..0cc3969 100644
--- a/nx-libs-3.5.0.22/nxcomp/Misc.h
+++ b/nx-libs-3.5.0.22/nxcomp/Misc.h
@@ -140,6 +140,7 @@ void HandleShutdown() __attribute__((noreturn));
 extern "C"
 {
   void HandleCleanup(int code = 0) __attribute__((noreturn));
+  void HandleCleanupForReconnect();
 }

 //
diff --git a/nx-libs-3.5.0.22/nxcomp/NX.h b/nx-libs-3.5.0.22/nxcomp/NX.h
index 2dbf686..0e4734e 100644
--- a/nx-libs-3.5.0.22/nxcomp/NX.h
+++ b/nx-libs-3.5.0.22/nxcomp/NX.h
@@ -442,6 +442,14 @@ extern int NXTransParseEnvironment(const char *env, int force);

 extern void NXTransCleanup(void) __attribute__((noreturn));

+/*
+ * Cleans up the global and local state
+ * (the same way as NXTransCleanup does)
+ * but does not exit the process
+ * Needed for IOS platform
+ */
+extern void NXTransCleanupForReconnect(void);
+
 extern const char* NXVersion();
 extern int NXMajorVersion();
 extern int NXMinorVersion();

--------------030507060506090903000205--

------------=_1706652005-20741-0--
