[java-identity-provider] branch main updated: Add S3 CNAME as backup metadata location for first-party plugins.
Scott Cantor
cantor.2 at osu.edu
Tue Apr 27 20:49:04 UTC 2021
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=d23f1d55b80270af4cd51910bbd04c4fc4702526
The following commit(s) were added to refs/heads/main by this push:
new d23f1d55b Add S3 CNAME as backup metadata location for first-party plugins.
d23f1d55b is described below
commit d23f1d55b80270af4cd51910bbd04c4fc4702526
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Apr 27 16:49:01 2021 -0400
Add S3 CNAME as backup metadata location for first-party plugins.
---
.../java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java | 8 +++++---
.../src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java | 10 ++++++----
.../net/shibboleth/idp/plugin/PropertyDrivenIdPPlugin.java | 8 +++++---
.../net/shibboleth/idp/plugin/impl/FirstPartyIdPPlugin.java | 11 +++++++----
4 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
index a4325e8bc..0798d1cda 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
@@ -26,6 +26,8 @@ import javax.annotation.Nonnull;
import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/**
* A base class implementing {@link IdPPlugin} that defaults common settings.
@@ -57,12 +59,12 @@ public abstract class AbstractIdPPlugin implements IdPPlugin {
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public Set<String> getRequiredModules() {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<String> getRequiredModules() {
return Collections.emptySet();
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public Set<IdPModule> getEnableOnInstall() {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<IdPModule> getEnableOnInstall() {
return enableModules;
}
@@ -81,7 +83,7 @@ public abstract class AbstractIdPPlugin implements IdPPlugin {
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public Set<IdPModule> getDisableOnRemoval() {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<IdPModule> getDisableOnRemoval() {
return disableModules;
}
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
index 589ea2277..ec53f3ace 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
@@ -29,6 +29,8 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/**
* This interface is exported (via the service API) by every IdP plugin.
@@ -54,7 +56,7 @@ public interface IdPPlugin {
* @return Zero or more URLs
* @throws IOException if the resource construction failed.
*/
- @Nonnull @NonnullElements List<URL> getUpdateURLs() throws IOException;
+ @Nonnull @NonnullElements @Unmodifiable @NotLive List<URL> getUpdateURLs() throws IOException;
/** Return the major version, (as defined by the
* <a href="https://wiki.shibboleth.net/confluence/display/DEV/Java+Product+Version+Policy">
@@ -88,20 +90,20 @@ public interface IdPPlugin {
*
* @return module IDs that are required
*/
- @Nonnull @NonnullElements Set<String> getRequiredModules();
+ @Nonnull @NonnullElements @Unmodifiable @NotLive Set<String> getRequiredModules();
/**
* Get the modules to enable after plugin installation or upgrade.
*
* @return modules to enable
*/
- @Nonnull @NonnullElements Set<IdPModule> getEnableOnInstall();
+ @Nonnull @NonnullElements @Unmodifiable @NotLive Set<IdPModule> getEnableOnInstall();
/**
* Get the modules to disable after plugin removal.
*
* @return modules to disable
*/
- @Nonnull @NonnullElements Set<IdPModule> getDisableOnRemoval();
+ @Nonnull @NonnullElements @Unmodifiable @NotLive Set<IdPModule> getDisableOnRemoval();
}
\ No newline at end of file
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/PropertyDrivenIdPPlugin.java b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/PropertyDrivenIdPPlugin.java
index 884e36cca..9f40b5d47 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/PropertyDrivenIdPPlugin.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/PropertyDrivenIdPPlugin.java
@@ -37,6 +37,8 @@ import net.shibboleth.idp.module.PropertyDrivenIdPModule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonNegative;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -183,13 +185,13 @@ public abstract class PropertyDrivenIdPPlugin extends AbstractIdPPlugin {
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public List<URL> getUpdateURLs() {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<URL> getUpdateURLs() {
return updateURLs;
}
/** {@inheritDoc} */
@Override
- @Nonnull @NonnullElements public Set<String> getRequiredModules() {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<String> getRequiredModules() {
return requiredModules;
}
@@ -220,7 +222,7 @@ public abstract class PropertyDrivenIdPPlugin extends AbstractIdPPlugin {
* @return default update locations
* @throws PluginException
*/
- @Nonnull @NonnullElements protected List<URL> getDefaultUpdateURLs() throws PluginException {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive protected List<URL> getDefaultUpdateURLs() throws PluginException {
return Collections.emptyList();
}
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/FirstPartyIdPPlugin.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/FirstPartyIdPPlugin.java
index addfbd960..0fa506a7d 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/FirstPartyIdPPlugin.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/FirstPartyIdPPlugin.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.plugin.impl;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -29,6 +28,8 @@ import net.shibboleth.idp.plugin.IdPPlugin;
import net.shibboleth.idp.plugin.PluginException;
import net.shibboleth.idp.plugin.PropertyDrivenIdPPlugin;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/**
* Implementation class for plugins from the project itself to centralize
@@ -51,10 +52,12 @@ public class FirstPartyIdPPlugin extends PropertyDrivenIdPPlugin {
/** {@inheritDoc}
* @throws PluginException */
@Override
- @Nonnull @NonnullElements public List<URL> getDefaultUpdateURLs() throws PluginException {
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<URL> getDefaultUpdateURLs() throws PluginException {
try {
- return Collections.singletonList(
- new URL("https://shibboleth.net/downloads/identity-provider/plugins/plugins.properties"));
+ // The second location is a backup CNAME pointing into AWS S3 at present.
+ return List.of(
+ new URL("https://shibboleth.net/downloads/identity-provider/plugins/plugins.properties"),
+ new URL("http://plugins.shibboleth.net/plugins.properties"));
} catch (final MalformedURLException e) {
throw new PluginException(e);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list