[direct-certificate-discovery-tool] 2 new revisions pushed by michal.kotelba@esacinc.com on 2014-05-27 14:19 GMT

4 views
Skip to first unread message

direct-certifica...@googlecode.com

unread,
May 27, 2014, 10:19:15 AM5/27/14
to dcdt...@googlegroups.com
2 new revisions:

Revision: 5562642e3162
Branch: default
Author: Michal Kotelba <michal....@esacinc.com>
Date: Sun May 25 10:47:16 2014 UTC
Log: - Supports DCDT-238....
http://code.google.com/p/direct-certificate-discovery-tool/source/detail?r=5562642e3162

Revision: 185085351ac0
Branch: default
Author: Michal Kotelba <michal....@esacinc.com>
Date: Sun May 25 21:01:11 2014 UTC
Log: - Supports DCDT-239 and DCDT-240....
http://code.google.com/p/direct-certificate-discovery-tool/source/detail?r=185085351ac0

==============================================================================
Revision: 5562642e3162
Branch: default
Author: Michal Kotelba <michal....@esacinc.com>
Date: Sun May 25 10:47:16 2014 UTC
Log: - Supports DCDT-238.
- Removed Logback configuration file scanning (was still set at a 5 second
interval!).
- Added index to rolled-over log file name.
- Added Logback status servlet.
- Updated Maven dependencies.
http://code.google.com/p/direct-certificate-discovery-tool/source/detail?r=5562642e3162

Modified:
/dcdt-core/src/main/resources/META-INF/logback/logback-core-include.xml
/dcdt-core/src/main/resources/META-INF/logback/logback-core.xml
/dcdt-parent/pom.xml
/dcdt-service-core/src/main/resources/META-INF/logback/logback-service.xml
/dcdt-service-parent/pom.xml
/dcdt-web/src/main/resources/META-INF/logback/logback-web.xml
/dcdt-web/src/main/webapp/WEB-INF/web.xml

=======================================
--- /dcdt-core/src/main/resources/META-INF/logback/logback-core-include.xml
Tue Mar 25 18:00:58 2014 UTC
+++ /dcdt-core/src/main/resources/META-INF/logback/logback-core-include.xml
Sun May 25 10:47:16 2014 UTC
@@ -7,6 +7,10 @@

<statusListener class="ch.qos.logback.core.status.NopStatusListener"/>

+ <contextListener
class="ch.qos.logback.classic.jul.LevelChangePropagator">
+ <resetJUL>true</resetJUL>
+ </contextListener>
+
<conversionRule conversionWord="toolEx"
converterClass="gov.hhs.onc.dcdt.logback.pattern.ToolThrowableProxyConverter"/>

<if condition='isDefined("dcdt.log.console.term") &amp;&amp;
org.apache.commons.lang3.BooleanUtils.toBoolean(p("dcdt.log.console.term"))'>
@@ -35,12 +39,12 @@
<appender name="file"
class="ch.qos.logback.core.rolling.RollingFileAppender">

<file>${dcdt.log.dir}/${dcdt.log.file.name}${dcdt.log.file.ext}</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-
<fileNamePattern>${dcdt.log.dir}/${dcdt.log.file.name}.%d{yyyy-MM-dd}${dcdt.log.file.ext}</fileNamePattern>
+ <cleanHistoryOnStart>true</cleanHistoryOnStart>
+
<fileNamePattern>${dcdt.log.dir}/${dcdt.log.file.name}.%d{yyyy-MM-dd}.%i${dcdt.log.file.ext}</fileNamePattern>
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
- <cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder
class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${dcdt.log.file.pattern}</pattern>
=======================================
--- /dcdt-core/src/main/resources/META-INF/logback/logback-core.xml Wed Oct
23 13:21:26 2013 UTC
+++ /dcdt-core/src/main/resources/META-INF/logback/logback-core.xml Sun May
25 10:47:16 2014 UTC
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug="false"
- scan="true"
- scanPeriod="5 seconds"
xmlns="ch.qos.logback"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="ch.qos.logback /META-INF/logback/logback.xsd">
=======================================
--- /dcdt-parent/pom.xml Thu May 22 19:43:42 2014 UTC
+++ /dcdt-parent/pom.xml Sun May 25 10:47:16 2014 UTC
@@ -26,7 +26,7 @@

<issueManagement>
<system>JIRA</system>
- <url>http://jira.direct-test.com/browse/DCDT/</url>
+ <url>http://jira.oncprojectracking.org/browse/DCDT/</url>
</issueManagement>

