File credentials-obfuscation-3.4.0-git.patch of Package credentials_obfuscation
diff --git a/.github/workflows/erlang.yml b/.github/workflows/erlang.yml
index a0eae95..959785b 100644
--- a/.github/workflows/erlang.yml
+++ b/.github/workflows/erlang.yml
@@ -5,7 +5,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- otp_version: [24, 25, "26.0-rc3"]
+ otp_version: [24, 25, 26]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v3
diff --git a/priv/schema/credentials_obfuscation.schema b/priv/schema/credentials_obfuscation.schema
new file mode 100644
index 0000000..1c1ea93
--- /dev/null
+++ b/priv/schema/credentials_obfuscation.schema
@@ -0,0 +1,55 @@
+% ==============================
+% Credentials Obfuscation schema
+% ==============================
+
+{mapping, "credentials_obfuscation.enabled", "credentials_obfuscation.enabled",
+ [{datatype, {enum, [true, false]}}]}.
+
+{mapping, "credentials_obfuscation.cipher", "credentials_obfuscation.cipher",
+ [{datatype, atom}]}.
+
+{translation, "credentials_obfuscation.cipher",
+fun(Conf) ->
+ case cuttlefish:conf_get("credentials_obfuscation.cipher", Conf, undefined) of
+ undefined -> cuttlefish:unset();
+ Setting ->
+ case
+ lists:member(Setting,
+ credentials_obfuscation_pbe:supported_ciphers())
+ of
+ true ->
+ Setting;
+ false ->
+ cuttlefish:invalid("Unsupported cipher")
+ end
+ end
+end}.
+
+
+{mapping, "credentials_obfuscation.hash", "credentials_obfuscation.hash",
+ [{datatype, atom}]}.
+
+{translation, "credentials_obfuscation.hash",
+fun(Conf) ->
+ case cuttlefish:conf_get("credentials_obfuscation.hash", Conf, undefined) of
+ undefined -> cuttlefish:unset();
+ Setting ->
+ case
+ lists:member(Setting,
+ credentials_obfuscation_pbe:supported_hashes())
+ of
+ true ->
+ Setting;
+ false ->
+ cuttlefish:invalid("Unsupported hash")
+ end
+ end
+end}.
+
+{mapping, "credentials_obfuscation.iterations", "credentials_obfuscation.iterations",
+ [{datatype, integer}, {validators, ["non_zero_positive_integer"]}]}.
+
+{validator, "non_zero_positive_integer", "number should be greater or equal to one",
+fun(Int) when is_integer(Int) ->
+ Int >= 1
+end}.