瀏覽代碼

[Web] Allow actions in quarantine modal, fixes #1991
[Web] Fixes for Source Sans Pro font
[Rspamd] Add global rcpt blacklist and whitelist
[Compose] New Rspamd image

root 6 年之前
父節點
當前提交
d445d7d2e7

+ 1 - 1
data/conf/rspamd/custom/global_from_blacklist.map

@@ -1 +1 @@
-# /.*@example.com/i'
+# /.*@example.com/i

+ 1 - 1
data/conf/rspamd/custom/global_from_whitelist.map

@@ -1 +1 @@
-# /.*@example.com/i'
+# /.*@example.com/i

+ 1 - 0
data/conf/rspamd/custom/global_rcpt_blacklist.map

@@ -0,0 +1 @@
+# /.*@example.com/i

+ 1 - 0
data/conf/rspamd/custom/global_rcpt_whitelist.map

@@ -0,0 +1 @@
+# /.*@example.com/i

+ 16 - 0
data/conf/rspamd/local.d/multimap.conf

@@ -49,3 +49,19 @@ GLOBAL_FROM_BL {
   prefilter = true;
   action = "reject";
 }
+
+GLOBAL_RCPT_WL {
+  type = "rcpt";
+  map = "$LOCAL_CONFDIR/custom/global_rcpt_whitelist.map";
+  regexp = true;
+  prefilter = true;
+  action = "accept";
+}
+
+GLOBAL_RCPT_BL {
+  type = "rcpt";
+  map = "$LOCAL_CONFDIR/custom/global_rcpt_blacklist.map";
+  regexp = true;
+  prefilter = true;
+  action = "reject";
+}

+ 0 - 4
data/web/css/mailcow.css

@@ -3,28 +3,24 @@
   font-style: normal;
   font-weight: 300;
   src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('../fonts/SourceSansPro-Light.woff2') format('woff2');
-  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
 }
 @font-face {
   font-family: 'Source Sans Pro';
   font-style: normal;
   font-weight: 400;
   src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url('../fonts/SourceSansPro-Regular.woff2') format('woff2');
-  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
 }
 @font-face {
   font-family: 'Source Sans Pro';
   font-style: normal;
   font-weight: 700;
   src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('../fonts/SourceSansPro-Bold.woff2') format('woff2');
-  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
 }
 @font-face {
   font-family: 'Source Sans Pro';
   font-style: italic;
   font-weight: 700;
   src: local('Source Sans Pro Bold Italic'), local('SourceSansPro-BoldIt'), url('../fonts/SourceSansPro-BoldIt.woff2') format('woff2');
-  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
 }
 #maxmsgsize { min-width: 80px; }
 #slider1 .slider-selection {

二進制
data/web/fonts/SourceSansPro-Bold.woff2


二進制
data/web/fonts/SourceSansPro-BoldIt.woff2


二進制
data/web/fonts/SourceSansPro-Light.woff2


二進制
data/web/fonts/SourceSansPro-Regular.woff2


+ 6 - 0
data/web/js/quarantine.js

@@ -60,6 +60,12 @@ jQuery(function($){
             $( "#qid_error" ).text(data.error);
             $( "#qid_error" ).show();
           }
+          $( "li" ).each(function( index ) {
+            console.log( index + ": " + $( this ).text() );
+          });
+          $('[data-id="qitems_single"]').each(function( index ) {
+            $(this).attr("data-item", qitem);
+          });
           $('#qid_detail_subj').text(data.subject);
           $('#qid_detail_text').text(data.text_plain);
           $('#qid_detail_text_from_html').text(data.text_html);

+ 11 - 0
data/web/modals/quarantine.php

@@ -12,6 +12,7 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
         <h3 class="modal-title"><span class="glyphicon glyphicon-info"></span> <?=$lang['quarantine']['qitem'];?></h3>
       </div>
       <div class="modal-body">
+        <?=var_dump($_POST);?>
         <div id="qid_error" style="display:none" class="alert alert-danger"></div>
         <div class="form-group">
           <label for="qid_detail_subj"><h4><?=$lang['quarantine']['subj'];?>:</h4></label>
@@ -29,6 +30,16 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
           <label for="qid_detail_atts"><h4><?=$lang['quarantine']['atts'];?>:</h4></label>
           <div id="qid_detail_atts">-</div>
         </div>
+        <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine'];?>">
+          <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['quarantine']['quick_actions'];?> <span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a data-action="edit_selected" data-id="qitems_single" data-item="" data-api-url='edit/qitem' data-api-attr='{"action":"release"}' href="#"><?=$lang['quarantine']['release'];?></a></li>
+            <li role="separator" class="divider"></li>
+            <li><a data-action="edit_selected" data-id="qitems_single" data-item="" data-api-url='edit/qitem' data-api-attr='{"action":"learnspam"}' href="#"><?=$lang['quarantine']['learn_spam_delete'];?></a></li>
+            <li role="separator" class="divider"></li>
+            <li><a data-action="delete_selected" data-id="qitems_single" data-item="" data-api-url='delete/qitem' href="#"><?=$lang['quarantine']['remove'];?></a></li>
+          </ul>
+        </div>
       </div>
     </div>
   </div>

+ 1 - 1
docker-compose.yml

@@ -72,7 +72,7 @@ services:
             - clamd
 
     rspamd-mailcow:
-      image: mailcow/rspamd:1.30
+      image: mailcow/rspamd:1.31
       build: ./data/Dockerfiles/rspamd
       stop_grace_period: 30s
       depends_on: