瀏覽代碼

fix javadoc generation and pom updates

jrivard@gmail.com 6 年之前
父節點
當前提交
e606d558d5
共有 37 個文件被更改,包括 227 次插入379 次删除
  1. 0 51
      data-service/pom.xml
  2. 2 1
      docker/pom.xml
  3. 85 0
      pom.xml
  4. 0 52
      pwm-cr/pom.xml
  5. 0 59
      rest-test-service/pom.xml
  6. 1 78
      server/pom.xml
  7. 5 5
      server/src/main/java/password/pwm/bean/LocalSessionStateBean.java
  8. 2 1
      server/src/main/java/password/pwm/config/value/ActionValue.java
  9. 5 0
      server/src/main/java/password/pwm/config/value/data/FormConfiguration.java
  10. 2 0
      server/src/main/java/password/pwm/http/PwmSession.java
  11. 4 0
      server/src/main/java/password/pwm/http/PwmURL.java
  12. 0 1
      server/src/main/java/password/pwm/http/SessionManager.java
  13. 10 3
      server/src/main/java/password/pwm/http/filter/RequestInitializationFilter.java
  14. 5 5
      server/src/main/java/password/pwm/http/filter/SessionFilter.java
  15. 12 8
      server/src/main/java/password/pwm/ldap/LdapOperationsHelper.java
  16. 4 1
      server/src/main/java/password/pwm/svc/shorturl/AbstractUrlShortener.java
  17. 1 0
      server/src/main/java/password/pwm/util/BasicAuthInfo.java
  18. 5 1
      server/src/main/java/password/pwm/util/CaptchaUtility.java
  19. 8 7
      server/src/main/java/password/pwm/util/RandomPasswordGenerator.java
  20. 3 0
      server/src/main/java/password/pwm/util/form/FormUtility.java
  21. 2 0
      server/src/main/java/password/pwm/util/java/JavaHelper.java
  22. 5 5
      server/src/main/java/password/pwm/util/java/TimeDuration.java
  23. 5 5
      server/src/main/java/password/pwm/util/localdb/LocalDB.java
  24. 11 10
      server/src/main/java/password/pwm/util/operations/PasswordUtility.java
  25. 12 0
      server/src/main/java/password/pwm/util/operations/cr/CrOperator.java
  26. 14 3
      server/src/main/java/password/pwm/util/operations/otp/AbstractOtpOperator.java
  27. 3 11
      server/src/main/java/password/pwm/util/operations/otp/DbOtpOperator.java
  28. 0 14
      server/src/main/java/password/pwm/util/operations/otp/LdapOtpOperator.java
  29. 4 0
      server/src/main/java/password/pwm/util/operations/otp/OTPPamUtil.java
  30. 6 0
      server/src/main/java/password/pwm/util/operations/otp/OTPUrlUtil.java
  31. 11 2
      server/src/main/java/password/pwm/util/operations/otp/PasscodeGenerator.java
  32. 0 0
      server/src/manual-test/java/password/pwm/manual/LocalDBLoggerTest.java
  33. 0 0
      server/src/manual-test/java/password/pwm/manual/LocalDBStoredQueueTest.java
  34. 0 0
      server/src/manual-test/java/password/pwm/manual/LocalDBTest.java
  35. 0 0
      server/src/manual-test/java/password/pwm/manual/TestHelper.java
  36. 0 0
      server/src/manual-test/resources/password/pwm/manual/TestHelper.properties
  37. 0 56
      webapp/pom.xml

+ 0 - 51
data-service/pom.xml

@@ -37,12 +37,6 @@
     </properties>
     </properties>
 
 
     <profiles>
     <profiles>
-        <profile>
-            <id>skip-tests</id>
-            <properties>
-                <skipTests>true</skipTests>
-            </properties>
-        </profile>
     </profiles>
     </profiles>
 
 
     <build>
     <build>
@@ -59,51 +53,6 @@
                     </execution>
                     </execution>
                 </executions>
                 </executions>
             </plugin>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <excludes>
-                        <exclude>password.pwm.manual.*</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>2.4</version>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar-no-fork</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.1</version>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
             <plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
                 <artifactId>maven-war-plugin</artifactId>

+ 2 - 1
docker/pom.xml

@@ -37,7 +37,7 @@
             <plugin>
             <plugin>
                 <groupId>com.google.cloud.tools</groupId>
                 <groupId>com.google.cloud.tools</groupId>
                 <artifactId>jib-maven-plugin</artifactId>
                 <artifactId>jib-maven-plugin</artifactId>
-                <version>0.9.8</version>
+                <version>0.9.9</version>
                 <executions>
                 <executions>
                     <execution>
                     <execution>
                         <id>make-docker-image</id>
                         <id>make-docker-image</id>
@@ -63,6 +63,7 @@
                                 <ports>8443</ports>
                                 <ports>8443</ports>
                             </container>
                             </container>
                             <useCurrentTimestamp>true</useCurrentTimestamp>
                             <useCurrentTimestamp>true</useCurrentTimestamp>
+                            <allowInsecureRegistries>true</allowInsecureRegistries>
                         </configuration>
                         </configuration>
                     </execution>
                     </execution>
                 </executions>
                 </executions>

+ 85 - 0
pom.xml

@@ -32,6 +32,8 @@
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <maven.compiler.target>1.8</maven.compiler.target>
         <project.root.basedir>${project.basedir}</project.root.basedir>
         <project.root.basedir>${project.basedir}</project.root.basedir>
+        <skipTests>false</skipTests>
+        <skipSpotbugs>false</skipSpotbugs>
     </properties>
     </properties>
 
 
     <modules>
     <modules>
@@ -58,10 +60,93 @@
                 <skipSpotbugs>true</skipSpotbugs>
                 <skipSpotbugs>true</skipSpotbugs>
             </properties>
             </properties>
         </profile>
         </profile>
