Package com.atlassian.bamboo.util
Class PasswordMaskingUtils
java.lang.Object
com.atlassian.bamboo.util.PasswordMaskingUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionList of fields which require masking/encrypting.static final Stringstatic Predicate<VariableDefinitionContext> static final PatternRegular expression for replacing passwords in URLs. -
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable StringgetPasswordFromUrl(@NotNull String url) static booleanstatic StringMask a password portion of a larger string.static StringMask a password portion of a larger string.static <T extends VariableDefinitionContext>
Collection<? extends T> maskPasswordValues(@NotNull Collection<T> variables, @NotNull Function<? super T, ? extends T> clone) static StringmaskPossiblePasswordValues(String text, VariableContext variableContext) static @NotNull StringmaskUrlPassword(@NotNull String url) Masks password used in URL.static <T extends VariableDefinitionContext>
@NotNull Iterable<T> removePasswordVariableDefinitions(@NotNull Iterable<T> variables) removePasswordVariables(@NotNull Iterable<String> variables) static @NotNull Map<String, VariableDefinitionContext> removePasswordVariables(@NotNull Map<String, VariableDefinitionContext> variables) static booleanshouldBeMasked(@NotNull VariableDefinition variableDefinition) static booleanshouldBeMasked(@NotNull VariableDefinitionContext variableDefinition) static booleanshouldBeMasked(@NotNull VariableSubstitutionContext variableSubstitutionContext) static booleanshouldBeMasked(@Nullable String variableName) static booleanshouldIgnoreValue(String key, String value)
-
Field Details
-
PASSWORD_MASK
- See Also:
-
PASSWORD_FIELD_NAMES
List of fields which require masking/encrypting.Notice: updating this list will require re-encrypting of some data stored in Bamboo (e.g. variables and shared credentials).
-
URL_PASSWORD_PATTERN
Regular expression for replacing passwords in URLs. Search for content between ':' and '@' after protocol declaration. Pattern: [protocol]://[user]:[password]@[remainingUri] -
SHOULD_VARIABLE_BE_MASKED
-
-
Method Details
-
isMasked
-
shouldBeMasked
-
shouldBeMasked
-
shouldBeMasked
public static boolean shouldBeMasked(@NotNull @NotNull VariableDefinitionContext variableDefinition) -
shouldBeMasked
public static boolean shouldBeMasked(@NotNull @NotNull VariableSubstitutionContext variableSubstitutionContext) -
shouldIgnoreValue
-
maskPasswordValues
public static <T extends VariableDefinitionContext> Collection<? extends T> maskPasswordValues(@NotNull @NotNull Collection<T> variables, @NotNull @NotNull Function<? super T, ? extends T> clone) -
mask
Mask a password portion of a larger string. e.g. passwords in git urls.- Parameters:
string- to find and replace the password inpassword- to find in the given string- Returns:
- string with the password replaced with a mask
-
mask
public static String mask(@NotNull @NotNull String string, @Nullable @Nullable Iterable<String> passwords) Mask a password portion of a larger string. e.g. passwords in git urls.- Parameters:
string- to find and replace the password inpasswords- to find in the given string- Returns:
- string with the password replaced with a mask
-
findPossiblePasswordValues
public static Iterable<String> findPossiblePasswordValues(Collection<VariableDefinitionContext> variables) -
maskPossiblePasswordValues
-
maskUrlPassword
Masks password used in URL. For example, forhttp://user:password@example.comwill returnhttp://user:********@example.com.- Parameters:
url- URL as string- Returns:
- URL with masked password if password was found, unmodified URL otherwise
-
getPasswordFromUrl
-
removePasswordVariables
@NotNull public static @NotNull Map<String,VariableDefinitionContext> removePasswordVariables(@NotNull @NotNull Map<String, VariableDefinitionContext> variables) -
removePasswordVariables
-
removePasswordVariableDefinitions
@NotNull public static <T extends VariableDefinitionContext> @NotNull Iterable<T> removePasswordVariableDefinitions(@NotNull @NotNull Iterable<T> variables)
-