Subject: [alpine-aports] [PATCH v3.2] main/postfixadmin: security fixes #6838

From: Sergei Lukin <[email-masked]>
Date: Mon, 13 Feb 2017 09:33:37 +0000

CVE-2017-5930: allows to delete protected aliases
---
 main/postfixadmin/APKBUILD            |  20 +-
 main/postfixadmin/CVE-2017-5930.patch | 403 ++++++++++++++++++++++++++++++++++
 2 files changed, 418 insertions(+), 5 deletions(-)
 create mode 100644 main/postfixadmin/CVE-2017-5930.patch

diff --git a/main/postfixadmin/APKBUILD b/main/postfixadmin/APKBUILD
index ed4dacf..bcb8c0b 100644
--- a/main/postfixadmin/APKBUILD
+++ b/main/postfixadmin/APKBUILD
@@ -1,8 +1,9 @@
+# Contributor: Sergei Lukin <[email-masked]>
 # Contributor: Natanael Copa <[email-masked]>
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=postfixadmin
 pkgver=2.92
-pkgrel=0
+pkgrel=1
 pkgdesc="Web Based Management tool for Postfix"
 url="http://postfixadmin.com/"
 arch="noarch"
@@ -11,7 +12,13 @@ depends="php postfix"
 makedepends=""
 install=""
 subpackages=""
