diff --git a/data/conf/dovecot/sieve_after b/data/conf/dovecot/sieve_after index 0b43dbcf..2e0cfe08 100644 --- a/data/conf/dovecot/sieve_after +++ b/data/conf/dovecot/sieve_after @@ -9,16 +9,13 @@ if header :contains "X-Spam-Flag" "YES" { } if allof ( - envelope :detail :matches "to" "*", - header :contains "X-Moo-Tag" "YES", - mailboxexists "INBOX/${s}" - ) { - fileinto "INBOX/${s}"; -} -elsif allof ( envelope :detail :matches "to" "*", header :contains "X-Moo-Tag" "YES" ) { - set :lower "s" "${1}"; - fileinto :create "INBOX/${s}"; + set :lower :upperfirst "tag" "${1}"; + if mailboxexists "INBOX/${1}" { + fileinto "INBOX/${1}"; + } else { + fileinto :create "INBOX/${tag}"; + } } diff --git a/data/web/admin.php b/data/web/admin.php index 371cb8d5..15eed2c3 100644 --- a/data/web/admin.php +++ b/data/web/admin.php @@ -7,9 +7,21 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; $tfa_data = get_tfa(); ?>
Domain: =htmlspecialchars($domain);?>
- =$lang['admin']['dkim_key_valid'];?>
- Selector '=$dkim['dkim_selector'];?>'
- =$dkim['length'];?> bit
-
=$dkim['dkim_txt'];?>-
Domain: =htmlspecialchars($domain);?>
=$lang['admin']['dkim_key_missing'];?>
-
Domain: =htmlspecialchars($domain);?>
+ =$lang['admin']['dkim_key_valid'];?>
+ Selector '=$dkim['dkim_selector'];?>'
+ =$dkim['length'];?> bit
+
=$dkim['dkim_txt'];?>+
↳ Alias-Domain: =htmlspecialchars($alias_domain);?>
- =$lang['admin']['dkim_key_valid'];?>
- Selector '=$dkim['dkim_selector'];?>'
- =$dkim['length'];?> bit
-
=$dkim['dkim_txt'];?>-
Domain: =htmlspecialchars($domain);?>
=$lang['admin']['dkim_key_missing'];?>
-
↳ Alias-Domain: =htmlspecialchars($alias_domain);?>
=$lang['admin']['dkim_key_missing'];?>
-
Domain: =htmlspecialchars($blind);?>
- =$lang['admin']['dkim_key_unused'];?>
- Selector '=$dkim['dkim_selector'];?>'
- =$dkim['length'];?> bit
-
=$dkim['dkim_txt'];?>-
=$lang['admin']['forwarding_hosts_hint'];?>
- - -=$lang['admin']['forwarding_hosts_add_hint'];?>
-↳ Alias-Domain: =htmlspecialchars($alias_domain);?>
=$lang['admin']['dkim_key_missing'];?>
-
Domain: =htmlspecialchars($blind);?>
+ =$lang['admin']['dkim_key_unused'];?>
+ Selector '=$dkim['dkim_selector'];?>'
+ =$dkim['length'];?> bit
+
=$dkim['dkim_txt'];?>+
=$lang['admin']['forwarding_hosts_hint'];?>
+=$lang['edit']['host'];?> | +=$lang['edit']['source'];?> | +=$lang['user']['spamfilter'];?> | +=$lang['admin']['action'];?> | +
---|---|---|---|
=htmlspecialchars(strtolower($host->host));?> | +=htmlspecialchars(strtolower($host->source));?> | ++ + | + +|
=$lang['admin']['no_record'];?> |
=$lang['admin']['forwarding_hosts_add_hint'];?>
+csrfprotector.php | |
Variables | |
$cookieExpiryTime | expiry time for cookie @var int |
$isSameOrigin | flag for cross origin/same origin request @var bool |
$isValidHTML | flag to check if output file is a valid HTML or not @var bool |
$requestType | Varaible to store weather request type is post or get @var string |
$config | config file for CSRFProtector @var int Array, length = 6 Property: #1: failedAuthAction (int) => action to be taken in case autherisation fails Property: #2: logDirectory (string) => directory in which log will be saved Property: #3: customErrorMessage (string) => custom error message to be sent in case of failed authentication Property: #4: jsFile (string) => location of the CSRFProtector js file Property: #5: tokenLength (int) => default length of hash Property: #6: disabledJavascriptMessage (string) => error message if client’s js is disabled |
Functions | |
init | function to initialise the csrfProtector work flow |
useCachedVersion | function to check weather to use cached version of js file or not |
createNewJsCache | Function to create new cache version of js |
authorisePost | function to authorise incoming post requests |
failedValidationAction | function to be called in case of failed validation performs logging and take appropriate action |
refreshToken | Function to set auth cookie |
generateAuthToken | function to generate random hash of length as given in parameter max length = 128 |
ob_handler | Rewrites <form> on the fly to add CSRF tokens to them. |
logCSRFattack | Functio to log CSRF Attack |
getCurrentUrl | Function to return current url of executing page |
isURLallowed | Function to check if a url mataches for any urls Listed in config file |
public static $config
config file for CSRFProtector @var int Array, length = 6 Property: #1: failedAuthAction (int) => action to be taken in case autherisation fails Property: #2: logDirectory (string) => directory in which log will be saved Property: #3: customErrorMessage (string) => custom error message to be sent in case of failed authentication Property: #4: jsFile (string) => location of the CSRFProtector js file Property: #5: tokenLength (int) => default length of hash Property: #6: disabledJavascriptMessage (string) => error message if client’s js is disabled
public static function init( $length = null, $action = null )
function to initialise the csrfProtector work flow
$length | length of CSRF_AUTH_TOKEN to be generated |
$action | int array, for different actions to be taken in case of failed validation |
void
configFileNotFoundException | when configuration file is not found |
expiry time for cookie @var int
public static $cookieExpiryTime
flag for cross origin/same origin request @var bool
private static $isSameOrigin
flag to check if output file is a valid HTML or not @var bool
private static $isValidHTML
Varaible to store weather request type is post or get @var string
protected static $requestType
config file for CSRFProtector @var int Array, length = 6 Property: #1: failedAuthAction (int) => action to be taken in case autherisation fails Property: #2: logDirectory (string) => directory in which log will be saved Property: #3: customErrorMessage (string) => custom error message to be sent in case of failed authentication Property: #4: jsFile (string) => location of the CSRFProtector js file Property: #5: tokenLength (int) => default length of hash Property: #6: disabledJavascriptMessage (string) => error message if client’s js is disabled
public static $config
function to initialise the csrfProtector work flow
public static function init( $length = null, $action = null )
function to check weather to use cached version of js file or not
public static function useCachedVersion()
Function to create new cache version of js
public static function createNewJsCache()
function to authorise incoming post requests
public static function authorisePost()
function to be called in case of failed validation performs logging and take appropriate action
private static function failedValidationAction()
Function to set auth cookie
public static function refreshToken()
function to generate random hash of length as given in parameter max length = 128
public static function generateAuthToken()
Rewrites form on the fly to add CSRF tokens to them.
public static function ob_handler( $buffer, $flags )
Functio to log CSRF Attack
private static function logCSRFattack()
Function to return current url of executing page
private static function getCurrentUrl()
Function to check if a url mataches for any urls Listed in config file
public static function isURLallowed()