In ftpserver 1.2.0, the class UserMetadata is in
org.apache.ftpserver.usermanager.impl.
In ftpserver 1.2.1-SNAPSHOT, the class UserMetadata is in
org.apache.ftpserver.usermanager.

The breaks BC.

Gary


On Wed, Dec 25, 2024 at 10:37 AM Gary Gregory <garydgreg...@gmail.com>
wrote:

> 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