Package com.atlassian.bamboo.util
Class PasswordMaskingUtils
java.lang.Object
com.atlassian.bamboo.util.PasswordMaskingUtils
-
Field Summary
Modifier and TypeFieldDescriptionList of fields which require masking/encrypting.static final String
static Predicate<VariableDefinitionContext>
static final Pattern
Regular expression for replacing passwords in URLs. -
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable String
getPasswordFromUrl
(@NotNull String url) static boolean
static String
Mask a password portion of a larger string.static String
Mask 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 String
maskPossiblePasswordValues
(String text, VariableContext variableContext) static @NotNull String
maskUrlPassword
(@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 boolean
shouldBeMasked
(@NotNull VariableDefinition variableDefinition) static boolean
shouldBeMasked
(@NotNull VariableDefinitionContext variableDefinition) static boolean
shouldBeMasked
(@NotNull VariableSubstitutionContext variableSubstitutionContext) static boolean
shouldBeMasked
(@Nullable String variableName) static boolean
shouldIgnoreValue
(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.com
will 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)
-