Comments (5)
I was able to use my current debug build of 1.7.3 to start the FTP server in main user and connect to it via 127.0.0.1:2121 in work profile. I'm using OnePlus 12 OxygenOS Android 14. I can try the same thing with release build if necessary but I guess it will be the same
In fact, there's no FTP server/client change between 1.7.2 and 1.7.3 - the tile fix is limited to tile related code, so I don't have a good idea why this is happening.
Are you sure that this is related to the app update? Is it fixed if you downgrade to 1.7.2 and reproduced again if you upgrade to 1.7.3 again?
from materialfiles.
I confirm the problem with connecting via FTP version 1.7.3.
Cannot connect to the application server.
After reinstalling to version 1.7.2 it works fine.
App:
Android 12
Material Files 1.7.3
from materialfiles.
Somehow I can reproduce this with release build. Looking into it and halting Play release, probably a ProGuard/R8 bug? Thanks for reporting this issue.
CREATED
OPENED
SENT: 220 Service ready for new user.
RECEIVED: USER anonymous
SENT: 331 Guest login okay, send your complete e-mail address as password.
RECEIVED: PASS *****
PASS.execute()
java.lang.ClassCastException
at e5.a.p(SourceFile:1)
at S8.f.e(SourceFile:75)
at M8.q.a(SourceFile:270)
at U8.a.e(SourceFile:189)
at b9.b.E(SourceFile:114)
at b9.c.c(SourceFile:9)
at Ib.b.H(SourceFile:11)
at U8.b.E(SourceFile:33)
at b9.c.c(SourceFile:9)
at Ib.b.H(SourceFile:11)
at b9.h.a(SourceFile:103)
at l9.b.d0(SourceFile:268)
at m9.a.E(SourceFile:17)
at b9.c.c(SourceFile:9)
at Ib.b.H(SourceFile:11)
at i9.a.a(SourceFile:13)
at i9.c.E(SourceFile:73)
at b9.c.c(SourceFile:9)
at Ib.b.H(SourceFile:11)
at b9.h.a(SourceFile:103)
at f9.k.run(SourceFile:1)
at k9.d.a(SourceFile:37)
at k9.d.run(SourceFile:169)
at java.lang.Thread.run(Thread.java:1012)
Login failure - anonymous
SENT: 530 Authentication failed.
CLOSED
Deobfuscated stacktrace:
java.lang.ClassCastException
at org.apache.ftpserver.impl.FtpIoSession.getClientCertificates(FtpIoSession.java)
at org.apache.ftpserver.command.impl.PASS.execute(PASS.java)
at org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java)
at org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java)
at org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java)
at org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java)
at org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java)
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java)
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java)
at org.apache.mina.core.session.IoEvent.run(IoEvent.java)
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java)
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java)
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java)
at java.lang.Thread.run(Thread.java:1012)
Relevant code in Apache ftpserver-core-1.2.0
:
public Certificate[] getClientCertificates() {
if (getFilterChain().contains(SslFilter.class)) {
SslFilter sslFilter = (SslFilter) getFilterChain().get(
SslFilter.class);
SSLSession sslSession = sslFilter.getSslSession(this);
if (sslSession != null) {
try {
return sslSession.getPeerCertificates();
} catch (SSLPeerUnverifiedException e) {
// ignore, certificate will not be available to the session
}
}
}
// no certificates available
return null;
}
Corresponding decompiled code:
public final void e() {
Class<C1272a> cls;
boolean z7;
C1384b bVar;
m mVar = this.f6314a;
b9.c cVar = (b9.c) mVar.p();
C0569a aVar = cVar.f9899c;
while (true) {
aVar = aVar.f9889b;
cls = C1272a.class;
if (aVar != cVar.f9900d) {
if (cls.isAssignableFrom(aVar.f9891d.getClass())) {
break;
}
} else {
aVar = null;
break;
}
}
if (aVar != null) {
z7 = true;
} else {
z7 = false;
}
if (z7) {
b9.c cVar2 = (b9.c) mVar.p();
C0569a aVar2 = cVar2.f9899c;
while (true) {
aVar2 = aVar2.f9889b;
if (aVar2 != cVar2.f9900d) {
if (cls.isAssignableFrom(aVar2.f9891d.getClass())) {
break;
}
} else {
aVar2 = null;
break;
}
}
if (aVar2 == null) {
bVar = null;
} else {
bVar = aVar2.f9891d;
}
C0856a.p(bVar);
throw null;
}
}
from materialfiles.
Confirmed that this is a R8-related issue because turning off R8 full mode fixed it. I've reported this at https://issuetracker.google.com/issues/349872492 and I'll have to wait for a fix before I can publish a v1.7.4.
from materialfiles.
Related Issues (20)
- Feature request: file metadata (colors)
- Does the FTP server only work on the local network or can it be accessed from outside? HOT 1
- NullPointerException: crash opening a .zip file after a download HOT 2
- sftp密码为空时提示密码登录
- [Feature request] Highlight parent folders when back
- Found Fatal Exception Crashes from Testing HOT 1
- 搜索文件支持正则&解压缩密码分卷压缩包
- Rotating to landscape crashes the app while the app selection screen is open HOT 1
- storage tree title list HOT 1
- Cannot add CalDAV (NextCloud) HOT 2
- Possibility to edit audio tags HOT 1
- SMB连接时报错
- Deleting files on an external FTP server via the FTP client creates an exception HOT 1
- Can't move files to usb drive HOT 4
- [Feature request] Allow one to check whether an archive five is intact without actually extracting it and deleting extracted files
- 备份设置 HOT 1
- [Enhancement] Bookmark folders within root HOT 7
- Switch to telephoto
- [Improvement] Split APK abi
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from materialfiles.