fix #2061 add smb1
This commit is contained in:
parent
36c963c224
commit
617e765460
12 changed files with 112 additions and 22 deletions
|
@ -252,7 +252,8 @@ public class AdminWizardAction extends FessAdminAction {
|
|||
}
|
||||
|
||||
protected String convertCrawlingPath(final String path) {
|
||||
if (path.startsWith("http:") || path.startsWith("https:") || path.startsWith("smb:") || path.startsWith("ftp:")) {
|
||||
if (path.startsWith("http:") || path.startsWith("https:") || path.startsWith("smb:") || path.startsWith("smb1:")
|
||||
|| path.startsWith("ftp:")) {
|
||||
return path;
|
||||
}
|
||||
|
||||
|
|
|
@ -153,6 +153,6 @@ public class GoAction extends FessSearchAction {
|
|||
}
|
||||
|
||||
protected boolean isFileSystemPath(final String url) {
|
||||
return url.startsWith("file:") || url.startsWith("smb:") || url.startsWith("ftp:");
|
||||
return url.startsWith("file:") || url.startsWith("smb:") || url.startsWith("smb1:") || url.startsWith("ftp:");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ public class FessCrawlerThread extends CrawlerThread {
|
|||
dataMap.put(fessConfig.getIndexFieldUrl(), url);
|
||||
final List<String> roleTypeList = new ArrayList<>();
|
||||
stream(crawlingConfig.getPermissions()).of(stream -> stream.forEach(p -> roleTypeList.add(p)));
|
||||
if (url.startsWith("smb:") || url.startsWith("file:") || url.startsWith("ftp:")) {
|
||||
if (url.startsWith("smb:") || url.startsWith("smb1:") || url.startsWith("file:") || url.startsWith("ftp:")) {
|
||||
if (url.endsWith("/")) {
|
||||
// directory
|
||||
return true;
|
||||
|
|
|
@ -203,6 +203,7 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
|
|||
if (StringUtil.isNotBlank(fileAuthStr)) {
|
||||
final String[] fileAuthNames = fileAuthStr.split(",");
|
||||
final List<SmbAuthentication> smbAuthList = new ArrayList<>();
|
||||
final List<org.codelibs.fess.crawler.client.smb1.SmbAuthentication> smb1AuthList = new ArrayList<>();
|
||||
final List<FtpAuthentication> ftpAuthList = new ArrayList<>();
|
||||
for (final String fileAuthName : fileAuthNames) {
|
||||
final String scheme = paramMap.get(CRAWLER_FILE_AUTH + "." + fileAuthName + ".scheme");
|
||||
|
@ -231,6 +232,21 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
|
|||
smbAuth.setUsername(username);
|
||||
smbAuth.setPassword(password == null ? StringUtil.EMPTY : password);
|
||||
smbAuthList.add(smbAuth);
|
||||
|
||||
final org.codelibs.fess.crawler.client.smb1.SmbAuthentication smb1Auth =
|
||||
new org.codelibs.fess.crawler.client.smb1.SmbAuthentication();
|
||||
smb1Auth.setDomain(domain == null ? StringUtil.EMPTY : domain);
|
||||
smb1Auth.setServer(hostname);
|
||||
if (StringUtil.isNotBlank(port)) {
|
||||
try {
|
||||
smb1Auth.setPort(Integer.parseInt(port));
|
||||
} catch (final NumberFormatException e) {
|
||||
logger.warn("Failed to parse " + port, e);
|
||||
}
|
||||
}
|
||||
smb1Auth.setUsername(username);
|
||||
smb1Auth.setPassword(password == null ? StringUtil.EMPTY : password);
|
||||
smb1AuthList.add(smb1Auth);
|
||||
} else if (Constants.FTP.equals(scheme)) {
|
||||
final String hostname = paramMap.get(CRAWLER_FILE_AUTH + "." + fileAuthName + ".host");
|
||||
final String port = paramMap.get(CRAWLER_FILE_AUTH + "." + fileAuthName + ".port");
|
||||
|
@ -259,6 +275,10 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
|
|||
if (!smbAuthList.isEmpty()) {
|
||||
factoryParamMap.put(SmbClient.SMB_AUTHENTICATIONS_PROPERTY, smbAuthList.toArray(new SmbAuthentication[smbAuthList.size()]));
|
||||
}
|
||||
if (!smb1AuthList.isEmpty()) {
|
||||
factoryParamMap.put(org.codelibs.fess.crawler.client.smb1.SmbClient.SMB_AUTHENTICATIONS_PROPERTY,
|
||||
smb1AuthList.toArray(new org.codelibs.fess.crawler.client.smb1.SmbAuthentication[smb1AuthList.size()]));
|
||||
}
|
||||
if (!ftpAuthList.isEmpty()) {
|
||||
factoryParamMap.put(FtpClient.FTP_AUTHENTICATIONS_PROPERTY, ftpAuthList.toArray(new FtpAuthentication[ftpAuthList.size()]));
|
||||
}
|
||||
|
|
|
@ -159,6 +159,7 @@ public class FileConfig extends BsFileConfig implements CrawlingConfig {
|
|||
// auth params
|
||||
final List<FileAuthentication> fileAuthList = fileAuthenticationService.getFileAuthenticationList(getId());
|
||||
final List<SmbAuthentication> smbAuthList = new ArrayList<>();
|
||||
final List<org.codelibs.fess.crawler.client.smb1.SmbAuthentication> smb1AuthList = new ArrayList<>();
|
||||
final List<FtpAuthentication> ftpAuthList = new ArrayList<>();
|
||||
for (final FileAuthentication fileAuth : fileAuthList) {
|
||||
if (Constants.SAMBA.equals(fileAuth.getProtocolScheme())) {
|
||||
|
@ -171,6 +172,15 @@ public class FileConfig extends BsFileConfig implements CrawlingConfig {
|
|||
smbAuth.setUsername(fileAuth.getUsername());
|
||||
smbAuth.setPassword(fileAuth.getPassword());
|
||||
smbAuthList.add(smbAuth);
|
||||
|
||||
final org.codelibs.fess.crawler.client.smb1.SmbAuthentication smb1Auth =
|
||||
new org.codelibs.fess.crawler.client.smb1.SmbAuthentication();
|
||||
smb1Auth.setDomain(domain == null ? StringUtil.EMPTY : domain);
|
||||
smb1Auth.setServer(fileAuth.getHostname());
|
||||
smb1Auth.setPort(fileAuth.getPort() == null ? -1 : fileAuth.getPort().intValue());
|
||||
smb1Auth.setUsername(fileAuth.getUsername());
|
||||
smb1Auth.setPassword(fileAuth.getPassword());
|
||||
smb1AuthList.add(smb1Auth);
|
||||
} else if (Constants.FTP.equals(fileAuth.getProtocolScheme())) {
|
||||
final FtpAuthentication ftpAuth = new FtpAuthentication();
|
||||
ftpAuth.setServer(fileAuth.getHostname());
|
||||
|
@ -181,6 +191,8 @@ public class FileConfig extends BsFileConfig implements CrawlingConfig {
|
|||
}
|
||||
}
|
||||
paramMap.put(SmbClient.SMB_AUTHENTICATIONS_PROPERTY, smbAuthList.toArray(new SmbAuthentication[smbAuthList.size()]));
|
||||
paramMap.put(org.codelibs.fess.crawler.client.smb1.SmbClient.SMB_AUTHENTICATIONS_PROPERTY,
|
||||
smb1AuthList.toArray(new org.codelibs.fess.crawler.client.smb1.SmbAuthentication[smb1AuthList.size()]));
|
||||
paramMap.put(FtpClient.FTP_AUTHENTICATIONS_PROPERTY, ftpAuthList.toArray(new FtpAuthentication[ftpAuthList.size()]));
|
||||
|
||||
return paramMap;
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import jcifs.SID;
|
||||
import jcifs.smb1.smb1.ACE;
|
||||
|
||||
public class PermissionHelper {
|
||||
private static final Logger logger = LoggerFactory.getLogger(PermissionHelper.class);
|
||||
|
@ -109,18 +110,37 @@ public class PermissionHelper {
|
|||
public List<String> getSmbRoleTypeList(final ResponseData responseData) {
|
||||
final List<String> roleTypeList = new ArrayList<>();
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
if (fessConfig.isSmbRoleFromFile() && responseData.getUrl().startsWith("smb:")) {
|
||||
final SambaHelper sambaHelper = ComponentUtil.getSambaHelper();
|
||||
final SID[] sids = (SID[]) responseData.getMetaDataMap().get(SmbClient.SMB_ALLOWED_SID_ENTRIES);
|
||||
if (sids != null) {
|
||||
for (final SID sid : sids) {
|
||||
final String accountId = sambaHelper.getAccountId(sid);
|
||||
if (accountId != null) {
|
||||
roleTypeList.add(accountId);
|
||||
if (fessConfig.isSmbRoleFromFile()) {
|
||||
if (responseData.getUrl().startsWith("smb:")) {
|
||||
final SambaHelper sambaHelper = ComponentUtil.getSambaHelper();
|
||||
final SID[] sids = (SID[]) responseData.getMetaDataMap().get(SmbClient.SMB_ALLOWED_SID_ENTRIES);
|
||||
if (sids != null) {
|
||||
for (final SID sid : sids) {
|
||||
final String accountId = sambaHelper.getAccountId(sid);
|
||||
if (accountId != null) {
|
||||
roleTypeList.add(accountId);
|
||||
}
|
||||
}
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("smbUrl:" + responseData.getUrl() + " roleType:" + roleTypeList.toString());
|
||||
}
|
||||
}
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("smbUrl:" + responseData.getUrl() + " roleType:" + roleTypeList.toString());
|
||||
} else if (responseData.getUrl().startsWith("smb1:")) {
|
||||
final SambaHelper sambaHelper = ComponentUtil.getSambaHelper();
|
||||
final ACE[] aces =
|
||||
(ACE[]) responseData.getMetaDataMap().get(
|
||||
org.codelibs.fess.crawler.client.smb1.SmbClient.SMB_ACCESS_CONTROL_ENTRIES);
|
||||
if (aces != null) {
|
||||
for (final ACE item : aces) {
|
||||
final jcifs.smb1.smb1.SID sid = item.getSID();
|
||||
final String accountId = sambaHelper.getAccountId(sid);
|
||||
if (accountId != null) {
|
||||
roleTypeList.add(accountId);
|
||||
}
|
||||
}
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("smbUrl:" + responseData.getUrl() + " roleType:" + roleTypeList.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,6 +71,24 @@ public class SambaHelper {
|
|||
return null;
|
||||
}
|
||||
|
||||
public String getAccountId(final jcifs.smb1.smb1.SID sid) {
|
||||
final int type = sid.getType();
|
||||
if (logger.isDebugEnabled()) {
|
||||
try {
|
||||
logger.debug("Processing SID: {} {} {}", type, sid, sid.toDisplayString());
|
||||
} catch (Exception e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
final Integer id = fessConfig.getAvailableSmbSidType(type);
|
||||
if (id != null) {
|
||||
return createSearchRole(id, sid.getAccountName());
|
||||
} else if (logger.isDebugEnabled()) {
|
||||
logger.debug("Ignored SID: {} {}", type, sid);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected String createSearchRole(final int type, final String name) {
|
||||
return type + fessConfig.getCanonicalLdapName(name);
|
||||
}
|
||||
|
|
|
@ -267,7 +267,7 @@ public class ViewHelper {
|
|||
return "#not-found-" + DocumentUtil.getValue(document, fessConfig.getIndexFieldDocId(), String.class);
|
||||
}
|
||||
|
||||
final boolean isSmbUrl = url.startsWith("smb:");
|
||||
final boolean isSmbUrl = url.startsWith("smb:") || url.startsWith("smb1:");
|
||||
final boolean isFtpUrl = url.startsWith("ftp:");
|
||||
final boolean isSmbOrFtpUrl = isSmbUrl || isFtpUrl;
|
||||
|
||||
|
@ -278,6 +278,7 @@ public class ViewHelper {
|
|||
|
||||
if (isSmbUrl) {
|
||||
url = url.replace("smb:", "file:");
|
||||
url = url.replace("smb1:", "file:");
|
||||
}
|
||||
|
||||
if (isHttpUrl && isSmbOrFtpUrl) {
|
||||
|
|
|
@ -58,6 +58,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
-Djcifs.smb.client.soTimeout=35000
|
||||
-Djcifs.smb.client.connTimeout=60000
|
||||
-Djcifs.smb.client.sessionTimeout=60000
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000
|
||||
-Dgroovy.use.classvalue=true
|
||||
-Dio.netty.noUnsafe=true
|
||||
-Dio.netty.noKeySetOptimization=true
|
||||
|
@ -115,6 +118,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
-Djcifs.smb.client.soTimeout=35000
|
||||
-Djcifs.smb.client.connTimeout=60000
|
||||
-Djcifs.smb.client.sessionTimeout=60000
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000
|
||||
-Dgroovy.use.classvalue=true
|
||||
-Dio.netty.noUnsafe=true
|
||||
-Dio.netty.noKeySetOptimization=true
|
||||
|
@ -265,7 +271,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
/** The key of the configuration. e.g. http,https */
|
||||
String CRAWLER_WEB_PROTOCOLS = "crawler.web.protocols";
|
||||
|
||||
/** The key of the configuration. e.g. file,smb,ftp */
|
||||
/** The key of the configuration. e.g. file,smb,smb1,ftp */
|
||||
String CRAWLER_FILE_PROTOCOLS = "crawler.file.protocols";
|
||||
|
||||
/** The key of the configuration. e.g. false */
|
||||
|
@ -1474,6 +1480,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
-Djcifs.smb.client.soTimeout=35000
|
||||
-Djcifs.smb.client.connTimeout=60000
|
||||
-Djcifs.smb.client.sessionTimeout=60000
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000
|
||||
-Dgroovy.use.classvalue=true
|
||||
-Dio.netty.noUnsafe=true
|
||||
-Dio.netty.noKeySetOptimization=true
|
||||
|
@ -1540,6 +1549,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
-Djcifs.smb.client.soTimeout=35000
|
||||
-Djcifs.smb.client.connTimeout=60000
|
||||
-Djcifs.smb.client.sessionTimeout=60000
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000
|
||||
-Dgroovy.use.classvalue=true
|
||||
-Dio.netty.noUnsafe=true
|
||||
-Dio.netty.noKeySetOptimization=true
|
||||
|
@ -2066,7 +2078,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
|
||||
/**
|
||||
* Get the value for the key 'crawler.file.protocols'. <br>
|
||||
* The value is, e.g. file,smb,ftp <br>
|
||||
* The value is, e.g. file,smb,smb1,ftp <br>
|
||||
* @return The value of found property. (NotNull: if not found, exception but basically no way)
|
||||
*/
|
||||
String getCrawlerFileProtocols();
|
||||
|
@ -8197,13 +8209,13 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
defaultMap.put(FessConfig.APP_DIGEST_ALGORISM, "sha256");
|
||||
defaultMap
|
||||
.put(FessConfig.JVM_CRAWLER_OPTIONS,
|
||||
"-Djava.awt.headless=true\n-Dfile.encoding=UTF-8\n-Djna.nosys=true\n-Djdk.io.permissionsUseCanonicalPath=true\n-Dhttp.maxConnections=20\n-server\n-Xmx512m\n-XX:MaxMetaspaceSize=128m\n-XX:CompressedClassSpaceSize=32m\n-XX:-UseGCOverheadLimit\n-XX:+UseConcMarkSweepGC\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:+UseTLAB\n-XX:+DisableExplicitGC\n-XX:+HeapDumpOnOutOfMemoryError\n-XX:-OmitStackTraceInFastThrow\n-Djcifs.smb.client.responseTimeout=30000\n-Djcifs.smb.client.soTimeout=35000\n-Djcifs.smb.client.connTimeout=60000\n-Djcifs.smb.client.sessionTimeout=60000\n-Dgroovy.use.classvalue=true\n-Dio.netty.noUnsafe=true\n-Dio.netty.noKeySetOptimization=true\n-Dio.netty.recycler.maxCapacityPerThread=0\n-Dlog4j.shutdownHookEnabled=false\n-Dlog4j2.disable.jmx=true\n-Dlog4j.skipJansi=true\n-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider\n-Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true\n");
|
||||
"-Djava.awt.headless=true\n-Dfile.encoding=UTF-8\n-Djna.nosys=true\n-Djdk.io.permissionsUseCanonicalPath=true\n-Dhttp.maxConnections=20\n-server\n-Xmx512m\n-XX:MaxMetaspaceSize=128m\n-XX:CompressedClassSpaceSize=32m\n-XX:-UseGCOverheadLimit\n-XX:+UseConcMarkSweepGC\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:+UseTLAB\n-XX:+DisableExplicitGC\n-XX:+HeapDumpOnOutOfMemoryError\n-XX:-OmitStackTraceInFastThrow\n-Djcifs.smb.client.responseTimeout=30000\n-Djcifs.smb.client.soTimeout=35000\n-Djcifs.smb.client.connTimeout=60000\n-Djcifs.smb.client.sessionTimeout=60000\n-Djcifs.smb1.smb.client.connTimeout=60000\n-Djcifs.smb1.smb.client.soTimeout=35000\n-Djcifs.smb1.smb.client.responseTimeout=30000\n-Dgroovy.use.classvalue=true\n-Dio.netty.noUnsafe=true\n-Dio.netty.noKeySetOptimization=true\n-Dio.netty.recycler.maxCapacityPerThread=0\n-Dlog4j.shutdownHookEnabled=false\n-Dlog4j2.disable.jmx=true\n-Dlog4j.skipJansi=true\n-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider\n-Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true\n");
|
||||
defaultMap
|
||||
.put(FessConfig.JVM_SUGGEST_OPTIONS,
|
||||
"-Djava.awt.headless=true\n-Dfile.encoding=UTF-8\n-Djna.nosys=true\n-Djdk.io.permissionsUseCanonicalPath=true\n-server\n-Xmx256m\n-XX:MaxMetaspaceSize=128m\n-XX:CompressedClassSpaceSize=32m\n-XX:-UseGCOverheadLimit\n-XX:+UseConcMarkSweepGC\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:+UseTLAB\n-XX:+DisableExplicitGC\n-XX:+HeapDumpOnOutOfMemoryError\n-Dgroovy.use.classvalue=true\n-Dio.netty.noUnsafe=true\n-Dio.netty.noKeySetOptimization=true\n-Dio.netty.recycler.maxCapacityPerThread=0\n-Dlog4j.shutdownHookEnabled=false\n-Dlog4j2.disable.jmx=true\n-Dlog4j.skipJansi=true\n");
|
||||
defaultMap
|
||||
.put(FessConfig.JVM_THUMBNAIL_OPTIONS,
|
||||
"-Djava.awt.headless=true\n-Dfile.encoding=UTF-8\n-Djna.nosys=true\n-Djdk.io.permissionsUseCanonicalPath=true\n-server\n-Xmx128m\n-XX:MaxMetaspaceSize=128m\n-XX:CompressedClassSpaceSize=32m\n-XX:-UseGCOverheadLimit\n-XX:+UseConcMarkSweepGC\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:+UseTLAB\n-XX:+DisableExplicitGC\n-XX:+HeapDumpOnOutOfMemoryError\n-XX:-OmitStackTraceInFastThrow\n-Djcifs.smb.client.responseTimeout=30000\n-Djcifs.smb.client.soTimeout=35000\n-Djcifs.smb.client.connTimeout=60000\n-Djcifs.smb.client.sessionTimeout=60000\n-Dgroovy.use.classvalue=true\n-Dio.netty.noUnsafe=true\n-Dio.netty.noKeySetOptimization=true\n-Dio.netty.recycler.maxCapacityPerThread=0\n-Dlog4j.shutdownHookEnabled=false\n-Dlog4j2.disable.jmx=true\n-Dlog4j.skipJansi=true\n-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider\n-Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true\n");
|
||||
"-Djava.awt.headless=true\n-Dfile.encoding=UTF-8\n-Djna.nosys=true\n-Djdk.io.permissionsUseCanonicalPath=true\n-server\n-Xmx128m\n-XX:MaxMetaspaceSize=128m\n-XX:CompressedClassSpaceSize=32m\n-XX:-UseGCOverheadLimit\n-XX:+UseConcMarkSweepGC\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:+UseTLAB\n-XX:+DisableExplicitGC\n-XX:+HeapDumpOnOutOfMemoryError\n-XX:-OmitStackTraceInFastThrow\n-Djcifs.smb.client.responseTimeout=30000\n-Djcifs.smb.client.soTimeout=35000\n-Djcifs.smb.client.connTimeout=60000\n-Djcifs.smb.client.sessionTimeout=60000\n-Djcifs.smb1.smb.client.connTimeout=60000\n-Djcifs.smb1.smb.client.soTimeout=35000\n-Djcifs.smb1.smb.client.responseTimeout=30000\n-Dgroovy.use.classvalue=true\n-Dio.netty.noUnsafe=true\n-Dio.netty.noKeySetOptimization=true\n-Dio.netty.recycler.maxCapacityPerThread=0\n-Dlog4j.shutdownHookEnabled=false\n-Dlog4j2.disable.jmx=true\n-Dlog4j.skipJansi=true\n-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider\n-Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true\n");
|
||||
defaultMap.put(FessConfig.JOB_SYSTEM_JOB_IDS, "default_crawler");
|
||||
defaultMap.put(FessConfig.JOB_TEMPLATE_TITLE_WEB, "Web Crawler - {0}");
|
||||
defaultMap.put(FessConfig.JOB_TEMPLATE_TITLE_FILE, "File Crawler - {0}");
|
||||
|
@ -8256,7 +8268,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
defaultMap.put(FessConfig.CRAWLER_DOCUMENT_FULLSTOP_CHARS, "u002eu06d4u2e3cu3002");
|
||||
defaultMap.put(FessConfig.CRAWLER_CRAWLING_DATA_ENCODING, "UTF-8");
|
||||
defaultMap.put(FessConfig.CRAWLER_WEB_PROTOCOLS, "http,https");
|
||||
defaultMap.put(FessConfig.CRAWLER_FILE_PROTOCOLS, "file,smb,ftp");
|
||||
defaultMap.put(FessConfig.CRAWLER_FILE_PROTOCOLS, "file,smb,smb1,ftp");
|
||||
defaultMap.put(FessConfig.CRAWLER_IGNORE_ROBOTS_TXT, "false");
|
||||
defaultMap.put(FessConfig.CRAWLER_IGNORE_ROBOTS_TAGS, "false");
|
||||
defaultMap.put(FessConfig.CRAWLER_IGNORE_CONTENT_EXCEPTION, "true");
|
||||
|
|
|
@ -70,7 +70,7 @@ public class GsaConfigParser extends DefaultHandler {
|
|||
|
||||
protected String[] webProtocols = new String[] { "http:", "https:" };
|
||||
|
||||
protected String[] fileProtocols = new String[] { "file:", "smb:" };
|
||||
protected String[] fileProtocols = new String[] { "file:", "smb:", "smb1:", "ftp:" };
|
||||
|
||||
protected LinkedList<String> tagQueue;
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
<property name="allRequired">true</property>
|
||||
<postConstruct name="addRule">
|
||||
<arg>"url"</arg>
|
||||
<arg>"(file|smb|ftp):.*"</arg>
|
||||
<arg>"(file|smb|smb1|ftp):.*"</arg>
|
||||
</postConstruct>
|
||||
<postConstruct name="addRule">
|
||||
<arg>"mimeType"</arg>
|
||||
|
|
|
@ -39,6 +39,9 @@ jvm.crawler.options=\
|
|||
-Djcifs.smb.client.soTimeout=35000\n\
|
||||
-Djcifs.smb.client.connTimeout=60000\n\
|
||||
-Djcifs.smb.client.sessionTimeout=60000\n\
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000\n\
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000\n\
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000\n\
|
||||
-Dgroovy.use.classvalue=true\n\
|
||||
-Dio.netty.noUnsafe=true\n\
|
||||
-Dio.netty.noKeySetOptimization=true\n\
|
||||
|
@ -96,6 +99,9 @@ jvm.thumbnail.options=\
|
|||
-Djcifs.smb.client.soTimeout=35000\n\
|
||||
-Djcifs.smb.client.connTimeout=60000\n\
|
||||
-Djcifs.smb.client.sessionTimeout=60000\n\
|
||||
-Djcifs.smb1.smb.client.connTimeout=60000\n\
|
||||
-Djcifs.smb1.smb.client.soTimeout=35000\n\
|
||||
-Djcifs.smb1.smb.client.responseTimeout=30000\n\
|
||||
-Dgroovy.use.classvalue=true\n\
|
||||
-Dio.netty.noUnsafe=true\n\
|
||||
-Dio.netty.noKeySetOptimization=true\n\
|
||||
|
@ -167,7 +173,7 @@ crawler.document.space.chars=u0009u000Au000Bu000Cu000Du001Cu001Du001Eu001Fu0020u
|
|||
crawler.document.fullstop.chars=u002eu06d4u2e3cu3002
|
||||
crawler.crawling.data.encoding=UTF-8
|
||||
crawler.web.protocols=http,https
|
||||
crawler.file.protocols=file,smb,ftp
|
||||
crawler.file.protocols=file,smb,smb1,ftp
|
||||
crawler.ignore.robots.txt=false
|
||||
crawler.ignore.robots.tags=false
|
||||
crawler.ignore.content.exception=true
|
||||
|
|
Loading…
Add table
Reference in a new issue