+        <profile>
+            <id>skip-tests</id>
+            <properties>
+                <skipTests>true</skipTests>
+            </properties>
+        </profile>
+        <profile>
+            <id>skip-javadoc</id>
+            <properties>
+                <maven.javadoc.skip>true</maven.javadoc.skip>
+            </properties>
+        </profile>
     </profiles>
     </profiles>
 
 
     <build>
     <build>
         <plugins>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.22.0</version>
+                <configuration>
+                    <skipTests>${skipTests}</skipTests>
+                    <excludes>
+                        <exclude>**/password.pwm.manual.*</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>3.0.1</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <configuration>
+                            <archive>
+                                <manifestEntries>
+                                    <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
+                                    <Implementation-Title>${project.name}</Implementation-Title>
+                                    <Implementation-Version>${project.version}</Implementation-Version>
+                                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
+                                    <Implementation-URL>${project.organization.url}</Implementation-URL>
+                                    <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
+                                    <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
+                                    <Implementation-Build>${build.number}</Implementation-Build>
+                                    <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
+                                    <Implementation-Revision>${build.revision}</Implementation-Revision>
+                                    <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>3.0.1</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <configuration>
+                            <includePom>true</includePom>
+                            <attach>true</attach>
+                            <archive>
+                                <manifestEntries>
+                                    <Implementation-Archive-Name>pwm.source</Implementation-Archive-Name>
+                                    <Implementation-Title>${project.name}</Implementation-Title>
+                                    <Implementation-Version>${project.version}</Implementation-Version>
+                                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
+                                    <Implementation-URL>${project.organization.url}</Implementation-URL>
+                                    <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
+                                    <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
+                                    <Implementation-Build>${build.number}</Implementation-Build>
+                                    <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
+                                    <Implementation-Revision>${build.revision}</Implementation-Revision>
+                                    <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-enforcer-plugin</artifactId>
                 <artifactId>maven-enforcer-plugin</artifactId>

+ 0 - 52
pwm-cr/pom.xml

@@ -91,58 +91,6 @@
                     </archive>
                     </archive>
                 </configuration>
                 </configuration>
             </plugin>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>3.0.1</version>
-                <configuration>
-                    <includePom>true</includePom>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.source</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.1</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                        <configuration>
-                            <archive>
-                                <manifestEntries>
-                                    <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
-                                    <Implementation-Title>${project.name}</Implementation-Title>
-                                    <Implementation-Version>${project.version}</Implementation-Version>
-                                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                                    <Implementation-URL>${project.organization.url}</Implementation-URL>
-                                    <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                                    <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                                    <Implementation-Build>${build.number}</Implementation-Build>
-                                    <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                                    <Implementation-Revision>${build.revision}</Implementation-Revision>
-                                    <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                                </manifestEntries>
-                            </archive>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
         </plugins>
     </build>
     </build>
 
 

+ 0 - 59
rest-test-service/pom.xml

@@ -19,12 +19,6 @@
     </properties>
     </properties>
 
 
     <profiles>
     <profiles>
-        <profile>
-            <id>skip-tests</id>
-            <properties>
-                <skipTests>true</skipTests>
-            </properties>
-        </profile>
         <profile>
         <profile>
             <id>skip-javadoc</id>
             <id>skip-javadoc</id>
             <properties>
             <properties>
@@ -35,59 +29,6 @@
 
 
     <build>
     <build>
         <plugins>
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <skipTests>${skipTests}</skipTests>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>3.0.1</version>
-                <configuration>
-                    <includePom>true</includePom>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.source</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.0</version>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
             <plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
                 <artifactId>maven-war-plugin</artifactId>

+ 1 - 78
server/pom.xml

@@ -20,18 +20,6 @@
     </properties>
     </properties>
 
 
     <profiles>
     <profiles>
-        <profile>
-            <id>skip-tests</id>
-            <properties>
-                <skipTests>true</skipTests>
-            </properties>
-        </profile>
-        <profile>
-            <id>skip-javadoc</id>
-            <properties>
-                <maven.javadoc.skip>true</maven.javadoc.skip>
-            </properties>
-        </profile>
         <profile>
         <profile>
             <!-- Builds a zip file containing the built war file, along with the supplemental directory -->
             <!-- Builds a zip file containing the built war file, along with the supplemental directory -->
             <id>release</id>
             <id>release</id>
@@ -98,70 +86,6 @@
             </plugin>
             </plugin>
             -->
             -->
 
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <skipTests>${skipTests}</skipTests>
-                    <excludes>
-                        <exclude>password.pwm.manual.*</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>3.0.1</version>
-                <configuration>
-                    <includePom>true</includePom>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.source</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.1</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                        <configuration>
-                            <additionalOptions>-Xdoclint:none</additionalOptions>
-                            <archive>
-                                <manifestEntries>
-                                    <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
-                                    <Implementation-Title>${project.name}</Implementation-Title>
-                                    <Implementation-Version>${project.version}</Implementation-Version>
-                                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                                    <Implementation-URL>${project.organization.url}</Implementation-URL>
-                                    <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                                    <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                                    <Implementation-Build>${build.number}</Implementation-Build>
-                                    <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                                    <Implementation-Revision>${build.revision}</Implementation-Revision>
-                                    <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                                </manifestEntries>
-                            </archive>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
             <plugin>
                 <artifactId>maven-resources-plugin</artifactId>
                 <artifactId>maven-resources-plugin</artifactId>
                 <version>2.7</version>
                 <version>2.7</version>
@@ -349,7 +273,6 @@
                     </execution>
                     </execution>
                 </executions>
                 </executions>
             </plugin>
             </plugin>
-
         </plugins>
         </plugins>
     </build>
     </build>
 
 
