@ -232,14 +232,23 @@ macro_rules! make_config {
/// We map over the string and remove all alphanumeric, _ and - characters.
/// We map over the string and remove all alphanumeric, _ and - characters.
/// This is the fastest way (within micro-seconds) instead of using a regex (which takes mili-seconds)
/// This is the fastest way (within micro-seconds) instead of using a regex (which takes mili-seconds)
fn _privacy_mask ( value : & str ) -> String {
fn _privacy_mask ( value : & str ) -> String {
value . chars ( ) . map ( | c |
let mut n : u16 = 0 ;
match c {
let mut colon_match = false ;
c if c . is_alphanumeric ( ) = > '*' ,
value
'_' = > '*' ,
. chars ( )
'-' = > '*' ,
. map ( | c | {
_ = > c
n + = 1 ;
}
match c {
) . collect ::< String > ( )
':' if n < = 11 = > {
colon_match = true ;
c
}
'/' if n < = 13 & & colon_match = > c ,
',' = > c ,
_ = > '*' ,
}
} )
. collect ::< String > ( )
}
}
serde_json ::Value ::Object ( {
serde_json ::Value ::Object ( {
@ -475,9 +484,9 @@ make_config! {
/// service is set, an icon request to Vaultwarden will return an HTTP redirect to the
/// service is set, an icon request to Vaultwarden will return an HTTP redirect to the
/// corresponding icon at the external service.
/// corresponding icon at the external service.
icon_service : String , false , def , "internal" . to_string ( ) ;
icon_service : String , false , def , "internal" . to_string ( ) ;
/// Interna l
/// _icon_service_ur l
_icon_service_url : String , false , gen , | c | generate_icon_service_url ( & c . icon_service ) ;
_icon_service_url : String , false , gen , | c | generate_icon_service_url ( & c . icon_service ) ;
/// Internal
/// _icon_service_csp
_icon_service_csp : String , false , gen , | c | generate_icon_service_csp ( & c . icon_service , & c . _icon_service_url ) ;
_icon_service_csp : String , false , gen , | c | generate_icon_service_csp ( & c . icon_service , & c . _icon_service_url ) ;
/// Icon redirect code |> The HTTP status code to use for redirects to an external icon service.
/// Icon redirect code |> The HTTP status code to use for redirects to an external icon service.
/// The supported codes are 301 (legacy permanent), 302 (legacy temporary), 307 (temporary), and 308 (permanent).
/// The supported codes are 301 (legacy permanent), 302 (legacy temporary), 307 (temporary), and 308 (permanent).
@ -613,7 +622,7 @@ make_config! {
helo_name : String , true , option ;
helo_name : String , true , option ;
/// Embed images as email attachments.
/// Embed images as email attachments.
smtp_embed_images : bool , true , def , true ;
smtp_embed_images : bool , true , def , true ;
/// Internal
/// _smtp_img_src
_smtp_img_src : String , false , gen , | c | generate_smtp_img_src ( c . smtp_embed_images , & c . domain ) ;
_smtp_img_src : String , false , gen , | c | generate_smtp_img_src ( c . smtp_embed_images , & c . domain ) ;
/// Enable SMTP debugging (Know the risks!) |> DANGEROUS: Enabling this will output very detailed SMTP messages. This could contain sensitive information like passwords and usernames! Only enable this during troubleshooting!
/// Enable SMTP debugging (Know the risks!) |> DANGEROUS: Enabling this will output very detailed SMTP messages. This could contain sensitive information like passwords and usernames! Only enable this during troubleshooting!
smtp_debug : bool , false , def , false ;
smtp_debug : bool , false , def , false ;