Blame SOURCES/quota-4.01-define_charset_in_mail.patch

dba0f0
From aebb8189069f24e6f4e59cf79f179bcbafe7a098 Mon Sep 17 00:00:00 2001
dba0f0
From: Jan Kara <jack@suse.cz>
dba0f0
Date: Tue, 6 Nov 2012 11:04:44 +0100
dba0f0
Subject: [PATCH 1/2] warnquota: Add MIME-Version header
dba0f0
dba0f0
Warnquota forgot to add MIME-Version header to sent email when Content-type
dba0f0
etc. fields were set.
dba0f0
dba0f0
Signed-off-by: Jan Kara <jack@suse.cz>
dba0f0
---
dba0f0
 warnquota.c | 1 +
dba0f0
 1 file changed, 1 insertion(+)
dba0f0
dba0f0
diff --git a/warnquota.c b/warnquota.c
dba0f0
index 08827f2..80f528c 100644
dba0f0
--- a/warnquota.c
dba0f0
+++ b/warnquota.c
dba0f0
@@ -503,6 +503,7 @@ static int mail_user(struct offenderlist *offender, struct configparams *config)
dba0f0
 	if (should_cc(offender, config))
dba0f0
 		fprintf(fp, "Cc: %s\n", config->cc_to);
dba0f0
 	if ((config->charset)[0] != '\0') { /* are we supposed to set the encoding */
dba0f0
+		fprintf(fp, "MIME-Version: 1.0\n");
dba0f0
 		fprintf(fp, "Content-Type: text/plain; charset=%s\n", config->charset);
dba0f0
 		fprintf(fp, "Content-Disposition: inline\n");
dba0f0
 		fprintf(fp, "Content-Transfer-Encoding: 8bit\n");
dba0f0
-- 
dba0f0
1.7.11.7
dba0f0
dba0f0
From d8bb9ec3cef26cd3fb62534d896bf9c8feea67f9 Mon Sep 17 00:00:00 2001
dba0f0
From: Jan Kara <jack@suse.cz>
dba0f0
Date: Tue, 6 Nov 2012 12:12:19 +0100
dba0f0
Subject: [PATCH 2/2] warnquota: Use current locale as default charset
dba0f0
dba0f0
If charset in warnquota.conf is not specified, use charset from current
dba0f0
locale as the charset of the warning email. This is to accomodate possible
dba0f0
translations of messages via gettext.
dba0f0
dba0f0
Signed-off-by: Jan Kara <jack@suse.cz>
dba0f0
---
dba0f0
 warnquota.c | 9 +++++++++
dba0f0
 1 file changed, 9 insertions(+)
dba0f0
dba0f0
diff --git a/warnquota.c b/warnquota.c
dba0f0
index 80f528c..5c5a1b9 100644
dba0f0
--- a/warnquota.c
dba0f0
+++ b/warnquota.c
dba0f0
@@ -29,6 +29,8 @@
dba0f0
 #include <grp.h>
dba0f0
 #include <time.h>
dba0f0
 #include <getopt.h>
dba0f0
+#include <locale.h>
dba0f0
+#include <langinfo.h>
dba0f0
 #include <sys/types.h>
dba0f0
 #include <sys/wait.h>
dba0f0
 #include <sys/utsname.h>
dba0f0
@@ -707,6 +709,7 @@ static int readconfigfile(const char *filename, struct configparams *config)
dba0f0
 	char *value;
dba0f0
 	char *pos;
dba0f0
 	int line, len, bufpos;
dba0f0
+	char *locale;
dba0f0
 
dba0f0
 	/* set default values */
dba0f0
 	sstrncpy(config->mail_cmd, MAIL_CMD, CNF_BUFFER);
dba0f0
@@ -716,6 +719,12 @@ static int readconfigfile(const char *filename, struct configparams *config)
dba0f0
 	sstrncpy(config->support, SUPPORT, CNF_BUFFER);
dba0f0
 	sstrncpy(config->phone, PHONE, CNF_BUFFER);
dba0f0
 	(config->charset)[0] = '\0';
dba0f0
+	setlocale(LC_ALL, NULL);
dba0f0
+	locale = setlocale(LC_MESSAGES, NULL);
dba0f0
+	if (locale && strcasecmp(locale, "posix") && strcasecmp(locale, "c")) {
dba0f0
+		locale = nl_langinfo(CODESET);
dba0f0
+		sstrncpy(config->charset, locale, CNF_BUFFER);
dba0f0
+	}
dba0f0
 	maildev[0] = 0;
dba0f0
 	config->user_signature = config->user_message = config->group_signature = config->group_message = NULL;
dba0f0
 	config->use_ldap_mail = 0;
dba0f0
-- 
dba0f0
1.7.11.7
dba0f0