GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

Need help with FileZilla Client? Something does not work as expected? In this forum you may find an answer.

Moderator: Project members

Post Reply
Message
Author
thesteis
500 Command not understood
Posts: 1
Joined: 2023-05-31 00:13
First name: Ahren
Last name: Steis

GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

#1 Post by thesteis » 2023-05-31 00:19

Having the hardest time trying to get my FileZilla server accessible externally. This has proven to be pretty difficult. But this is the newest issue that I can't find a solution for. I'm connecting locally and this is the error I'm getting. I have a filezilla server using passive mode with ports 49152-49172. I have a filezilla client which mimics the settings from the server. This is the error I'm getting in the filezilla server log:
GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

What do I have set wrong? Because I'm certain it's something I'm doing.

User avatar
botg
Site Admin
Posts: 35535
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

#2 Post by botg » 2023-05-31 06:24

Most likely a firewall or NAT router interfering.

For further troubleshooting, please post a complete and unmodified log of the error happening.

Larry53
500 Command not understood
Posts: 1
Joined: 2023-06-15 03:27
First name: Dale
Last name: Monti

Re: GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

#3 Post by Larry53 » 2023-06-15 14:40

I am getting a similar error when storing a file. Server is 1.7.2. Client is Apache commons-net. I have been debugging it. It seems to transfer the file OK, but when closing the socket I get the error. Here is the log

