mina-ftpserver/mina-ftpserver-1.0.6-mina2.0.9.patch
2020-10-12 16:32:08 +08:00

55 lines
2.1 KiB
Diff

From 4c28da4d8a8d84823854b2cf19a22f692fad43e9 Mon Sep 17 00:00:00 2001
Date: Mon, 21 Sep 2020 20:55:58 +0800
---
.../org/apache/ftpserver/impl/FtpIoSession.java | 15 +++++++++++++++
.../ftpserver/listener/nio/FtpHandlerAdapter.java | 3 +++
2 files changed, 18 insertions(+)
diff --git a/src/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java b/src/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java
index 9f79c3a..4b8ae06 100644
--- a/src/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java
+++ b/src/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java
@@ -37,6 +37,7 @@ import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Structure;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.listener.Listener;
+import org.apache.mina.core.filterchain.IoFilter;
import org.apache.mina.core.filterchain.IoFilterChain;
import org.apache.mina.core.future.CloseFuture;
import org.apache.mina.core.future.ReadFuture;
@@ -876,4 +877,18 @@ public class FtpIoSession implements IoSession {
public void updateThroughput(long currentTime, boolean force) {
wrappedSession.updateThroughput(currentTime, force);
}
+
+ public boolean isSecured() {
+ // If the session does not have a SslFilter, we can return false
+ IoFilterChain chain = getFilterChain();
+
+ IoFilter sslFilter = chain.get(SslFilter.class);
+
+ if (sslFilter != null) {
+ // Get the SslHandler from the SslFilter
+ return ((SslFilter)sslFilter).isSslStarted(this);
+ } else {
+ return false;
+ }
+ }
}
diff --git a/src/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java b/src/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java
index 5899784..776a78e 100644
--- a/src/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java
+++ b/src/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java
@@ -99,4 +99,7 @@ public class FtpHandlerAdapter implements IoHandler {
}
+ public void inputClosed(IoSession session) throws Exception {
+ session.close(true);
+ }
}
--
2.23.0