in core/src/main/java/org/apache/ftpserver/impl/FtpReplyTranslator.java [219:273]
private static String getClientVariableValue(FtpIoSession session,
String varName) {
String varVal = null;
// client ip
if (varName.equals(CLIENT_IP)) {
if (session.getRemoteAddress() instanceof InetSocketAddress) {
InetSocketAddress remoteSocketAddress = (InetSocketAddress) session.getRemoteAddress();
varVal = remoteSocketAddress.getAddress().getHostAddress();
}
}
// client connection time
else if (varName.equals(CLIENT_CON_TIME)) {
varVal = DateUtils.getISO8601Date(session.getCreationTime());
}
// client login name
else if (varName.equals(CLIENT_LOGIN_NAME)) {
if (session.getUser() != null) {
varVal = session.getUser().getName();
}
}
// client login time
else if (varName.equals(CLIENT_LOGIN_TIME)) {
varVal = DateUtils.getISO8601Date(session.getLoginTime().getTime());
}
// client last access time
else if (varName.equals(CLIENT_ACCESS_TIME)) {
varVal = DateUtils.getISO8601Date(session.getLastAccessTime().getTime());
}
// client home
else if (varName.equals(CLIENT_HOME)) {
varVal = session.getUser().getHomeDirectory();
}
// client directory
else if (varName.equals(CLIENT_DIR)) {
FileSystemView fsView = session.getFileSystemView();
if (fsView != null) {
try {
varVal = fsView.getWorkingDirectory().getAbsolutePath();
}
catch (Exception ex) {
varVal = "";
}
}
}
return varVal;
}