<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Rebex Q&amp;A Forum - Recent questions</title>
<link>https://forum.rebex.net/questions</link>
<description>Powered by Question2Answer</description>
<item>
<title>How to quickly cancel a blocked Read call in HTTP(S)</title>
<link>https://forum.rebex.net/23566/how-to-quickly-cancel-a-blocked-read-call-in-http-s</link>
<description>&lt;p&gt;I want to cancel a Read call that has a very long delay after establishing an HTTP connection.&lt;/p&gt;

&lt;p&gt;Will it be possible to cancel quickly using &lt;code&gt;Cancellation.Register(() =&amp;gt; stream.Close())&lt;/code&gt; as shown below?&lt;/p&gt;

&lt;p&gt;Please let me know if there is a correct cancellation method.&lt;/p&gt;

&lt;p&gt;Current method in use (simplified)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;try
{
    var stream = response.GetResponseStream();
    using var registration = canceltoken.Register(()=&amp;gt; stream.Close());
    while(canceltoken.IsCancellationRequested == false)
    {
        var data = stream.Read(buffer, 0, length);
        ...
    }
}
catch(Exception) when (cancelToken.IsCancellationRequested)
{
    canceled = true;
}
catch(Exception ex)
{
    error = ex.Message;
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23566/how-to-quickly-cancel-a-blocked-read-call-in-http-s</guid>
<pubDate>Fri, 19 Jun 2026 02:18:42 +0000</pubDate>
</item>
<item>
<title>Specify encryption on mailing</title>
<link>https://forum.rebex.net/23564/specify-encryption-on-mailing</link>
<description>&lt;p&gt;We are currently encrypting our mails as described in &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.rebex.net/mail-pack/features/s-mime.aspx#rsa-oaep&quot;&gt;Encrypting using RSA with OAEP (RSAES-OAEP)&lt;/a&gt;  .&lt;/p&gt;

&lt;p&gt;We have a request from the receiving party to switch the encryption from AES-128 CBC to AES-128 GCM. But it seems &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.rebex.net/doc/api/Rebex.Mail.MailEncryptionAlgorithm.html&quot;&gt;MailEncryptionAlgorithm&lt;/a&gt; is not that specific. We can specify AES-128 but have no clue as to what 'version' is used.&lt;/p&gt;

&lt;p&gt;Is there a way to specify the algorithm that narrowly using Rebex? &lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23564/specify-encryption-on-mailing</guid>
<pubDate>Thu, 18 Jun 2026 05:58:05 +0000</pubDate>
</item>
<item>
<title>X11 forwarding support</title>
<link>https://forum.rebex.net/23558/x11-forwarding-support</link>
<description>&lt;p&gt;Hi Rebex Team!&lt;/p&gt;

&lt;p&gt;I’d like to request support for SSH X11 forwarding in Rebex SSH. A lot of my customers are still relying on this and use our PuTTY integration to do X11. I would like to drop PuTTY and it seems this is one of the most critical parts which is blocking me.&lt;/p&gt;

&lt;p&gt;Would you consider adding support for it?&lt;/p&gt;

&lt;p&gt;Alternatively, a lower-level API for sending custom channel requests and accepting channel-open requests by type would also make it possible to build this myself.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br&gt;
Stefan&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23558/x11-forwarding-support</guid>
<pubDate>Mon, 11 May 2026 07:42:05 +0000</pubDate>
</item>
<item>
<title>Do you have any plans regarding NFS or SMBClient?</title>
<link>https://forum.rebex.net/23556/do-you-have-any-plans-regarding-nfs-or-smbclient</link>
<description>&lt;p&gt;Do you happen to have any plans to develop an NFS Client or an SMB Client?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23556/do-you-have-any-plans-regarding-nfs-or-smbclient</guid>
<pubDate>Mon, 04 May 2026 07:43:13 +0000</pubDate>
</item>
<item>
<title>FtpItemPermissions not set properly</title>
<link>https://forum.rebex.net/23551/ftpitempermissions-not-set-properly</link>
<description>&lt;p&gt;-rwsr-xr-x    1 ROOT     SYS1            4096 Feb 01  2024 setuid.sh&lt;br&gt;
-rwxr-sr-x    1 ROOT     SPECIAL          512 Feb 01  2024 setgid.sh&lt;/p&gt;

&lt;p&gt;I noticed that with the above listing, the SetGid and SetUid bit of the item's Permissions is not set.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23551/ftpitempermissions-not-set-properly</guid>
<pubDate>Wed, 22 Apr 2026 07:19:21 +0000</pubDate>
</item>
<item>
<title>TinySFTPServer1.0.23 : sshIPBindings configuration not reflected in UI</title>
<link>https://forum.rebex.net/23549/tinysftpserver1-sshipbindings-configuration-reflected</link>
<description>&lt;p&gt;&amp;lt; add key=&quot;sshIPBindings&quot; value=&quot;10.1.1.10&quot; / &amp;gt;&lt;/p&gt;

&lt;p&gt;No matter what value(s) are added to the above configuration, the Server IP in the UI never changes to reflect this configuration.&lt;/p&gt;

&lt;p&gt;When setting to debug and starting server, the correct sshIPBindings configuration value(s) are shown in the output.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23549/tinysftpserver1-sshipbindings-configuration-reflected</guid>
<pubDate>Sat, 11 Apr 2026 20:33:27 +0000</pubDate>
</item>
<item>
<title>How to obtain the actual file size before the file data transfer begins?</title>
<link>https://forum.rebex.net/23545/how-obtain-actual-file-size-before-file-data-transfer-begins</link>
<description>&lt;p&gt;I am using FileServer as an SFTP server. When a user uploads a file, the&lt;br&gt;
CreateFile(DirectoryNode parent, FileNode child) method—implemented via ReadWriteFileSystemProvider, gets triggered.&lt;/p&gt;

&lt;p&gt;Within the child object, I can access details such as the file path and filename. However, the length parameter is always 0, even when the actual file size is greater than 0 bytes.&lt;/p&gt;

&lt;p&gt;On the other hand, once the upload is completed, the FileUploaded event is triggered, where FileTransferredEventArgs.BytesTransferred correctly provides the actual file size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt;&lt;br&gt;
How can I obtain the actual file size before the file data transfer begins in FileServer (SFTP)?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23545/how-obtain-actual-file-size-before-file-data-transfer-begins</guid>
<pubDate>Tue, 31 Mar 2026 14:55:19 +0000</pubDate>
</item>
<item>
<title>Fatal error 'ProtocolVersion' has been encountered on the local connection end.</title>
<link>https://forum.rebex.net/23539/fatal-error-protocolversion-encountered-local-connection</link>
<description>&lt;p&gt;I'm trying to setup proxifier+tlsproxy, but can't get it to function properly.&lt;br&gt;
What I am trying to achieve:&lt;br&gt;
Old Software on PC (doesn't support new TLS, can't change destination to local) HTTPS &amp;lt;-&amp;gt; proxifier (certain URLs) HTTPS &amp;lt;-&amp;gt; TLSProxy 127.0.0.99:9500 (and other, separate ports for different URLs) HTTPS &amp;lt;-&amp;gt; TLS 1.2/1.3 Server (Microsoft Azure)&lt;/p&gt;

&lt;p&gt;My config looks like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  - name: SomeName
    in:
      address: 127.0.0.99
      port: 9500
      protocol: HTTPS
      tlsVersions: TLS10,TLS11,TLS12
      tlsCipherSuites: All

    out:
      address: SomeURL.com
      port: 443
      protocol: HTTPS
      tlsVersions: TLS12,TLS13

    certificate: CertPath.pfx; pwd=&quot;SomePassword&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I've also tried overriding SNI and Host but that didn't work either.&lt;br&gt;
In my investigation I've tried:&lt;br&gt;
FireFox (https) &amp;lt;-&amp;gt; proxifier (https) &amp;lt;-&amp;gt; TLSProxy (https) &amp;lt;-&amp;gt; Server&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[INF][-]: Connection from 127.0.0.1:31216 accepted on 127.0.0.99:9500.
[INF][-]: Starting tunnel (127.0.0.1:31216) --'HTTPS/TLS10,TLS11,TLS12'--&amp;gt; (9500) --'HTTPS/TLS12,TLS13'--&amp;gt; (SomeURL.com:443).
[INF][I]: Assembly: Rebex.Tls 8.0.9278 for .NET 8
[INF][I]: Starting TLS negotiation.
[DBG][I]: Using TLS 1.2 core.
[DBG][I]: Enabled cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Applicable cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Using modern transport layer.
[DBG][I]: Invalid TLS packet received:
CONNECT ServerIP:443 HTTP/1.1..Host: ServerIP:443....
[DBG][I]: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
[INF][I]: Fatal Alert:ProtocolVersion was sent.
[VRB][I]: Sent TLS packet: 
......F
[WRN][-]: (127.0.0.1) Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
[DBG][-]: Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
 ---&amp;gt; Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
   --- End of inner exception stack trace ---
   at ydw.odm.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.Utils.Functional.FuncUtils.&amp;lt;innerFinally&amp;gt;d__44.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocv.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocu.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukb.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukc.MoveNext()
--- End of stack trace from previous location ---
   at yei.xny.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnx.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnr.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdi.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdg.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.TlsProxy.Core.Tunnel.&amp;lt;Start&amp;gt;d__39.MoveNext()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;curl (no arguments) &amp;lt;-&amp;gt; TLSProxy (https) &amp;lt;-&amp;gt; Server&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[INF][-]: Connection from 127.0.0.1:31259 accepted on 127.0.0.99:9500.
[INF][-]: Starting tunnel (127.0.0.1:31259) --'HTTPS/TLS10,TLS11,TLS12'--&amp;gt; (9500) --'HTTPS/TLS12,TLS13'--&amp;gt; (SomeURL.com:443).
[INF][I]: Assembly: Rebex.Tls 8.0.9278 for .NET 8
[INF][I]: Starting TLS negotiation.
[DBG][I]: Using TLS 1.2 core.
[DBG][I]: Enabled cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Applicable cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Using modern transport layer.
[DBG][I]: Invalid TLS packet received:
GET / HTTP/1.1..Host: 127.0.0.99:9500..User-Agent: curl/8.18.0..Accept: */*....
[DBG][I]: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
[INF][I]: Fatal Alert:ProtocolVersion was sent.
[VRB][I]: Sent TLS packet: 
......F
[WRN][-]: (127.0.0.1) Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
[DBG][-]: Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
 ---&amp;gt; Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
   --- End of inner exception stack trace ---
   at ydw.odm.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.Utils.Functional.FuncUtils.&amp;lt;innerFinally&amp;gt;d__44.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocv.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocu.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukb.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukc.MoveNext()
--- End of stack trace from previous location ---
   at yei.xny.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnx.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnr.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdi.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdg.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.TlsProxy.Core.Tunnel.&amp;lt;Start&amp;gt;d__39.MoveNext()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;curl (https) &amp;lt;-&amp;gt; TLSProxy (https) &amp;lt;-&amp;gt; Server&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[INF][O]: Connecting to ServerIP:443 using TlsClientSocket.
[VRB][I]: Received TLS packet: 
...
[INF][O]: Negotiating TLS 1.3, ECDH with secp256r1, AES with 256-bit key in GCM mode, SHA-384.
...
[INF][O]: Connection secured using cipher: TLS 1.3, ephemeral ECDH, AES with 256-bit key in GCM mode, AEAD.
[INF][-]: Established tunnel (127.0.0.1:31856) --'HTTPS/TLS12'--&amp;gt; (9500) --'HTTPS/TLS13'--&amp;gt; (SomeURL.com:443).
[DBG][-]: Endpoints: IN=[127.0.0.1:31856; 127.0.0.99:9500], OUT=[IP:31857; ServerIP:443].
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I've tried to catch curl with proxifier, but for some reason it doesn't see curl.&lt;br&gt;
Proxifier tells me this for firefox: Could not connect through proxy 127.0.0.99(127.0.0.99):9500 - Proxy returned incorrect HTTP reply.&lt;br&gt;
Trying test from proxifier (HTTPS) &amp;lt;-&amp;gt; TLSProxy (HTTPS) &amp;lt;-&amp;gt; Server:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Starting: Test 1: Connection to the Proxy Server
IP Address: 127.0.0.99
Connection established
Test passed.
Starting: Test 2: Connection through the Proxy Server
Error : connection to the proxy server was closed unexpectedly. Please make sure that the proxy server protocol and address are correct.
Test failed.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;TLSProxy side:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[INF][-]: Connection from 127.0.0.1:33473 accepted on 127.0.0.99:9500.
[INF][-]: Starting tunnel (127.0.0.1:33473) --'HTTPS/TLS10,TLS11,TLS12'--&amp;gt; (9500) --'HTTPS/TLS12,TLS13'--&amp;gt; (SomeURL.com:443).
[INF][I]: Assembly: Rebex.Tls 8.0.9278 for .NET 8
[INF][I]: Starting TLS negotiation.
[DBG][I]: Using TLS 1.2 core.
[DBG][I]: Enabled cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Applicable cipher suites: 0x0C1FFFFFFFFFFFFF.
[DBG][I]: Using modern transport layer.
[DBG][I]: Invalid TLS packet received:
CONNECT SomeURL.com:443 HTTP/1.1..User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)..Host: SomeURL.com:443....
[DBG][I]: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
[INF][I]: Fatal Alert:ProtocolVersion was sent.
[VRB][I]: Sent TLS packet: 
......F
[WRN][-]: (127.0.0.1) Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
[DBG][-]: Cannot start inbound tunnel due to: Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
 ---&amp;gt; Rebex.Net.TlsException: Fatal error 'ProtocolVersion' has been encountered on the local connection end.
   at ydw.odc.MoveNext()
--- End of stack trace from previous location ---
   at ydw.odm.MoveNext()
   --- End of inner exception stack trace ---
   at ydw.odm.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.Utils.Functional.FuncUtils.&amp;lt;innerFinally&amp;gt;d__44.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocv.MoveNext()
--- End of stack trace from previous location ---
   at ydw.ocu.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukb.MoveNext()
--- End of stack trace from previous location ---
   at ydt.ukc.MoveNext()
--- End of stack trace from previous location ---
   at yei.xny.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnx.MoveNext()
--- End of stack trace from previous location ---
   at yei.xnr.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdi.MoveNext()
--- End of stack trace from previous location ---
   at wmh.pdg.MoveNext()
--- End of stack trace from previous location ---
   at Rebex.TlsProxy.Core.Tunnel.&amp;lt;Start&amp;gt;d__39.MoveNext()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Can you help me figuring out, what I am doing wrong?&lt;br&gt;
P.S. I've successfully paired Proxifier with other Proxy-programs, never had any issues, but they are not suitable for changing TLS.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23539/fatal-error-protocolversion-encountered-local-connection</guid>
<pubDate>Thu, 12 Mar 2026 12:14:28 +0000</pubDate>
</item>
<item>
<title>Index was out of range exception in SFTP (Rebex version 7.0.9313)</title>
<link>https://forum.rebex.net/23529/index-was-out-of-range-exception-in-sftp-rebex-version-7-9313</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;The following error occurs very rarely in Rebex version 7.0.9313:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at Rebex.Net.Sftp.adqbk(String p0, Regex p1, ppnka p2, xsttp p3)
at Rebex.Net.Sftp.GetList(String path)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Please understand that we cannot request any more logs, as these are customer logs.&lt;/p&gt;

&lt;p&gt;Has this been resolved in version 7.0.9448?&lt;/p&gt;

&lt;p&gt;Thank you,&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23529/index-was-out-of-range-exception-in-sftp-rebex-version-7-9313</guid>
<pubDate>Fri, 27 Feb 2026 05:34:19 +0000</pubDate>
</item>
<item>
<title>Capture multi-line command being executed from TerminalControl</title>
<link>https://forum.rebex.net/23517/capture-multi-line-command-being-executed-terminalcontrol</link>
<description>&lt;p&gt;I have created an SSH client in WinForms (C#) using Rebex.TerminalEmulation.TerminalControl. I am able to successfully connect, execute commands from the terminal and intercept SSH shell commands when the user presses the ENTER key on the control. This works correctly for single-line commands. However, I need a way to capture the complete command when it spans multiple lines and the user presses ENTER.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.postimg.cc/sx5mJM7d/test-2.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;

&lt;p&gt;For example, in the first case (Green), the command “curl -v telnet://google.com:443” is a single-line command. It can be successfully captured as the last line on the TerminalControl using the Screen.GetRegionText() function.&lt;/p&gt;

&lt;p&gt;However, in the second case (Red), the command spans two lines. When intercepted using Screen.GetRegionText(), it only captures “:443” instead of the complete command curl -v “telnet://abc.xyz.google.com:443”.&lt;/p&gt;

&lt;p&gt;In many scenarios, user may enter commands that span 3, 4, 5, or even more lines in the terminal. Is there a way to properly capture or intercept the full multi-line command instead of just the last line?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23517/capture-multi-line-command-being-executed-terminalcontrol</guid>
<pubDate>Wed, 25 Feb 2026 15:14:06 +0000</pubDate>
</item>
<item>
<title>SSH PQC Support</title>
<link>https://forum.rebex.net/23516/ssh-pqc-support</link>
<description>&lt;p&gt;I'm using the FileServer component for SFTP transfers, and I'd like to support post-quantum key exchange to protected against harvest-now-decrypt-later attacks.&lt;/p&gt;

&lt;p&gt;Could the mlkem768x25519-sha256 and sntrup761x25519-sha512 algorithms be included in a future update please?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23516/ssh-pqc-support</guid>
<pubDate>Wed, 25 Feb 2026 14:14:03 +0000</pubDate>
</item>
<item>
<title>Certificate based auth-  when will Rebex ssh support ssh agent?</title>
<link>https://forum.rebex.net/23508/certificate-based-auth-when-will-rebex-ssh-support-ssh-agent</link>
<description>&lt;p&gt;I’ve noticed several forum posts dating back to 2020 asking about support for SSH agents. As of February 2026, there still doesn’t seem to be any update on this feature.&lt;/p&gt;

&lt;p&gt;This limitation affects third‑party applications embedding Rebex (such as RoyalTS), which cannot make use of SSH agents. In my case, our infrastructure relies heavily on Azure ARC SSH, but we’re unable to leverage Rebex together with Windows’ ssh-agent.exe.&lt;/p&gt;

&lt;p&gt;I’m not a developer, so I can’t judge the complexity of implementing this. However, in today’s environment, SSH agent support feels like a “must‑have” feature to remain relevant.&lt;/p&gt;

&lt;p&gt;A formal response in the Q&amp;amp;A section—or any official communication—would be greatly appreciated.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23508/certificate-based-auth-when-will-rebex-ssh-support-ssh-agent</guid>
<pubDate>Thu, 12 Feb 2026 15:18:01 +0000</pubDate>
</item>
<item>
<title>Websocket connection : SSLAceptsAllCertificates = false fails in .NET 9 MAUI but works in Xamarin / .NET 8</title>
<link>https://forum.rebex.net/23504/websocket-connection-sslaceptsallcertificates-xamarin</link>
<description>&lt;p&gt;We are encountering an SSL/TLS handshake issue with a secure WebSocket (WSS) connection after migrating our app to .NET 9 MAUI (iOS).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observed behavior:&lt;/strong&gt;&lt;br&gt;
In Xamarin and .NET 8, setting &lt;em&gt;SSLAcceptsAllCertificates = false&lt;/em&gt; works correctly for the WebSocket connection.&lt;br&gt;
In .NET 9 MAUI, the WebSocket connection fails when &lt;em&gt;SSLAcceptsAllCertificates = false&lt;/em&gt;.&lt;br&gt;
The same WebSocket connection works when SSLAcceptsAllCertificates = true.&lt;/p&gt;

&lt;p&gt;Is there a reason that the issue may be related to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stricter SSL/TLS validation or security changes introduced in .NET 9, specifically affecting WSS,or&lt;/li&gt;
&lt;li&gt;TLS / certificate compatibility issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Rebex log file:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;026-01-31 18:00:07.571 Opening log file.&lt;br&gt;
2026-01-31 18:00:07.572 INFO FileLogWriter(1)[1] Info: Assembly: Rebex.Common 7.0.8720 for .NET 8.0&lt;br&gt;
2026-01-31 18:00:07.574 INFO FileLogWriter(1)[1] Info: Platform: iOS (Darwin 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:48:46 PDT 2025; root:xnu-11417.121.6~2/RELEASE&lt;em&gt;ARM64&lt;/em&gt;T8103) 64-bit; CLR: .NET 9.0.9&lt;br&gt;
2026-01-31 18:00:28.476 INFO WebSocketClient(2)[1] WebSocket: Connecting to 'wss://xxx.xxx.0.1:port/maintenance'...&lt;br&gt;
2026-01-31 18:00:28.476 INFO WebSocketClient(2)[1] Info: Assembly: Rebex.WebSocket 7.0.8720 for .NET 8.0&lt;br&gt;
2026-01-31 18:00:28.476 INFO WebSocketClient(2)[1] Info: Platform: iOS (Darwin 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:48:46 PDT 2025; root:xnu-11417.121.6~2/RELEASE&lt;em&gt;ARM64&lt;/em&gt;T8103) 64-bit; CLR: .NET 9.0.9&lt;br&gt;
2026-01-31 18:00:28.484 INFO WebSocketClient(2)[16] HTTP: Connecting to '&lt;a rel=&quot;nofollow&quot; href=&quot;https://xxx.xxx.0.1:port&quot;&gt;https://xxx.xxx.0.1:port&lt;/a&gt;'...&lt;br&gt;
2026-01-31 18:00:28.713 INFO WebSocketClient(2)[16] TLS: Fatal Alert:HandshakeFailure was received.&lt;br&gt;
2026-01-31 18:00:28.736 ERROR WebSocketClient(2)[16] HTTP: Error while sending request: Rebex.Net.TlsException: Fatal error 'HandshakeFailure' has been reported by the remote connection end.&lt;br&gt;
 ---&amp;gt; Rebex.Net.TlsException: Fatal error 'HandshakeFailure' has been reported by the remote connection end.&lt;br&gt;
   at xoaqd.tfdcv.afkck(Byte[] p0, Int32 p1, Int32 p2)&lt;br&gt;
   at xoaqd.gkalo.bafky(Byte[] p0, Int32 p1, Int32 p2)&lt;br&gt;
   at xoaqd.gkalo.sbpqr()&lt;br&gt;
   --- End of inner exception stack trace ---&lt;br&gt;
   at xoaqd.gkalo.sbpqr()&lt;br&gt;
   at xoaqd.gkalo.iblqr()&lt;br&gt;
   at xoaqd.kkpkm.tfmmk()&lt;br&gt;
   at xoaqd.kkpkm.yeisg()&lt;br&gt;
   at Rebex.Net.TlsSocket.srugk()&lt;br&gt;
   at Rebex.Net.TlsSocket.Negotiate()&lt;br&gt;
   at xoaqd.uyyjp.pyfbt(ISocket p0, TlsCipher&amp;amp; p1)&lt;br&gt;
   at xoaqd.uyyjp.dxnpe()&lt;br&gt;
   at xoaqd.krjti.rzopz()&lt;br&gt;
   at xoaqd.krjti.nthub(Boolean p0)&lt;br&gt;
   at xoaqd.krjti.bdzva()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Could you please help clarify:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether this behavior change is expected for secure WebSocket (WSS) connections in .NET 9 MAUI?&lt;/li&gt;
&lt;li&gt;What the recommended approach is to make SSL validation work correctly for WebSockets without disabling certificate checks?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for your support.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23504/websocket-connection-sslaceptsallcertificates-xamarin</guid>
<pubDate>Mon, 02 Feb 2026 12:15:47 +0000</pubDate>
</item>
<item>
<title>Opening the log file in append mode.</title>
<link>https://forum.rebex.net/23496/opening-the-log-file-in-append-mode</link>
<description>&lt;p&gt;&lt;strong&gt;This question was originally asked as &lt;a rel=&quot;nofollow&quot; href=&quot;https://forum.rebex.net/22653/rebex-proxy-logging-config-clean-limit-folder-specific-size?show=23495#c23495&quot;&gt;this comment by pbisht&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;new Rebex.FileLogWriter(logPath, Rebex.LogLevel.Info);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I observed &lt;code&gt;Rebex.FileLogWriter&lt;/code&gt; opens the log file in overwrite mode, not append mode. Is it true? Can we do it in append mode or we have to make it custom?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23496/opening-the-log-file-in-append-mode</guid>
<pubDate>Mon, 19 Jan 2026 13:21:51 +0000</pubDate>
</item>
<item>
<title>How Can I Convert MBOX Emails to NSF Without Data Loss?</title>
<link>https://forum.rebex.net/23488/how-can-i-convert-mbox-emails-to-nsf-without-data-loss</link>
<description>&lt;p&gt;I have a large number of emails stored in MBOX format from an email client, such as Thunderbird. Now I need to migrate these emails to IBM Lotus Notes (NSF format) for official use. The main concern is data integrity. I do not want to lose email content, attachments, folder structure, or metadata during the conversion. Is there any safe and reliable way to convert MBOX emails to NSF without data loss? Please suggest a proper solution.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23488/how-can-i-convert-mbox-emails-to-nsf-without-data-loss</guid>
<pubDate>Tue, 13 Jan 2026 13:11:15 +0000</pubDate>
</item>
<item>
<title>Rebex.Net.SshException: your trial version is too old.</title>
<link>https://forum.rebex.net/23486/rebex-net-sshexception-your-trial-version-is-too-old</link>
<description>&lt;p&gt;We just download ssh.net and trial key from the web, but it still complain this error.&lt;br&gt;
Work environment = .NET framework 4.8&lt;br&gt;
Package version = RebexsshShell-7.0.9448-trial.exe&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23486/rebex-net-sshexception-your-trial-version-is-too-old</guid>
<pubDate>Thu, 08 Jan 2026 08:06:07 +0000</pubDate>
</item>
<item>
<title>User Creation Clarification - Using SSH Keys for Login</title>
<link>https://forum.rebex.net/23483/user-creation-clarification-using-ssh-keys-for-login</link>
<description>&lt;p&gt;We create a user for SFTP Access and set the user to use a password for login.  We want to switch this user to use a key instead.&lt;/p&gt;

&lt;p&gt;I want to clarify that this is the correct method.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the user&lt;/li&gt;
&lt;li&gt;Configure the user for SFTP login and select SSH Key Option.&lt;/li&gt;
&lt;li&gt;Generate key for the user:  ssh-keygen -t ed25519 -C username&lt;/li&gt;
&lt;li&gt;Attach the .pub file generated to the user profile&lt;/li&gt;
&lt;li&gt;Send the .pub file to the user for authentication&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the first time we are dealing with SFTP and keys and want to make sure this is set up correctly.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23483/user-creation-clarification-using-ssh-keys-for-login</guid>
<pubDate>Tue, 06 Jan 2026 17:20:13 +0000</pubDate>
</item>
<item>
<title>Are async methods in Rebex truly asynchronous now?</title>
<link>https://forum.rebex.net/23474/are-async-methods-in-rebex-truly-asynchronous-now</link>
<description>&lt;p&gt;At one point Rebex methods were not truly asynchronous. Are they now?&lt;/p&gt;

&lt;p&gt;Also, currently Rebex Async methods do not take CancelationTokens is there a reason for this?&lt;/p&gt;

&lt;p&gt;Thanks in advance,&lt;/p&gt;

&lt;p&gt;Jonathan&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23474/are-async-methods-in-rebex-truly-asynchronous-now</guid>
<pubDate>Thu, 11 Dec 2025 03:37:15 +0000</pubDate>
</item>
<item>
<title>Rebex FileServer not accepting backslash as valid path</title>
<link>https://forum.rebex.net/23465/rebex-fileserver-not-accepting-backslash-as-valid-path</link>
<description>&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;We've recently ran into an issue where using backslashes in the path causes SftpPathNotFoundException: Renci.SshNet.Common.SftpPathNotFoundException : Invalid path.&lt;/p&gt;

&lt;p&gt;We have some unit tests set up where we spin up the FTP server locally and upload a file successfully with forward slashes. But once we change those to back slashes, the tests break with the above-mentioned exception.&lt;/p&gt;

&lt;p&gt;I discovered the AcceptWindowsPaths setting, which I set to true. But nothing changed after setting this to true.&lt;/p&gt;

&lt;p&gt;This is a small snippet of our setup:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var fileServer = new FileServer();
fileServer.Settings.AllowedAuthenticationMethods = AuthenticationMethods.Password;
fileServer.Settings.AcceptWindowsPaths = true;

fileServer.Authentication += this.Authenticate;
fileServer.PathAccessAuthorization += this.PathAccessAuthorization;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I would like to know if we did this right, or do we need more configuration? Also, is there an event that we can hook into so we can do the normalization ourselves?&lt;/p&gt;

&lt;p&gt;Thank you &amp;amp; kind regards,&lt;/p&gt;

&lt;p&gt;Thomas&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23465/rebex-fileserver-not-accepting-backslash-as-valid-path</guid>
<pubDate>Wed, 03 Dec 2025 12:13:00 +0000</pubDate>
</item>
<item>
<title>SyslogMessage TimeStamp property type</title>
<link>https://forum.rebex.net/23464/syslogmessage-timestamp-property-type</link>
<description>&lt;p&gt;The SyslogMessage class had a Timestamp Member described as &quot;Gets the timestamp part of the syslog message as supplied by the client. Only available for messages received by a syslog server.&quot;&lt;br&gt;
The type of this member is DateTime? which means that it does not convey the the timezone offset element of the TIMESTAMP field of the message described in RFC5424 so a value of 1985-04-12T19:20:50.52-04:00 would lose information regarding the local time at point of generation.&lt;br&gt;
Should the type not actually be a DateTimeOffset to allow this data to be passed out intact?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23464/syslogmessage-timestamp-property-type</guid>
<pubDate>Wed, 03 Dec 2025 10:18:34 +0000</pubDate>
</item>
<item>
<title>Questions regading FileServer (SSH and SFTP)</title>
<link>https://forum.rebex.net/23461/questions-regading-fileserver-ssh-and-sftp</link>
<description>&lt;p&gt;Working on FileServer component and created server to accept SFTP and SSH connections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[SSH/SFTP Client] -----&amp;gt; [FileServer running on 22 port] -----&amp;gt; [Target SSH/SFTP Server]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have following questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;How to change server response text? When telnet to port 22 from command prompt, we see “&lt;strong&gt;SSH-2.0-RebexSSH_5.0.9209.0&lt;/strong&gt;” and there is no option to change this response text to something like “&lt;strong&gt;SSH-2.0-MyServer_1.0.0&lt;/strong&gt;”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How to change or override requested &lt;strong&gt;HostName&lt;/strong&gt; and &lt;strong&gt;Port&lt;/strong&gt; in &lt;strong&gt;TunnelRequested&lt;/strong&gt; event when client requests local port forwarding? Currently these both properties are read only.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Connecting to same server using &lt;strong&gt;FileZilla&lt;/strong&gt; (&lt;strong&gt;Directly&lt;/strong&gt; and via &lt;strong&gt;FileServer&lt;/strong&gt;) but &lt;strong&gt;Permissions&lt;/strong&gt; and &lt;strong&gt;Owner/Group&lt;/strong&gt; properties are different. How to get directory or file Permissions and Owner/Group?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://i.postimg.cc/Zn04crNv/test.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23461/questions-regading-fileserver-ssh-and-sftp</guid>
<pubDate>Sat, 29 Nov 2025 11:06:42 +0000</pubDate>
</item>
<item>
<title>Issue after upgrade to 2.17.3 - shellTypeDefault</title>
<link>https://forum.rebex.net/23452/issue-after-upgrade-to-2-17-3-shelltypedefault</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
After ugrading to 2.17.3 (from 2.15.4 i thing) when i try to add a user i receive an error, and when i try to access an old user i get the same error and cannot access the settings page for the user in web gui.&lt;/p&gt;

&lt;p&gt;The error i receive is&lt;br&gt;
Could not find the required key 'shellTypeDefault'&lt;br&gt;
in JSON object literal with keys ['shellDefaults','shellHomeDirectory',ShellPath','shellType'] to match with record type 'UserShellSettingsModel' that has fields [optional('shellHomeDirectory'),&lt;br&gt;
optional('shellPath)', optional('shellType'),required('shellTypeDefault')]&lt;/p&gt;

&lt;p&gt;So i am guessing it has to do with the new fields ShellHomeDirectory that i see when i try to create a new user, but i cannot enter anything in that field in the webgui.&lt;/p&gt;

&lt;p&gt;How can i correct this?&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Mats Sörhuus&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23452/issue-after-upgrade-to-2-17-3-shelltypedefault</guid>
<pubDate>Wed, 29 Oct 2025 06:17:56 +0000</pubDate>
</item>
<item>
<title>Websocket Memory Usage continually increasing</title>
<link>https://forum.rebex.net/23450/websocket-memory-usage-continually-increasing</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Im am trying to track down an issue with our websocket implementation and wondering if I am doing something wrong or it is an old version issue.&lt;/p&gt;

&lt;p&gt;We currently use Rebex WebSocket (R6.5) for .NET 4.6-4.8 Version (6.0.8232.0)&lt;/p&gt;

&lt;p&gt;To get at web socket messages we are using the following:-&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ArraySegment&amp;lt;Byte&amp;gt; buffer = new ArraySegment&amp;lt;byte&amp;gt;(new Byte[8192]);
WebSocketReceiveResult result;
using ( var ms = new MemoryStream()) {
 do {
result = await m_floorEventSocket.ReceiveAsync(buffer, m_floorEventCancellation);
ms.Write(buffer.Array, buffer.Offset, result.Count);
} while (!result.EndOfMessage);
//Log some data here
//Removed our data processing to rule out any issues.
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In our visual studio profiler, the memory just usage just continually increases.&lt;/p&gt;

&lt;p&gt;I understand that the memory stream will not necessarily be immediately picked up by the GC, but I would have thought after a few hours and the memory having doubled, the GC would kick in.&lt;/p&gt;

&lt;p&gt;Just wanted to check if this was the correct way to receive the messages and possibly check if this was an issue that has since been resolved and we need to update.&lt;/p&gt;

&lt;p&gt;THanks,&lt;/p&gt;

&lt;p&gt;Daniel.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23450/websocket-memory-usage-continually-increasing</guid>
<pubDate>Mon, 27 Oct 2025 01:43:23 +0000</pubDate>
</item>
<item>
<title>Issue with rsa-sha2-512 in PubkeyAcceptedAlgorithms on RHEL 9</title>
<link>https://forum.rebex.net/23437/issue-with-rsa-sha2-512-in-pubkeyacceptedalgorithms-on-rhel</link>
<description>&lt;p&gt;We’ve encountered a problem when using Rebex to connect via SFTP to a RHEL 9 server configured with a restricted set of public key algorithms.&lt;br&gt;
When the server’s sshd_config contains:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;PubkeyAcceptedAlgorithms rsa-sha2-512
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Rebex fails to authenticate using a valid private key. The error returned is:&lt;br&gt;
A public key corresponding to the supplied private key was not accepted by the server or the user name is incorrect.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;---&amp;gt; Rebex.Net.SshException: A public key corresponding to the supplied private key was not accepted by the server or the user name is incorrect.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;However, when we modify the configuration to:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;PubkeyAcceptedAlgorithms rsa-sha2-512,rsa-sha2-256
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;the connection succeeds without issue.&lt;br&gt;
This behavior has been reproduced consistently across three separate environments. Below is the relevant stack trace:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;at Rebex.Net.SshSession.ahjfn(String p0, String p1, xaxuc`1 p2, SshGssApiCredentials p3, Boolean p4)
at Rebex.Net.SshSession.icobj(String p0, String p1, xaxuc`1 p2)
at Rebex.Net.Sftp.lsqxf.lbomd(String p0, String p1, xaxuc`1 p2, syrio p3)
at Rebex.Net.Sftp.llstr(String p0, String p1, xaxuc`1 p2, syrio p3)
at Rebex.Net.Sftp.Login(String userName, SshPrivateKey privateKey)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Could you please confirm whether Rebex fully supports rsa-sha2-512 as the sole algorithm in PubkeyAcceptedAlgorithms, or if additional configuration is required?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23437/issue-with-rsa-sha2-512-in-pubkeyacceptedalgorithms-on-rhel</guid>
<pubDate>Mon, 13 Oct 2025 10:42:18 +0000</pubDate>
</item>
<item>
<title>POP3 + OAUTH2 + Office365 - ERR Server Unavailable. 21 on GetMailMessage(n)</title>
<link>https://forum.rebex.net/23433/pop3-oauth2-office365-server-unavailable-getmailmessage</link>
<description>&lt;p&gt;hi,&lt;br&gt;
thanks for your awful software and support&lt;/p&gt;

&lt;p&gt;using Rebex.Common R6.11 for .NET 4.6-4.8 I get an error 21 on RETR   command&lt;br&gt;
(we tried with  equal to 1, 10, 100, 1000 with same error result)&lt;/p&gt;

&lt;p&gt;We are using (since 2022) a POP client + OAUth2 in Office365, connecting and logging to server seems fine, failing on GetMailMessage()...&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                // get list of all messages
            int count = _popClient.GetMessageCount();

            for (int seqNo = count; seqNo &amp;gt;= 1; seqNo--)
            {
                var mail = _popClient.GetMailMessage(seqNo)
... etc etc;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The error raised a few days ago: the Rebex-based client and the envirnoment (OS, ERP software, etc ) has not been upgraded nor re-installed.&lt;/p&gt;

&lt;p&gt;My first thought was an issue with server certificates, but log did not raise error with it...&lt;br&gt;
The customer IT specialist checked the server configuration and seems fine&lt;/p&gt;

&lt;p&gt;please find attached the full log&lt;/p&gt;

&lt;p&gt;Thanks&lt;br&gt;
Gianfranco&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;2025-10-07 14:45:30.160 Opening log file.
2025-10-07 14:45:30.160 INFO FileLogWriter(5)[1] Info: Assembly: Rebex.Common R6.11 for .NET 4.6-4.8
2025-10-07 14:45:30.160 INFO FileLogWriter(5)[1] Info: Platform: Windows 6.2.9200 32-bit; CLR: 4.0.30319.42000
2025-10-07 14:45:30.160 DEBUG FileLogWriter(5)[1] Info: Culture: en; Windows-1252
2025-10-07 14:45:30.670 DEBUG Pop3(5)[14] Info: State changed from 'Disconnected' to 'Connecting'.
2025-10-07 14:45:30.670 INFO Pop3(5)[14] Info: Connecting to outlook.office365.com:995 using Pop3.
2025-10-07 14:45:30.670 INFO Pop3(5)[14] Info: Assembly: Rebex.Pop3 R6.11 for .NET 4.6-4.8
2025-10-07 14:45:30.676 INFO Pop3(5)[14] Info: Platform: Windows 6.2.9200 32-bit; CLR: 4.0.30319.42000
2025-10-07 14:45:30.676 DEBUG Pop3(5)[14] Info: Culture: en; Windows-1252
2025-10-07 14:45:30.686 INFO Pop3(5)[14] Info: Connecting to 52.98.237.162.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] Proxy: Connecting to 52.98.237.162:995 (no proxy).
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] Proxy: Connection established.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] Info: Connection succeeded.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] Info: Upgrading connection to TLS.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] TLS: Using classic TLS core.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] TLS: Enabled cipher suites: 0x000F3DF7EBE00640.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] TLS: Applicable cipher suites: 0x000F3DF7EBE00640.
2025-10-07 14:45:30.686 DEBUG Pop3(5)[14] TLS: HandshakeMessage:ClientHello was sent.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:ServerHello was received.
2025-10-07 14:45:30.776 INFO Pop3(5)[14] TLS: Negotiating TLS 1.2, RSA with ephemeral ECDH, AES with 256-bit key in GCM mode, AEAD.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: The server supports secure renegotiation.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: Extended master secret is enabled.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:Certificate was received.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:ServerKeyExchange was received.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:ServerHelloDone was received.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: Verifying server certificate ('CN=outlook.com, O=Microsoft Corporation, L=Redmond, S=Washington, C=US').
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: Certificate verification result: Accept
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: Verifying server key exchange signature.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: Using ephemeral ECDH public key exchange with NIST P-256 curve.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:ClientKeyExchange was sent.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: CipherSpec:ChangeCipherSpec was sent.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:Finished was sent.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: CipherSpec:ChangeCipherSpec was received.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] TLS: HandshakeMessage:Finished was received.
2025-10-07 14:45:30.776 INFO Pop3(5)[14] TLS: Connection secured using cipher: TLS 1.2, RSA with ephemeral ECDH, AES with 256-bit key in GCM mode, AEAD.
2025-10-07 14:45:30.776 DEBUG Pop3(5)[14] Info: Connection upgraded to TLS 1.2.
2025-10-07 14:45:30.834 DEBUG Pop3(5)[14] Info: State changed from 'Connecting' to 'Reading'.
2025-10-07 14:45:30.834 INFO Pop3(5)[14] Response: +OK The Microsoft Exchange POP3 service is ready. [TQBJADEAUAAyADkAMwBDAEEAMAAwADIAMwAuAEkAVABBAFAAMgA5ADMALgBQAFIATwBEAC4ATwBVAFQATABPAE8ASwAuAEMATwBNAA==]
2025-10-07 14:45:30.834 DEBUG Pop3(5)[14] Info: State changed from 'Reading' to 'Ready'.
2025-10-07 14:45:30.834 DEBUG Pop3(5)[14] Info: State changed from 'Ready' to 'Sending'.
2025-10-07 14:45:30.834 INFO Pop3(5)[14] Command: CAPA
2025-10-07 14:45:30.834 DEBUG Pop3(5)[14] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:45:30.855 INFO Pop3(5)[14] Response: +OK
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Info: State changed from 'Reading' to 'Downloading'.
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Response: TOP
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Response: UIDL
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Response: SASL PLAIN XOAUTH2
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Response: USER
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Response: .
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Info: State changed from 'Downloading' to 'Ready'.
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Info: State changed from 'Ready' to 'Sending'.
2025-10-07 14:45:30.855 INFO Pop3(5)[14] Command: AUTH XOAUTH2
2025-10-07 14:45:30.855 DEBUG Pop3(5)[14] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:45:30.876 INFO Pop3(5)[14] Response: + 
2025-10-07 14:45:30.876 DEBUG Pop3(5)[14] Info: State changed from 'Reading' to 'Ready'.
2025-10-07 14:45:30.876 DEBUG Pop3(5)[14] Info: State changed from 'Ready' to 'Sending'.
2025-10-07 14:45:30.876 INFO Pop3(5)[14] Command: dXNl...RAQE=
2025-10-07 14:45:30.876 DEBUG Pop3(5)[14] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:45:34.150 INFO Pop3(5)[14] Response: +OK User successfully authenticated.
2025-10-07 14:45:34.150 DEBUG Pop3(5)[14] Info: State changed from 'Reading' to 'Ready'.
2025-10-07 14:45:41.016 DEBUG Pop3(5)[1] Info: State changed from 'Ready' to 'Sending'.
2025-10-07 14:45:41.016 INFO Pop3(5)[1] Command: STAT
2025-10-07 14:45:41.016 DEBUG Pop3(5)[1] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:45:41.410 INFO Pop3(5)[1] Response: +OK 729 48731813
2025-10-07 14:45:41.410 DEBUG Pop3(5)[1] Info: State changed from 'Reading' to 'Ready'.
2025-10-07 14:50:40.346 DEBUG Pop3(5)[1] Info: State changed from 'Ready' to 'Sending'.
**2025-10-07 14:50:40.346 INFO Pop3(5)[1] Command: RETR 729
2025-10-07 14:50:40.346 DEBUG Pop3(5)[1] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:50:44.324 INFO Pop3(5)[1] Response: -ERR Server Unavailable. 21
2025-10-07 14:50:44.324 DEBUG Pop3(5)[1] Info: State changed from 'Reading' to 'Ready'.
2025-10-07 14:50:44.340 ERROR Pop3(5)[1] Info: Rebex.Net.Pop3Exception: Server Unavailable. 21
   at Rebex.Net.Pop3.nungs(Boolean p0, Boolean p1, String&amp;amp; p2)
   at Rebex.Net.Pop3.tawse(Int32 p0, Stream p1)
2025-10-07 14:51:15.666 DEBUG Pop3(5)[1] Info: State changed from 'Ready' to 'Sending'.
2025-10-07 14:51:15.666 INFO Pop3(5)[1] Command: QUIT
2025-10-07 14:51:15.666 DEBUG Pop3(5)[1] Info: State changed from 'Sending' to 'Reading'.
2025-10-07 14:51:15.825 INFO Pop3(5)[1] Response: +OK Microsoft Exchange Server POP3 server signing off.
2025-10-07 14:51:15.825 DEBUG Pop3(5)[1] Info: State changed from 'Reading' to 'Downloading'.
2025-10-07 14:51:15.825 DEBUG Pop3(5)[1] TLS: Closing TLS socket.
2025-10-07 14:51:15.825 DEBUG Pop3(5)[1] TLS: Alert:CloseNotify was sent.
2025-10-07 14:51:15.825 DEBUG Pop3(5)[1] Info: State changed from 'Downloading' to 'Disconnected'.
&lt;/code&gt;&lt;/pre&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23433/pop3-oauth2-office365-server-unavailable-getmailmessage</guid>
<pubDate>Wed, 08 Oct 2025 09:13:14 +0000</pubDate>
</item>
<item>
<title>web admin interface shows old version installed.</title>
<link>https://forum.rebex.net/23418/web-admin-interface-shows-old-version-installed</link>
<description>&lt;p&gt;Hello dear!&lt;br&gt;
I've upgraded to latest build of Rebex Buru SFTP Server but interface of admin still shows v2.11.1&lt;/p&gt;

&lt;p&gt;in log:&lt;br&gt;
&lt;code&gt;2025-09-23 09:37:54.223 +03:00 [INF] Buru SFTP Server version 2.17.3 (component version 8.0.9278.0)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Clear browser cache didn't work.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23418/web-admin-interface-shows-old-version-installed</guid>
<pubDate>Tue, 23 Sep 2025 07:56:05 +0000</pubDate>
</item>
<item>
<title>Response on wrong Ethernet interface when using multiple interfaces</title>
<link>https://forum.rebex.net/23407/response-wrong-ethernet-interface-using-multiple-interfaces</link>
<description>&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;Thanks for a good useful software!&lt;/p&gt;

&lt;p&gt;We encountered a strange behavior when using Rebex tiny sftp server.&lt;/p&gt;

&lt;p&gt;We have a setup with a machine with multiple Ethernet interfaces and when we start Rebex tiny sftp server it lists 3 IP-addresses.&lt;br&gt;
When we connect to the sftp server on the interface for the second IP in that list we get a strange behavior and the connection fail.&lt;/p&gt;

&lt;p&gt;We log with wireshark and see the following:&lt;br&gt;
Client send SYN and server answers SYN, ACK asc expected.&lt;br&gt;
After that we could see the client sending an intial packet with information regarding client SSH version (which also will be listed in the server gui), no TCP ack is sent to client. After a while client resends packet again...&lt;br&gt;
But no more traffic is sent from the server.&lt;br&gt;
After about 20-30s a RST,ACK is sent from server to client.&lt;/p&gt;

&lt;p&gt;On client side we never get any information about server type or anything else.&lt;/p&gt;

&lt;p&gt;When digging deeper we found TCP packets from server addressed to client IP:port (same as above) but where the source IP from server is the first IP in the list.&lt;/p&gt;

&lt;p&gt;Our workaround is to just physically unplug all Ethernet interfaces from machine apart from the interface needed while using Rebex sftp server.&lt;/p&gt;

&lt;p&gt;TL;DR; Rebex sftp server may answer on first IP even if request comes in on second IP.&lt;/p&gt;

&lt;p&gt;Question: Is this even possible or have we missed something?&lt;/p&gt;

&lt;p&gt;Tested in 1.0.22, but we think that we saw this in 1.0.15 before doing an update.&lt;/p&gt;

&lt;p&gt;Thanks in advance.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23407/response-wrong-ethernet-interface-using-multiple-interfaces</guid>
<pubDate>Tue, 09 Sep 2025 11:45:10 +0000</pubDate>
</item>
<item>
<title>Syslog LOCAL Facility Codes</title>
<link>https://forum.rebex.net/23396/syslog-local-facility-codes</link>
<description>&lt;p&gt;I have found examples online suggesting that a SyslogFacility can be set\get with a &quot;local0&quot; thru &quot;local7&quot; level.  &lt;/p&gt;

&lt;p&gt;ex... message.Facility = SyslogFacility.local0;&lt;/p&gt;

&lt;p&gt;However, I am not able to set these values.  Is there a way to use the &quot;local&quot; values?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23396/syslog-local-facility-codes</guid>
<pubDate>Thu, 28 Aug 2025 10:48:05 +0000</pubDate>
</item>
<item>
<title>buru-sftp-server: Change hostname in authentication banner</title>
<link>https://forum.rebex.net/23387/buru-sftp-server-change-hostname-in-authentication-banner</link>
<description>&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;Is it possible to change the hostname in the authentication banner as it reveals the internal hostname of the server when you login. This is for latest version of buru-sftp-server&lt;/p&gt;

&lt;p&gt;I looked under additional ssh settings and other places in the web-ui but couldnt find anything to change this.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23387/buru-sftp-server-change-hostname-in-authentication-banner</guid>
<pubDate>Thu, 14 Aug 2025 12:07:55 +0000</pubDate>
</item>
<item>
<title>HTTPS legacy R4.7 for .net cf-3.5</title>
<link>https://forum.rebex.net/23377/https-legacy-r4-7-for-net-cf-3-5</link>
<description>&lt;p&gt;Hello.&lt;/p&gt;

&lt;p&gt;My development environment is .NET CF 3.5 and uses HTTPS for communication. I used the Rebex HTTPS Legacy Trial version (R4.7) without any issues.&lt;/p&gt;

&lt;p&gt;After purchasing a license, I downloaded and tested the keyless R5.17 and R5.18 versions, but I received the following error: &quot;A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.&quot; However, the other server is working properly.&lt;br&gt;
Therefore, I believe I need a key for R4.7, or sample HTTPS client code for keyless R4.7 or R5.17/18.&lt;br&gt;
Or, please let me know of another solution.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23377/https-legacy-r4-7-for-net-cf-3-5</guid>
<pubDate>Thu, 31 Jul 2025 12:25:23 +0000</pubDate>
</item>
<item>
<title>zip: Is it possible to zip a string (json file in memory) and save it in a database field (instead to a file)?</title>
<link>https://forum.rebex.net/23374/possible-string-file-memory-save-database-field-instead-file</link>
<description>&lt;p&gt;zip: Is it possible to zip a string (json file in memory) and save it in a database field (instead to a file)?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23374/possible-string-file-memory-save-database-field-instead-file</guid>
<pubDate>Wed, 30 Jul 2025 12:45:47 +0000</pubDate>
</item>
<item>
<title>Why is my connection being immediately closed?</title>
<link>https://forum.rebex.net/23370/why-is-my-connection-being-immediately-closed</link>
<description>&lt;p&gt;Binding FTP server to port 21 (explicit mode)...&lt;br&gt;
Binding FTP server to port 990 (implicit mode)...&lt;br&gt;
Starting...&lt;br&gt;
08:09:26.725 Info Server: Starting server.&lt;br&gt;
08:09:26.749 Info Server: Listening for connections at 0.0.0.0:21.&lt;br&gt;
08:09:26.758 Info Server: Listening for connections at 0.0.0.0:990.&lt;br&gt;
08:09:26.765 Info Server: Server started.&lt;br&gt;
FTP server has started and is ready to accept connections.&lt;br&gt;
Log level changed to Debug.&lt;br&gt;
08:09:57.435 Debug Server: Accepted FTP connection from 192.168.0.141:49165.&lt;br&gt;
08:09:57.796 Info Server: FtpSession 1: Started on connection from 192.168.0.141:49165.&lt;br&gt;
08:09:57.816 Debug Info: Starting session.&lt;br&gt;
08:09:57.826 Debug Info: Control connection TLS mode is 'Explicit'.&lt;br&gt;
08:09:57.827 Debug Info: Control connection protection mode is 'Optional'.&lt;br&gt;
08:09:57.837 Debug Info: Data connection protection mode is 'Optional'.&lt;br&gt;
08:09:57.872 Debug Response: 220 Rebex FTP Server ready.&lt;br&gt;
08:09:57.950 Debug Info: Session started.&lt;br&gt;
08:09:58.029 Debug Command: USER Cryptobox&lt;br&gt;
08:09:58.075 Debug Response: 331 Password required for 'Cryptobox'.&lt;br&gt;
08:09:58.096 Debug Command: PASS **********&lt;br&gt;
08:09:58.130 Info Server: FtpSession 1: Authentication for 'Cryptobox' succeeded.&lt;br&gt;
08:09:58.229 Debug FTP: Getting item info on '/': success.&lt;br&gt;
08:09:58.232 Debug Response: 230 User 'Cryptobox' logged in.&lt;br&gt;
08:09:58.244 Debug Command: TYPE A&lt;br&gt;
08:09:58.262 Debug Response: 200 TYPE set to A.&lt;br&gt;
08:09:58.375 Debug Command: PWD&lt;br&gt;
08:09:58.379 Debug Response: 257 &quot;/&quot; is current directory.&lt;br&gt;
08:09:58.388 Debug Command: PASV&lt;br&gt;
08:09:58.441 Debug Info: PASV::binding.&lt;br&gt;
08:09:58.447 Debug Info: PASV::listening(192.168.0.117:56825).&lt;br&gt;
08:09:58.452 Debug Response: 227 Entering Passive Mode (192,168,0,117,221,249)&lt;br&gt;
08:09:58.502 Debug Info: Established data connection to 192.168.0.141:49166 in passive mode.&lt;br&gt;
08:09:58.519 Debug Command: TYPE I&lt;br&gt;
08:09:58.519 Debug Response: 200 TYPE set to I.&lt;br&gt;
08:09:58.531 Debug Command: LIST -l&lt;br&gt;
08:09:58.576 Debug FTP: Getting item info on '/-l': not found.&lt;br&gt;
08:09:58.576 Debug Response: 550 No such directory.&lt;br&gt;
08:09:58.594 Debug Info: Discarding data connection.&lt;br&gt;
08:09:58.684 Debug Info: Closing data connection.&lt;br&gt;
08:09:58.685 Debug Command: QUIT&lt;br&gt;
08:09:58.700 Debug Response: 221 Closing session.&lt;br&gt;
08:09:58.730 Debug Info: Closing session.&lt;br&gt;
08:09:58.755 Debug Info: Shutting down control connection.&lt;br&gt;
08:09:58.764 Debug Info: Awaiting shutdown confirmation from remote end.&lt;br&gt;
08:09:58.785 Debug Info: Shutdown confirmed by remote end.&lt;br&gt;
08:09:58.789 Debug Info: Closing control connection.&lt;br&gt;
08:09:58.812 Debug Info: Session closed.&lt;br&gt;
08:09:58.817 Info Server: FtpSession 1: Closed connection from 192.168.0.141:49165.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23370/why-is-my-connection-being-immediately-closed</guid>
<pubDate>Sat, 26 Jul 2025 12:14:42 +0000</pubDate>
</item>
<item>
<title>Adding files with Rebex.IO.ActionOnExistingFiles.Rename</title>
<link>https://forum.rebex.net/23359/adding-files-with-rebex-io-actiononexistingfiles-rename</link>
<description>&lt;p&gt;I want to use Rebex.IO.ActionOnExistingFiles.Rename to rename duplicates but also need to set a custom 'CreationTime' of the file and without knowing its new name there appears to be no way of doing this?&lt;/p&gt;

&lt;p&gt;I assume I would be best just checking the file exists before adding and doing this myself?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    using (var zip = new ZipArchive(zipFilename))
    {
        string archiveFilePath = &quot;rename.txt&quot;;
        zip.AddFile(new MemoryStream(Encoding.UTF8.GetBytes(&quot;old file&quot;)), archiveFilePath, Rebex.IO.ActionOnExistingFiles.Rename);
        zip[archiveFilePath].CreationTime = DateTime.Now.AddMonths(-6);

        zip.AddFile(new MemoryStream(Encoding.UTF8.GetBytes(&quot;new file&quot;)), archiveFilePath, Rebex.IO.ActionOnExistingFiles.Rename);
        zip[archiveFilePath].CreationTime = DateTime.Now;
    }
&lt;/code&gt;&lt;/pre&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23359/adding-files-with-rebex-io-actiononexistingfiles-rename</guid>
<pubDate>Fri, 04 Jul 2025 17:54:05 +0000</pubDate>
</item>
<item>
<title>tlsproxy doesn't start</title>
<link>https://forum.rebex.net/23354/tlsproxy-doesnt-start</link>
<description>&lt;p&gt;Dear all, please help if you can. I'm trying to start tlsproxy at Windows Server 2016. My config file 100% has no errors as I use it at another PC. But at this machine the tlsproxy doesn't start. In windows logs I see the following message:&lt;/p&gt;

&lt;p&gt;Log Name:      Application&lt;br&gt;
Source:        Application Error&lt;br&gt;
Date:          7/3/2025 5:06:37 PM&lt;br&gt;
Event ID:      1000&lt;br&gt;
Task Category: (100)&lt;br&gt;
Level:         Error&lt;br&gt;
Keywords:      Classic&lt;br&gt;
User:          N/A&lt;br&gt;
Computer:      via223346&lt;br&gt;
Description:&lt;br&gt;
Faulting application name: tlsproxy.exe, version: 1.10.0.0, time stamp: 0x670de1ad&lt;br&gt;
Faulting module name: ntdll.dll, version: 10.0.14393.7254, time stamp: 0x66ac6ebc&lt;br&gt;
Exception code: 0x060c201e&lt;br&gt;
Fault offset: 0x00000000000cee80&lt;br&gt;
Faulting process id: 0x661c&lt;br&gt;
Faulting application start time: 0x01dbec23b10f61c2&lt;br&gt;
Faulting application path: S:\Service\RebexTlsProxy&lt;em&gt;x64\RebexTlsProxy&lt;/em&gt;x64\tlsproxy.exe&lt;br&gt;
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll&lt;br&gt;
Report Id: 091f042d-742d-4bee-80f3-7ba85e478c67&lt;br&gt;
Faulting package full name: &lt;br&gt;
Faulting package-relative application ID: &lt;/p&gt;

&lt;p&gt;As I see, something wrong with the connection with C:\Windows\SYSTEM32\ntdll.dll. Are there ideas how can I fix the problem and start the application?&lt;/p&gt;

&lt;p&gt;Thank you a lot!&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23354/tlsproxy-doesnt-start</guid>
<pubDate>Thu, 03 Jul 2025 16:13:28 +0000</pubDate>
</item>
<item>
<title>TLS Proxy Shell/Command Prompt Opens then Immediately Closes</title>
<link>https://forum.rebex.net/23350/tls-proxy-shell-command-prompt-opens-then-immediately-closes</link>
<description>&lt;p&gt;trying to use tls proxy for forte agent pop3 email but when I run tlsproxy.exe (the only executable option for tls) the shell opens, populates, and immediately shuts down before I can read or use. any ideas? thanks!&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23350/tls-proxy-shell-command-prompt-opens-then-immediately-closes</guid>
<pubDate>Mon, 30 Jun 2025 12:03:03 +0000</pubDate>
</item>
<item>
<title>GraphClient limit $select</title>
<link>https://forum.rebex.net/23345/graphclient-limit-%24select</link>
<description>&lt;p&gt;Thanks to this forum, I last week learned that I could use RawOrderBy and RawFilter when using the GraphClient. But is there also a RawSelect somewhere?&lt;/p&gt;

&lt;p&gt;I'm asking because I noticed that the options we have for GraphMessageFields (e.g. Default, Info, ...) results in rather poor performance.&lt;/p&gt;

&lt;p&gt;To test, I made the calls directly using Microsoft Graph rather than the Rebex component (which I prefer to use because of the excellent support for encrypted messages)&lt;/p&gt;

&lt;p&gt;A call with (basically GraphMessageFields.Envelope)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$select=id,subject,internetMessageId,receivedDateTime,from,sender,toRecipients,ccRecipients,bccRecipients,replyTo&amp;amp;$top=1000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;takes about 10 times more time than one with (a limited set of what was in GraphMessageFields.Info) &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$select=id,subject,receivedDateTime,from,parentFolderId,isRead,hasAttachments&amp;amp;$top=1000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So if I could specify the fields needed, the performance gain of my application would be huge.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23345/graphclient-limit-%24select</guid>
<pubDate>Thu, 26 Jun 2025 13:04:36 +0000</pubDate>
</item>
<item>
<title>GraphClient return most recent messages first</title>
<link>https://forum.rebex.net/23341/graphclient-return-most-recent-messages-first</link>
<description>&lt;p&gt;In the GraphClient, I would like to get the output ordered based on the retrieval date. I have been looking at both &lt;code&gt;GetMessageListAsync()&lt;/code&gt; and &lt;code&gt;SearchAsync()&lt;/code&gt; and neither of them give me the result I want. They both return the number of records I want and I can order them myself but there is no guarantee that they will give you the most recent messages, they could give you older ones.&lt;/p&gt;

&lt;p&gt;According to what I found online, this should be possible using pure odata queries where I could do an orderby. Something like&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;GET /me/mailFolders('inbox')/messages?$orderby=receivedDateTime%20desc&amp;amp;$top=10
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The concept I need this for is mailboxes which have an Inbox folder well over 100k messages. To avoid having to load them all, I would like to load the messages received in the last 10 days or the first 2500 (whatever limit I hit first)&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23341/graphclient-return-most-recent-messages-first</guid>
<pubDate>Fri, 20 Jun 2025 17:05:46 +0000</pubDate>
</item>
<item>
<title>TinyTLSProxy on XP - how to proxy from TLS10 to TLS12</title>
<link>https://forum.rebex.net/23336/tinytlsproxy-on-xp-how-to-proxy-from-tls10-to-tls12</link>
<description>&lt;p&gt;Hi!&lt;br&gt;
I am trying to get the command line switches correct to proxy an application that only uses TLS10 to a newer server using TLS12 (or TLS13).&lt;br&gt;
I only see the -toTLS option and when I use that it do not get through.&lt;/p&gt;

&lt;p&gt;Does TinyTLSProxy on XP support TLS10 to TLS12 conversion?&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23336/tinytlsproxy-on-xp-how-to-proxy-from-tls10-to-tls12</guid>
<pubDate>Wed, 18 Jun 2025 15:56:06 +0000</pubDate>
</item>
<item>
<title>How to transfer file between two servers in SFTP using .NET Framework 4.8 / C#?</title>
<link>https://forum.rebex.net/23332/how-transfer-file-between-two-servers-sftp-using-framework</link>
<description>&lt;p&gt;Below is the code which I am trying to achieve the requirement (using Upload method of FileTransferClient class).&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Triying to trasfert file between servers without downloading at aplication side&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt; private void btnSendFile_Click(object sender, EventArgs e)
    {
        try
        {
            FileTransferClient client = new FileTransferClient();
            client.TransferProgressChanged += new EventHandler&amp;lt;TransferProgressChangedEventArgs&amp;gt;(TransferProgressChanged);
            client.Connect(&quot;Server&quot;, 22, FileTransferMode.Sftp);
            if (client.IsConnected == true)
            {
                client.Login(&quot;AccountName&quot;, &quot;AccountPassword&quot;);
                if (client.IsAuthenticated == true)
                {
                    client.Upload(&quot;/Server1/home/file.txt&quot;, &quot;/Server2/home/Downloads&quot;);
                }
            }
        }
        catch (Exception Ex)
        {
            MessageBox.Show(Ex.Message);
        }
    }
    void TransferProgressChanged(object sender, TransferProgressChangedEventArgs e)
    {
        //do your operation
    }
&lt;/code&gt;&lt;/pre&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23332/how-transfer-file-between-two-servers-sftp-using-framework</guid>
<pubDate>Wed, 18 Jun 2025 09:09:15 +0000</pubDate>
</item>
<item>
<title>How to read data when HttpResponse has no Content-Length</title>
<link>https://forum.rebex.net/23323/how-to-read-data-when-httpresponse-has-no-content-length</link>
<description>&lt;p&gt;Hi, support&lt;/p&gt;

&lt;p&gt;Unusually, some sites (SugarSync) send data without a Content-Length header in the Http response when passing through a proxy server(Fiddler).&lt;/p&gt;

&lt;p&gt;In this case, if I read data from the Response Stream, a Connection Closed error occurs immediately. (Of course it will)&lt;/p&gt;

&lt;p&gt;Even if KeepAlive is set, the server sends data with a Connection: closed in the Header and closes it immediately after sending.&lt;/p&gt;

&lt;p&gt;However, it seems impossible, but is there a way to handle it, even if it is a trick?&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23323/how-to-read-data-when-httpresponse-has-no-content-length</guid>
<pubDate>Fri, 13 Jun 2025 07:19:48 +0000</pubDate>
</item>
<item>
<title>TLS proxy - SSE channel timeouts</title>
<link>https://forum.rebex.net/23319/tls-proxy-sse-channel-timeouts</link>
<description>&lt;p&gt;We're using the TLS proxy to expose different services on different ports on port 443. Some of these services use an SSE channnel - that's a chunked connection style event stream that stays up forever. If we bypass the TLS proxy, the connection does stay up indefinitely. Through the proxy, the browser reports an &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;net::ERR_INCOMPLETE_CHUNKED_ENCODING
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;after 2 minutes.&lt;/p&gt;

&lt;p&gt;And I think why - our config files contain the &lt;code&gt;idleTimeout&lt;/code&gt; parameter set to 120. The sample config states the default value is 120. Is there any value that would disable the timeout? Or what is the max value that can be set?&lt;/p&gt;

&lt;p&gt;here's the tail end of such an SSE connection - there's a keepalive message from server to client every 15 seconds until the connection gets closed.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;2025-06-11 07:00:30.557 [DBG] Tunnel(52226)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: Forwarding 20 bytes (IN &amp;lt;== OUT).&lt;br&gt;
  2025-06-11 07:00:30.557 [VRB] Tunnel(52226)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: IN &amp;lt;== OUT  0000&lt;br&gt;
  |66-0D-0A-3A-20-4B-45-45 50-41-4C-49-56-45-0D-0A| f..: KEEPALIVE.. &lt;br&gt;
  0010 |0D-0A-0D-0A                                    | .... 2025-06-11&lt;br&gt;
  07:00:30.557 [VRB] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][I]:&lt;br&gt;
  Sent TLS packet:   0000 |17-03-03-00-14-66-0D-0A&lt;br&gt;
  3A-20-4B-45-45-50-41-4C| .....f..: KEEPAL  0010&lt;br&gt;
  |49-56-45-0D-0A-0D-0A-0D 0A                     | IVE...... 2025-06-11&lt;br&gt;
  07:00:45.559 [VRB] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][O]:&lt;br&gt;
  Received TLS packet:   0000 |17-03-03-00-14-66-0D-0A&lt;br&gt;
  3A-20-4B-45-45-50-41-4C| .....f..: KEEPAL  0010&lt;br&gt;
  |49-56-45-0D-0A-0D-0A-0D 0A                     | IVE...... 2025-06-11&lt;br&gt;
  07:00:45.559 [DBG] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][-]:&lt;br&gt;
  Forwarding 20 bytes (IN &amp;lt;== OUT). 2025-06-11 07:00:45.559 [VRB]&lt;br&gt;
  Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][-]: IN &amp;lt;== OUT  0000&lt;br&gt;
  |66-0D-0A-3A-20-4B-45-45 50-41-4C-49-56-45-0D-0A| f..: KEEPALIVE.. &lt;br&gt;
  0010 |0D-0A-0D-0A                                    | .... 2025-06-11&lt;br&gt;
  07:00:45.559 [VRB] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][I]:&lt;br&gt;
  Sent TLS packet:   0000 |17-03-03-00-14-66-0D-0A&lt;br&gt;
  3A-20-4B-45-45-50-41-4C| .....f..: KEEPAL  0010&lt;br&gt;
  |49-56-45-0D-0A-0D-0A-0D 0A                     | IVE...... 2025-06-11&lt;br&gt;
  07:00:54.830 [DBG] Tunnel(52227)[#0 'audm-443-127.0.0.1:8189'][I]: TLS&lt;br&gt;
  socket was closed, 0 bytes of data were received. 2025-06-11&lt;br&gt;
  07:00:54.830 [DBG] Tunnel(52227)[#0 'audm-443-127.0.0.1:8189'][-]:&lt;br&gt;
  Forwarding from inbound tunnel finished (IN ==&amp;gt; OUT). 2025-06-11&lt;br&gt;
  07:00:54.830 [DBG] Tunnel(52227)[#0 'audm-443-127.0.0.1:8189'][-]:&lt;br&gt;
  Closing tunnel from 192.168.201.138:51163. 2025-06-11 07:00:54.830&lt;br&gt;
  [DBG] Tunnel(52227)[#0 'audm-443-127.0.0.1:8189'][O]:&lt;br&gt;
  Alert:CloseNotify was sent. 2025-06-11 07:00:54.830 [VRB]&lt;br&gt;
  Tunnel(52227)[#0 'audm-443-127.0.0.1:8189'][O]: Sent TLS packet: . &lt;br&gt;
  0000 |15-03-03-00-02-01-00                           | .......&lt;br&gt;
  2025-06-11 07:00:54.831 [DBG] Tunnel(52227)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][O]: TLS socket was closed, 0 bytes of data&lt;br&gt;
  were received. 2025-06-11 07:00:54.832 [DBG] Tunnel(52227)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: Forwarding from outbound tunnel&lt;br&gt;
  finished (IN &amp;lt;== OUT). 2025-06-11 07:00:54.832 [INF] Tunnel(52227)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: Tunnel from 192.168.201.138:51163&lt;br&gt;
  closed. 2025-06-11 07:01:00.560 [VRB] Tunnel(52226)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][O]: Received TLS packet:   0000&lt;br&gt;
  |17-03-03-00-14-66-0D-0A 3A-20-4B-45-45-50-41-4C| .....f..: KEEPAL &lt;br&gt;
  0010 |49-56-45-0D-0A-0D-0A-0D 0A                     | IVE......&lt;br&gt;
  2025-06-11 07:01:00.560 [DBG] Tunnel(52226)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: Forwarding 20 bytes (IN &amp;lt;== OUT).&lt;br&gt;
  2025-06-11 07:01:00.560 [VRB] Tunnel(52226)[#0&lt;br&gt;
  'audm-443-127.0.0.1:8189'][-]: IN &amp;lt;== OUT  0000&lt;br&gt;
  |66-0D-0A-3A-20-4B-45-45 50-41-4C-49-56-45-0D-0A| f..: KEEPALIVE.. &lt;br&gt;
  0010 |0D-0A-0D-0A                                    | .... 2025-06-11&lt;br&gt;
  07:01:00.560 [VRB] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][I]:&lt;br&gt;
  Sent TLS packet:   0000 |17-03-03-00-14-66-0D-0A&lt;br&gt;
  3A-20-4B-45-45-50-41-4C| .....f..: KEEPAL  0010&lt;br&gt;
  |49-56-45-0D-0A-0D-0A-0D 0A                     | IVE...... 2025-06-11&lt;br&gt;
  07:01:00.779 [DBG] Tunnel(52226)[#0 'audm-443-127.0.0.1:8189'][I]:&lt;br&gt;
  Rebex.Net.TlsException: The operation was not completed within the&lt;br&gt;
  specified time limit. ---&amp;gt; System.TimeoutException: The operation has&lt;br&gt;
  timed out.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23319/tls-proxy-sse-channel-timeouts</guid>
<pubDate>Wed, 11 Jun 2025 11:31:12 +0000</pubDate>
</item>
<item>
<title>SSH. TerminalOptions. Current limitation of the number of columns.</title>
<link>https://forum.rebex.net/23315/ssh-terminaloptions-current-limitation-the-number-columns</link>
<description>&lt;p&gt;Hello.&lt;/p&gt;

&lt;p&gt;For example, I made a limit on the number of terminal columns:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var shell = client.StartScripting(new TerminalOptions() { Columns = 15 });
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I can see it in the log - &lt;strong&gt;0F&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;2025-05-26 16:47:30.7253|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.729 VERBOSE Ssh(1)[1] SSH: Sending packet SSH_MSG_CHANNEL_REQUEST (46 bytes).
 0000 |62-00-00-00-00-00-00-00 07-70-74-79-2D-72-65-71| b........pty-req
 0010 |01-00-00-00-05-78-74-65 72-6D-00-00-00-0F-00-00| .....xterm......
 0020 |00-19-00-00-00-78-00-00 01-90-00-00-00-00      | .....x........
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now I connect to a host running the alpine operating system and the busybox shell. Their feature is the presence of cursor position control, data about which is transmitted from the client to the server:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;025-05-26 16:47:30.7326|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.740 VERBOSE Ssh(1)[11] SSH: Received packet SSH_MSG_CHANNEL_DATA (23 bytes).
 0000 |5E-00-00-00-00-00-00-00 0E-61-6C-70-69-6E-65-3A| ^........alpine:
 0010 |7E-24-20-1B-5B-36-6E                           | ~$ .[6n

...

2025-05-26 16:47:30.7326|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.745 VERBOSE Ssh(1)[1] Info: Received data: 
 0000 |57-65-6C-63-6F-6D-65-20 74-6F-20-41-6C-70-69-6E| Welcome to Alpin
 0010 |65-21-0D-0A-0D-0A-54-68 65-20-41-6C-70-69-6E-65| e!....The Alpine
 0020 |20-57-69-6B-69-20-63-6F 6E-74-61-69-6E-73-20-61|  Wiki contains a
 0030 |20-6C-61-72-67-65-20-61 6D-6F-75-6E-74-20-6F-66|  large amount of
 0040 |20-68-6F-77-2D-74-6F-20 67-75-69-64-65-73-20-61|  how-to guides a
 0050 |6E-64-20-67-65-6E-65-72 61-6C-0D-0A-69-6E-66-6F| nd general..info
 0060 |72-6D-61-74-69-6F-6E-20 61-62-6F-75-74-20-61-64| rmation about ad
 0070 |6D-69-6E-69-73-74-72-61 74-69-6E-67-20-41-6C-70| ministrating Alp
 0080 |69-6E-65-20-73-79-73-74 65-6D-73-2E-0D-0A-53-65| ine systems...Se
 0090 |65-20-3C-68-74-74-70-73 3A-2F-2F-77-69-6B-69-2E| e &amp;lt;https://wiki.
 00A0 |61-6C-70-69-6E-65-6C-69 6E-75-78-2E-6F-72-67-2F| alpinelinux.org/
 00B0 |3E-2E-0D-0A-0D-0A-59-6F 75-20-63-61-6E-20-73-65| &amp;gt;.....You can se
 00C0 |74-75-70-20-74-68-65-20 73-79-73-74-65-6D-20-77| tup the system w
 00D0 |69-74-68-20-74-68-65-20 63-6F-6D-6D-61-6E-64-3A| ith the command:
 00E0 |20-73-65-74-75-70-2D-61 6C-70-69-6E-65-0D-0A-0D|  setup-alpine...
 00F0 |0A-59-6F-75-20-6D-61-79 20-63-68-61-6E-67-65-20| .You may change 
 0100 |74-68-69-73-20-6D-65-73 73-61-67-65-20-62-79-20| this message by 
 0110 |65-64-69-74-69-6E-67-20 2F-65-74-63-2F-6D-6F-74| editing /etc/mot
 0120 |64-2E-0D-0A-0D-0A-61-6C 70-69-6E-65-3A-7E-24-20| d.....alpine:~$ 
 0130 |1B-5B-36-6E                                    | .[6n

2025-05-26 16:47:30.7628|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.762 VERBOSE Ssh(1)[1] SSH: Sending packet SSH_MSG_CHANNEL_DATA (17 bytes).
 0000 |5E-00-00-00-00-00-00-00 08-1B-5B-32-35-3B-31-31| ^.........[25;11
 0010 |52                                             | R

2025-05-26 16:47:30.7628|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.762 DEBUG Ssh(1)[1] Info: Sent 8 bytes of data.

2025-05-26 16:47:30.7628|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:30.762 VERBOSE Ssh(1)[1] Info: Sent data: 
 0000 |1B-5B-32-35-3B-31-31-52                        | .[25;11R
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But when I execute a command whose length, together with the length of the prompt string, exceeds the number of columns, the server recalculates the output and splits the command into multiple lines:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.751 VERBOSE Ssh(1)[1] SSH: Sending packet SSH_MSG_CHANNEL_DATA (17 bytes).
 0000 |5E-00-00-00-00-00-00-00 08-65-63-68-6F-20-24-3F| ^........echo $?
 0010 |0D                                             | .

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.751 DEBUG Ssh(1)[1] Info: Sent 8 bytes of data.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.751 VERBOSE Ssh(1)[1] Info: Sent data: 
 0000 |65-63-68-6F-20-24-3F-0D                        | echo $?.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.751 DEBUG VirtualTerminal(0)[1] Scripting: WaitFor(Line) [Timeout=60000]

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.751 VERBOSE VirtualTerminal(0)[1] Scripting: WaitFor: polling data for max 60000 ms.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.753 VERBOSE Ssh(1)[11] SSH: Received packet SSH_MSG_CHANNEL_DATA (38 bytes).
 0000 |5E-00-00-00-00-00-00-00 1D-65-63-68-6F-20-0D-0D| ^........echo ..
 0010 |0A-24-3F-0D-0A-30-0D-0A 61-6C-70-69-6E-65-3A-7E| .$?..0..alpine:~
 0020 |24-20-1B-5B-36-6E                              | $ .[6n

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.753 VERBOSE VirtualTerminal(0)[1] Scripting: WaitFor: data received, reset last data received time stamp.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.753 VERBOSE VirtualTerminal(0)[1] Scripting: WaitFor: processing received data.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.753 DEBUG Ssh(1)[1] Info: Received 29 bytes of data.

2025-05-26 16:47:33.7480|TRACE|log|SSH:92f9e636-53d6-4ec4-9dcc-fafd2198a486 -&amp;gt; 2025-05-26 16:47:33.753 VERBOSE Ssh(1)[1] Info: Received data: 
 0000 |65-63-68-6F-20-0D-0D-0A 24-3F-0D-0A-30-0D-0A-61| echo ...$?..0..a
 0010 |6C-70-69-6E-65-3A-7E-24 20-1B-5B-36-6E         | lpine:~$ .[6n
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The client processes the response from the server and clears only the first line of the command and does not clear wrapped to a new row lines. Then the user receives not quite the expected data.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;shell.Prompt = &quot;alpine:~$ &quot;;
shell.SendCommand(&quot;echo $?&quot;);
var response = shell.ReadUntilPrompt();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The expected data is &quot;&lt;strong&gt;0\r\n&lt;/strong&gt;&quot;.&lt;br&gt;
The actual data is &quot;&lt;strong&gt;$?\r\n0\r\n&lt;/strong&gt;&quot;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Does the Rebex library scripting feature have the option to handle such cases?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I can increase the number of columns in the &lt;strong&gt;TerminalOptions&lt;/strong&gt;, but I am limited to &lt;strong&gt;1023&lt;/strong&gt;, which prevents me from running long commands. &lt;/p&gt;

&lt;p&gt;For this example, I deliberately chose a very small value to make it simple and clear. But there is a need to execute very long scripts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Can you please explain, what is the reason for this limitation, is it possible to increase it?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The RFC initially allows larger values ​​to be specified:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;6.2.  Requesting a Pseudo-Terminal

   A pseudo-terminal can be allocated for the session by sending the
   following message.

      byte      SSH_MSG_CHANNEL_REQUEST
      uint32    recipient channel
      string    &quot;pty-req&quot;
      boolean   want_reply
      string    TERM environment variable value (e.g., vt100)
      uint32    terminal width, characters (e.g., 80)
      uint32    terminal height, rows (e.g., 24)
      uint32    terminal width, pixels (e.g., 640)
      uint32    terminal height, pixels (e.g., 480)
      string    encoded terminal modes
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Thank you.&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23315/ssh-terminaloptions-current-limitation-the-number-columns</guid>
<pubDate>Mon, 26 May 2025 16:28:37 +0000</pubDate>
</item>
<item>
<title>Is there a method to avoid using CBC ciphers or weak SSH ciphers in new version of Rebex Tiny SFTP?</title>
<link>https://forum.rebex.net/23313/there-method-avoid-using-ciphers-ciphers-version-rebex-sftp</link>
<description>&lt;p&gt;regarding version 1.0.21 (2025-03-10)&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23313/there-method-avoid-using-ciphers-ciphers-version-rebex-sftp</guid>
<pubDate>Tue, 20 May 2025 15:46:13 +0000</pubDate>
</item>
<item>
<title>When is ServerSession.Current set during login to Sftp Fileserver?</title>
<link>https://forum.rebex.net/23311/when-serversession-current-set-during-login-sftp-fileserver</link>
<description>&lt;p&gt;I've implemented a custom file system to use with Rebex FileServer as an SFTP server. During authentication I create a FileServerUser with a custom session context: &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var user = new FileServerUser(e.UserName, null, sftpFileSystem, virtualDirectory);
e.Accept(user, new SftpSessionContext { RequestId = Activity.Current.Id });
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;According to the documentation the ServerSession.Current should be available within the methods of the custom file system, but during the login process, it seems that the Exists method is called before ServerSession.Current is initialized:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;protected override bool Exists(NodePath path, NodeType nodeType)
{
    logger
        .Trace($&quot;SFTP Server: {nameof(Exists)}({path.StringPath})&quot;)
        .WithRequestId((ServerSession.Current.Context as SftpSessionContext).RequestId) 
        .Log();
    [...]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Calling ServiceSession.Current.Context throws a NullReferenceException and the client shows an authentication failed error.&lt;/p&gt;

&lt;p&gt;Is this the excepted behavior within Exists during authentication?&lt;/p&gt;

&lt;p&gt;Regards, &lt;/p&gt;

&lt;p&gt;Kay Zumbusch&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23311/when-serversession-current-set-during-login-sftp-fileserver</guid>
<pubDate>Fri, 16 May 2025 14:01:31 +0000</pubDate>
</item>
<item>
<title>Does Rebex zip can work with long paths?</title>
<link>https://forum.rebex.net/23297/does-rebex-zip-can-work-with-long-paths</link>
<description>&lt;p&gt;From Windows 10 on it is possible to extend the max path length of a file or directory up to 32767 character.&lt;/p&gt;

&lt;p&gt;This can be set in the registry described here:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later&quot;&gt;https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can Rebex zip use this or work with this setting?&lt;br&gt;
I need to handle very long file paths as our customers create them pretty often.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23297/does-rebex-zip-can-work-with-long-paths</guid>
<pubDate>Tue, 13 May 2025 08:06:23 +0000</pubDate>
</item>
<item>
<title>How to implement something similar to sshuttle using Rebex SSH tunnels...?</title>
<link>https://forum.rebex.net/23288/implement-something-similar-sshuttle-using-rebex-tunnels</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
in Linux there is an opensource tool called sshuttle.&lt;br&gt;
It implements basically sort of a VPN by using a connection to an SSH server, setting up tunnels and updating local routing settings. It can route all traffic (including DNS if need be) through the tunnel.&lt;br&gt;
Rebex can create Incoming and Outgoing tunnels.&lt;br&gt;
But these seem to need specific ports.&lt;br&gt;
Do I need to setup one tunnel per port?&lt;br&gt;
Any hints highly appreciated!&lt;br&gt;
Thanks in advance.&lt;/p&gt;

&lt;p&gt;Best Regards&lt;br&gt;
Yahia&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23288/implement-something-similar-sshuttle-using-rebex-tunnels</guid>
<pubDate>Sun, 11 May 2025 14:55:06 +0000</pubDate>
</item>
<item>
<title>How to resolve the exception &quot;connection closed by the server .,make sure you are connecting to an SSH or SFTP server&quot;</title>
<link>https://forum.rebex.net/23285/resolve-exception-connection-closed-server-connecting-server</link>
<description>&lt;p&gt;I am getting the exception &lt;em&gt;&quot;connection closed by the server .,make sure you are connecting to an SSH or SFTP server&quot;&lt;/em&gt; while connecting to SFTP. It was working few days back without any issue. We are using Rebex 6.0.8372.0. Publc and Private Key pair was created and public key was shared to CB for whuitelisted. Afterwards with Username, pasword, private key path and password we are connecting to CB. please advise on the below asap&lt;br&gt;
Below is th code we are using&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;string SFTPHost = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPHost&quot;]);
string SFTPPort = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPPort&quot;]);
string SFTPUserName = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPUserName&quot;]);
string SFTPPassword = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPPassword&quot;]);
string SFTPPvtKeyPath = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPPvtKeyPath&quot;]);
string SFTPPvtKeyPwd = Convert.ToString(ConfigurationSettings.AppSettings[&quot;SFTPPvtKeyPwd&quot;]);
//Updated by Alex on 31.01.2022 for SFTP Authentication with Private Key without loading PFX File End

IsActive = objNewSFTP.GetConnectionState();             

WriteLog(&quot;ConnectSftp()-SFTP Connection State:&quot; + objNewSFTP.GetConnectionState().Connected, false);
if (IsActive.Connected == false)
{

                WriteLog(&quot;ConnectSftp()-SFTP Connectivity Attempted with SFTPHost:&quot; + Convert.ToString(SFTPHost) + Environment.NewLine + &quot;Port:&quot; + Convert.ToInt32(SFTPPort) + &quot;at &quot; + DateTime.Now.ToString(), false);   //Added by Alex on 31.1.2022

                objNewSFTP.Connect(SFTPHost, Convert.ToInt32(SFTPPort));

                WriteLog(&quot;ConnectSftp()-SFTP Connectivity Done Successfully at &quot; + DateTime.Now.ToString(), false);   //Added by Alex on 31.1.2022

                //Added  by Alex on 31.01.2022 for SFTP Authentication with Private Key without loading PFX File Start
                WriteLog(&quot;ConnectSftp()-Private Key Details before loading-Private Key Path:&quot; + Convert.ToString(SFTPPvtKeyPath) + Environment.NewLine + &quot;at &quot; + DateTime.Now.ToString(), false);

                SshPrivateKey privateKey = new SshPrivateKey(Convert.ToString(SFTPPvtKeyPath), Convert.ToString(SFTPPvtKeyPwd));

                WriteLog(&quot;ConnectSftp()-Private Key Details loaded successfully at &quot; + DateTime.Now.ToString(), false);

                WriteLog(&quot;ConnectSftp()-SFTP Authentication Details before Login-UserName:&quot; + Convert.ToString(SFTPUserName) + Environment.NewLine + &quot;at &quot; + DateTime.Now.ToString(), false);
                objNewSFTP.Login(Convert.ToString(SFTPUserName), Convert.ToString(SFTPPassword), privateKey);
                //Added  by Alex on 31.01.2022 for SFTP Authentication with Private Key without loading PFX File End

                WriteLog(&quot;ConnectSftp()-Completed SFTP Authentication Process at &quot; + DateTime.Now.ToString(), false);
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23285/resolve-exception-connection-closed-server-connecting-server</guid>
<pubDate>Fri, 09 May 2025 05:18:38 +0000</pubDate>
</item>
<item>
<title>How set up  Rebex TLS Proxy to establish outbound connection ignoring server certificate problems</title>
<link>https://forum.rebex.net/23279/establish-outbound-connection-ignoring-certificate-problems</link>
<description>&lt;p&gt;Hello dear support.&lt;br&gt;
I'm trying to set the &quot;Rebex TLS Proxy&quot; for my task and I think this is just fine solution. &lt;/p&gt;

&lt;p&gt;What I need: I need to have ability to contact all versions of the Internet browsers (primarily IE) to all versions and generations of SSL/TLS servers that I deal with.&lt;/p&gt;

&lt;p&gt;My idea is that I set incoming connection to &quot;Rebex TLS Proxy&quot; just using HTTP and outgoing connection to a needed a server via HTTPS.&lt;/p&gt;

&lt;p&gt;In case of correct Certificate at server side everything is working fine. But I have several SSL/TLS serves are not always updated and may have incorrect certificates (outdated or something). &lt;/p&gt;

&lt;p&gt;The last thing I have faced that there is a problem with cetrificates Authority chain. If I connect directly via the browser I get a message &quot;This CA Root certificate is not trusted because it is not in the Trusted Root Certification Authorities store.&quot; but it can be ignored and I can still work.&lt;br&gt;
In this case &quot;Rebex TLS Proxy&quot; gives an error message &quot;Certificate verification result: UnknownAuthority&quot;. In case I install this certificate to local Trusted Root Certificate Authorities store - it starts working with &quot;Rebex TLS Proxy&quot; also.&lt;/p&gt;

&lt;p&gt;My question is: is it possible to set the &quot;Rebex TLS Proxy&quot; to allow outbound SSL/TLS connection ignoring all the errors in server certificate (wrong host name, outdated, no authority etc etc)? Just if there is a physical ability to transfer data - do the transfer.&lt;/p&gt;

&lt;p&gt;Thank you a lot!&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23279/establish-outbound-connection-ignoring-certificate-problems</guid>
<pubDate>Mon, 28 Apr 2025 16:25:27 +0000</pubDate>
</item>
<item>
<title>Buru Server Upgrade 2.17.0</title>
<link>https://forum.rebex.net/23266/buru-server-upgrade-2-17-0</link>
<description>&lt;p&gt;Hello,&lt;br&gt;
after installation of upgrade 2.17.0 the service not running.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23266/buru-server-upgrade-2-17-0</guid>
<pubDate>Fri, 11 Apr 2025 10:23:30 +0000</pubDate>
</item>
<item>
<title>Rebex TLS Proxy - Problems connecting to Azure SQL</title>
<link>https://forum.rebex.net/23255/rebex-tls-proxy-problems-connecting-to-azure-sql</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
I am trying to setup Rebex TLS Proxy to allow us to use legacy applications that doesn't support TLS 1.2 to connect to our Azure SQL manged instance that only supports TLS1.2.&lt;/p&gt;

&lt;p&gt;When using this config without cert, the connection somehow fails:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tunnels:
- name: sqlserveraddress.database.windows.net:1433
  in:
    port: 1433
  out:
    address: sqlserveraddress.database.windows.net
    port: 1433
    protocol: TLS
    tlsVersions: TLS12
  idleTimeout: 120


2025-03-21 16:06:01.396 [INF] Tunnel(1)[#0 'server'][O]: Connection secured using cipher: TLS 1.2, RSA with ephemeral ECDH, AES with 256-bit key in GCM mode, AEAD.
2025-03-21 16:06:01.396 [INF] Tunnel(1)[#0 'server'][-]: Established tunnel (127.0.0.1:50058) --'plain'--&amp;gt; (1433) --'TLS12'--&amp;gt; (sqlserveraddress.database.windows.net:1433).
2025-03-21 16:06:01.396 [DBG] Tunnel(1)[#0 'server'][-]: Endpoints: IN=[127.0.0.1:50058; 127.0.0.1:1433], OUT=[10.221.2.8:50059; 10.221.1.201:1433].
2025-03-21 16:06:01.412 [DBG] Tunnel(1)[#0 'server'][I]: Using modern transport layer.
2025-03-21 16:06:01.412 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding 52 bytes (IN ==&amp;gt; OUT).
2025-03-21 16:06:01.412 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding 37 bytes (IN &amp;lt;== OUT).
2025-03-21 16:06:01.412 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding 184 bytes (IN ==&amp;gt; OUT).
2025-03-21 16:06:01.428 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding 196 bytes (IN &amp;lt;== OUT).
2025-03-21 16:06:01.428 [DBG] Tunnel(1)[#0 'server'][O]: TLS socket was closed abruptly.
2025-03-21 16:06:01.428 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding from inbound tunnel finished (IN ==&amp;gt; OUT).
2025-03-21 16:06:01.428 [DBG] Tunnel(1)[#0 'server'][-]: Closing tunnel from 127.0.0.1:50058.
2025-03-21 16:06:01.443 [DBG] Tunnel(1)[#0 'server'][O]: (closing) Rebex.Net.TlsException: Connection was closed by the remote connection end.
2025-03-21 16:06:01.443 [DBG] Tunnel(1)[#0 'server'][-]: (closing) Error while receiving data (IN &amp;lt;== OUT): Rebex.Net.TlsException: Connection was closed by the remote connection end.
2025-03-21 16:06:01.443 [DBG] Tunnel(1)[#0 'server'][-]: Forwarding from outbound tunnel finished (IN &amp;lt;== OUT).
2025-03-21 16:06:01.443 [INF] Tunnel(1)[#0 'server'][-]: Tunnel from 127.0.0.1:50058 closed.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Any clues how I can troubleshoot this? &lt;/p&gt;

&lt;p&gt;I thought that perhaps the incoming tunnel would need TLS as well but when trying to add a cert it fails all the time. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tunnels:
- name: sqlserveraddress.database.windows.net:1433
  in:
    port: 1433
    certificate: D:\www.domain.com.cer; key=D:\www.domain.com.pri
    protocol: TLS
    tlsVersions: TLS10,TLS11,TLS12,TLS13
  out:
    address: sqlserveraddress.database.windows.net
    port: 1433
    protocol: TLS
    tlsVersions: TLS12
  idleTimeout: 120
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I can validate the certs with command, &lt;br&gt;
tlsproxy certinfo &quot;D:\www.domain.com.cer; keyD:\www.domain.com.pri&quot;&lt;br&gt;
But the config fails with error&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Service &quot;RebexTlsProxy&quot; is starting ERROR Cannot start service&lt;br&gt;
  'RebexTlsProxy' on computer '.'. System.InvalidOperationException:&lt;br&gt;
  Cannot start service 'RebexTlsProxy' on comput er '.'.  ---&amp;gt;&lt;br&gt;
  System.ComponentModel.Win32Exception (1053): The service did not&lt;br&gt;
  respond t o the start or control request in a timely fashion.    ---&lt;br&gt;
  End of inner exception stack trace ---    at&lt;br&gt;
  System.ServiceProcess.ServiceController.Start(String[] args)    at&lt;br&gt;
  System.ServiceProcess.ServiceController.Start()    at&lt;br&gt;
  irq.&amp;lt;&amp;gt;c.bxr(ServiceController wn)    at irq.dul(Action&lt;code&gt;1 wi,
  ServiceControllerStatus wj)    at irq.dui()    at iru.&amp;lt;&amp;gt;c.wgr(irq xu) 
  at irt.qza[b](String xl, Func&lt;/code&gt;2 xm)    at iru.pvd(String xq)    at&lt;br&gt;
  irs.usx()    at Rebex.TlsProxy.Cli.SvcStartCliOptionsBase.Run(irs&lt;br&gt;
  handler)    at iov.Handle(SvcStartStopCliOptionsBase op)    at&lt;br&gt;
  System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite&lt;br&gt;
  site , T0 arg0, T1 arg1)    at iov.uvu(VerbOptionsBase f)    at&lt;br&gt;
  ioz.Main(String[] args)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Adding nothing to the log file, the event log records&lt;br&gt;
YamlDotNet.Core.YamlException: (Line: 4, Col: 5, Idx: 101) - (Line: 4, Col: 5, Idx: 101): Exception during deserialization ---&amp;gt; System.Runtime.Serialization.SerializationException: Property 'certificate' not found on type 'Rebex.TlsProxy.Config.TlsProxyConfiguration+Endpoint'.&lt;/p&gt;

&lt;p&gt;Any clues? :) &lt;/p&gt;
</description>
<guid isPermaLink="true">https://forum.rebex.net/23255/rebex-tls-proxy-problems-connecting-to-azure-sql</guid>
<pubDate>Fri, 21 Mar 2025 16:46:49 +0000</pubDate>
</item>
</channel>
</rss>