Skip to content

Commit 6619460

Browse files
committed
pom updates
ldap cert auto-import
1 parent 9dd4bc2 commit 6619460

22 files changed

+237
-93
lines changed

docker/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<plugin>
3535
<groupId>com.google.cloud.tools</groupId>
3636
<artifactId>jib-maven-plugin</artifactId>
37-
<version>1.1.2</version>
37+
<version>1.2.0</version>
3838
<executions>
3939
<execution>
4040
<id>make-docker-image</id>

onejar/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<properties>
1919
<project.root.basedir>${project.basedir}/..</project.root.basedir>
20-
<tomcat.version>9.0.19</tomcat.version>
20+
<tomcat.version>9.0.20</tomcat.version>
2121
</properties>
2222

2323
<build>

pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,12 @@
167167
<plugin>
168168
<groupId>org.apache.maven.plugins</groupId>
169169
<artifactId>maven-checkstyle-plugin</artifactId>
170-
<version>3.0.0</version>
170+
<version>3.1.0</version>
171171
<dependencies>
172172
<dependency>
173173
<groupId>com.puppycrawl.tools</groupId>
174174
<artifactId>checkstyle</artifactId>
175-
<version>8.19</version>
175+
<version>8.20</version>
176176
</dependency>
177177
</dependencies>
178178
<executions>
@@ -247,7 +247,7 @@
247247
<dependency>
248248
<groupId>com.github.spotbugs</groupId>
249249
<artifactId>spotbugs</artifactId>
250-
<version>4.0.0-beta1</version>
250+
<version>4.0.0-beta2</version>
251251
</dependency>
252252
</dependencies>
253253
<configuration>
@@ -268,7 +268,7 @@
268268
<plugin> <!-- checks owsp vulnerability database -->
269269
<groupId>org.owasp</groupId>
270270
<artifactId>dependency-check-maven</artifactId>
271-
<version>5.0.0-M2</version>
271+
<version>5.0.0-M3</version>
272272
<executions>
273273
<execution>
274274
<goals>
@@ -285,13 +285,13 @@
285285
<dependency>
286286
<groupId>org.projectlombok</groupId>
287287
<artifactId>lombok</artifactId>
288-
<version>1.18.6</version>
288+
<version>1.18.8</version>
289289
<scope>provided</scope>
290290
</dependency>
291291
<dependency>
292292
<groupId>com.github.spotbugs</groupId>
293293
<artifactId>spotbugs-annotations</artifactId>
294-
<version>4.0.0-beta1</version>
294+
<version>4.0.0-beta2</version>
295295
<scope>provided</scope>
296296
</dependency>
297297

pwm-cr/src/main/java/password/pwm/cr/ChaiXmlResponseSetSerializer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,16 @@ private static StoredResponseItem parseAnswerElement( final Element element )
276276
final String salt = element.getAttribute( XML_ATTRIBUTE_SALT ) == null ? "" : element.getAttribute( XML_ATTRIBUTE_SALT ).getValue();
277277
final String hashCount = element.getAttribute( XML_ATTRIBUTE_HASH_COUNT ) == null ? "1" : element.getAttribute( XML_ATTRIBUTE_HASH_COUNT ).getValue();
278278
int saltCount = 1;
279+
279280
try
280281
{
281282
saltCount = Integer.parseInt( hashCount );
282283
}
283284
catch ( NumberFormatException e )
284-
{ /* noop */ }
285+
{
286+
/* noop */
287+
}
288+
285289
final String formatStr = element.getAttributeValue( XML_ATTRIBUTE_CONTENT_FORMAT ) == null ? "" : element.getAttributeValue( XML_ATTRIBUTE_CONTENT_FORMAT );
286290

287291
return StoredResponseItem.builder()

server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@
292292
<dependency>
293293
<groupId>com.blueconic</groupId>
294294
<artifactId>browscap-java</artifactId>
295-
<version>1.2.8</version>
295+
<version>1.2.9</version>
296296
</dependency>
297297
<dependency>
298298
<groupId>org.jetbrains.xodus</groupId>

server/src/main/java/password/pwm/bean/SessionLabel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public class SessionLabel implements Serializable
4141
public static final SessionLabel AUDITING_SESSION_LABEL = new SessionLabel( SESSION_LABEL_SESSION_ID, null, "auditing", null, null );
4242
public static final SessionLabel TELEMETRY_SESSION_LABEL = new SessionLabel( SESSION_LABEL_SESSION_ID, null, "telemetry", null, null );
4343
public static final SessionLabel PWNOTIFY_SESSION_LABEL = new SessionLabel( SESSION_LABEL_SESSION_ID, null, "pwnotify", null, null );
44+
public static final SessionLabel CONTEXT_SESSION_LABEL = new SessionLabel( SESSION_LABEL_SESSION_ID, null, "context", null, null );
4445

4546
private final String sessionID;
4647
private final UserIdentity userIdentity;