<ciManagement>
@@ -175,12 +175,12 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
- <version>1.0.13</version>
+ <version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
- <version>1.0.13</version>
+ <version>1.1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -210,12 +210,12 @@
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
- <version>0.9.5-pre6</version>
+ <version>0.9.5-pre8</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
- <version>1.5.1</version>
+ <version>1.5.2</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
@@ -262,7 +262,7 @@
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
- <version>1.5.1</version>
+ <version>1.5.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
@@ -299,7 +299,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
- <version>1.8</version>
+ <version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -309,7 +309,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.2</version>
+ <version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
@@ -344,32 +344,32 @@
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-el</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
@@ -441,62 +441,62 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
- <version>5.1.0.Final</version>
+ <version>5.1.1.Final</version>
</dependency>
<dependency>
<groupId>org.logback-extensions</groupId>
<artifactId>logback-ext-spring</artifactId>
- <version>0.1.1</version>
+ <version>0.1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.5</version>
+ <version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
- <version>1.7.5</version>
+ <version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
- <version>1.7.5</version>
+ <version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.5</version>
+ <version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -511,24 +511,24 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
@@ -558,7 +558,7 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
- <version>2.39.0</version>
+ <version>2.41.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
@@ -574,7 +574,7 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
- <version>4.0.3.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -1229,12 +1229,12 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
- <version>1.0.13</version>
+ <version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
- <version>1.0.13</version>
+ <version>1.1.2</version>
</dependency>
<dependency>

<groupId>com.github.akiraly.reusable-poms</groupId>
@@ -1244,7 +1244,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.2</version>
+ <version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
@@ -1288,12 +1288,12 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
- <version>2.39.0</version>
+ <version>2.41.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
- <version>2.39.0</version>
+ <version>2.41.0</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
@@ -1304,16 +1304,22 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
- <version>2.39.0</version>
+ <version>2.41.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
- <version>2.39.0</version>
+ <version>2.41.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>versions-maven-plugin</artifactId>
+ <version>2.1</version>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
<groupId>org.kuali.maven.plugins</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>2.0.1</version>
=======================================
---
/dcdt-service-core/src/main/resources/META-INF/logback/logback-service.xml
Fri May 2 09:19:08 2014 UTC
+++
/dcdt-service-core/src/main/resources/META-INF/logback/logback-service.xml
Sun May 25 10:47:16 2014 UTC
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug="false"
- scan="true"
- scanPeriod="5 seconds"
xmlns="ch.qos.logback"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="ch.qos.logback /META-INF/logback/logback.xsd">
=======================================
--- /dcdt-service-parent/pom.xml Thu May 22 19:43:42 2014 UTC
+++ /dcdt-service-parent/pom.xml Sun May 25 10:47:16 2014 UTC
@@ -291,7 +291,7 @@
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
- <version>3.16</version>
+ <version>3.17</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -306,7 +306,7 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
- <version>4.0.1.RELEASE</version>
+ <version>4.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>tanukisoft</groupId>
=======================================
--- /dcdt-web/src/main/resources/META-INF/logback/logback-web.xml Fri May
2 09:19:08 2014 UTC
+++ /dcdt-web/src/main/resources/META-INF/logback/logback-web.xml Sun May
25 10:47:16 2014 UTC
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug="false"
- scan="true"
- scanPeriod="5 seconds"
xmlns="ch.qos.logback"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="ch.qos.logback /META-INF/logback/logback.xsd">
@@ -19,6 +17,11 @@
<property name="dcdt.log.dir" value="${jetty.logs}"
scope="context"/>
</then>
</if>
+ <if condition='!isDefined("dcdt.log.dir") &amp;&amp;
isDefined("dcdt.web.webapp.dir")'>
+ <then>
+ <property name="dcdt.log.dir"
value="${dcdt.web.webapp.dir}/WEB-INF/logs" scope="context"/>
+ </then>
+ </if>

<include resource="logback/logback-core-include-test.xml"
optional="true"/>
<include resource="logback/logback-core-include.xml" optional="true"/>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/web.xml Fri May 2 21:53:01 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/web.xml Sun May 25 10:47:16 2014 UTC
@@ -22,6 +22,11 @@
</param-value>
</context-param>

+ <context-param>
+ <param-name>logbackExposeWebAppRoot</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
<context-param>
<param-name>org.apache.velocity.properties</param-name>

