From 6332aca4c482615a2168b3afad3170954b9f36a6 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Wed, 20 Jan 2016 04:58:24 -0500
Subject: [PATCH] Merge branch 'darkalex/ispconfig3-mailsec-sendas' into stable-3.1

---
 interface/web/mail/lib/lang/de_mail_forward.lng       |    2 ++
 install/sql/ispconfig3.sql                            |    1 +
 install/sql/incremental/upd_dev_collection.sql        |    6 ++++--
 interface/web/mail/lib/lang/en_mail_forward.lng       |    2 ++
 interface/web/mail/templates/mail_alias_edit.htm      |    6 ++++++
 interface/web/mail/lib/lang/en_mail_alias.lng         |    2 ++
 interface/web/mail/templates/mail_forward_edit.htm    |    6 ++++++
 install/tpl/mysql-virtual_sender_login_maps.cf.master |    2 +-
 interface/web/mail/form/mail_forward.tform.php        |    6 ++++++
 interface/web/mail/lib/lang/de_mail_alias.lng         |    2 ++
 interface/web/mail/form/mail_alias.tform.php          |    6 ++++++
 11 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index 0cbd2a8..624d748 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -193,11 +193,13 @@
 ALTER TABLE `openvz_template` CHANGE `vmguarpages` `vmguarpages` varchar(255) DEFAULT '65536:unlimited';
 ALTER TABLE `openvz_template` CHANGE `privvmpages` `privvmpages` varchar(255) DEFAULT '131072:139264';
 
-
 CREATE TABLE `ftp_traffic` (
 	`hostname` varchar(255) NOT NULL,
 	`traffic_date` date NOT NULL,
 	`in_bytes` bigint(32) unsigned NOT NULL,
 	`out_bytes` bigint(32) unsigned NOT NULL, 
 	PRIMARY KEY (`hostname`,`traffic_date`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
\ No newline at end of file
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+ALTER TABLE `mail_forwarding` ADD COLUMN `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n' AFTER `active`;
+UPDATE `mail_forwarding` SET `allow_send_as` = 'y' WHERE `type` = 'alias';
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 5053b9b..f77bbf4 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -814,6 +814,7 @@
   `destination` text,
   `type` enum('alias','aliasdomain','forward','catchall') NOT NULL default 'alias',
   `active` enum('n','y') NOT NULL DEFAULT 'n',
+  `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n',
   `greylisting` enum('n','y' ) NOT NULL DEFAULT 'n',
   PRIMARY KEY  (`forwarding_id`),
   KEY `server_id` (`server_id`,`source`),
diff --git a/install/tpl/mysql-virtual_sender_login_maps.cf.master b/install/tpl/mysql-virtual_sender_login_maps.cf.master
index ad2d758..5b7f144 100644
--- a/install/tpl/mysql-virtual_sender_login_maps.cf.master
+++ b/install/tpl/mysql-virtual_sender_login_maps.cf.master
@@ -1,5 +1,5 @@
 user = {mysql_server_ispconfig_user}
 password = {mysql_server_ispconfig_password}
 dbname = {mysql_server_database}
-query = SELECT destination FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND type = 'alias' AND server_id = {server_id} UNION SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id};
+query = SELECT destination FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND allow_send_as = 'y' AND server_id = {server_id} UNION SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id};
 hosts = {mysql_server_ip}
\ No newline at end of file
diff --git a/interface/web/mail/form/mail_alias.tform.php b/interface/web/mail/form/mail_alias.tform.php
index d859895..a004203 100644
--- a/interface/web/mail/form/mail_alias.tform.php
+++ b/interface/web/mail/form/mail_alias.tform.php
@@ -124,6 +124,12 @@
 			'default' => 'y',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
+		'allow_send_as' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value'  => array(1 => 'y', 0 => 'n')
+		),
 		'greylisting' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/mail/form/mail_forward.tform.php b/interface/web/mail/form/mail_forward.tform.php
index 520f18d..3c89150 100644
--- a/interface/web/mail/form/mail_forward.tform.php
+++ b/interface/web/mail/form/mail_forward.tform.php
@@ -118,6 +118,12 @@
 			'default' => 'y',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
+		'allow_send_as' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(1 => 'y', 0 => 'n')
+		),
 		'greylisting' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/mail/lib/lang/de_mail_alias.lng b/interface/web/mail/lib/lang/de_mail_alias.lng
