From f1fbb5d77b2af895bb9f67131856bcd1bb08bcc8 Mon Sep 17 00:00:00 2001 From: Zeljko Boros Date: Wed, 9 Feb 2022 01:08:43 +0100 Subject: [PATCH] workarounds i utf8 check --- debian/changelog | 10 ++++++++++ debian/control | 13 ++++++------- debian/cron.d | 2 +- debian/postinst | 46 ++++++++++++++++++++++++++++++++++------------ newaliases-gecos | 4 ++-- 5 files changed, 53 insertions(+), 22 deletions(-) diff --git a/debian/changelog b/debian/changelog index c9bd51f..18d2667 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +postfix-cn (3.4.10+cn10u3) stable; urgency=medium + + * Workaround u cronu za poruku "awk: Invalid multibyte data detected. + There may be a mismatch between your data and your locale" + * Workaround u newaliases-gecos za poruku "error writing passwd entry: + Invalid argument" + * Dodana provjera UTF-8 znakova u /etc/passwd + + -- Zeljko Boros Tue, 08 Feb 2022 23:06:44 +0100 + postfix-cn (3.4.10+cn10u2) stable; urgency=medium * Poruka "using backwards-compatible default setting chroot=y" se više ne diff --git a/debian/control b/debian/control index 5c73459..627f7b3 100644 --- a/debian/control +++ b/debian/control @@ -8,12 +8,11 @@ Standards-Version: 3.9.8 Package: postfix-cn Architecture: all -Depends: ${misc:Depends}, postfix (>= 3.4.10), carnet-tools-cn (>= 3.2.2), sasl2-bin (>= 2.1.27), libsasl2-modules (>= 2.1.27), debconf, openssl, adduser, postfix-pcre +Depends: ${misc:Depends}, postfix (>= 3.4.10), carnet-tools-cn (>= 3.2.2), sasl2-bin (>= 2.1.27), libsasl2-modules (>= 2.1.27), debconf, openssl, adduser, postfix-pcre, perl, dialog Conflicts: sendmail-cn, amavisd-cn (<< 2:20030616p10-10), amavisd-new-milter, sendmail-base Suggests: amavisd-cn -Description: High-performance mail transport agent - Postfix is Wietse Venema's mail transport agent that started life as an - alternative to the widely-used Sendmail program. Postfix attempts to - be fast, easy to administer, and secure, while at the same time being - sendmail compatible enough to not upset existing users. Thus, the outside - has a sendmail-ish flavor, but the inside is completely different. +Description: Mail poslužitelj (Mail Transport Agent) visokih performansi + Postfix je MTA (Mail Transport Agent) autora Wietse Veneme, koji je + začet kao alternativa sveprisutnom Sendmailu. Postfix pokušava biti + brz, lak za održavanje i siguran. Pri tome želi ostati kompatibilan + sa Sendmailom, iako je iznutra u potpunosti različit. diff --git a/debian/cron.d b/debian/cron.d index a848782..1a94cca 100644 --- a/debian/cron.d +++ b/debian/cron.d @@ -2,4 +2,4 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH -0 0-23/1 * * * root if [ -x /usr/sbin/newaliases-gecos ]; then /usr/sbin/newaliases-gecos; fi +0 0-23/1 * * * root LC_ALL=C if [ -x /usr/sbin/newaliases-gecos ]; then /usr/sbin/newaliases-gecos; fi diff --git a/debian/postinst b/debian/postinst index 33c727b..5c0d9c7 100755 --- a/debian/postinst +++ b/debian/postinst @@ -11,6 +11,25 @@ set -e # Load Debconf . /usr/share/debconf/confmodule +check_for_utf() { + +utf=$(perl -lne 'print if /[^[:ascii:]]/' /etc/passwd) + +if [ ! -z "$utf" ]; then + poruka="Detektirani su znakovi šđčćž u datoteci /etc/passwd. To bi moglo omesti generiranje mail aliasa u obliku Ime.Prezime@ustanova.hr. + +Molimo uklonite naše znakove s naredbom + +usermod -c \"Ime Prezime\" korisnik + +Korisnici koji imaju znakove u imenu ili prezimenu su: + +" + + LC_MESSAGES=hr_HR dialog --backtitle "Postfix: problem s datotekom /etc/passwd" --msgbox "$poruka$utf" 18 75 +fi +} + db_get postfix-cn/rbl || true rbl="$RET" @@ -162,10 +181,10 @@ if [ "$mx_domain" != "$fqdn" ]; then postconf -e relay_domains="\$mydestination" if [ "$mx_domain" != "$domain" ]; then if dpkg --compare-versions "$2" lt 2.1.5-8; then - cp_echo "CN: This host is MX for more than one domain! postfix-cn package will" - cp_echo "CN: only set up $mx_domain, you HAVE TO add the other domains manually" - cp_echo "CN: to mydestination variable in /etc/postfix/main.cf, if you haven't" - cp_echo "CN: done that already or you may lose mail." + cp_echo "CN: Ovaj poslužitelj je podešen kao MX za više od jedne domene! Paket postfix-cn će" + cp_echo "CN: podesiti samo domenu $mx_domain, ostale domene MORATE DODATI RUČNO" + cp_echo "CN: u varijablu 'mydestination' u /etc/postfix/main.cf. Ukoliko to ne" + cp_echo "CN: učinite, mogli biste (iz)gubiti mail za te domene." fi fi fi @@ -364,8 +383,8 @@ fi # provjeri da li postoji sendmail-base if ! dpkg -l sendmail-base | grep -q '^.n'; then cp_echo "" - cp_echo "CN: Package sendmail-base detected." - cp_echo "CN: Please, purge this package with command:" + cp_echo "CN: Pronađen je paket sendmail-base." + cp_echo "CN: Molimo, obrišite paket s naredbom:" cp_echo "CN: # dpkg --purge sendmail-base" cp_echo "" fi @@ -373,8 +392,8 @@ fi # sendmailov /etc/mail/access if [ -f /etc/mail/access -a /etc/mail/access.db ]; then cp_echo "" - cp_echo "CN: Sendmail's access file (/etc/mail/access) detected." - cp_echo "CN: Please, upgrade your's /etc/postfix/access." + cp_echo "CN: Pronađena je sendmailova datoteka /etc/mail/access." + cp_echo "CN: Ukoliko je potrebno, nadogradite /etc/mail/access po uputama sa:" cp_echo "CN: http://www.postfix.org/SMTPD_ACCESS_README.html" cp_echo "" fi @@ -386,14 +405,14 @@ fi # ako ima razlika, backupiraj stari, ako ne, obrisi privremeni backup if ! cmp -s /etc/postfix/master.cf /etc/postfix/master.cf.dpkg-tmp.$$; then - cp_echo "CN: Backing up old version of /etc/postfix/master.cf in /var/backups/..." + cp_echo "CN: Backupiram staru inačicu /etc/postfix/master.cf u /var/backups/..." cp_backup_conffile /etc/postfix/master.cf.dpkg-tmp.$$ master.cf restart_postfix="yes" fi rm -f /etc/postfix/master.cf.dpkg-tmp.$$ if ! cmp -s /etc/postfix/main.cf /etc/postfix/main.cf.dpkg-tmp.$$; then - cp_echo "CN: Backing up old version of /etc/postfix/main.cf in /var/backups/..." + cp_echo "CN: Backupiram staru inačicu /etc/postfix/main.cf u /var/backups/..." cp_backup_conffile /etc/postfix/main.cf.dpkg-tmp.$$ main.cf restart_postfix="yes" fi @@ -405,15 +424,18 @@ rm -f /etc/postfix/main.cf.dpkg-tmp.$$ # echo #fi +# Provjera postoje li naša slova šđčćž u /etc/passwd +check_for_utf + # kreiraj aliases_gecos if [ -x /usr/sbin/newaliases-gecos ]; then if [ "$matchgecos" = "true" ]; then - echo "CN: Creating GECOS alias map..." + echo "CN: Pravim GECOS alias mapu..." /usr/sbin/newaliases-gecos fi fi -# rjesava gresku using backwards-compatible default setting chroot=y +# rješava grešku "using backwards-compatible default setting chroot=y" for service in smtps/inet smtp/inet smtp/unix submission/inet pickup/fifo cleanup/unix qmgr/fifo rewrite/unix bounce/unix defer/unix trace/unix verify/unix flush/unix relay/unix showq/unix error/unix scache/unix discard/unix retry/unix do diff --git a/newaliases-gecos b/newaliases-gecos index 5c8f63f..31139c2 100755 --- a/newaliases-gecos +++ b/newaliases-gecos @@ -14,14 +14,14 @@ grep -q "hash:$gecos" /etc/postfix/main.cf || exit 0 # Load CARNET Tools . /usr/share/carnet-tools/functions.sh -getent passwd | awk -F: ' +awk -F: ' $3 >= 100 && $1 != "nobody" && $5 \ { split($5, g, ","); if (g[1]=="") {next}; gsub(/ /, ".", g[1]); print tolower(g[1]) ": " $1; - }' > $gecos.dpkg-tmp.$$ + }' < /etc/passwd > $gecos.dpkg-tmp.$$ if ! cmp -s $gecos.dpkg-tmp.$$ $gecos > /dev/null; then -- 1.7.10.4