<param-value>/WEB-INF/velocity/velocity-web.properties</param-value>
@@ -68,13 +73,18 @@
<url-pattern>/</url-pattern>
</servlet-mapping>

+ <servlet>
+ <servlet-name>logbackStatusServlet</servlet-name>
+
<servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>logbackStatusServlet</servlet-name>
+ <url-pattern>/logback/status</url-pattern>
+ </servlet-mapping>
+

<!--====================================================================================================
= LISTENERS

=====================================================================================================-->
- <listener>
-
<listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
- </listener>
-
<listener>

<listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
</listener>

==============================================================================
Revision: 185085351ac0
Branch: default
Author: Michal Kotelba <michal....@esacinc.com>
Date: Sun May 25 21:01:11 2014 UTC
Log: - Supports DCDT-239 and DCDT-240.
- Improved handling of invalid mail processing states.
- Refactored LDAP lookup service + certificate discovery step to handle
multi-valued userCertificate attribute(s).
http://code.google.com/p/direct-certificate-discovery-tool/source/detail?r=185085351ac0

Modified:

/dcdt-core/src/main/java/gov/hhs/onc/dcdt/discovery/steps/ldap/impl/LdapCertificateLookupStepImpl.java
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/ToolCoreSchemaConstants.java

/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/lookup/impl/LdapLookupServiceImpl.java

/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/utils/ToolLdapAttributeUtils.java

/dcdt-core/src/main/java/gov/hhs/onc/dcdt/testcases/discovery/results/sender/impl/DiscoveryTestcaseResultSenderServiceImpl.java

/dcdt-service-mail/src/main/resources/META-INF/spring/spring-service-mail.xml

=======================================
---
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/discovery/steps/ldap/impl/LdapCertificateLookupStepImpl.java
Wed May 7 21:01:36 2014 UTC
+++
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/discovery/steps/ldap/impl/LdapCertificateLookupStepImpl.java
Sun May 25 21:01:11 2014 UTC
@@ -24,9 +24,10 @@
import org.apache.directory.api.ldap.model.entry.Attribute;
import org.apache.directory.api.ldap.model.entry.Entry;
import org.apache.directory.api.ldap.model.entry.StringValue;
-import
org.apache.directory.api.ldap.model.exception.LdapInvalidAttributeValueException;
+import org.apache.directory.api.ldap.model.entry.Value;
import org.apache.directory.api.ldap.model.filter.AndNode;
import org.apache.directory.api.ldap.model.filter.EqualityNode;
+import org.apache.directory.api.ldap.model.filter.OrNode;
import org.apache.directory.api.ldap.model.filter.PresenceNode;
import org.apache.directory.api.ldap.model.name.Dn;
import org.apache.directory.ldap.client.api.LdapConnectionConfig;
@@ -49,9 +50,11 @@
// noinspection ConstantConditions
LdapConnectionConfig baseDnConnConfig =
baseDnLookupResult.getConnectionConfig();
AndNode lookupFilter =
- new AndNode(new
EqualityNode<>(ToolCoreSchemaConstants.ATTR_TYPE_NAME_MAIL, new
StringValue(directAddr.toAddress())), new PresenceNode(
- ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT));
+ new AndNode(new
EqualityNode<>(ToolCoreSchemaConstants.ATTR_TYPE_NAME_MAIL, new
StringValue(directAddr.toAddress())), new OrNode(
+ new
PresenceNode(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT_BINARY), new
PresenceNode(
+
ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT)));
LdapEntryLookupResult lookupResult = null;
+ Attribute attr;
CertificateInfo certInfo;

