From 9e73025058cace89ca0583d6df28c55dd0626751 Mon Sep 17 00:00:00 2001 From: Fredrik Falk Date: Tue, 21 Jun 2022 01:55:36 +0200 Subject: [PATCH] Add Domain Key handling --- .gitignore | 8 + DOCUMENTS/OPENDKIM.txt | 37 +++++ DOCUMENTS/screenshots/dkim-add-domain-key.png | Bin 0 -> 152610 bytes .../screenshots/dkim-add-sign-table-entry.png | Bin 0 -> 47968 bytes config.inc.php | 19 +++ configs/menu.conf | 5 + languages/en.lang | 30 ++++ model/DkimHandler.php | 102 +++++++++++++ model/DkimsigningHandler.php | 140 ++++++++++++++++++ model/PFAHandler.php | 1 + model/PFASmarty.php | 2 + public/backup.php | 30 ++-- public/upgrade.php | 78 ++++++++++ templates/editform.tpl | 2 + templates/main.tpl | 14 +- templates/menu.tpl | 19 +++ tests/DkimHandlerTest.php | 17 +++ tests/DkimsigningHandlerTest.php | 17 +++ 18 files changed, 505 insertions(+), 16 deletions(-) create mode 100644 DOCUMENTS/OPENDKIM.txt create mode 100644 DOCUMENTS/screenshots/dkim-add-domain-key.png create mode 100644 DOCUMENTS/screenshots/dkim-add-sign-table-entry.png create mode 100644 model/DkimHandler.php create mode 100644 model/DkimsigningHandler.php create mode 100644 tests/DkimHandlerTest.php create mode 100644 tests/DkimsigningHandlerTest.php diff --git a/.gitignore b/.gitignore index c6d4e8ea..ed493673 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,11 @@ /.idea /vendor /composer.lock +/coverage +/composer.phar +/composer_2.phar +/.php-cs-fixer.cache +/.phpunit.result.cache +/build +/tests/postfixadmin.sqlite.*.test +/phpstorm-docker-dev/ diff --git a/DOCUMENTS/OPENDKIM.txt b/DOCUMENTS/OPENDKIM.txt new file mode 100644 index 00000000..0d0fa6d3 --- /dev/null +++ b/DOCUMENTS/OPENDKIM.txt @@ -0,0 +1,37 @@ +# +# OpenDKIM configuration for Postfix Admin +# Originally written by: Fredrik Falk +# + +More complete OpenDKIM documentation: + +http://www.opendkim.org/opendkim.8.html +http://www.opendkim.org/opendkim.conf.5.html +http://www.opendkim.org/opendkim-genkey.8.html +https://github.com/trusteddomainproject/OpenDKIM/blob/master/opendkim/README.SQL + +Here are the relevant parts of OpenDKIM v2.11.x configuration for Postfixadmin setup. + +Please refer to OpenDKIM documentation for complete information. + +The setup gets KeyTable and SigningTable info from MySQL, allowing domain admins to edit and add domain keys as well as +assign which authors will use them. + + +1. PostfixAdmin Setup +----------------- + +Add `$CONF['dkim'] = 'YES';` to your `config.local.php`, and optionally ``$CONF['dkim_all_admins'] = 'YES';` to allow +non-super-admins to add domain keys and signtable entries. + + +2. OpenDKIM setup +----------------- + +Ensure that the version of OpenDKIM supports databases/OpenDBX. +After that, simply add the following to your /etc/opendkim.conf: +``` +SigningTable dsn:mysql://{USER}:{PASSWORD}@{HOST}/{DATABASE}/table=dkim_signing?keycol=author?datacol=dkim_id +KeyTable dsn:mysql://{USER}:{PASSWORD}@{HOST}/{DATABASE}/table=dkim?keycol=id?datacol=domain_name,selector,private_key +``` +Replace {USER}, {PASSWORD}, {HOST}, and {DATABASE} with your values. diff --git a/DOCUMENTS/screenshots/dkim-add-domain-key.png b/DOCUMENTS/screenshots/dkim-add-domain-key.png new file mode 100644 index 0000000000000000000000000000000000000000..5e749e1c063edda93b0ad1f8c24cfac678931995 GIT binary patch literal 152610 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

a&r%=^?Osi)D4Tlii)x9YF#Qzl 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

