Hi guys. i have a problem with authenticating my clients after upgrading my openfire server.
Almost all users are using miranda im 0.7.8.0 clients (yes, very old but still)
For authentication I mainly use the NTLM plugin (SASL Mechanisms (JT)) by Norman Rasmussen, although very old, but it works stable.
The problem is the following - those clients whose computers for some reason are not in the domain are forced to use login/password (PLAIN) authentication. There are three mechanisms for this in the server settings in sasl.mechs - NTLM,PLAIN,ANONYMOUS. When trying to connect, the server transmits that it supports all these authentication mechanisms, but the client persistently tries to continue to connect via NTLM. As a result, an error occurs.
I wanted to go the other way, and authenticate these old clients via non-sasl. To do this I installed the non-sasl authentication plugin, however it does not work, on the client side I see the following.
There are no errors on the server side.
Earlier, before the update, on version 3.6.4 such authorization worked, but as far as I understand on version 4.1.0 it was abandoned. Apparently now the work of such authorization is supported only with a plugin, but it, as I wrote above, does not work. What can be done in this case?
here is your hint. The auth mech was removed awhile back because it obsolete and not considered secure.
good news… @guus made a plugin that can restore Non-SASL Authentication.
2024.08.02 23:06:56 WARN [socket_c2s-thread-9]: org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x0000714B: nio socket, server, null => 0.0.0.0/0.0.0.0:5222)
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.8.0_202]
at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.IOUtil.read(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[?:1.8.0_202]
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:378) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:47) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:519) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1222) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1211) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) ~[mina-core-2.1.3.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_202]