this.certInfos = new ArrayList<>();
@@ -60,32 +63,28 @@
for (Dn baseDn : baseDnLookupResult) {
if ((lookupResult =
this.lookupService.lookupEntries(baseDnConnConfig, baseDn,
lookupFilter)).isSuccess() && lookupResult.hasItems()) {
for (Entry entry : lookupResult) {
- try {
- Attribute attr =
entry.get(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT);
-
- if (attr == null) {
- attr =
entry.get(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT_BINARY);
- }
-
- if (attr != null) {
+ for (Value<?> attrValue : (attr =
+
(entry.containsAttribute(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT_BINARY) ?
entry
+ .get(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT_BINARY) :
entry.get(ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT))))
{
+ try {
this.certInfos.add(certInfo =
- new
CertificateInfoImpl(CertificateUtils.readCertificate(attr.getBytes(),
CertificateType.X509, DataEncoding.DER)));
+ new
CertificateInfoImpl(CertificateUtils.readCertificate(attrValue.getBytes(),
CertificateType.X509, DataEncoding.DER)));
+ this.execMsgs
+ .add(String
+ .format(
+ "LDAP lookup (host=%s,
port=%d, filter={%s}) entry (dn={%s}) attribute (id=%s) value certificate
(subj={%s}, serialNum=%s, issuer={%s}) processed.",
+
baseDnConnConfig.getLdapHost(), baseDnConnConfig.getLdapPort(),
ToolLdapFilterUtils.writeFilter(lookupFilter),
+ entry.getDn().getName(),
attr.getId(), certInfo.getSubjectName(), certInfo.getSerialNumber(),
+ certInfo.getIssuerName()));
+ } catch (CryptographyException e) {
this.execMsgs.add(String.format(
- "LDAP lookup (host=%s, port=%d,
filter={%s}) entry certificate (subj={%s}, serialNum=%s, issuer={%s})
processed.",
- baseDnConnConfig.getLdapHost(),
baseDnConnConfig.getLdapPort(),
ToolLdapFilterUtils.writeFilter(lookupFilter),
- certInfo.getSubjectName(),
certInfo.getSerialNumber(), certInfo.getIssuerName()));
- } else {
- this.execMsgs.add(String.format("LDAP
lookup (host=%s, port=%d, filter={%s}) entry does not contain an %s or
an %s attribute.",
- baseDnConnConfig.getLdapHost(),
baseDnConnConfig.getLdapPort(),
ToolLdapFilterUtils.writeFilter(lookupFilter),
-
ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT,
ToolCoreSchemaConstants.ATTR_TYPE_NAME_USER_CERT_BINARY));
+ "LDAP lookup (host=%s, port=%d,
filter={%s}) entry (dn={%s}) attribute (id=%s) value certificate processing
failed: %s",
+ baseDnConnConfig.getLdapHost(),
baseDnConnConfig.getLdapPort(),
ToolLdapFilterUtils.writeFilter(lookupFilter), entry
+ .getDn().getName(), attr.getId(),
e.getMessage()));
this.execSuccess = false;
+
+ break;
}
- } catch (CryptographyException |
LdapInvalidAttributeValueException e) {
- this.execMsgs.add(String.format("LDAP lookup
(host=%s, port=%d, filter={%s}) entry certificate processing failed: %s",
- baseDnConnConfig.getLdapHost(),
baseDnConnConfig.getLdapPort(),
ToolLdapFilterUtils.writeFilter(lookupFilter), e.getMessage()));
- this.execSuccess = false;
-
- break;
}
}
}
=======================================
---
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/ToolCoreSchemaConstants.java
Wed May 7 21:01:36 2014 UTC
+++
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/ToolCoreSchemaConstants.java
Sun May 25 21:01:11 2014 UTC
@@ -1,5 +1,7 @@
package gov.hhs.onc.dcdt.ldap;

+import gov.hhs.onc.dcdt.ldap.utils.ToolLdapAttributeUtils;
+
public final class ToolCoreSchemaConstants {
private ToolCoreSchemaConstants() {
}
@@ -9,5 +11,5 @@

public final static String ATTR_TYPE_OID_USER_CERT = "2.5.4.36";
public final static String ATTR_TYPE_NAME_USER_CERT
= "userCertificate";
- public final static String ATTR_TYPE_NAME_USER_CERT_BINARY
= "userCertificate;binary";
+ public final static String ATTR_TYPE_NAME_USER_CERT_BINARY =
ToolLdapAttributeUtils.getBinaryAttributeId(ATTR_TYPE_NAME_USER_CERT);
}
=======================================
---
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/lookup/impl/LdapLookupServiceImpl.java
Wed Apr 30 15:10:26 2014 UTC
+++
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/lookup/impl/LdapLookupServiceImpl.java
Sun May 25 21:01:11 2014 UTC
@@ -4,17 +4,14 @@
import gov.hhs.onc.dcdt.ldap.lookup.LdapBaseDnLookupResult;
import gov.hhs.onc.dcdt.ldap.lookup.LdapEntryLookupResult;
import gov.hhs.onc.dcdt.ldap.lookup.LdapLookupService;
-import
gov.hhs.onc.dcdt.ldap.utils.ToolLdapAttributeUtils.LdapAttributeIdTransformer;
+import gov.hhs.onc.dcdt.ldap.utils.ToolLdapAttributeUtils;
import gov.hhs.onc.dcdt.ldap.utils.ToolLdapFilterUtils;
import gov.hhs.onc.dcdt.utils.ToolArrayUtils;
-import gov.hhs.onc.dcdt.utils.ToolCollectionUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.annotation.Nullable;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
@@ -78,12 +75,7 @@
conn = bind(connConfig, connect(connConfig));