(LQ 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 NnzFW1IpD>I{|3Y$bGiTk literal 0 HcmV?d00001 diff --git a/DOCUMENTS/screenshots/dkim-add-sign-table-entry.png b/DOCUMENTS/screenshots/dkim-add-sign-table-entry.png new file mode 100644 index 0000000000000000000000000000000000000000..b01add82ea06befb3280cf69e9830fedaa5774c9 GIT binary patch literal 47968 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 'vacation_notification', 'quota' => 'quota', 'quota2' => 'quota2', + 'dkim' => 'dkim', + 'dkim_signing' => 'dkim_signing', ); // Site Admin @@ -357,6 +359,8 @@ $CONF['alias_struct_hook'] = ''; $CONF['mailbox_struct_hook'] = ''; $CONF['alias_domain_struct_hook'] = ''; $CONF['fetchmail_struct_hook'] = ''; +$CONF['dkim_struct_hook'] = ''; +$CONF['dkim_signing_struct_hook'] = ''; // Default Domain Values @@ -524,6 +528,21 @@ EOM; // address is legal by performing a name server look-up. $CONF['emailcheck_resolve_domain']='YES'; +// +// +// OpenDKIM stuff +// +// + +// Enable the dkim database component +$CONF['dkim'] = 'NO'; + +// Allow regular admins to add/edit/remove dkim entries +$CONF['dkim_all_admins'] = 'NO'; + +// +// End OpenDKIM stuff +// // Optional: // Analyze alias gotos and display a colored block in the first column diff --git a/configs/menu.conf b/configs/menu.conf index 55ae6b91..a5b9453f 100644 --- a/configs/menu.conf +++ b/configs/menu.conf @@ -17,6 +17,11 @@ url_fetchmail_new_entry = edit.php?table=fetchmail # sendmail url_sendmail = sendmail.php url_broadcast_message = broadcast-message.php +# dkim +url_dkim = list.php?table=dkim +url_dkim_signing = list.php?table=dkimsigning +url_dkim_newkey = edit.php?table=dkim +url_dkim_newsign = edit.php?table=dkimsigning # password url_password = edit.php?table=adminpassword # backup diff --git a/languages/en.lang b/languages/en.lang index 6b4b206e..7b6a20e7 100644 --- a/languages/en.lang +++ b/languages/en.lang @@ -18,6 +18,7 @@ $PALANG['confirm_delete_admin'] = 'Do you really want to delete the admin %s?'; $PALANG['confirm_delete_alias'] = 'Do you really want to delete the alias %s?'; $PALANG['confirm_delete_aliasdomain'] = 'Do you really want to delete the alias domain %s?'; $PALANG['confirm_delete_domain'] = 'Do you really want to delete all records for the domain %s? This can not be undone!'; +$PALANG['confirm_delete_dkim'] = 'Do you really want to delete the domain key entry %s?'; $PALANG['confirm_delete_fetchmail'] = 'Do you really want to delete the fetchmail job %s?'; $PALANG['confirm_delete_mailbox'] = 'Do you really want to delete the mailbox %s?'; $PALANG['confirm_delete_vacation'] = 'Do you really want to delete the vacation message for %s?'; @@ -54,6 +55,8 @@ $PALANG['add_alias_domain'] = 'Add Alias Domain'; $PALANG['add_mailbox'] = 'Add Mailbox'; $PALANG['pMenu_fetchmail'] = 'Fetch Email'; $PALANG['pMenu_sendmail'] = 'Send Email'; +$PALANG['pMenu_dkim'] = 'Domain Keys'; +$PALANG['pMenu_dkim_signing'] = 'Signing Table'; $PALANG['pMenu_password'] = 'Password'; $PALANG['pMenu_viewlog'] = 'View Log'; $PALANG['pMenu_logout'] = 'Logout'; @@ -249,6 +252,33 @@ $PALANG['pSendmail_button'] = 'Send Message'; $PALANG['pSendmail_result_error'] = 'Unable to send email to %s!'; $PALANG['pSendmail_result_success'] = 'Email sent to %s.'; +$PALANG['pDkim_new_key'] = 'Add Domain Key'; +$PALANG['pDkim_new_sign'] = 'Add Sign Table Entry'; +$PALANG['pDkim_edit_key'] = 'Edit Domain Key'; +$PALANG['pDkim_edit_sign'] = 'Edit Sign Table Entry'; +$PALANG['pDkim_field_selector'] = 'Selector'; +$PALANG['pDkim_field_pkey'] = 'Private Key'; +$PALANG['pDkim_field_pub'] = 'Public Key'; +$PALANG['pDkim_field_author'] = 'Author'; +$PALANG['pDkim_field_dkim_id'] = 'Domain Key'; +$PALANG['pDkim_field_selector_desc'] = 'Defines the name of the selector to be used when signing messages'; +$PALANG['pDkim_field_domain_desc'] = 'Defines the domain which will use this key for signing'; +$PALANG['pDkim_field_pkey_desc'] = 'PEM-formatted private key to be used for signing all messages'; +$PALANG['pDkim_field_pub_desc'] = 'PEM-formatted public key'; +$PALANG['pDkim_field_author_desc'] = 'Author that will use this key for signing. Can be either mailbox or domain, with mailbox taking precedence.'; +$PALANG['pDkim_field_dkim_id_desc'] = 'Domain Key that this author will use'; +$PALANG['dkim_already_exists'] = 'This Domain Key has already been added!'; +$PALANG['dkim_does_not_exist'] = 'This Domain Key does not exist!'; +$PALANG['dkim_signing_already_exists'] = 'This Domain Signing Entry already exsits!'; +$PALANG['dkim_signing_does_not_exist'] = 'This Domain Signing Entry does not exist!'; +$PALANG['pViewlog_action_create_dkim_entry'] = 'create domain key entry'; +$PALANG['pViewlog_action_edit_dkim_entry'] = 'edit domain key entry'; +$PALANG['pViewlog_action_delete_dkim_entry'] = 'delete domain key entry'; +$PALANG['pViewlog_action_create_dkim_signing_entry'] = 'create domain signing entry'; +$PALANG['pViewlog_action_edit_dkim_signing_entry'] = 'edit domain signing entry'; +$PALANG['pViewlog_action_delete_dkim_signing_entry'] = 'delete domain signing entry'; +$PALANG['pMain_dkim'] = 'Add a Domain Key for use with OpenDKIM.'; + $PALANG['pAdminMenu_list_admin'] = 'Admin List'; $PALANG['pAdminMenu_list_domain'] = 'Domain List'; $PALANG['pAdminMenu_list_virtual'] = 'Virtual List'; diff --git a/model/DkimHandler.php b/model/DkimHandler.php new file mode 100644 index 00000000..182ccded --- /dev/null +++ b/model/DkimHandler.php @@ -0,0 +1,102 @@ +struct=array( + # field name allow display in... type $PALANG label $PALANG description default / options / ... + # editing? form list + 'id' => pacol(0, 0, 1, 'num' , 'pFetchmail_field_id' , '' , + '', array(), array('dont_write_to_db' => 1) ), + 'description' => pacol(1, 1, 1, 'text' , 'description' , '' ), + 'selector' => pacol(1, 1, 1, 'text' , 'pDkim_field_selector','pDkim_field_selector_desc'), + 'domain_name' => pacol(1, 1, 1, 'enum' , 'domain' , 'pDkim_field_domain_desc' , + '', $this->allowed_domains), + 'private_key' => pacol(1, 1, 0, 'txtlarge', 'pDkim_field_pkey' , 'pDkim_field_pkey_desc' ), + 'public_key' => pacol(1, 1, 0, 'txtlarge', 'pDkim_field_pub' , 'pDkim_field_pub_desc' ), + ); + } + + protected function initMsg() + { + $this->msg['error_already_exists'] = 'dkim_already_exists'; + $this->msg['error_does_not_exist'] = 'dkim_does_not_exist'; + $this->msg['confirm_delete'] = 'confirm_delete_dkim'; + + if ($this->new) { + $this->msg['logname'] = 'create_dkim_entry'; + $this->msg['store_error'] = 'pFetchmail_database_save_error'; + $this->msg['successmessage'] = 'pFetchmail_database_save_success'; + } else { + $this->msg['logname'] = 'edit_dkim_entry'; + $this->msg['store_error'] = 'pFetchmail_database_save_error'; + $this->msg['successmessage'] = 'pFetchmail_database_save_success'; + } + } + + public function webformConfig() + { + $required_role = 'global-admin'; + if (Config::bool('dkim_all_admins')) + $required_role = 'admin'; + + return array( + # $PALANG labels + 'formtitle_create' => 'pDkim_new_key', + 'formtitle_edit' => 'pDkim_edit_key', + 'create_button' => 'pFetchmail_new_entry', + + # various settings + 'required_role' => $required_role, + 'listview' => 'list.php?table=dkim', + 'early_init' => 0, + ); + } + protected function validate_new_id() + { + # auto_increment - any non-empty ID is an error + if ($this->id != '') { + $this->errormsg[$this->id_field] = 'auto_increment value, you must pass an empty string!'; + return false; + } + + return true; + } + + /** + * @return boolean + */ + public function delete() + { + if (! $this->view()) { + $this->errormsg[] = Config::Lang($this->msg['error_does_not_exist']); + return false; + } + + db_delete('dkim', $this->id_field, $this->id); + db_delete($this->db_table, $this->id_field, $this->id); + + db_log($this->result['domain_name'], 'delete_dkim_entry', $this->result['label']); + $this->infomsg[] = Config::Lang_f('pDelete_delete_success', $this->result['label']); + return true; + } + + public function domain_from_id() + { + return ''; + } +} + +/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ diff --git a/model/DkimsigningHandler.php b/model/DkimsigningHandler.php new file mode 100644 index 00000000..39f3bbe6 --- /dev/null +++ b/model/DkimsigningHandler.php @@ -0,0 +1,140 @@ +admin_username); + $domain_handler->getList('1=1'); + + // Get Mailboxes as options for authors + $mail_handler = new MailboxHandler(0, $this->admin_username); + $mail_handler->getList('1=1'); + + // Get Domain Keys + $dkim_handler = new DkimHandler(0, $this->admin_username); + $dkim_handler->getList('1=1'); + + $authors = array_merge( + array_keys($domain_handler->result()), + array_keys($mail_handler->result()) + ); + + $this->struct=array( + # field name allow display in... type $PALANG label $PALANG description default / options / ... + # editing? form list + 'id' => pacol(0, 0, 1, 'num' , 'pFetchmail_field_id' , '' , + '', array(), array('dont_write_to_db' => 1) ), + 'dkim_id' => pacol(1, 1, 1, 'enum' , 'pDkim_field_dkim_id' , 'pDkim_field_dkim_id_desc' , + '', array_keys($dkim_handler->result)), + 'author' => pacol(1, 1, 1, 'enum' , 'pDkim_field_author' , 'pDkim_field_author_desc' , + '', $authors), + ); + } + + protected function initMsg() + { + $this->msg['error_already_exists'] = 'dkim_signing_already_exists'; + $this->msg['error_does_not_exist'] = 'dkim_signing_does_not_exist'; + $this->msg['confirm_delete'] = 'confirm_delete_dkim'; + + if ($this->new) { + $this->msg['logname'] = 'create_dkim_signing_entry'; + $this->msg['store_error'] = 'pFetchmail_database_save_error'; + $this->msg['successmessage'] = 'pFetchmail_database_save_success'; + } else { + $this->msg['logname'] = 'edit_dkim_entry'; + $this->msg['store_error'] = 'pFetchmail_database_save_error'; + $this->msg['successmessage'] = 'pFetchmail_database_save_success'; + } + } + + public function webformConfig() + { + $required_role = 'global-admin'; + if (Config::bool('dkim_all_admins')) + $required_role = 'admin'; + + return array( + # $PALANG labels + 'formtitle_create' => 'pDkim_new_sign', + 'formtitle_edit' => 'pDkim_edit_sign', + 'create_button' => 'pFetchmail_new_entry', + + # various settings + 'required_role' => $required_role, + 'listview' => 'list.php?table=dkimsigning', + 'early_init' => 0, + ); + } + protected function validate_new_id() + { + # auto_increment - any non-empty ID is an error + if ($this->id != '') { + $this->errormsg[$this->id_field] = 'auto_increment value, you must pass an empty string!'; + return false; + } + + return true; + } + + /** + * @return boolean + */ + public function delete() + { + if (! $this->view()) { + $this->errormsg[] = Config::Lang($this->msg['error_does_not_exist']); + return false; + } + + db_delete('dkim_signing', $this->id_field, $this->id); + db_delete($this->db_table, $this->id_field, $this->id); + + db_log($this->result['author'], 'delete_dkim_signing_entry', $this->result['id']); + $this->infomsg[] = Config::Lang_f('pDelete_delete_success', $this->result['author']); + return true; + } + + public function domain_from_id() + { + return ''; + } + + protected function no_domain_field() { + $domain_handler = new DomainHandler(0, $this->admin_username); + $domain_handler->getList('1=1'); + + $this->allowed_domains = array_keys($domain_handler->result()); + } + + /** + * Filters to only allowed domains, as author can be either a mailbox or a domain + * @param $db_result + * @return array + */ + protected function read_from_db_postprocess($db_result) + { + return array_filter($db_result, function($row) { + $domain = $row['author']; + $at_pos = strpos($domain, '@'); + + if ($at_pos) + $domain = preg_split('/@/', $domain)[1]; + + return in_array($domain, $this->allowed_domains); + }); + } +} + +/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ diff --git a/model/PFAHandler.php b/model/PFAHandler.php index 1322b8fd..dedc016e 100644 --- a/model/PFAHandler.php +++ b/model/PFAHandler.php @@ -286,6 +286,7 @@ abstract class PFAHandler * pass password (will be encrypted with pacrypt()) * b64p password (will be stored with base64_encode() - but will NOT be decoded automatically) * num number + * txtlarge Large text input field * txtl text "list" - array of one line texts * *vnum "virtual" number, coming from JOINs etc. * bool boolean (converted to 0/1, additional column _$field with yes/no) diff --git a/model/PFASmarty.php b/model/PFASmarty.php index 1a29fe40..7c5d9cb5 100644 --- a/model/PFASmarty.php +++ b/model/PFASmarty.php @@ -113,6 +113,8 @@ class PFASmarty $this->assign('url_domain', ''); $this->assign('version', $CONF['version'] ?? 'unknown'); $this->assign('boolconf_alias_domain', Config::bool('alias_domain')); + $this->assign('boolconf_dkim', Config::bool('dkim')); + $this->assign('boolconf_dkim_all_admins', Config::bool('dkim_all_admins')); $this->assign('authentication_has_role', array('global_admin' => authentication_has_role('global-admin'), 'admin' => authentication_has_role('admin'), 'user' => authentication_has_role('user'))); header("Expires: Sun, 16 Mar 2003 05:00:00 GMT"); diff --git a/public/backup.php b/public/backup.php index 9ec622dc..92e30b9b 100644 --- a/public/backup.php +++ b/public/backup.php @@ -86,20 +86,22 @@ if ($_SERVER['REQUEST_METHOD'] == "GET") { fwrite($fh, $header); $tables = array( - 'admin', - 'alias', - 'alias_domain', - 'config', - 'domain', - 'domain_admins', - 'fetchmail', - 'log', - 'mailbox', - 'quota', - 'quota2', - 'vacation', - 'vacation_notification' - ); + 'admin', + 'alias', + 'alias_domain', + 'config', + 'domain', + 'domain_admins', + 'fetchmail', + 'log', + 'mailbox', + 'quota', + 'quota2', + 'vacation', + 'vacation_notification', + 'dkim', + 'dkim_signing' + ); for ($i = 0 ; $i < sizeof($tables) ; ++$i) { $result = db_query_all("SHOW CREATE TABLE " . table_by_key($tables[$i])); diff --git a/public/upgrade.php b/public/upgrade.php index 8232314e..16ce33af 100644 --- a/public/upgrade.php +++ b/public/upgrade.php @@ -2130,3 +2130,81 @@ function upgrade_1846_mysql() db_query("ALTER TABLE $domain_admins MODIFY `domain` varchar(255) COLLATE latin1_general_ci NOT NULL"); db_query("ALTER TABLE $domain_admins MODIFY username varchar(255) COLLATE latin1_general_ci NOT NULL"); } + +/** + * Add DKIM tables + * @return void + */ +function upgrade_1847_mysql_pgsql() +{ + $dkim_key_table = table_by_key('dkim'); + $dkim_signing_table = table_by_key('dkim_signing'); + $domain_table = table_by_key('domain'); + + db_query_parsed(" + CREATE TABLE {IF_NOT_EXISTS} $dkim_key_table ( + `id` {AUTOINCREMENT} {PRIMARY}, + `domain_name` varchar(255) NOT NULL, + `description` varchar(255) DEFAULT '', + `selector` varchar(63) NOT NULL DEFAULT 'default', + `private_key` text, + `public_key` text, + `created` {DATETIME}, + `modified` {DATETIME}, + INDEX(domain_name, description), + FOREIGN KEY (`domain_name`) + REFERENCES $domain_table(`domain`) + ON DELETE CASCADE) {COLLATE} COMMENT='Postfix Admin - OpenDKIM Key Table'; + "); + + db_query_parsed(" + CREATE TABLE {IF_NOT_EXISTS} $dkim_signing_table ( + `id` {AUTOINCREMENT} {PRIMARY}, + `author` varchar(255) NOT NULL DEFAULT '', + `dkim_id` integer NOT NULL, + `created` {DATETIME}, + `modified` {DATETIME}, + INDEX(author), + FOREIGN KEY (`dkim_id`) + REFERENCES $dkim_key_table(`id`) + ON DELETE CASCADE) {COLLATE} COMMENT='Postfix Admin - OpenDKIM Signing Table'; + "); +} + +/** + * Add DKIM tables + * @return void + */ +function upgrade_1847_sqlite() +{ + $dkim_key_table = table_by_key('dkim'); + $dkim_signing_table = table_by_key('dkim_signing'); + $domain_table = table_by_key('domain'); + + db_query_parsed(" + CREATE TABLE {IF_NOT_EXISTS} $dkim_key_table ( + `id` {AUTOINCREMENT}, + `domain_name` varchar(255) NOT NULL, + `description` varchar(255) DEFAULT '', + `selector` varchar(63) NOT NULL DEFAULT 'default', + `private_key` text, + `public_key` text, + `created` {DATETIME}, + `modified` {DATETIME}, + FOREIGN KEY (`domain_name`) + REFERENCES $domain_table(`domain`) + ON DELETE CASCADE) {COLLATE}; + "); + + db_query_parsed(" + CREATE TABLE {IF_NOT_EXISTS} $dkim_signing_table ( + `id` {AUTOINCREMENT}, + `author` varchar(255) NOT NULL DEFAULT '', + `dkim_id` integer NOT NULL, + `created` {DATETIME}, + `modified` {DATETIME}, + FOREIGN KEY (`dkim_id`) + REFERENCES $dkim_key_table(`id`) + ON DELETE CASCADE) {COLLATE}; + "); +} \ No newline at end of file diff --git a/templates/editform.tpl b/templates/editform.tpl index 7050cf40..017b42a9 100644 --- a/templates/editform.tpl +++ b/templates/editform.tpl @@ -62,6 +62,8 @@ {elseif $field.type == 'txtl'} + {elseif $field.type == 'txtlarge'} + {else} diff --git a/templates/main.tpl b/templates/main.tpl index 71241b2b..bce91389 100644 --- a/templates/main.tpl +++ b/templates/main.tpl @@ -24,19 +24,29 @@ {$PALANG.pMain_sendmail} {/if} + {if $CONF.dkim==='YES' && ( + $authentication_has_role.global_admin || + (isset($CONF.dkim_all_admins) && $CONF.dkim_all_admins === 'YES') ) + } + + {$PALANG.pMenu_dkim} + {$PALANG.pMain_dkim} + + {/if} {$PALANG.pMenu_password} {$PALANG.pMain_password} - {* viewlog *} + {* viewlog *} {if $CONF.logging==='YES'} {$PALANG.pMenu_viewlog} {$PALANG.pMain_viewlog} - {/if} + {/if} {$PALANG.pMenu_logout} diff --git a/templates/menu.tpl b/templates/menu.tpl index 54b916fc..ad33740c 100644 --- a/templates/menu.tpl +++ b/templates/menu.tpl @@ -106,6 +106,25 @@ {/strip} {/if} + {* dkim *} + {if $CONF.dkim==='YES' && ( + $authentication_has_role.global_admin || + (isset($CONF.dkim_all_admins) && $CONF.dkim_all_admins === 'YES') ) + } + {strip} + + {/strip} + {/if}