@@ -358,7 +281,7 @@
             <plugin> <!-- checks owsp vulnerability database -->
             <plugin> <!-- checks owsp vulnerability database -->
                 <groupId>org.owasp</groupId>
                 <groupId>org.owasp</groupId>
                 <artifactId>dependency-check-maven</artifactId>
                 <artifactId>dependency-check-maven</artifactId>
-                <version>3.1.2</version>
+                <version>3.3.1</version>
                 <reportSets>
                 <reportSets>
                     <reportSet>
                     <reportSet>
                         <reports>
                         <reports>

+ 5 - 5
server/src/main/java/password/pwm/bean/LocalSessionStateBean.java

@@ -31,11 +31,11 @@ import java.time.Instant;
 import java.util.Locale;
 import java.util.Locale;
 
 
 /**
 /**
- * Only information that is particular to the http session is stored in the
- * session bean.  Information more topical to the user is stored in {@link UserInfoBean}.
- * <p/>
- * For any given HTTP session using PWM, one and only one {@link LocalSessionStateBean} will be
- * created.
+ * <p>Only information that is particular to the http session is stored in the
+ * session bean.  Information more topical to the user is stored in {@link UserInfoBean}.</p>
+ *
+ * <p>For any given HTTP session using PWM, one and only one {@link LocalSessionStateBean} will be
+ * created.</p>
  *
  *
  * @author Jason D. Rivard
  * @author Jason D. Rivard
  */
  */

+ 2 - 1
server/src/main/java/password/pwm/config/value/ActionValue.java