EntryCursor entryCursor =
- conn.search(
- baseDn,
- filterExpr,
- scope,
- (!CollectionUtils.isEmpty(attrs) ?
ToolCollectionUtils.toArray(CollectionUtils.collect(attrs,
LdapAttributeIdTransformer.INSTANCE),
- String.class) : ArrayUtils.EMPTY_STRING_ARRAY));
+ conn.search(baseDn, filterExpr, scope,
ToolLdapAttributeUtils.buildLookupAttributeIds(conn.getBinaryAttributeDetector(),
attrs));
List<Entry> entries = new ArrayList<>();
Entry entry;

=======================================
---
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/utils/ToolLdapAttributeUtils.java
Sun Mar 9 13:27:34 2014 UTC
+++
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/ldap/utils/ToolLdapAttributeUtils.java
Sun May 25 21:01:11 2014 UTC
@@ -2,8 +2,17 @@

import gov.hhs.onc.dcdt.collections.impl.AbstractToolTransformer;
import gov.hhs.onc.dcdt.ldap.ToolLdapException;
+import gov.hhs.onc.dcdt.utils.ToolCollectionUtils;
+import gov.hhs.onc.dcdt.utils.ToolIteratorUtils;
import gov.hhs.onc.dcdt.utils.ToolStringUtils;
+import java.util.Set;
+import javax.annotation.Nullable;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.PredicateUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.directory.api.ldap.codec.api.BinaryAttributeDetector;
import org.apache.directory.api.ldap.model.entry.Attribute;
import org.apache.directory.api.ldap.model.exception.LdapException;
import org.apache.directory.api.ldap.model.ldif.LdifEntry;
@@ -11,28 +20,38 @@
import org.apache.directory.api.ldap.model.ldif.LdifUtils;