-source="http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$pkgver/postfixadmin-$pkgver.tar.gz"
+source="http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$pkgver/postfixadmin-$pkgver.tar.gz
+	CVE-2017-5930.patch
+	"
+
+# secfixes:
+#   2.9.2-r1:
+#   - CVE-2017-5930
 
 _builddir="$srcdir"/postfixadmin-$pkgver
 prepare() {
@@ -41,6 +48,9 @@ package() {
 		"$pkgdir"/usr/share/webapps/postfixadmin/config.inc.php
 }
 
-md5sums="01f96e90a2ef084075e15e760f3bfc15  postfixadmin-2.92.tar.gz"
-sha256sums="dcc05ca81f27a53af681dc3da2e7d666a141291fb4b43ae61bb9d9ca9a014323  postfixadmin-2.92.tar.gz"
-sha512sums="1c065fdcba30ebe4b9db5f749d0acd6ec994bbb9f41fcc2d108c8e1f67ee4cf853823faf8ff94aff63cbffed87ed2a621cdcf74362a6472d76e51c56318abfed  postfixadmin-2.92.tar.gz"
+md5sums="01f96e90a2ef084075e15e760f3bfc15  postfixadmin-2.92.tar.gz
+3ad4f5def8e3032f977cfea824796a9b  CVE-2017-5930.patch"
+sha256sums="dcc05ca81f27a53af681dc3da2e7d666a141291fb4b43ae61bb9d9ca9a014323  postfixadmin-2.92.tar.gz
+a271c74f418b2f480464aa6abf60076e8eba645dcda834fe3fd89c2aae950cd2  CVE-2017-5930.patch"
+sha512sums="1c065fdcba30ebe4b9db5f749d0acd6ec994bbb9f41fcc2d108c8e1f67ee4cf853823faf8ff94aff63cbffed87ed2a621cdcf74362a6472d76e51c56318abfed  postfixadmin-2.92.tar.gz
+df7630a603aec9fda3707fb54b2ffe5d7a32d20348dd1aba9c7640f3a136213c14b605095a0ccdd2361fdc703ed9ca701063d63a5d2e4075b511062a511840fa  CVE-2017-5930.patch"
diff --git a/main/postfixadmin/CVE-2017-5930.patch b/main/postfixadmin/CVE-2017-5930.patch
new file mode 100644
index 0000000..c92eaa7
--- /dev/null
+++ b/main/postfixadmin/CVE-2017-5930.patch
@@ -0,0 +1,403 @@
+Patch source:
+https://github.com/svn2github/PostfixAdmin/commit/3b37e47b207f6f65b8dd22967c234ec518e3476a
+(patch was adjusted for PostfixAdmin 2.9.2)
+
+commit 3b37e47b207f6f65b8dd22967c234ec518e3476a
+Author: christian_boltz <christian_boltz@a1433add-5e2c-0410-b055-b7f2511e0802>
+Date:   Wed Feb 8 17:53:13 2017 +0000
+
+    Security fix: don't allow to delete protected aliases (CVE-2017-5930)
+    
+    Thanks to Janfred, https://github.com/postfixadmin/postfixadmin/pull/23
+    
+    
+    git-svn-id: svn://svn.code.sf.net/p/postfixadmin/code/trunk@1889 a1433add-5e2c-0410-b055-b7f2511e0802
+
+diff --git a/languages/bg.lang b/languages/bg.lang
+index ec68815..00eb4b1 100644
+--- a/languages/bg.lang
++++ b/languages/bg.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias-а беше добавен ус
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'За да създадете catch-all използвайте "*" за alias. За пренасочване на домейн към домейн използвайте "[email-masked]" в полето Към.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Редактиране на alias за вашия домейн.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Един запис на ред.'; # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/ca.lang b/languages/ca.lang
+index 43c302a..d389a17 100644
+--- a/languages/ca.lang
++++ b/languages/ca.lang
+@@ -124,6 +124,7 @@ $PALANG['pCreate_alias_result_success'] = 'L\'àlies ha estat creat correctament
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Per crear un àlies general usi "*" com a àlies. Per una redirecció de domini a domini, usi "[email-masked]" com a Destí.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Editi un àlies pel seu domini.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Una entrada per línia.'; # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/cn.lang b/languages/cn.lang
+index 38fa64b..922ec76 100644
+--- a/languages/cn.lang
++++ b/languages/cn.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = '添加别名成功!'; # XXX text chan
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = '要将所有的邮件全部转发请使用"*"作为别名. 域到域的转发请使用"[email-masked]".'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = '编辑你域名中的别名.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = '每行一条记录.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/cs.lang b/languages/cs.lang
+index 5f5e192..4320316 100644
+--- a/languages/cs.lang
++++ b/languages/cs.lang
+@@ -131,6 +131,7 @@ $PALANG['pCreate_alias_result_success'] = 'Přesměrování %s bylo uspěšně p
+ $PALANG['alias_updated'] = 'Přesměrování %s bylo upraveno!';
+ $PALANG['pCreate_alias_catchall_text'] = 'Pro vytvoření doménového koše použijte * jako alias. Pro přesměrování doména -> doména použijte [email-masked] jako cíl.';
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Upravit nastavení přesměrování.';
+ $PALANG['pEdit_alias_help'] = 'Je možné zadat více cílových adres, jeden záznam na řádek.';
+diff --git a/languages/da.lang b/languages/da.lang
+index 411c7fb..53334fb 100644
+--- a/languages/da.lang
++++ b/languages/da.lang
+@@ -130,6 +130,7 @@ $PALANG['pCreate_alias_result_success'] = 'Aliaset er blevet tilføjet alias-tab
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'For at tilføje et stjerne-alias, brug en "*" som alias. For domæne til domæne-videresending brug "[email-masked]" som modtager.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Rediger alias.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'En modtager pr. linje.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/de.lang b/languages/de.lang
+index 91a385f..7ff3749 100644
+--- a/languages/de.lang
++++ b/languages/de.lang
+@@ -127,6 +127,7 @@ $PALANG['pCreate_alias_result_success'] = 'Der Alias %s wurde erstellt!';
+ $PALANG['alias_updated'] = 'Der Alias %s wurde geändert.';
+ $PALANG['pCreate_alias_catchall_text'] = 'Um alle Adressen abzudecken benutzen Sie einen "*" als Alias. Um ganze Domains an andere Domains weiterzuleiten benutzen Sie "[email-masked]" im "An"-Feld.';
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'Dieser Alias gehört zu einer Mailbox und kann nicht gelöscht werden!';
++$PALANG['protected_alias_cant_be_deleted'] = 'Der Alias %s ist geschützt und kann nur von einem Superadmin gelöscht werden.';
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Weiterleitungs-Einstellungen ändern';
+ $PALANG['pEdit_alias_help'] = 'Angabe mehrerer Ziele möglich, ein Eintrag pro Zeile.';
+diff --git a/languages/en.lang b/languages/en.lang
+index b19335c..190a59c 100644
+--- a/languages/en.lang
++++ b/languages/en.lang
+@@ -128,6 +128,7 @@ $PALANG['pCreate_alias_result_success'] = 'The alias %s has been created!';
+ $PALANG['alias_updated'] = 'The alias %s has been updated!';
+ $PALANG['pCreate_alias_catchall_text'] = 'To create a catch-all use an "*" as alias.'; # XXX don't propagate usage of [email-masked] for domain-aliasing any longer
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!';
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin';
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Edit forwarding settings';
+ $PALANG['pEdit_alias_help'] = 'Accepts multiple targets, one entry per line.';
+diff --git a/languages/es.lang b/languages/es.lang
+index 17d4887..ca689da 100644
+--- a/languages/es.lang
++++ b/languages/es.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = '¡El alias ha sido añadido a la tabl
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Para crear un alias general use "*" como alias. Para una redirección de dominio a dominio, use "[email-masked]" como Destino.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Edite un alias para su dominio.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Una entrada por línea.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/et.lang b/languages/et.lang
+index 5285f60..9642aa0 100644
+--- a/languages/et.lang
++++ b/languages/et.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias lisati aliaste tabelisse!'; # X
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Loomaks püüa-kõik aadressi kasuta aliasena "*". Domeenilt domeenile edasisaatmiseks kasuta kellele väljal "[email-masked]".'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Muuda aliast.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Üks kirje rea kohta.'; # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/eu.lang b/languages/eu.lang
+index d5125a0..becf101 100644
+--- a/languages/eu.lang
++++ b/languages/eu.lang
+@@ -123,6 +123,7 @@ $PALANG['pCreate_alias_result_success'] = 'Aliasa alias taulan gehituta!'; # XXX
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Alias orokor bat sortzeko "*" erabil ezazu alias gisa. Domeinuz domeinurako birbideraketa baterako Norako gisa "[email-masked]" erabil ezazu.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Domeinuarentzat aliasa aldatu.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Lerroko sarrera bat.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/fi.lang b/languages/fi.lang
+index d85b89b..ab8c00b 100644
+--- a/languages/fi.lang
++++ b/languages/fi.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias on lisätty!'; # XXX text chang
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Jos haluat luoda catch-all osoitteen käytä "*" merkkiä aliaksena. Ohjaus domainista domainiin tapahtuu käyttämällä "[email-masked]" Kenelle: -osoitteena.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ $PALANG['pEdit_alias_welcome'] = 'Muokkaa aliasta.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Yksi kohta per rivi.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+ $PALANG['alias'] = 'Alias';
+diff --git a/languages/fo.lang b/languages/fo.lang
+index baf4ad3..c1fb8e1 100644
+--- a/languages/fo.lang
++++ b/languages/fo.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Dulnevni er stovnað!'; # XXX text ch
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Fyri at stovna eitt ið fangar alt, brúka eina "*" sum dulnevni. Fyri navnaøki til navnaøki víðarisending brúka "[email-masked]" til hetta.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Broyt eitt dulnevni á tínum navnaøki.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Eina adressu pr. linju.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/fr.lang b/languages/fr.lang
+index af655d2..c91fb09 100644
+--- a/languages/fr.lang
++++ b/languages/fr.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'L\'alias %s a été ajouté !';
+ $PALANG['alias_updated'] = 'L\'alias %s a été mis à jour!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Pour ajouter un alias global, utilisez "*". Pour un transfert de domaine à domaine, utilisez "[email-masked]" dans le champs A.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'Cet alias appartient à un compte courriel et ne peut être supprimé!';
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Modifier les paramètres de transfert.';
+ $PALANG['pEdit_alias_help'] = 'Cibles multiples acceptées, une entrée par ligne.';
+diff --git a/languages/hr.lang b/languages/hr.lang
+index 67ca7d0..cff835b 100644
+--- a/languages/hr.lang
++++ b/languages/hr.lang
+@@ -124,6 +124,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias je dodan u tablicu aliasa!'; #
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Ukoliko elite stvoriti "sveprimajući" alias, upotrijebite "*" umjesto aliasa. Za preusmjeravanje iz domene na domenu, upotrijebite "[email-masked]" u "Za" polju.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Uredi alias za domenu.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Jedan unos po liniji.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/hu.lang b/languages/hu.lang
+index c736df8..32313e7 100644
+--- a/languages/hu.lang
++++ b/languages/hu.lang
+@@ -127,6 +127,7 @@ $PALANG['pCreate_alias_result_success'] = 'Az aliast felvettük az alias táblá
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'A catch-all ([email-masked]) beállításához használj "*" -ot az alias mezõnél. A domain-domain közötti átirányításhoz használd a "[email-masked]" címet.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Alias szerkesztése a domainhez.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Soronként egy.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/is.lang b/languages/is.lang
+index 7db7ae9..f39f2fd 100644
+--- a/languages/is.lang
++++ b/languages/is.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Nýr alias hefur verið bætt við al
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Til að útbúa alias fyrir öll netföng í léninu, þá geturðu útbúið "*" alias. Til að áframsenda með alias á annað lén eða pósthólf, notaðu "[email-masked] í til.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Breyta alias í léninu.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Ein færsla í einu.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/it.lang b/languages/it.lang
+index 2ef8b1c..30be060 100644
+--- a/languages/it.lang
++++ b/languages/it.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'L\'alias è stato aggiunto alla tabel
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Per creare un account universale, usare "*" come alias. Per inoltri da dominio a dominio, usare "[email-masked]" come campo "a".'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Modifica un alias per il tuo dominio.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Un indirizzo per linea.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/ja.lang b/languages/ja.lang
+index 4c1265e..d91d4e3 100644
+--- a/languages/ja.lang
++++ b/languages/ja.lang
+@@ -127,6 +127,7 @@ $PALANG['pCreate_alias_result_success'] = '転送先を追加しました。'; #
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'すべてのメールを受け取るには、転送元に "*" を使います。 別のドメインにすべて転送するには、転送先に "*.domain.tld" を使います。'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = '転送先アドレスの編集'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = '1行に1エントリです。'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/lt.lang b/languages/lt.lang
+index df872f5..ae6baf5 100644
+--- a/languages/lt.lang
++++ b/languages/lt.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Sinonimas užregistruotas!'; # XXX te
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Jei norite sukurti sinonimą, kuris gautų visas žinutes neegzistuojantiems adresatams, naudokite "*".';
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Keisti persiuntimo nustatymus';
+diff --git a/languages/mk.lang b/languages/mk.lang
+index 31d6816..3f034ee 100644
+--- a/languages/mk.lang
++++ b/languages/mk.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Алијасот е додаден н
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'За да креираш catch-all користи "*" како алијас.  За препраќање од домен на домен користи "[email-masked]" како ДО.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Едитирање на алијас за вашиот домен.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Еден запис по линија.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/nb.lang b/languages/nb.lang
+index 6ead86b..49f2be0 100644
+--- a/languages/nb.lang
++++ b/languages/nb.lang
+@@ -127,6 +127,7 @@ $PALANG['pCreate_alias_result_success'] = 'Aliaset er blitt lagt til i alias-tab
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'For å opprette et "catch-all"-alias, bruk "*" som alias. For domene-til-domene-videresending, bruk "[email-masked]" i Til-feltet.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ $PALANG['pEdit_alias_welcome'] = 'Endre et alias.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Én e-postadresse per linje.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+ $PALANG['alias'] = 'Alias';
+diff --git a/languages/nl.lang b/languages/nl.lang
+index 9e0f208..b80b5fe 100644
+--- a/languages/nl.lang
++++ b/languages/nl.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'De alias %s is toegevoegd.'; # XXX te
+ $PALANG['alias_updated'] = 'De alias %s is bijgewerkt!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Om een catch-all te gebruiken, dient u een "*" (asteric) in te vullen als alias. Voor domein naar domein forwarding gebruik "[email-masked]" als naar.';
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'De alias maakt onderdeel uit van mailbox en kan niet worden verwijderd!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Bewerk een alias voor uw domein.';
+ $PALANG['pEdit_alias_help'] = 'Meerdere e-mailadressen toegestaan. Slechts één alias per regel.';
+diff --git a/languages/nn.lang b/languages/nn.lang
+index 8447e82..610c277 100644
+--- a/languages/nn.lang
++++ b/languages/nn.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Aliaset er lagt til i alias-tabellen!
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'For å opprette et alias som "mottar alt" bruk "*" som alias. For domene-til-domene videresending bruk "[email-masked]" som mottaker.';  # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ $PALANG['pEdit_alias_welcome'] = 'Endre et alias.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'En mottaker per linje.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+ $PALANG['alias'] = 'Alias';
+diff --git a/languages/pl.lang b/languages/pl.lang
+index 9da536f..c59836a 100644
+--- a/languages/pl.lang
++++ b/languages/pl.lang
+@@ -128,6 +128,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias został dodany do tabeli alias
+ $PALANG['alias_updated'] = 'Alias %s został zaktualizowany!';
+ $PALANG['pCreate_alias_catchall_text'] = 'Aby utworzyć domyślne konto dla domeny (catch-all) podaj "*" (gwiazdkę) jako alias. Jeśli chcesz przekazywać całość poczty do innej domeny, wpisz jako alias "[email-masked]".'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ $PALANG['pEdit_alias_welcome'] = 'Edytuj alias dla Twojej domeny.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Jeden wpis na linię.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+ $PALANG['alias'] = 'Alias';
+diff --git a/languages/pt-br.lang b/languages/pt-br.lang
+index bc29922..ecbfbb1 100644
+--- a/languages/pt-br.lang
++++ b/languages/pt-br.lang
+@@ -129,6 +129,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias criado!'; # XXX text change: 'T
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Para criar um alias global, use "*" no campo Alias. Para encaminhar de um domínio para outro, use "[email-masked]" no campo Para.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Edição de alias do domínio.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Uma entrada por linha.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/ru.lang b/languages/ru.lang
+index adbcf1a..168dcb6 100644
+--- a/languages/ru.lang
++++ b/languages/ru.lang
+@@ -129,6 +129,7 @@ $PALANG['pCreate_alias_result_success'] = 'Алиас был успешно со
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Для создания catch-all почтового ящика используйте "*" в качестве имени алиаса.'; # XXX don't propagate usage of [email-masked] for domain-aliasing any longer
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Редактирование настроек пересылки';
+ $PALANG['pEdit_alias_help'] = 'Можно указать несколько целей, одна запись на строку.';
+diff --git a/languages/sk.lang b/languages/sk.lang
+index e6ceaff..44a59b6 100644
+--- a/languages/sk.lang
++++ b/languages/sk.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias bol pridaný do tabuľky!'; # X
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Pre vytvorenie doménového koša použite * ako alias. Pre alias doména-doména použite [email-masked] ako cieľ.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Upraviť aliasy'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Jeden záznam na riadku'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/sl.lang b/languages/sl.lang
+index d9d6d27..c3eda1c 100644
+--- a/languages/sl.lang
++++ b/languages/sl.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias je bil uspešno dodan!'; # XXX
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Če želite ustvariti "vseobsegajoči" alias, uporabite "*" namesto aliasa. Za posredovanje iz domene na domeno, uporabite "[email-masked]" v "Za" polju.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Uredi alias za določeno domeno.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'V posamezni vrstici je lahko samo en naslov.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/sv.lang b/languages/sv.lang
+index 0007fd7..f2c6457 100644
+--- a/languages/sv.lang
++++ b/languages/sv.lang
+@@ -128,6 +128,7 @@ $PALANG['pCreate_alias_result_success'] = 'Aliaset har skapats i aliastabellen!
+ $PALANG['alias_updated'] = 'Aliaset %s är uppdaterat!';
+ $PALANG['pCreate_alias_catchall_text'] = 'För att skapa en catch-all anges ett "*" som alias.';
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'Inställningar för vidarebefordring.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Ett alias per rad.'; # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/tr.lang b/languages/tr.lang
+index 2aece27..7df1ad3 100644
+--- a/languages/tr.lang
++++ b/languages/tr.lang
+@@ -125,6 +125,7 @@ $PALANG['pCreate_alias_result_success'] = 'Alias tabloya eklendi!'; # XXX text c
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = 'Hepsini-yakala yaratmak için alias olarak "*" kullanýn. Domain yönlendirme domaini için kime kýsmýnda "[email-masked]" kullanýn.'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = 'domaniniz için bir domain\'i düzenleyin. '; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = 'Satýr baþýna bir giriþ.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/languages/tw.lang b/languages/tw.lang
+index fbcb190..31f6598 100644
+--- a/languages/tw.lang
++++ b/languages/tw.lang
+@@ -126,6 +126,7 @@ $PALANG['pCreate_alias_result_success'] = '添加別名成功!'; # XXX text chan
+ $PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
+ $PALANG['pCreate_alias_catchall_text'] = '要將所有的郵件全部轉發請使用"*"作為別名. 網域到網域的轉發請使用"[email-masked]".'; # XXX check/beautify - was split in two lines before
+ $PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
++$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
+ 
+ $PALANG['pEdit_alias_welcome'] = '編輯你網域中的別名.'; # XXX Text change to: 'Edit forwarding settings'
+ $PALANG['pEdit_alias_help'] = '每行一條記錄.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
+diff --git a/model/AliasHandler.php b/model/AliasHandler.php
+index 4d446f8..946a395 100644
+--- a/model/AliasHandler.php
++++ b/model/AliasHandler.php
+@@ -441,6 +441,11 @@ class AliasHandler extends PFAHandler {
+             return false;
+         }
+ 
++        if (!$this->can_delete) {
++            $this->errormsg[] = Config::Lang_f('protected_alias_cant_be_deleted', $this->id);
++            return false;
++        }
++
+         db_delete('alias', 'address', $this->id);
+ 
+         list(/*NULL*/,$domain) = explode('@', $this->id);
-- 
2.4.11

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---