]> source.dussan.org Git - rspamd.git/commitdiff
[Config] Allow configurable s3 urls 3964/head
authorbradleydoherty59 <bradleydoherty59@gmail.com>
Fri, 5 Nov 2021 19:01:12 +0000 (14:01 -0500)
committerbradleydoherty59 <bradleydoherty59@gmail.com>
Fri, 5 Nov 2021 19:01:12 +0000 (14:01 -0500)
conf/modules.d/aws_s3.conf
src/plugins/lua/aws_s3.lua

index 2dd966374ead5a86a472072f7df13bf7b4e577a0..bef592aa995ede6ad7886c36052792d4f2822783 100644 (file)
@@ -16,6 +16,7 @@ aws_s3 {
   # Required attributes
   #s3_bucket = 'xxx';
   s3_region = 'us-east-1';
+  s3_host = 's3.amazonaws.com';
   #s3_secret_key = 'xxx';
   #s3_key_id = 'xxx';
   # Enable in local.d/aws_s3.conf
index 7ec65eb5b76057c96b00c70d180833b71acd4706..1a78730868f2ea477c864c030591679ac05914ae 100644 (file)
@@ -26,6 +26,7 @@ local rspamd_util = require "rspamd_util"
 local settings = {
   s3_bucket = nil,
   s3_region = 'us-east-1',
+  s3_host = 's3.amazonaws.com',
   s3_secret_key = nil,
   s3_key_id = nil,
   s3_timeout = 10,
@@ -36,6 +37,7 @@ local settings = {
 local settings_schema = ts.shape{
   s3_bucket = ts.string,
   s3_region = ts.string,
+  s3_host = ts.string,
   s3_secret_key = ts.string,
   s3_key_id = ts.string,
   s3_timeout = ts.number + ts.string / lua_util.parse_time_interval,
@@ -85,7 +87,7 @@ local function structured_data(task, nonce, queue_id)
 end
 
 local function s3_aws_callback(task)
-  local uri = string.format('https://%s.s3.amazonaws.com', settings.s3_bucket)
+  local uri = string.format('https://%s.%s', settings.s3_bucket, settings.s3_host)
   -- Create a nonce
   local nonce = rspamd_text.randombytes(16):base32()
   local queue_id = task:get_queue_id()
@@ -93,7 +95,7 @@ local function s3_aws_callback(task)
     queue_id = rspamd_text.randombytes(8):base32()
   end
   -- Hack to pass host
-  local aws_host = string.format('%s.s3.amazonaws.com', settings.s3_bucket)
+  local aws_host = string.format('%s.%s', settings.s3_bucket, settings.s3_host)
 
   local function gen_s3_http_callback(path)
     return function (http_err, code, body, headers)