public abstract class ToolLdapAttributeUtils {
- public static class LdapAttributeIdTransformer extends
AbstractToolTransformer<Attribute, String> {
- public final static LdapAttributeIdTransformer INSTANCE = new
LdapAttributeIdTransformer();
- public final static LdapAttributeIdTransformer
INSTANCE_USER_PROVIDED = new LdapAttributeIdTransformer(true);
+ public static class LdapAttributeIdTransformer extends
AbstractToolTransformer<Attribute, String[]> {
+ private BinaryAttributeDetector binaryAttrDetector;

- private boolean userProvided;
-
- public LdapAttributeIdTransformer() {
- this(false);
+ public LdapAttributeIdTransformer(BinaryAttributeDetector
binaryAttrDetector) {
+ this.binaryAttrDetector = binaryAttrDetector;
}

- public LdapAttributeIdTransformer(boolean userProvided) {
- this.userProvided = userProvided;
- }
+ @Override
+ protected String[] transformInternal(Attribute attr) throws
Exception {
+ String attrId = attr.getId();

- @Override
- protected String transformInternal(Attribute attr) throws
Exception {
- return (this.userProvided ? attr.getUpId() : attr.getId());
+ return (this.binaryAttrDetector.isBinary(attrId) ?
ArrayUtils.toArray(getBinaryAttributeId(attrId), attrId) :
ArrayUtils.toArray(attrId));
}
}

public final static String DELIM_ATTR = ":";
public final static String DELIM_ATTR_BINARY =
StringUtils.repeat(DELIM_ATTR, 2);
+
+ public final static String DELIM_ATTR_ID = ";";
+
+ public final static String ATTR_ID_OPT_BINARY = "binary";
+
+ public static String[] buildLookupAttributeIds(BinaryAttributeDetector
binaryAttrDetector, @Nullable Set<Attribute> attrs) {
+ // noinspection ConstantConditions
+ return (!CollectionUtils.isEmpty(attrs) ?
ToolCollectionUtils.toArray(CollectionUtils.select(IteratorUtils.asIterable(ToolIteratorUtils
+ .chainedArrayIterator(CollectionUtils.collect(attrs, new
LdapAttributeIdTransformer(binaryAttrDetector)))),
PredicateUtils.uniquePredicate()),
+ String.class) : ArrayUtils.EMPTY_STRING_ARRAY);
+ }
+
+ public static String getBinaryAttributeId(String attrId) {
+ return StringUtils.appendIfMissing(attrId, (DELIM_ATTR_ID +
ATTR_ID_OPT_BINARY));
+ }

public static Attribute readAttribute(String str) throws
ToolLdapException {
LdifReader attrLdifReader = new LdifReader();
=======================================
---
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/testcases/discovery/results/sender/impl/DiscoveryTestcaseResultSenderServiceImpl.java
Wed Apr 30 07:37:27 2014 UTC
+++
/dcdt-core/src/main/java/gov/hhs/onc/dcdt/testcases/discovery/results/sender/impl/DiscoveryTestcaseResultSenderServiceImpl.java
Sun May 25 21:01:11 2014 UTC
@@ -23,13 +23,12 @@
import java.util.Date;
import java.util.List;
import javax.annotation.Nullable;
-import javax.mail.internet.MimeMessage;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.ui.ModelMap;

public class DiscoveryTestcaseResultSenderServiceImpl extends
AbstractToolMailSenderService implements
DiscoveryTestcaseResultSenderService {
private final static DateFormat
ATTACHMENT_RESOURCE_DESC_SUFFIX_DATE_FORMAT = new
SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
- private final static String ATTACHMENT_RESOURCE_DESC_SUFFIX_MAIL = "
mail sent at ";
+ private final static String ATTACHMENT_RESOURCE_DESC_SUFFIX_MAIL = "
mail processed at ";

private final static DateFormat
ATTACHMENT_RESOURCE_FILE_NAME_SUFFIX_DATE_FORMAT = new
SimpleDateFormat("yyyy-MM-dd_HHmm_Z");
private final static String ATTACHMENT_RESOURCE_FILE_NAME_SUFFIX_MAIL
= "_mail_";
@@ -78,14 +77,13 @@
}

ToolMimeMessageHelper msgHelper =
discoveryTestcaseSubmission.getMessageHelper();
- MimeMessage msg = msgHelper.getMimeMessage();
- Date msgSentDate = msg.getSentDate();
+ Date msgProcDate = new Date();

// noinspection ConstantConditions
attachmentResources.add(new
MimeAttachmentResource(msgHelper.write(),
- (discoveryTestcaseName + ATTACHMENT_RESOURCE_DESC_SUFFIX_MAIL
+ ATTACHMENT_RESOURCE_DESC_SUFFIX_DATE_FORMAT.format(msgSentDate)),
+ (discoveryTestcaseName + ATTACHMENT_RESOURCE_DESC_SUFFIX_MAIL
+ ATTACHMENT_RESOURCE_DESC_SUFFIX_DATE_FORMAT.format(msgProcDate)),
MailContentTypes.MSG_RFC822,
MailContentTransferEncoding.QUOTED, (discoveryTestcaseName.toLowerCase() +
ATTACHMENT_RESOURCE_FILE_NAME_SUFFIX_MAIL
- +
ATTACHMENT_RESOURCE_FILE_NAME_SUFFIX_DATE_FORMAT.format(msgSentDate) +
ToolMimeMessageHelper.FILE_EXT_MAIL)));
+ +
ATTACHMENT_RESOURCE_FILE_NAME_SUFFIX_DATE_FORMAT.format(msgProcDate) +
ToolMimeMessageHelper.FILE_EXT_MAIL)));

this.send(modelMap, modelMap, to, attachmentResources);
}
=======================================
---
/dcdt-service-mail/src/main/resources/META-INF/spring/spring-service-mail.xml
Mon May 5 07:15:57 2014 UTC
+++
/dcdt-service-mail/src/main/resources/META-INF/spring/spring-service-mail.xml
Sun May 25 21:01:11 2014 UTC
@@ -276,7 +276,10 @@
p:className="RemoteDelivery">
<beans:property
name="initParameters">
<util:map>
+ <beans:entry
key="bounceProcessor"
+ value="#{
T(gov.hhs.onc.dcdt.service.mail.james.MailProcessorState).ERROR.state }"/>
<beans:entry
key="connectiontimeout" value="#{
T(gov.hhs.onc.dcdt.utils.ToolDateUtils).MS_IN_SEC * 15 }"/>
+ <beans:entry key="debug"
value="true"/>
<beans:entry
key="delayTime" value="1 minute"/>
<beans:entry
key="deliveryThreads" value="20"/>
<beans:entry
key="maxRetries" value="5"/>
Reply all
Reply to author
Forward
0 new messages