Files
alfresco-community-repo/config/alfresco/linkvalidation-service-context.xml
Jon Cox e1858011f8 Made linkvalidation able to check HTTPS links with valid certs
(bad/untrusted certs look like broken links), pretend ftp links 
aren't broken, detect old href schemas, and added low-level 
feature to drop href info on startup in case we ever need a 
sledgehammer.  Maybe one day I'll really validate ftp links, 
but not now.  Also fixed startup logic that got broken earlier
(the config file wasn't getting copied in).


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6183 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-07-06 08:08:58 +00:00

205 lines
8.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="linkValidationServiceExcludeExtensionMatcher"
class="org.alfresco.repo.avm.util.FileExtensionNameMatcher">
<property name="extensions">
<list>
<value>.o</value>
<value>.bak</value>
<value>.tmp</value>
<value>.swp</value>
<value>~</value>
</list>
</property>
</bean>
<bean id="hrefBearingRequestPathNameMatcher"
class="org.alfresco.repo.avm.util.HrefBearingRequestPathNameMatcher">
<property name="extensions">
<list>
<!--
See also: http://filext.com/alphalist.php
and: HrefBearingRequestPathNameMatcher
Note: HrefBearingRequestPathNameMatcher does not require
a leading '.' (unlike FileExtensionNameMatcher),
nor does it suffer from performance problems when
the number of extensions is large. However, it
will not tolerate extensions with internal "." chars;
everything up to and including the final "." will
simply be ignored. Matching is not case sensitive.
-->
<value></value> <!-- null extension for dirs -->
<value>ahtml</value>
<value>ahtm</value>
<value>asphtml</value>
<value>asp</value>
<value>axs</value>
<value>bhtml</value>
<value>css</value>
<value>dci</value>
<value>dht</value>
<value>dochtml</value>
<value>docmhtml</value>
<value>ehtml</value>
<value>ephtml</value>
<value>fhtml</value>
<value>fphtml</value>
<value>hhtml</value>
<value>ht3</value>
<value>htc</value>
<value>htmls</value>
<value>html</value>
<value>htm</value>
<value>ihtml</value>
<value>jcs</value>
<value>jhtml</value>
<value>jhtm</value>
<value>jsp</value>
<value>log</value>
<value>mdhtml</value>
<value>mhtml</value>
<value>mhtm</value>
<value>mht</value>
<value>mml</value>
<value>php2</value>
<value>php3</value>
<value>php4</value>
<value>php5</value>
<value>php6</value>
<value>php7</value>
<value>php8</value>
<value>php9</value>
<value>php</value>
<value>phtml</value>
<value>phtml</value>
<value>phtm</value>
<value>pht</value>
<value>pl</value>
<value>ppthtml</value>
<value>pptm</value>
<value>pt</value>
<value>pubhtml</value>
<value>pubmhtml</value>
<value>rbx</value>
<value>rhtml</value>
<value>rmh</value>
<value>s1h</value>
<value>shtml3</value>
<value>shtml</value>
<value>shtm</value>
<value>sht</value>
<value>ssi</value>
<value>stml</value>
<value>stm</value>
<value>thtml</value>
<value>txt</value>
<value>whtek</value>
<value>xhtml</value>
<value>xhtml</value>
<value>xhtm</value>
<value>xhtm</value>
<value>xht</value>
<value>xlshtml</value>
<value>xlshtm</value>
<value>xlsmhtml</value>
<value>xml</value>
<value>xtml</value>
<value>ybhtm</value>
<!-- Add others here, if you'd like! -->
</list>
</property>
</bean>
<bean id="linkValidationService"
class="org.alfresco.linkvalidation.LinkValidationServiceImpl"
lazy-init="true">
<property name="attributeService">
<ref bean="AttributeService"/>
</property>
<property name="avmRemote">
<ref bean="avmRemote"/>
</property>
<property name="virtServerRegistry">
<ref bean="VirtServerRegistry"/>
</property>
<property name="AVMSyncService">
<ref bean="AVMSyncService"/>
</property>
<property name="excludeMatcher">
<ref bean="linkValidationServiceExcludeExtensionMatcher"/>
</property>
<property name="hrefBearingRequestPathMatcher">
<ref bean="hrefBearingRequestPathNameMatcher"/>
</property>
<property name="retryingTransactionHelper">
<ref bean="retryingTransactionHelper"/>
</property>
<property name="createVersionTxnListener">
<ref bean="createVersionTxnListener"/>
</property>
<property name="purgeVersionTxnListener">
<ref bean="purgeVersionTxnListener"/>
</property>
<property name="purgeStoreTxnListener">
<ref bean="purgeStoreTxnListener"/>
</property>
<!-- Poll interval to check getLatestSnapshotID (in milliseconds) -->
<property name="pollInterval" value="5000"/>
<!-- Timeouts (in milliseconds) -->
<property name="localConnectTimeout" value="10000"/>
<property name="remoteConnectTimeout" value="10000"/>
<property name="localReadTimeout" value="30000"/>
<property name="remoteReadTimeout" value="30000"/>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Advanced Option: -->
<!-- -->
<!-- JSSE Security parameters (for validating HTTPS links) -->
<!-- -->
<!-- NOTE: -->
<!-- -->
<!-- When the following jsse properties below are commented -->
<!-- out the LinkValidationService uses the system's default -->
<!-- cacert file and password. Typically, there's no need to -->
<!-- change these values, but if you'd like to do so, you can. -->
<!-- -->
<!-- The most common case where you'd use a custom trust store -->
<!-- and password is when you want to validate https links for -->
<!-- which the name on the site's cert does not match the host -->
<!-- you're contacting, is invalid, and/or is not trusted. -->
<!-- If you do nothing, such links will appear "broken". -->
<!-- One option would be to modify your default cert at: -->
<!-- -->
<!-- Unix: ${JAVA_HOME}/lib/security/cacerts -->
<!-- Windows: ${JAVA_HOME}\lib\security\cacerts -->
<!-- -->
<!-- However, this is often not particularly desirable. -->
<!-- By allowing you to point at a custom cacert/password, -->
<!-- the configuration options below allow you to validate -->
<!-- what would be otherwise untrusted "broken" https links -->
<!-- without disturbing the system's default cacert file. -->
<!-- -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- <property name="jsseTrustStoreFile" value="...???..."/> -->
<!-- <property name="jsseTrustStorePassword" value="...???..."/> -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Low-level parameters that typical users should never modify! -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<property name="purgeAllValidationDataOnBootstrap" value="false"/>
</bean>
</beans>