dovecot-2.1: lmtp: Get banner text from login_greeting setting.
dovecot at dovecot.org
dovecot at dovecot.org
Tue Jan 17 23:12:36 EET 2012
details: http://hg.dovecot.org/dovecot-2.1/rev/05434bef2492
changeset: 13943:05434bef2492
user: Timo Sirainen <tss at iki.fi>
date: Tue Jan 17 23:12:26 2012 +0200
description:
lmtp: Get banner text from login_greeting setting.
diffstat:
src/lmtp/client.c | 12 ++++++++++--
src/lmtp/lmtp-settings.c | 4 +++-
src/lmtp/lmtp-settings.h | 1 +
3 files changed, 14 insertions(+), 3 deletions(-)
diffs (79 lines):
diff -r ded87d81fc74 -r 05434bef2492 src/lmtp/client.c
--- a/src/lmtp/client.c Tue Jan 17 23:11:16 2012 +0200
+++ b/src/lmtp/client.c Tue Jan 17 23:12:26 2012 +0200
@@ -8,6 +8,8 @@
#include "istream.h"
#include "ostream.h"
#include "hostpid.h"
+#include "var-expand.h"
+#include "settings-parser.h"
#include "master-service.h"
#include "master-service-settings.h"
#include "mail-namespace.h"
@@ -136,11 +138,13 @@
struct mail_storage_service_input input;
const struct setting_parser_context *set_parser;
const char *error;
+ void **sets;
memset(&input, 0, sizeof(input));
input.module = input.service = "lmtp";
input.local_ip = client->local_ip;
input.remote_ip = client->remote_ip;
+ input.username = "";
if (mail_storage_service_read_settings(storage_service, &input,
client->pool,
@@ -148,6 +152,10 @@
&set_parser, &error) < 0)
i_fatal("%s", error);
+ sets = settings_parser_get_list(set_parser) + 1;
+ settings_var_expand(&lmtp_setting_parser_info, sets[2], client->pool,
+ mail_storage_service_get_var_expand_table(storage_service, &input));
+
lmtp_settings_dup(set_parser, client->pool,
&client->lmtp_set, &client->set);
}
@@ -221,8 +229,8 @@
DLLIST_PREPEND(&clients, client);
clients_count++;
- client_send_line(client, "220 %s Dovecot LMTP ready",
- client->my_domain);
+ client_send_line(client, "220 %s %s", client->my_domain,
+ client->lmtp_set->login_greeting);
i_info("Connect from %s", client_remote_id(client));
return client;
}
diff -r ded87d81fc74 -r 05434bef2492 src/lmtp/lmtp-settings.c
--- a/src/lmtp/lmtp-settings.c Tue Jan 17 23:11:16 2012 +0200
+++ b/src/lmtp/lmtp-settings.c Tue Jan 17 23:12:26 2012 +0200
@@ -59,13 +59,15 @@
static const struct setting_define lmtp_setting_defines[] = {
DEF(SET_BOOL, lmtp_proxy),
DEF(SET_BOOL, lmtp_save_to_detail_mailbox),
+ DEF(SET_STR_VARS, login_greeting),
SETTING_DEFINE_LIST_END
};
static const struct lmtp_settings lmtp_default_settings = {
.lmtp_proxy = FALSE,
- .lmtp_save_to_detail_mailbox = FALSE
+ .lmtp_save_to_detail_mailbox = FALSE,
+ .login_greeting = PACKAGE_NAME" ready."
};
static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff -r ded87d81fc74 -r 05434bef2492 src/lmtp/lmtp-settings.h
--- a/src/lmtp/lmtp-settings.h Tue Jan 17 23:11:16 2012 +0200
+++ b/src/lmtp/lmtp-settings.h Tue Jan 17 23:12:26 2012 +0200
@@ -7,6 +7,7 @@
struct lmtp_settings {
bool lmtp_proxy;
bool lmtp_save_to_detail_mailbox;
+ const char *login_greeting;
};
extern const struct setting_parser_info lmtp_setting_parser_info;
More information about the dovecot-cvs
mailing list