mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
ui: status: Display reject-origin-domains config (#422)
For #380 Signed-off-by: James Hillyerd <james@hillyerd.com>
This commit is contained in:
@@ -27,6 +27,7 @@ type alias SmtpConfig =
|
|||||||
, defaultStore : Bool
|
, defaultStore : Bool
|
||||||
, storeDomains : Maybe (List String)
|
, storeDomains : Maybe (List String)
|
||||||
, discardDomains : Maybe (List String)
|
, discardDomains : Maybe (List String)
|
||||||
|
, rejectOriginDomains : Maybe (List String)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -70,6 +71,7 @@ smtpConfigDecoder =
|
|||||||
|> P.required "default-store" D.bool
|
|> P.required "default-store" D.bool
|
||||||
|> P.required "store-domains" (D.nullable (D.list D.string))
|
|> P.required "store-domains" (D.nullable (D.list D.string))
|
||||||
|> P.required "discard-domains" (D.nullable (D.list D.string))
|
|> P.required "discard-domains" (D.nullable (D.list D.string))
|
||||||
|
|> P.required "reject-origin-domains" (D.nullable (D.list D.string))
|
||||||
|
|
||||||
|
|
||||||
encodeSmtpConfig : SmtpConfig -> E.Value
|
encodeSmtpConfig : SmtpConfig -> E.Value
|
||||||
@@ -82,6 +84,7 @@ encodeSmtpConfig r =
|
|||||||
, ( "default-store", E.bool r.defaultStore )
|
, ( "default-store", E.bool r.defaultStore )
|
||||||
, ( "store-domains", maybe (E.list E.string) r.storeDomains )
|
, ( "store-domains", maybe (E.list E.string) r.storeDomains )
|
||||||
, ( "discard-domains", maybe (E.list E.string) r.discardDomains )
|
, ( "discard-domains", maybe (E.list E.string) r.discardDomains )
|
||||||
|
, ( "reject-origin-domains", maybe (E.list E.string) r.rejectOriginDomains )
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -275,7 +275,8 @@ configPanel maybeConfig =
|
|||||||
, textEntry "SMTP Listener" config.smtpConfig.addr
|
, textEntry "SMTP Listener" config.smtpConfig.addr
|
||||||
, textEntry "POP3 Listener" config.pop3Listener
|
, textEntry "POP3 Listener" config.pop3Listener
|
||||||
, textEntry "HTTP Listener" config.webListener
|
, textEntry "HTTP Listener" config.webListener
|
||||||
, textEntry "Accept Policy" (acceptPolicy config)
|
, textEntry "Origin Policy" (originPolicy config)
|
||||||
|
, textEntry "Destination Policy" (acceptPolicy config)
|
||||||
, textEntry "Store Policy" (storePolicy config)
|
, textEntry "Store Policy" (storePolicy config)
|
||||||
, textEntry "Store Type" config.storageConfig.storeType
|
, textEntry "Store Type" config.storageConfig.storeType
|
||||||
, textEntry "Message Cap" (mailboxCap config)
|
, textEntry "Message Cap" (mailboxCap config)
|
||||||
@@ -286,7 +287,7 @@ configPanel maybeConfig =
|
|||||||
acceptPolicy : ServerConfig -> String
|
acceptPolicy : ServerConfig -> String
|
||||||
acceptPolicy config =
|
acceptPolicy config =
|
||||||
if config.smtpConfig.defaultAccept then
|
if config.smtpConfig.defaultAccept then
|
||||||
"All domains"
|
"Allow all domains"
|
||||||
++ (case config.smtpConfig.rejectDomains of
|
++ (case config.smtpConfig.rejectDomains of
|
||||||
Nothing ->
|
Nothing ->
|
||||||
""
|
""
|
||||||
@@ -299,7 +300,7 @@ acceptPolicy config =
|
|||||||
)
|
)
|
||||||
|
|
||||||
else
|
else
|
||||||
"No domains"
|
"Reject all domains"
|
||||||
++ (case config.smtpConfig.acceptDomains of
|
++ (case config.smtpConfig.acceptDomains of
|
||||||
Nothing ->
|
Nothing ->
|
||||||
""
|
""
|
||||||
@@ -308,14 +309,29 @@ acceptPolicy config =
|
|||||||
""
|
""
|
||||||
|
|
||||||
Just domains ->
|
Just domains ->
|
||||||
", except: " ++ String.join ", " domains
|
", except to: " ++ String.join ", " domains
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
originPolicy : ServerConfig -> String
|
||||||
|
originPolicy config =
|
||||||
|
"Allow all domains"
|
||||||
|
++ (case config.smtpConfig.rejectOriginDomains of
|
||||||
|
Nothing ->
|
||||||
|
""
|
||||||
|
|
||||||
|
Just [] ->
|
||||||
|
""
|
||||||
|
|
||||||
|
Just domains ->
|
||||||
|
", except from: " ++ String.join ", " domains
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
storePolicy : ServerConfig -> String
|
storePolicy : ServerConfig -> String
|
||||||
storePolicy config =
|
storePolicy config =
|
||||||
if config.smtpConfig.defaultStore then
|
if config.smtpConfig.defaultStore then
|
||||||
"All domains"
|
"All destination domains"
|
||||||
++ (case config.smtpConfig.discardDomains of
|
++ (case config.smtpConfig.discardDomains of
|
||||||
Nothing ->
|
Nothing ->
|
||||||
""
|
""
|
||||||
@@ -324,11 +340,11 @@ storePolicy config =
|
|||||||
""
|
""
|
||||||
|
|
||||||
Just domains ->
|
Just domains ->
|
||||||
", except: " ++ String.join ", " domains
|
", except to: " ++ String.join ", " domains
|
||||||
)
|
)
|
||||||
|
|
||||||
else
|
else
|
||||||
"No domains"
|
"No destination domains"
|
||||||
++ (case config.smtpConfig.storeDomains of
|
++ (case config.smtpConfig.storeDomains of
|
||||||
Nothing ->
|
Nothing ->
|
||||||
""
|
""
|
||||||
|
|||||||
Reference in New Issue
Block a user