@@ -310,7 +310,8 @@ public class ActionValue extends AbstractValue implements StoredValue
 
 
     /**
     /**
      * Convert to json map where the certificate values are replaced with debug info for display in the config editor.
      * Convert to json map where the certificate values are replaced with debug info for display in the config editor.
-     * @return
+     *
+     * @return a map suitable for json serialization for debug purposes
      */
      */
     public List<Map<String, Object>> toInfoMap( )
     public List<Map<String, Object>> toInfoMap( )
     {
     {

+ 5 - 0
server/src/main/java/password/pwm/config/value/data/FormConfiguration.java

@@ -437,6 +437,11 @@ public class FormConfiguration implements Serializable
 
 
     /**
     /**
      * Return false if an invalid email address is issued.
      * Return false if an invalid email address is issued.
+     *
+     * @param config application configuration
+     * @param address the email address value to test.
+     *
+     * @return true if the email address is valid.
      */
      */
     public static boolean testEmailAddress( final Configuration config, final String address )
     public static boolean testEmailAddress( final Configuration config, final String address )
     {
     {

+ 2 - 0
server/src/main/java/password/pwm/http/PwmSession.java

@@ -235,6 +235,8 @@ public class PwmSession implements Serializable
 
 
     /**
     /**
      * Unauthenticate the pwmSession.
      * Unauthenticate the pwmSession.
+     *
+     * @param pwmRequest current request of the user
      */
      */
     public void unauthenticateUser( final PwmRequest pwmRequest )
     public void unauthenticateUser( final PwmRequest pwmRequest )
     {
     {

+ 4 - 0
server/src/main/java/password/pwm/http/PwmURL.java

@@ -64,6 +64,10 @@ public class PwmURL
     /**
     /**
      * Compare two uri strings for equality of 'base'.  Specifically, the schema, host and port
      * Compare two uri strings for equality of 'base'.  Specifically, the schema, host and port
      * are compared for equality.
      * are compared for equality.
+     *
+     * @param uri1 uri to compare
+     * @param uri2 uri to compare
+     * @return true if scheama, host and port of uri1 and uri2 are equal.
      */
      */
     public static boolean compareUriBase( final String uri1, final String uri2 )
     public static boolean compareUriBase( final String uri1, final String uri2 )
     {
     {

+ 0 - 1
server/src/main/java/password/pwm/http/SessionManager.java

@@ -51,7 +51,6 @@ import java.util.List;
 /**
 /**
  * Wraps an <i>HttpSession</i> to provide additional PWM-related session
  * Wraps an <i>HttpSession</i> to provide additional PWM-related session
  * management activities.
  * management activities.
- * <p/>
  *
  *
  * @author Jason D. Rivard
  * @author Jason D. Rivard
  */
  */

+ 10 - 3
server/src/main/java/password/pwm/http/filter/RequestInitializationFilter.java

@@ -481,9 +481,16 @@ public class RequestInitializationFilter implements Filter
      * Returns the IP address of the user.  If there is an X-Forwarded-For header in the request, that address will
      * Returns the IP address of the user.  If there is an X-Forwarded-For header in the request, that address will
      * be used.  Otherwise, the source address of the request is used.
      * be used.  Otherwise, the source address of the request is used.
      *
      *
+     * @param request the http request object
+     * @param config the application configuration
      * @return String containing the textual representation of the source IP address, or null if the request is invalid.
      * @return String containing the textual representation of the source IP address, or null if the request is invalid.
+     * @throws PwmUnrecoverableException if unable to read the network address
      */
      */
-    public static String readUserIPAddress( final HttpServletRequest request, final Configuration config ) throws PwmUnrecoverableException
+    public static String readUserIPAddress(
+            final HttpServletRequest request,
+            final Configuration config
+    )
+            throws PwmUnrecoverableException
     {
     {
         final boolean useXForwardedFor = config != null && config.readSettingAsBoolean( PwmSetting.USE_X_FORWARDED_FOR_HEADER );
         final boolean useXForwardedFor = config != null && config.readSettingAsBoolean( PwmSetting.USE_X_FORWARDED_FOR_HEADER );
 
 
@@ -713,7 +720,7 @@ public class RequestInitializationFilter implements Filter
                 performCsrfHeaderChecks
                 performCsrfHeaderChecks
                         && !pwmRequest.getMethod().isIdempotent()
                         && !pwmRequest.getMethod().isIdempotent()
                         && !pwmRequest.getURL().isRestService()
                         && !pwmRequest.getURL().isRestService()
-                )
+        )
         {
         {
             final String originValue = pwmRequest.readHeaderValueAsString( HttpHeader.Origin );
             final String originValue = pwmRequest.readHeaderValueAsString( HttpHeader.Origin );
             final String referrerValue = pwmRequest.readHeaderValueAsString( HttpHeader.Referer );
             final String referrerValue = pwmRequest.readHeaderValueAsString( HttpHeader.Referer );
@@ -814,7 +821,7 @@ public class RequestInitializationFilter implements Filter
                         HttpHeader.Referer,
                         HttpHeader.Referer,
                         HttpHeader.Origin,
                         HttpHeader.Origin,
                 }
                 }
-                )
+        )
         {
         {
             values.put( header.getHttpName(), pwmRequest.readHeaderValueAsString( header ) );
             values.put( header.getHttpName(), pwmRequest.readHeaderValueAsString( header ) );
         }
         }

+ 5 - 5
server/src/main/java/password/pwm/http/filter/SessionFilter.java

@@ -64,11 +64,11 @@ import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicInteger;
 
 
 /**
 /**
- * This session filter (invoked by the container through the web.xml descriptor) wraps all calls to the
- * servlets in the container.
- * <p/>
- * It is responsible for managing some aspects of the user session and also for enforcing security
- * functionality such as intruder lockout.
+ * <p>This session filter (invoked by the container through the web.xml descriptor) wraps all calls to the
+ * servlets in the container.</p>
+ *
+ * <p>It is responsible for managing some aspects of the user session and also for enforcing security
+ * functionality such as intruder lockout.</p>
  *
  *
  * @author Jason D. Rivard
  * @author Jason D. Rivard
  */
  */

+ 12 - 8
server/src/main/java/password/pwm/ldap/LdapOperationsHelper.java

@@ -253,15 +253,17 @@ public class LdapOperationsHelper
     }
     }
 
 
     /**
     /**
-     * Writes a Map of values to ldap onto the supplied user object.
-     * The map key must be a string of attribute names.
-     * <p/>
-     * Any ldap operation exceptions are not reported (but logged).
+     * <p>Writes a Map of values to ldap onto the supplied user object.
+     * The map key must be a string of attribute names.</p>
      *
      *
-     * @param theUser  User to write to
+     * <p>Any ldap operation exceptions are not reported (but logged).</p>
+     *
+     * @param theUser User to write to.
      * @param valueMap A map with String keys and String values.
      * @param valueMap A map with String keys and String values.
+     * @param macroMachine used to resolve macros before values are written.
+     * @param expandMacros a boolean to indicate if value macros should be expanded.
      * @throws ChaiUnavailableException if the directory is unavailable
      * @throws ChaiUnavailableException if the directory is unavailable
-     * @throws PwmOperationalException  if their is an unexpected ldap problem
+     * @throws PwmUnrecoverableException if their is an unexpected ldap problem
      */
      */
     public static void writeFormValuesToLdap(
     public static void writeFormValuesToLdap(
             final ChaiUser theUser,
             final ChaiUser theUser,
@@ -772,10 +774,12 @@ public class LdapOperationsHelper
      * Update the user's "lastUpdated" attribute. By default this is
      * Update the user's "lastUpdated" attribute. By default this is
      * "pwmLastUpdate" attribute
      * "pwmLastUpdate" attribute
      *
      *
+     * @param pwmApplication a reference to the application
+     * @param sessionLabel for debugging
      * @param userIdentity ldap user to operate on
      * @param userIdentity ldap user to operate on
      * @return true if successful;
      * @return true if successful;
-     * @throws com.novell.ldapchai.exception.ChaiUnavailableException if the
-     *                                                                directory is unavailable
+     * @throws ChaiUnavailableException if the directory is unavailable
+     * @throws PwmUnrecoverableException if the operation fails
      */
      */
     public static boolean updateLastPasswordUpdateAttribute(
     public static boolean updateLastPasswordUpdateAttribute(
             final PwmApplication pwmApplication,
             final PwmApplication pwmApplication,

+ 4 - 1
server/src/main/java/password/pwm/svc/shorturl/AbstractUrlShortener.java

@@ -34,7 +34,10 @@ public interface AbstractUrlShortener
      *
      *
      * @param input   the URL to be shortened
      * @param input   the URL to be shortened
      * @param context the PwmApplication, used to retrieve configuration
      * @param context the PwmApplication, used to retrieve configuration
+     * @return the shortened uri
+     * @throws PwmUnrecoverableException if the operation fails
      */
      */
 
 
-    String shorten( String input, PwmApplication context ) throws PwmUnrecoverableException;
+    String shorten( String input, PwmApplication context )
+            throws PwmUnrecoverableException;
 }
 }

+ 1 - 0
server/src/main/java/password/pwm/util/BasicAuthInfo.java

@@ -51,6 +51,7 @@ public class BasicAuthInfo implements Serializable
     /**
     /**
      * Extracts the basic auth info from the header.
      * Extracts the basic auth info from the header.
      *
      *
+     * @param pwmApplication a reference to the application
      * @param pwmRequest http servlet request
      * @param pwmRequest http servlet request
      * @return a BasicAuthInfo object containing username/password, or null if the "Authorization" header doesn't exist or is malformed
      * @return a BasicAuthInfo object containing username/password, or null if the "Authorization" header doesn't exist or is malformed
      */
      */

+ 5 - 1
server/src/main/java/password/pwm/util/CaptchaUtility.java

@@ -69,7 +69,11 @@ public class CaptchaUtility
 
 
     /**
     /**
      * Verify a reCaptcha request.  The reCaptcha request API is documented at
      * Verify a reCaptcha request.  The reCaptcha request API is documented at
-     * <a href="http://recaptcha.net/apidocs/captcha/"/>reCaptcha API.
+     * <a href="http://recaptcha.net/apidocs/captcha/">reCaptcha API</a>.
+     *
+     * @param pwmRequest request object
+     * @return true if captcha passes
+     * @throws PwmUnrecoverableException if the operation fails.
      */
      */
     public static boolean verifyReCaptcha(
     public static boolean verifyReCaptcha(
             final PwmRequest pwmRequest
             final PwmRequest pwmRequest

+ 8 - 7
server/src/main/java/password/pwm/util/RandomPasswordGenerator.java

@@ -114,18 +114,19 @@ public class RandomPasswordGenerator
 
 
 
 
     /**
     /**
-     * Creates a new password that satisfies the password rules.  All rules are checked for.  If for some
-     * reason the RANDOM algorithm can not generate a valid password, null will be returned.
-     * <p/>
-     * If there is an identifiable reason the password can not be created (such as mis-configured rules) then
-     * an {@link com.novell.ldapchai.exception.ImpossiblePasswordPolicyException} will be thrown.
+     * <p>Creates a new password that satisfies the password rules.  All rules are checked for.  If for some
+     * reason the RANDOM algorithm can not generate a valid password, null will be returned.</p>
+     *
+     * <p>If there is an identifiable reason the password can not be created (such as mis-configured rules) then
+     * an {@link com.novell.ldapchai.exception.ImpossiblePasswordPolicyException} will be thrown.</p>
      *
      *
      * @param sessionLabel          A valid pwmSession
      * @param sessionLabel          A valid pwmSession
      * @param randomGeneratorConfig Policy to be used during generation
      * @param randomGeneratorConfig Policy to be used during generation
      * @param pwmApplication        Used to read configuration, seedmanager and other services.
      * @param pwmApplication        Used to read configuration, seedmanager and other services.
      * @return A randomly generated password value that meets the requirements of this {@code PasswordPolicy}
      * @return A randomly generated password value that meets the requirements of this {@code PasswordPolicy}
-     * @throws com.novell.ldapchai.exception.ImpossiblePasswordPolicyException If there is no way to create a password using the configured rules and
-     *                                                                         default seed phrase
+     * @throws ImpossiblePasswordPolicyException If there is no way to create a password using the configured rules and
+     *                                        default seed phrase
+     * @throws PwmUnrecoverableException if the operation can not be completed
      */
      */
     public static PasswordData createRandomPassword(
     public static PasswordData createRandomPassword(
             final SessionLabel sessionLabel,
             final SessionLabel sessionLabel,

+ 3 - 0
server/src/main/java/password/pwm/util/form/FormUtility.java

@@ -414,6 +414,9 @@ public class FormUtility
      * and checks to make sure the ParamConfig value meets the requirements of the ParamConfig itself.
      * and checks to make sure the ParamConfig value meets the requirements of the ParamConfig itself.
      *
      *
      * @param formValues - a Map containing String keys of parameter names and ParamConfigs as values
      * @param formValues - a Map containing String keys of parameter names and ParamConfigs as values
+     * @param locale used for error messages
+     * @param configuration current application configuration
+     *
      * @throws password.pwm.error.PwmDataValidationException - If there is a problem with any of the fields
      * @throws password.pwm.error.PwmDataValidationException - If there is a problem with any of the fields
      * @throws password.pwm.error.PwmUnrecoverableException  if an unexpected error occurs
      * @throws password.pwm.error.PwmUnrecoverableException  if an unexpected error occurs
      */
      */

+ 2 - 0
server/src/main/java/password/pwm/util/java/JavaHelper.java

@@ -472,6 +472,8 @@ public class JavaHelper
 
 
     /**
     /**
      * Copy of {@link ThreadInfo#toString()} but with the MAX_FRAMES changed from 8 to 256.
      * Copy of {@link ThreadInfo#toString()} but with the MAX_FRAMES changed from 8 to 256.
+     * @param threadInfo thread information
+     * @return a stacktrace string with newline formatting
      */
      */
     public static String threadInfoToString( final ThreadInfo threadInfo )
     public static String threadInfoToString( final ThreadInfo threadInfo )
     {
     {

+ 5 - 5
server/src/main/java/password/pwm/util/java/TimeDuration.java

@@ -42,11 +42,11 @@ import java.util.Locale;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
- * An immutable class representing a time period.  The internal value of the time period is
- * stored as milliseconds.
- * <p/>
- * Negative time durations are not permitted.  Operations that would result in a negative value
- * are negated and will instead result in positive values.
+ * <p>An immutable class representing a time period.  The internal value of the time period is
+ * stored as milliseconds.</p>
+ *
+ * <p>Negative time durations are not permitted.  Operations that would result in a negative value
+ * are negated and will instead result in positive values.</p>
  *
  *
  * @author Jason D. Rivard
  * @author Jason D. Rivard
  */
  */

+ 5 - 5
server/src/main/java/password/pwm/util/localdb/LocalDB.java

@@ -32,12 +32,12 @@ import java.util.Collection;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
- * A lightweight interface for DB interaction.  Implementations may be backed by an embedded database, an RDBMS or
- * even a simple hashmap in memory.
- * <p/>
- * Implementations are required to implement a simplistic locking policy, where any method marked with {@link LocalDB.WriteOperation}
+ * <p>A lightweight interface for DB interaction.  Implementations may be backed by an embedded database, an RDBMS or
+ * even a simple hashmap in memory.</p>
+ *
+ * <p>Implementations are required to implement a simplistic locking policy, where any method marked with {@link LocalDB.WriteOperation}
  * must block until any outstanding write or read methods are completed.  That is, concurrency is allowed for reads, but
  * must block until any outstanding write or read methods are completed.  That is, concurrency is allowed for reads, but
- * writes are gaurenteed to be single threaded.
+ * writes are guaranteed to be single threaded.</p>
  *
  *
  * @author Jason D. Rivard
  * @author Jason D. Rivard
  */
  */

+ 11 - 10
server/src/main/java/password/pwm/util/operations/PasswordUtility.java

@@ -227,12 +227,13 @@ public class PasswordUtility
     }
     }
 
 
     /**
     /**
-     * This is the entry point under which all password changes are managed.
-     * The following is the general procedure when this method is invoked.
+     * <p>This is the entry point under which all password changes are managed.
+     * The following is the general procedure when this method is invoked.</p>
      * <ul>
      * <ul>
-     * <li> password is checked against PWM password requirement </li>
-     * <li> ldap password set is attempted<br/>
-     * <br/>if successful:
+     * <li> password is checked against application password policy</li>
+     * <li> ldap password set is attempted</li>
+     * </ul>
+     * if successful:
      * <ul>
      * <ul>
      * <li> uiBean is updated with old and new passwords </li>
      * <li> uiBean is updated with old and new passwords </li>
      * <li> uiBean's password expire flag is set to false </li>
      * <li> uiBean's password expire flag is set to false </li>
@@ -240,18 +241,18 @@ public class PasswordUtility
      * <li> user email notification is sent </li>
      * <li> user email notification is sent </li>
      * <li> return true </li>
      * <li> return true </li>
      * </ul>
      * </ul>
-     * <br/>if unsuccessful
+     * if unsuccessful
      * <ul>
      * <ul>
      * <li> ssBean is updated with appropriate error </li>
      * <li> ssBean is updated with appropriate error </li>
      * <li> return false </li>
      * <li> return false </li>
      * </ul>
      * </ul>
-     * </li>
-     * </ul>
      *
      *
      * @param newPassword the new password that is being set.
      * @param newPassword the new password that is being set.
      * @param pwmSession  beanmanager for config and user info lookup
      * @param pwmSession  beanmanager for config and user info lookup
-     * @throws com.novell.ldapchai.exception.ChaiUnavailableException if the ldap directory is not unavailable
-     * @throws password.pwm.error.PwmUnrecoverableException           if user is not authenticated
+     * @param pwmApplication the application reference
+     * @throws ChaiUnavailableException if the ldap directory is not unavailable
+     * @throws PwmUnrecoverableException  if user is not authenticated
+     * @throws PwmOperationalException if operation fails
      */
      */
     public static void setActorPassword(
     public static void setActorPassword(
             final PwmSession pwmSession,
             final PwmSession pwmSession,

+ 12 - 0
server/src/main/java/password/pwm/util/operations/cr/CrOperator.java

@@ -46,12 +46,24 @@ public interface CrOperator
 {
 {
     /**
     /**
      * Read a response set suitable for use in forgotten password scenarios.
      * Read a response set suitable for use in forgotten password scenarios.
+     *
+     * @param theUser chaiUser to examine
+     * @param userIdentity identify of the user
+     * @param userGUID user's guid
+     * @return a responseSet instance suitable for use with forgotten password.
+     * @throws PwmUnrecoverableException if the operation fails
      */
      */
     ResponseSet readResponseSet( ChaiUser theUser, UserIdentity userIdentity, String userGUID )
     ResponseSet readResponseSet( ChaiUser theUser, UserIdentity userIdentity, String userGUID )
             throws PwmUnrecoverableException;
             throws PwmUnrecoverableException;
 
 
     /**
     /**
      * Read a response info bean suitable for examining the user's stored response data, but not for use during forgotten password.
      * Read a response info bean suitable for examining the user's stored response data, but not for use during forgotten password.
+     *
+     * @param theUser chaiUser to examine
+     * @param userIdentity identify of the user
+     * @param userGUID user's guid
+     * @return a bean with the users stored response data.
+     * @throws PwmUnrecoverableException if the operation fails
      */
      */
     ResponseInfoBean readResponseInfo( ChaiUser theUser, UserIdentity userIdentity, String userGUID )
     ResponseInfoBean readResponseInfo( ChaiUser theUser, UserIdentity userIdentity, String userGUID )
             throws PwmUnrecoverableException;
             throws PwmUnrecoverableException;

+ 14 - 3
server/src/main/java/password/pwm/util/operations/otp/AbstractOtpOperator.java

@@ -30,7 +30,6 @@ import password.pwm.config.PwmSetting;
 import password.pwm.config.option.OTPStorageFormat;
 import password.pwm.config.option.OTPStorageFormat;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.PwmError;
 import password.pwm.error.PwmError;
-import password.pwm.error.PwmOperationalException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.util.java.JavaHelper;
 import password.pwm.util.java.JavaHelper;
 import password.pwm.util.java.JsonUtil;
 import password.pwm.util.java.JsonUtil;
@@ -53,6 +52,7 @@ public abstract class AbstractOtpOperator implements OtpOperator
      *
      *
      * @param otpUserRecord input user record
      * @param otpUserRecord input user record
      * @return A string formatted record
      * @return A string formatted record
+     * @throws PwmUnrecoverableException if the operation fails
      */
      */
     public String composeOtpAttribute( final OTPUserRecord otpUserRecord )
     public String composeOtpAttribute( final OTPUserRecord otpUserRecord )
             throws PwmUnrecoverableException
             throws PwmUnrecoverableException
@@ -87,8 +87,14 @@ public abstract class AbstractOtpOperator implements OtpOperator
 
 
     /**
     /**
      * Encrypt the given string using the PWM encryption key.
      * Encrypt the given string using the PWM encryption key.
+     *
+     * @param unencrypted raw value to be encrypted
+     *
+     * @return the encrypted value
+     * @throws PwmUnrecoverableException if the operation can't be completed
      */
      */
-    public String encryptAttributeValue( final String unencrypted ) throws PwmUnrecoverableException, PwmOperationalException
+    public String encryptAttributeValue( final String unencrypted )
+            throws PwmUnrecoverableException
     {
     {
         final PwmBlockAlgorithm pwmBlockAlgorithm = figureBlockAlg();
         final PwmBlockAlgorithm pwmBlockAlgorithm = figureBlockAlg();
         final PwmSecurityKey pwmSecurityKey = pwmApplication.getConfig().getSecurityKey();
         final PwmSecurityKey pwmSecurityKey = pwmApplication.getConfig().getSecurityKey();
@@ -103,9 +109,14 @@ public abstract class AbstractOtpOperator implements OtpOperator
 
 
     /**
     /**
      * Decrypt the given string using the PWM encryption key.
      * Decrypt the given string using the PWM encryption key.
+     *
+     * @param encrypted value to be encrypted
+     *
+     * @return the decrypted value
+     * @throws PwmUnrecoverableException if the operation can't be completed
      */
      */
     public String decryptAttributeValue( final String encrypted )
     public String decryptAttributeValue( final String encrypted )
-            throws PwmUnrecoverableException, PwmOperationalException
+            throws PwmUnrecoverableException
     {
     {
         final PwmBlockAlgorithm pwmBlockAlgorithm = figureBlockAlg();
         final PwmBlockAlgorithm pwmBlockAlgorithm = figureBlockAlg();
         final PwmSecurityKey pwmSecurityKey = pwmApplication.getConfig().getSecurityKey();
         final PwmSecurityKey pwmSecurityKey = pwmApplication.getConfig().getSecurityKey();

+ 3 - 11
server/src/main/java/password/pwm/util/operations/otp/DbOtpOperator.java

@@ -33,13 +33,13 @@ import password.pwm.bean.UserIdentity;
 import password.pwm.config.PwmSetting;
 import password.pwm.config.PwmSetting;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.PwmError;
 import password.pwm.error.PwmError;
+import password.pwm.error.PwmException;
 import password.pwm.error.PwmOperationalException;
 import password.pwm.error.PwmOperationalException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.http.PwmSession;
 import password.pwm.http.PwmSession;
 import password.pwm.util.db.DatabaseAccessor;
 import password.pwm.util.db.DatabaseAccessor;
 import password.pwm.util.db.DatabaseException;
 import password.pwm.util.db.DatabaseException;
 import password.pwm.util.db.DatabaseTable;
 import password.pwm.util.db.DatabaseTable;
-import password.pwm.util.localdb.LocalDBException;
 import password.pwm.util.logging.PwmLogger;
 import password.pwm.util.logging.PwmLogger;
 
 
 /**
 /**
@@ -85,17 +85,9 @@ public class DbOtpOperator extends AbstractOtpOperator
                 }
                 }
             }
             }
         }
         }
-        catch ( LocalDBException e )
+        catch ( PwmException e )
         {
         {
-            final String errorMsg = "unexpected LocalDB error reading responses: " + e.getMessage();
-            final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_UNKNOWN, errorMsg );
-            throw new PwmUnrecoverableException( errorInformation );
-        }
-        catch ( PwmOperationalException e )
-        {
-            final String errorMsg = "unexpected error reading responses: " + e.getMessage();
-            final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_UNKNOWN, errorMsg );
-            throw new PwmUnrecoverableException( errorInformation );
+            throw new PwmUnrecoverableException( e.getErrorInformation() );
         }
         }
         return otpConfig;
         return otpConfig;
     }
     }

+ 0 - 14
server/src/main/java/password/pwm/util/operations/otp/LdapOtpOperator.java

@@ -34,7 +34,6 @@ import password.pwm.config.PwmSetting;
 import password.pwm.config.profile.LdapProfile;
 import password.pwm.config.profile.LdapProfile;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.ErrorInformation;
 import password.pwm.error.PwmError;
 import password.pwm.error.PwmError;
-import password.pwm.error.PwmOperationalException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.http.PwmSession;
 import password.pwm.http.PwmSession;
 import password.pwm.util.logging.PwmLogger;
 import password.pwm.util.logging.PwmLogger;
@@ -97,12 +96,6 @@ public class LdapOtpOperator extends AbstractOtpOperator
             final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_UNKNOWN, errorMsg );
             final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_UNKNOWN, errorMsg );
             throw new PwmUnrecoverableException( errorInformation );
             throw new PwmUnrecoverableException( errorInformation );
         }
         }
-        catch ( PwmOperationalException e )
-        {
-            final String errorMsg = "unexpected error reading responses: " + e.getMessage();
-            final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_UNKNOWN, errorMsg );
-            throw new PwmUnrecoverableException( errorInformation );
-        }
         return otp;
         return otp;
     }
     }
 
 
@@ -160,13 +153,6 @@ public class LdapOtpOperator extends AbstractOtpOperator
             pwmOE.initCause( ex );
             pwmOE.initCause( ex );
             throw pwmOE;
             throw pwmOE;
         }
         }
-        catch ( PwmOperationalException ex )
-        {
-            final ErrorInformation errorInfo = new ErrorInformation( PwmError.ERROR_WRITING_OTP_SECRET, ex.getMessage() );
-            final PwmUnrecoverableException pwmOE = new PwmUnrecoverableException( errorInfo );
-            pwmOE.initCause( ex );
-            throw pwmOE;
-        }
     }
     }
 
 
     @Override
     @Override

+ 4 - 0
server/src/main/java/password/pwm/util/operations/otp/OTPPamUtil.java

@@ -40,6 +40,10 @@ public class OTPPamUtil
 
 
     /**
     /**
      * Split the string in lines; separate by CR, LF or CRLF.
      * Split the string in lines; separate by CR, LF or CRLF.
+     *
+     * @param text string containing line separators.
+     *
+     * @return a list of split lines
      */
      */
     public static List<String> splitLines( final String text )
     public static List<String> splitLines( final String text )
     {
     {

+ 6 - 0
server/src/main/java/password/pwm/util/operations/otp/OTPUrlUtil.java

@@ -39,6 +39,9 @@ public class OTPUrlUtil
 
 
     /**
     /**
      * Convert a OTPUserRecord object into an otpauth:// url.
      * Convert a OTPUserRecord object into an otpauth:// url.
+     * @param otp a valid otp user record
+     *
+     * @return a valid otp url string.
      */
      */
     public static String composeOtpUrl( final OTPUserRecord otp )
     public static String composeOtpUrl( final OTPUserRecord otp )
     {
     {
@@ -51,6 +54,9 @@ public class OTPUrlUtil
 
 
     /**
     /**
      * Read a string with an otpauth:// url and convert to an OTPUserRecord object.
      * Read a string with an otpauth:// url and convert to an OTPUserRecord object.
+     *
+     * @param otpInfo otp input url string.
+     * @return a user recorded generated from the input string.
      */
      */
     public static OTPUserRecord decomposeOtpUrl( final String otpInfo )
     public static OTPUserRecord decomposeOtpUrl( final String otpInfo )
     {
     {

+ 11 - 2
server/src/main/java/password/pwm/util/operations/otp/PasscodeGenerator.java

@@ -117,6 +117,8 @@ public class PasscodeGenerator
 
 
     /**
     /**
      * @return A decimal timeout code
      * @return A decimal timeout code
+     *
+     * @throws GeneralSecurityException if a security exception is generated
      */
      */
     public String generateTimeoutCode( ) throws GeneralSecurityException
     public String generateTimeoutCode( ) throws GeneralSecurityException
     {
     {
@@ -182,6 +184,7 @@ public class PasscodeGenerator
      * @param challenge A challenge to check a response against
      * @param challenge A challenge to check a response against
      * @param response  A response to verify
      * @param response  A response to verify
      * @return True if the response is valid
      * @return True if the response is valid
+     * @throws GeneralSecurityException if a security exception is generated
      */
      */
     public boolean verifyResponseCode( final long challenge, final String response )
     public boolean verifyResponseCode( final long challenge, final String response )
             throws GeneralSecurityException
             throws GeneralSecurityException
@@ -197,6 +200,7 @@ public class PasscodeGenerator
      *
      *
      * @param timeoutCode The timeout code
      * @param timeoutCode The timeout code
      * @return True if the timeout code is valid
      * @return True if the timeout code is valid
+     * @throws GeneralSecurityException if a security exception is generated
      */
      */
     public boolean verifyTimeoutCode( final String timeoutCode )
     public boolean verifyTimeoutCode( final String timeoutCode )
             throws GeneralSecurityException
             throws GeneralSecurityException
@@ -214,9 +218,14 @@ public class PasscodeGenerator
      * @param pastIntervals   The number of past intervals to check
      * @param pastIntervals   The number of past intervals to check
      * @param futureIntervals The number of future intervals to check
      * @param futureIntervals The number of future intervals to check
      * @return True if the timeout code is valid
      * @return True if the timeout code is valid
+     * @throws GeneralSecurityException if a security exception is generated
      */
      */
-    public boolean verifyTimeoutCode( final String timeoutCode, final int pastIntervals,
-                                      final int futureIntervals ) throws GeneralSecurityException
+    public boolean verifyTimeoutCode(
+            final String timeoutCode,
+            final int pastIntervals,
+            final int futureIntervals
+    )
+            throws GeneralSecurityException
     {
     {
         final long currentInterval = clock.getCurrentInterval();
         final long currentInterval = clock.getCurrentInterval();
         final String expectedResponse = generateResponseCode( currentInterval );
         final String expectedResponse = generateResponseCode( currentInterval );

+ 0 - 0
server/src/test/java/password/pwm/manual/LocalDBLoggerTest.java → server/src/manual-test/java/password/pwm/manual/LocalDBLoggerTest.java


+ 0 - 0
server/src/test/java/password/pwm/manual/LocalDBStoredQueueTest.java → server/src/manual-test/java/password/pwm/manual/LocalDBStoredQueueTest.java


+ 0 - 0
server/src/test/java/password/pwm/manual/LocalDBTest.java → server/src/manual-test/java/password/pwm/manual/LocalDBTest.java


+ 0 - 0
server/src/test/java/password/pwm/manual/TestHelper.java → server/src/manual-test/java/password/pwm/manual/TestHelper.java


+ 0 - 0
server/src/test/resources/password/pwm/manual/TestHelper.properties → server/src/manual-test/resources/password/pwm/manual/TestHelper.properties


+ 0 - 56
webapp/pom.xml

@@ -93,62 +93,6 @@
                     </execution>
                     </execution>
                 </executions>
                 </executions>
             </plugin>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <skipTests>${skipTests}</skipTests>
-                    <excludes>
-                        <exclude>password.pwm.manual.*</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>3.0.1</version>
-                <configuration>
-                    <includePom>true</includePom>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.source</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.0</version>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Implementation-Archive-Name>pwm.javadoc</Implementation-Archive-Name>
-                            <Implementation-Title>${project.name}</Implementation-Title>
-                            <Implementation-Version>${project.version}</Implementation-Version>
-                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-                            <Implementation-URL>${project.organization.url}</Implementation-URL>
-                            <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
-                            <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
-                            <Implementation-Build>${build.number}</Implementation-Build>
-                            <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
-                            <Implementation-Revision>${build.revision}</Implementation-Revision>
-                            <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
             <plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
                 <artifactId>maven-war-plugin</artifactId>