Browse Source

[Minor] Allow to use password in file in rspamc

Issue: #1415
Submitted by: @urusha
tags/1.5.0
Vsevolod Stakhov 7 years ago
parent
commit
8b18feb6bc
1 changed files with 28 additions and 1 deletions
  1. 28
    1
      src/client/rspamc.c

+ 28
- 1
src/client/rspamc.c View File

@@ -328,9 +328,36 @@ rspamc_password_callback (const gchar *option_name,
GError **error)
{
guint plen = 8192;
guint8 *map, *end;
gsize sz;

if (value != NULL) {
password = g_strdup (value);
if (value[0] == '/' || value[0] == '.') {
/* Try to open file */
map = rspamd_file_xmap (value, PROT_READ, &sz);

if (map == NULL) {
/* Just use it as a string */
password = g_strdup (value);
}
else {
/* Strip trailing spaces */
g_assert (sz > 0);
end = map + sz - 1;

while (g_ascii_isspace (*end) && end > map) {
end --;
}

end ++;
password = g_malloc (end - map + 1);
rspamd_strlcpy (password, map, end - map + 1);
munmap (map, sz);
}
}
else {
password = g_strdup (value);
}
}
else {
/* Read password from console */

Loading…
Cancel
Save