We are unable to share images, voice notes, PDF files, etc.
The error in OpenFire is:
va.lang.Exception: Failed to create connection to remote server
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.establishConnection(OutgoingSessionPromise.java:301) ~[xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:244) [xmppserver-4.9.2.jar:4.9.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
2025.04.23 09:22:35.028 INFO [pool-7-thread-7]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/gajim.6YZMPNTF' tries to obtain slot.
2025.04.23 09:22:35.029 INFO [pool-7-thread-7]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/gajim.6YZMPNTF' obtained slot for 'OF.png' (225293 bytes). PUT-URL: https://gesels.mydomain.tld:7443/httpfileupload/hnFuYlL3MUaFv0icjwAWwZz7X28/OF.png GET-URL: https://gesels.mydomain.tld:7443/httpfileupload/hnFuYlL3MUaFv0icjwAWwZz7X28/OF.png
2025.04.23 09:22:36.998 INFO [Jetty-QTP-BOSH-865]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... (41.145.193.176 submitting to /httpfileupload/hnFuYlL3MUaFv0icjwAWwZz7X28/OF.png)
2025.04.23 09:22:36.999 WARN [Jetty-QTP-BOSH-865]: org.eclipse.jetty.server.HttpChannel - handleException /httpfileupload/hnFuYlL3MUaFv0icjwAWwZz7X28/OF.png java.nio.file.AccessDeniedException: hnFuYlL3MUaFv0icjwAWwZz7X28
^C
root@gesels:~# tail -f /var/log/openfire/openfire.log
java.lang.Exception: Failed to create connection to remote server
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.establishConnection(OutgoingSessionPromise.java:301) ~[xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:244) [xmppserver-4.9.2.jar:4.9.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
2025.04.23 09:23:42.804 INFO [pool-7-thread-11]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/gajim.6YZMPNTF' tries to obtain slot.
2025.04.23 09:23:42.806 INFO [pool-7-thread-11]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/gajim.6YZMPNTF' obtained slot for 'Isuzu cup.stl' (502250 bytes). PUT-URL: https://gesels.mydomain.tld:7443/httpfileupload/Bwy5w2c6l6QqqepFi8is7zIjfnE/Isuzu%20%20cup.stl GET-URL: https://gesels.mydomain.tld:7443/httpfileupload/Bwy5w2c6l6QqqepFi8is7zIjfnE/Isuzu%20%20cup.stl
2025.04.23 09:23:44.193 INFO [Jetty-QTP-BOSH-823]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... (41.145.193.176 submitting to /httpfileupload/Bwy5w2c6l6QqqepFi8is7zIjfnE/Isuzu%20%20cup.stl)
2025.04.23 09:23:44.194 WARN [Jetty-QTP-BOSH-823]: org.eclipse.jetty.server.HttpChannel - handleException /httpfileupload/Bwy5w2c6l6QqqepFi8is7zIjfnE/Isuzu%20%20cup.stl java.nio.file.AccessDeniedException: Bwy5w2c6l6QqqepFi8is7zIjfnE
2025.04.23 09:23:59.822 WARN [nioEventLoopGroup-34-1]: org.jivesoftware.openfire.net.StanzaHandler - Unexpected packet tag (not message,iq,presence)<db:result xmlns:db="jabber:server:dialback" from="mydomain.tld" to="gesels.mydomain.tld" type="error"><error type="cancel" code="504"><remote-server-timeout xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></remote-server-timeout><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Key verification did not complete (the Authoritative Server likely returned an error or a time out occurred).</text></error></db:result>. Closing session: LocalOutgoingServerSession{address=gesels.mydomain.tld/00e30aa0-2bbf-4bad-9cc5-4b69eb8003c8, streamID=8s8g90usz5, status=CONNECTED, isEncrypted=true, isDetached=false, authenticationMethod=null, outgoingDomainPairs={}}
2025.04.23 09:24:09.777 WARN [S2SOutgoingPromise-9]: org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: {gesels.mydomain.tld -> mydomain.tld}] - An exception occurred while creating a session. Closing connection.
java.util.concurrent.TimeoutException: null
at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) ~[?:?]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) ~[?:?]
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSession(LocalOutgoingServerSession.java:262) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(LocalOutgoingServerSession.java:209) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.establishConnection(OutgoingSessionPromise.java:288) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:244) [xmppserver-4.9.2.jar:4.9.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Yesterday the uploads worked fine. Voicenotes, images, PDF’s, etc.
The server has a valid SSL certificate for all the domains.
I get the same error when sending attachments or voicenotes from Gajim on Windows and Linux, as well as Conversations on my Samsung mobile phone.
2025.04.23 12:49:27.001 INFO [pool-9-thread-14]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/Conversations.f2sf' tries to obtain slot.
2025.04.23 12:49:27.004 INFO [pool-9-thread-14]: nl.goodbytes.xmpp.xep0363.Component - Entity 'rudia@gesels.mydomain.tld/Conversations.f2sf' obtained slot for 'RrScDl9uSwSqV3MaxiGsvQ.jpg' (270212 bytes). PUT-URL: https://gesels.mydomain.tld:7443/httpfileupload/9drjomk6DLWmD7KsxWEKKeCVMAQ/RrScDl9uSwSqV3MaxiGsvQ.jpg GET-URL: https://gesels.mydomain.tld:7443/httpfileupload/9drjomk6DLWmD7KsxWEKKeCVMAQ/RrScDl9uSwSqV3MaxiGsvQ.jpg
2025.04.23 12:49:27.446 INFO [Jetty-QTP-BOSH-342]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... (105.245.4.69 submitting to /httpfileupload/9drjomk6DLWmD7KsxWEKKeCVMAQ/RrScDl9uSwSqV3MaxiGsvQ.jpg)
2025.04.23 12:49:27.448 WARN [Jetty-QTP-BOSH-342]: org.eclipse.jetty.server.HttpChannel - handleException /httpfileupload/9drjomk6DLWmD7KsxWEKKeCVMAQ/RrScDl9uSwSqV3MaxiGsvQ.jpg java.nio.file.AccessDeniedException: 9drjomk6DLWmD7KsxWEKKeCVMAQ
2025.04.23 12:50:21.158 ERROR [socket_c2s_ssl-thread-13]: org.jivesoftware.openfire.nio.NettyConnection - Problem during connection close or cleanup
io.netty.handler.ssl.SslClosedEngineException: SSLEngine closed already
at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:906) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:822) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:803) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:941) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:921) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:907) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:125) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:939) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:957) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at org.jivesoftware.openfire.nio.NettyConnection.close(NettyConnection.java:215) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.Connection.close(Connection.java:177) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelUnregistered(NettyConnectionHandler.java:163) [xmppserver-4.9.2.jar:4.9.2]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:217) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:195) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelUnregistered(AbstractChannelHandlerContext.java:188) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1388) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:215) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:195) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:821) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:821) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at java.lang.Thread.run(Thread.java:840) [?:?]
There are a lot of issues happening to your server. but the one that is the most relevant for your “unable to share files issue topic” i think is this: AccessDeniedException meaning that the Openfire cannot write on that directory.
If i were in your shoes, i would just create a new directory, then chown -R openfire:openfire /path/to/said/dir. And set that directory as the one to be used by the httpfiletransfer plugin.
And as for the other big elephant in the room: gesels.mydomain.tld → mydomain.tld.
I saw your other question about how to move the chat, and by putting the pieces together i presume that this is a butchered transition from one domain mydomain.tld to another gesels.mydomain.tld this errors are appearing because the roster of everyone in your server are still pointing to the old domain. kind of a mess, you can maybe try to edit each and everyone to match the new domain, or just delete it(their contact list that points to the old domain) to not see those warnings anymore.