server/src/main/java/password/pwm/config/function/LdapCertImportFunction.java

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,67 +29,43 @@
2929
import password.pwm.config.stored.StoredConfigurationImpl;
3030
import password.pwm.config.value.StringArrayValue;
3131
import password.pwm.config.value.X509CertificateValue;
32-
import password.pwm.error.ErrorInformation;
33-
import password.pwm.error.PwmError;
34-
import password.pwm.error.PwmException;
35-
import password.pwm.error.PwmOperationalException;
3632
import password.pwm.error.PwmUnrecoverableException;
3733
import password.pwm.http.PwmRequest;
3834
import password.pwm.http.PwmSession;
3935
import password.pwm.i18n.Message;
4036
import password.pwm.util.secure.X509Utils;
4137

42-
import java.net.URI;
4338
import java.security.cert.X509Certificate;
4439
import java.util.LinkedHashSet;
4540
import java.util.List;
4641
import java.util.Set;
4742

4843
public class LdapCertImportFunction implements SettingUIFunction
4944
{
50-
5145
@Override
5246
public String provideFunction(
5347
final PwmRequest pwmRequest,
5448
final StoredConfigurationImpl storedConfiguration,
5549
final PwmSetting setting,
5650
final String profile,
57-
final String extraData )
58-
throws PwmOperationalException, PwmUnrecoverableException
51+
final String extraData
52+
)
53+
throws PwmUnrecoverableException
5954
{
6055
final PwmApplication pwmApplication = pwmRequest.getPwmApplication();
6156
final PwmSession pwmSession = pwmRequest.getPwmSession();
6257

6358
final StringArrayValue ldapUrlsValue = ( StringArrayValue ) storedConfiguration.readSetting( PwmSetting.LDAP_SERVER_URLS, profile );
6459
final Set<X509Certificate> resultCertificates = new LinkedHashSet<>();
65-
try
66-
{
67-
if ( ldapUrlsValue != null && ldapUrlsValue.toNativeObject() != null )
68-
{
69-
final List<String> ldapUrlStrings = ldapUrlsValue.toNativeObject();
70-
for ( final String ldapUrlString : ldapUrlStrings )
71-
{
72-
final URI ldapURI = new URI( ldapUrlString );
73-
final List<X509Certificate> certs = X509Utils.readRemoteCertificates( ldapURI, pwmApplication.getConfig() );
74-
if ( certs != null )
75-
{
76-
resultCertificates.addAll( certs );
77-
}
78-
}
79-
}
80-
}
81-
catch ( Exception e )
60+
if ( ldapUrlsValue != null && ldapUrlsValue.toNativeObject() != null )
8261
{
83-
if ( e instanceof PwmException )
84-
{
85-
throw new PwmOperationalException( ( ( PwmException ) e ).getErrorInformation() );
86-
}
87-
final ErrorInformation errorInformation = new ErrorInformation( PwmError.ERROR_INTERNAL, "error importing certificates: " + e.getMessage() );
88-
throw new PwmOperationalException( errorInformation );
62+
final List<String> ldapUrlStrings = ldapUrlsValue.toNativeObject();
63+
resultCertificates.addAll( X509Utils.readCertsForListOfLdapUrls( ldapUrlStrings, pwmRequest.getConfig() ) );
8964
}
9065

9166
final UserIdentity userIdentity = pwmSession.isAuthenticated() ? pwmSession.getUserInfo().getUserIdentity() : null;
9267
storedConfiguration.writeSetting( setting, profile, new X509CertificateValue( resultCertificates ), userIdentity );
9368
return Message.getLocalizedMessage( pwmSession.getSessionStateBean().getLocale(), Message.Success_Unknown, pwmApplication.getConfig() );
9469
}
70+
9571
}

server/src/main/java/password/pwm/config/profile/LdapProfile.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ public List<String> getRootContexts(
9696
return Collections.unmodifiableList( canonicalValues );
9797
}
9898

99+
public List<String> getLdapUrls(
100+
)
101+
{
102+
return readSettingAsStringArray( PwmSetting.LDAP_SERVER_URLS );
103+
}
104+
99105
@Override
100106
public String getDisplayName( final Locale locale )
101107
{

server/src/main/java/password/pwm/config/stored/ConfigurationProperty.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ public enum ConfigurationProperty
3030
NOTES( "notes" ),
3131
PASSWORD_HASH( "configPasswordHash" ),
3232
CONFIG_ON_START( "saveConfigOnStart" ),
33-
MODIFIFICATION_TIMESTAMP( "modificationTimestamp" ),;
33+
MODIFIFICATION_TIMESTAMP( "modificationTimestamp" ),
34+
IMPORT_LDAP_CERTIFICATES( "importLdapCertificates" ),;
3435

3536
private final String key;
3637

server/src/main/java/password/pwm/health/ConfigurationChecker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public List<HealthRecord> doHealthCheck( final Configuration config, final Local
152152

153153
for ( final LdapProfile ldapProfile : config.getLdapProfiles().values() )
154154
{
155-
final List<String> ldapServerURLs = ldapProfile.readSettingAsStringArray( PwmSetting.LDAP_SERVER_URLS );
155+
final List<String> ldapServerURLs = ldapProfile.getLdapUrls();
156156
if ( ldapServerURLs != null && !ldapServerURLs.isEmpty() )
157157
{
158158
for ( final String urlStringValue : ldapServerURLs )

0 commit comments

Comments
 (0)