exit(EXIT_FAILURE);
}
- plen = rspamd_read_passphrase(test_password, sizeof(test_password),
- 0, NULL);
+ const char *env_password = getenv("RSPAMADM_PASSWORD");
+ if (env_password != NULL && env_password[0] != '\0') {
+ plen = rspamd_strlcpy(test_password, env_password, sizeof(test_password));
+ }
+ else {
+ plen = rspamd_read_passphrase(test_password, sizeof(test_password),
+ 0, NULL);
+ }
if (plen == 0) {
rspamd_explicit_memzero(encrypted_password, sizeof(encrypted_password));
fprintf(stderr, "Invalid password\n");
Should Match Regexp ${result.stdout} hello world\n
Should Be Equal As Integers ${result.rc} 0
+Password Check Via Env Correct
+ ${enc} = Rspamadm pw -p nq1
+ ${result} = Run Process ${RSPAMADM} pw -c -p ${enc.stdout} env:RSPAMADM_PASSWORD=nq1
+ Should Contain ${result.stdout} password correct
+ Should Be Equal As Integers ${result.rc} 0
+
+Password Check Via Env Wrong
+ ${enc} = Rspamadm pw -p nq1
+ ${result} = Run Process ${RSPAMADM} pw -c -p ${enc.stdout} env:RSPAMADM_PASSWORD=wrongpassword
+ Should Contain ${result.stdout} password incorrect
+ Should Be Equal As Integers ${result.rc} 1
+
SecretBox rspamadm encrypt/decrypt
${result} = Rspamadm secret_box -B encrypt -t ${TEXT} -k ${KEY} -n ${NONCE}
Should Match Regexp ${result.stderr} ^$