"Response","230 Login successful."
"Trace","tls_layer_impl::on_read()"
"Command","PROT P"
"Response","200 Protection level set to P"
"Trace","tls_layer_impl::on_read()"
"Command","PASV"
"Trace","TLS handshakep: About to send NEW SESSION TICKET"
"Trace","TLS handshakep: Sent NEW SESSION TICKET"
"Trace","Trying listen(1, 0) for data connection."
"Response","227 Entering Passive Mode (127,0,0,1,205,55)"
"Trace","session::on_socket_event(): source = data listen, flag = 2, error = 0, state = -1"
"Trace","Client wants a secure data connection."
"Trace","securer(1) ENTERING state = 0"
"Trace","calling tls_layer_->set_certificate_file(""C:\ProgramData\filezilla-server\certificates\imported\key-2023-05-05T18.22.43.721T.pem"", ""C:\ProgramData\filezilla-server\certificates\imported\certs-2023-05-05T18.22.43.720T.pem"", ""****"")"
"Trace","securer(1) EXITING state = 1"
"Trace","Making the data connection secure."
"Trace","~securer(1) ENTERING state = 1"
"Trace","tls_layer_impl::server_handshake()"
"Trace","tls_layer_impl::continue_handshake()"
"Trace","~securer(1) EXITING state = 2"
"Trace","tls_layer_impl::on_send()"
"Trace","tls_layer_impl::continue_handshake()"
"Trace","tls_layer_impl::on_read()"
"Command","STOR PepsiTestExcelFile.csv"
"Trace","open_file(C:\testFileZilla\PepsiTestExcelFile.csv): fd = 1012, res = 0"
"Trace","Client wants a secure data connection."
"Trace","securer(1) ENTERING state = 2"
"Trace","securer(1) EXITING state = 2"
"Trace","The data connection is not secure yet. Waiting for the related connection event."
"Trace","~securer(1) ENTERING state = 2"
"Trace","~securer(1) EXITING state = 2"
"Response","150 Starting data transfer."
"Trace","tls_layer_impl::on_read()"
"Trace","tls_layer_impl::continue_handshake()"
"Trace","TLS handshakep: Received CLIENT HELLO"
"Trace","TLS handshakep: Processed CLIENT HELLO"
"Trace","TLS handshakep: About to send SERVER HELLO"
"Trace","TLS handshakep: Sent SERVER HELLO"
"Trace","TLS handshakep: About to send ENCRYPTED EXTENSIONS"
"Trace","TLS handshakep: Sent ENCRYPTED EXTENSIONS"
"Trace","TLS handshakep: About to send FINISHED"
"Trace","TLS handshakep: Sent FINISHED"
"Trace","tls_layer_impl::on_read()"
"Trace","tls_layer_impl::continue_handshake()"
"Trace","TLS handshakep: Received FINISHED"
"Trace","TLS handshakep: Processed FINISHED"
"Trace","TLS Handshake successful"
"Trace","TLS Session resumed"
"Trace","Protocol: TLS1.3, Key exchange: unknown, Cipher: AES-256-GCM, MAC: AEAD, ALPN: "
"Trace","session::on_socket_event(): source = data, flag = 2, error = 0, state = 2"
"Trace","Client wants a secure data connection."
"Trace","securer(1) ENTERING state = 2"
"Trace","securer(1) EXITING state = 3"
"Trace","The data connection is now secure."
"Trace","~securer(1) ENTERING state = 3"
"Trace","~securer(1) EXITING state = 3"
"Trace","CHANNEL state is being dumped:"
"Trace","PIPE((IN)) {"
"Trace"," max_num_loops_ = 10"
"Trace"," thread_safe_ = 0"
"Trace"," variant_buffer_ = <2>"
"Trace"," variant_adder_ = <2>"
"Trace"," variant_consumer_ = <2>"
"Trace"," buffer_ = 0x2057589d390"
"Trace"," adder_ = 0x0"
"Trace"," consumer_ = 0x0"
"Trace"," waiting_for_adder_event_ = 0"
"Trace"," consumer_error_ = 0"
"Trace"," adder_error_ = 0"
"Trace","}"
"Trace","PIPE((OUT)) {"
"Trace"," max_num_loops_ = 10"
"Trace"," thread_safe_ = 0"
"Trace"," variant_buffer_ = <2>"
"Trace"," variant_adder_ = <2>"
"Trace"," variant_consumer_ = <2>"
"Trace"," buffer_ = 0x2057589d258"
"Trace"," adder_ = 0x0"
"Trace"," consumer_ = 0x0"
"Trace"," waiting_for_adder_event_ = 0"
"Trace"," consumer_error_ = 0"
"Trace"," adder_error_ = 0"
"Trace","}"
"Trace","tls_layer_impl::on_read()"
"Trace","tls_layer_impl::on_read()"
"Trace","tls_layer_impl::failure(-110)"
"Error","GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated."
"Status","Client did not properly shut down TLS connection"
"Trace","tls_layer_impl::shutdown()"
"Trace","data_socket_->shutdown() = 126"
"Response","425 Error while transfering data: ECONNABORTED - Connection aborted"
"Trace","session::close_data_connection(): prev data_connection_status = 2"
"Trace","Removed done events: 0"
"Trace","CHANNEL state is being dumped:"
"Trace","PIPE((IN)) {"
"Trace"," max_num_loops_ = 10"
"Trace"," thread_safe_ = 0"
"Trace"," variant_buffer_ = <2>"
"Trace"," variant_adder_ = <2>"
"Trace"," variant_consumer_ = <2>"
"Trace"," buffer_ = 0x2057589d390"
"Trace"," adder_ = 0x0"
"Trace"," consumer_ = 0x0"
"Trace"," waiting_for_adder_event_ = 0"
"Trace"," consumer_error_ = 0"
"Trace"," adder_error_ = 0"
"Trace","}"
"Trace","PIPE((OUT)) {"
"Trace"," max_num_loops_ = 10"
"Trace"," thread_safe_ = 0"
"Trace"," variant_buffer_ = <2>"
"Trace"," variant_adder_ = <2>"
"Trace"," variant_consumer_ = <2>"
"Trace"," buffer_ = 0x2057589d258"
"Trace"," adder_ = 0x0"
"Trace"," consumer_ = 0x0"
"Trace"," waiting_for_adder_event_ = 0"
"Trace"," consumer_error_ = 0"
"Trace"," adder_error_ = 0"
"Trace","}"
"Trace","tls_layer_impl::on_read()"
"Trace","tls_layer_impl::failure(-110)"
"Trace","GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated."
"Trace","Control channel closed with error from source 0. Reason: ECONNABORTED - Connection aborted."
"Trace","Session 0x2057589be70 with ID 17 destroyed."

User avatar
botg
Site Admin
Posts: 35535
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.

#4 Post by botg » 2023-06-15 15:59

At the end of a file transfer, the sender, which is the client for uploads, has to perform an orderly connection shutdown on the data connection. If FTP over TLS is used, this shutdown is initiated by sending a TLS closure alert (close_notify).

The client you are using is either not sending a closure alert, or is dropping the socket prematurely while there is still data pending in the various send buffers.

Post Reply