workarounds i utf8 check debian/3.4.10+cn10u3
authorZeljko Boros <Zeljko.Boros@carnet.hr>
Wed, 9 Feb 2022 00:08:43 +0000 (01:08 +0100)
committerZeljko Boros <Zeljko.Boros@carnet.hr>
Wed, 9 Feb 2022 00:08:43 +0000 (01:08 +0100)
debian/changelog
debian/control
debian/cron.d
debian/postinst
newaliases-gecos

index c9bd51f..18d2667 100644 (file)
@@ -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 <Zeljko.Boros@carnet.hr>  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
index 5c73459..627f7b3 100644 (file)
@@ -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.
index a848782..1a94cca 100644 (file)
@@ -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
index 33c727b..5c0d9c7 100755 (executable)
@@ -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
index 5c8f63f..31139c2 100755 (executable)
@@ -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