The BC break appears to be in org.apache.mina.filter.ssl.SslFilter.

Gary


On Wed, Dec 25, 2024 at 10:36 AM Gary D. Gregory <ggreg...@apache.org>
wrote:

> Hi All and Happy Hols,
>
> My big picture: I am _trying_ to migrate Apache Commons VFS tests from SSH
> Core 0.8.0 (!) and Mina Core 2.1.x.
>
> I've given up for now on migrating from SSH Core 0.8.0 to 2.x because it
> seems like a rewrite beyond my sshd foo ATM.
>
> To migrate from Mina Core 2.1.10 to 2.2.4 there is some behavioral
> breakage that I am trying to resolve.
>
> One of the items that sticks out is:
>
> Exception in thread "pool-3-thread-1" java.lang.NoSuchFieldError: Class
> org.apache.mina.filter.ssl.SslFilter does not have member field
> 'org.apache.mina.core.session.AttributeKey DISABLE_ENCRYPTION_ONCE'
>         at
> org.apache.ftpserver.command.impl.AUTH.secureSession(AUTH.java:125)
>         at org.apache.ftpserver.command.impl.AUTH.execute(AUTH.java:106)
>         at
> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:211)
>         at
> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:62)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
>         at
> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
>         at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
>         at
> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:162)
>         at
> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:84)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
>         at
> org.apache.mina.filter.codec.AbstractProtocolDecoderOutput.flush(AbstractProtocolDecoderOutput.java:64)
>         at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:249)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
>         at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
>         at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
>         at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89)
>         at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:763)
>         at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:755)
>         at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:695)
>         at java.base/java.lang.Thread.run(Thread.java:1575)
>
> So that means that Mina's ftpserver is not compatible with mina-core, not
> great.
>
> So I go over to ftpserver and try to compile 1.2.x and it breaks because
> we've (at least) move a public class from one package to another, _not in a
> major release_, and JApiCmp is set up to fail on binary incompatibilities.
>
> So:
> - Should I fix 1.2.1-SNAPSHOT to make it not break BC?
> - Should we declare a BC policy or just keep randomly breaking stuff?
>
> TY!
> Gary
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
> For additional commands, e-mail: dev-h...@mina.apache.org
>
>

Reply via email to