index 4115780..211f006 100644
--- a/interface/web/mail/lib/lang/de_mail_alias.lng
+++ b/interface/web/mail/lib/lang/de_mail_alias.lng
@@ -11,5 +11,7 @@
 $wb['domain_txt'] = 'Domain';
 $wb['duplicate_email_alias_txt'] = 'Dieser E-Mail Alias existiert bereits.';
 $wb['source_txt'] = 'Alias';
+$wb['send_as_txt'] = 'Senden als';
+$wb['send_as_exp'] = 'Ziel erlauben, den alias als Absender zu benutzen';
 $wb['greylisting_txt'] = 'Aktiviere Greylisting';
 ?>
diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng
index 15d0845..f10d789 100644
--- a/interface/web/mail/lib/lang/de_mail_forward.lng
+++ b/interface/web/mail/lib/lang/de_mail_forward.lng
@@ -7,5 +7,7 @@
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Quell E-Mail Adresse';
 $wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.';
+$wb['send_as_txt'] = 'Senden als';
+$wb['send_as_exp'] = 'Ziel erlauben, die Adresse als Absender zu nutzen (Nur, falls das Ziel intern ist)';
 $wb['greylisting_txt'] = 'Aktiviere greylisting';
 ?>
diff --git a/interface/web/mail/lib/lang/en_mail_alias.lng b/interface/web/mail/lib/lang/en_mail_alias.lng
index 6e9d828..8032607 100644
--- a/interface/web/mail/lib/lang/en_mail_alias.lng
+++ b/interface/web/mail/lib/lang/en_mail_alias.lng
@@ -11,5 +11,7 @@
 $wb['domain_txt'] = 'Domain';
 $wb["duplicate_email_alias_txt"] = 'This email alias does already exist.';
 $wb["source_txt"] = 'Alias';
+$wb['send_as_txt'] = 'Send as';
+$wb['send_as_exp'] = 'Allow target to send mail using this alias as origin';
 $wb['greylisting_txt'] = 'Enable greylisting';
 ?>
diff --git a/interface/web/mail/lib/lang/en_mail_forward.lng b/interface/web/mail/lib/lang/en_mail_forward.lng
index 0704650..adab113 100644
--- a/interface/web/mail/lib/lang/en_mail_forward.lng
+++ b/interface/web/mail/lib/lang/en_mail_forward.lng
@@ -7,5 +7,7 @@
 $wb['domain_txt'] = 'Domain';
 $wb["source_txt"] = 'Source Email';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
+$wb['send_as_txt'] = 'Send as';
+$wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
 $wb['greylisting_txt'] = 'Enable greylisting';
 ?>
diff --git a/interface/web/mail/templates/mail_alias_edit.htm b/interface/web/mail/templates/mail_alias_edit.htm
index 07d781c..0487926 100644
--- a/interface/web/mail/templates/mail_alias_edit.htm
+++ b/interface/web/mail/templates/mail_alias_edit.htm
@@ -28,6 +28,12 @@
                 </div>
             </div>
             <div class="form-group">
+                <label class="col-sm-3 control-label">{tmpl_var name='send_as_txt'}</label>
+                <div class="col-sm-9">
+                    {tmpl_var name='allow_send_as'} <small>{tmpl_var name='send_as_exp'}</small>
+                </div>
+            </div>
+            <div class="form-group">
                 <label class="col-sm-3 control-label">{tmpl_var name='greylisting_txt'}</label>
                 <div class="col-sm-9">
                     {tmpl_var name='greylisting'}
diff --git a/interface/web/mail/templates/mail_forward_edit.htm b/interface/web/mail/templates/mail_forward_edit.htm
index c6a2de8..7c8c8b9 100644
--- a/interface/web/mail/templates/mail_forward_edit.htm
+++ b/interface/web/mail/templates/mail_forward_edit.htm
@@ -26,6 +26,12 @@
                 </div>
             </div>
             <div class="form-group">
+                <label class="col-sm-3 control-label">{tmpl_var name='send_as_txt'}</label>
+                <div class="col-sm-9">
+                    {tmpl_var name='allow_send_as'} <small>{tmpl_var name='send_as_exp'}</small>
+                </div>
+            </div>
+            <div class="form-group">
                 <label class="col-sm-3 control-label">{tmpl_var name='greylisting_txt'}</label>
                 <div class="col-sm-9">
                     {tmpl_var name='greylisting'}

--
Gitblit v1.9.1