diff --git a/src/trees-common.c b/src/trees-common.c index 6f9271211acf8864e9a967223d2247aeda974487..5698d4e4dea7e5d2aba664e0405e5d9b5584f455 100644 --- a/src/trees-common.c +++ b/src/trees-common.c @@ -46,35 +46,6 @@ trees_initialize(void) return 0; } -const char * -trees_read_line_fd(pool_t pool, int fd) -{ - string_t *buffer = str_new(pool, MAXIMAL_PASSWORD_LENGTH); - char *result = str_c_modifiable(buffer); - char *pointer = result; - - ssize_t read_result = read(fd, pointer, 1); - unsigned int bytes_read = 0; - while (read_result != -1 && pointer[0] != '\n') { - pointer++; - bytes_read++; - - if (bytes_read > MAXIMAL_PASSWORD_LENGTH) { - i_error("error reading form fd %d: password too long", fd); - break; - } - - read_result = read(fd, pointer, 1); - } - - pointer[0] = 0; - - if (read_result == -1) - i_error("error reading from fd %d: %s (%d)", fd, strerror(errno), errno); - - return result; -} - #ifdef DEBUG_STREAMS void diff --git a/src/trees-common.h b/src/trees-common.h index d8ca434db67a02f8cf44dcee0a358af0245f2c83..821883b545e1afa2090c27005e13d841f83fc2b8 100644 --- a/src/trees-common.h +++ b/src/trees-common.h @@ -37,7 +37,6 @@ /* Aligns with the docevot default buffer size. */ #define CHUNK_SIZE 8192 #define ENCRYPTED_CHUNK_SIZE (crypto_box_SEALBYTES + CHUNK_SIZE) -#define MAXIMAL_PASSWORD_LENGTH 256 #define MAX_ISTREAM_BUFFER_SIZE (ENCRYPTED_CHUNK_SIZE * 2) #define MIN(a,b) \ diff --git a/src/trees-plugin.c b/src/trees-plugin.c index 8fe131ee8ee384224bbdfb3f4eb5f8d6149d7046..238d03ff20fe36d640acc80ff811fcd4483f0563 100644 --- a/src/trees-plugin.c +++ b/src/trees-plugin.c @@ -135,7 +135,7 @@ static int trees_get_private_key(struct mail_user *user, struct trees_user *suser) { - int have_salt, password_fd; + int have_salt; unsigned long long opslimit, memlimit; unsigned char pw_salt[crypto_pwhash_SALTBYTES]; unsigned char sk_nonce[crypto_secretbox_NONCEBYTES]; @@ -149,10 +149,6 @@ trees_get_private_key(struct mail_user *user, /* Get the user password that we'll use to . */ password = trees_get_string_setting(user, "trees_password"); - password_fd = trees_get_integer_setting(user, "trees_password_fd"); - if (password == NULL && password_fd >= 0) { - password = trees_read_line_fd(user->pool, password_fd); - } /* No password means that we are receiving email and have no access to the * user private data so stop now. */