-
Zextras Carbonio 23.6.0
-
Carbonio Community Edition
-
Suite for Zimbra
- Articles coming soon
DoS filter for Carbonio mobile’s
Warning
The Mobile DoS filter is disabled by default, and can be enabled as needed via CLI.
Configuration
mobileAntiDosServiceEnabled
: The Mobile DoS Filter service is now enabled. standard false;mobileAntiDosServiceJailDuration
: The length of the synchronisation “jail” in milliseconds. Standard 600000;- Time window used by
mobileAntiDosServiceTimeWindow
to compute the connection ratio. If a device submits additionalmobileAntiDosServiceMaxRequests
requests during this time interval, the prison is activated. Standard 30000 ms; - Maximum requests received during
mobileAntiDosServiceTimeWindow
milliseconds are specified bymobileAntiDosServiceMaxRequests
. Standard 150;
Using the Mobile DoS Filter
mobileAntiDosMaxRequests
in memory while the anti-dos service is active and mobileAntiDosMaxRequests
is higher than 0. All new requests from this device/account are rejected for mobileAntiDosJailDuration
milliseconds if the maximum number of request timestamps have been saved and all of the stored requests are within the time window.Note
Issuing the command carbonio mobile doRestartService anti-dos will reset all jails and counters.
Mobile Performance Tuning for Carbonio
Notifications Latency
ZxMobile_NotificationsLatency
represents the seconds of delay between an event on the server and its notification to the mobile device.
Use Instant Notifications
ZxMobile_UseInstantNotficiations
enables or disables instant notifications. If true, it also overrides Notifications Latency
.
Max Ping Heartbeat
ZxMobile_MaxPingHeartbeat
defines the maximum interval between ping commands.
The carbonio config command may be used to change any option via the CLI.
When Should Performance Tuning Settings Be Edited?
Problem | Suggested solution |
---|---|
High system load | Disable instant notifications |
High system load after disabling instant notifications | Raise notification latency |
Mobile users experience high network usage | Disable instant notifications and tweak notifications latency |
Devices can connect but sessions are interrupted frequently | |
Adjust Max Ping Heartbeat according to your network configuration | |
Items are synchronized from server-to-device with an excessive delay | Lower notification latency or enable instant notifications |
Filters for EAS
getAllEASFilters
and doMoveEASFilter
commands are described in the section below titled “Managing EAS Filters.” Multiple EAS filters may be configured and will be examined in a sequential manner.A description of an EAS filter
Managing EAS Filters
getAllEASFilters
This command lists all existing filters.
Sample Output:
filters
ID 0
mode fixed
rule [type = or; rules = [[type = contains; rule = outlook/] OR [type = contains; rule = microsoft.outlook]]
easversions 14.0
blocking true
ID 1
mode limit
rule [type = contains; rule = samsung]
easversions 2.5
blocking false
ID 2
mode limit
rule [type = always]
easversions 14.1
blocking
doAddEASFilter
This command adds a new EAS filter:
Syntax:
carbonio mobile doAddEASFilter {and|or|regex|contains|account} {text|user@example.com|account=otheruser@example.com,contains=android} {add|subtract|fixed|limit} {easversions} [attr1 value1 [attr2 value2...]]
Usage example:
carbonio mobile doAddEASFilter contains android fixed 2.5,12.0,14.1
Adds a protocol filter that will restrict the pool of available EAS versions to 2.5, 12.0 and 14.1 if the user agent name contains the string ‘android’.
carbonio mobile doAddEASFilter and account=user@example.com,contains=android fixed 14.1 blocking true
Adds a protocol filter that will restrict the pool of available EAS versions to 14.1 if the user agent name contains the string ‘android’ only for user@example.com. No more EAS filters will be evaluated after this one due to the ‘blocking’ directive.
doDeleteEASFilter
This command deletes an existing EAS Filter.
Syntax:
carbonio mobile doDeleteEASFilter _id_
Usage example:
carbonio mobile doDeleteEASFilter 2
Removes the filter with id = 2.
doMoveEASFilter
This command is used to move EAS filters to a different position in the filter queue.
Syntax:
carbonio mobile doMoveEASFilter {from} {to}
Usage example:
carbonio mobile doMoveEASFilter 0 5
Moves the filter with id = 0 to the position 5.
Loggers for mobile accounts
- The intended customer
- The verbosity of the log, or log_level
- The specific log_file
- While the logger is active, the window_size that will be enforced across all devices synchronising with the account
Warning
Account loggers are removed automatically when the mailboxd is stopped or restarted and do not usually survive a mailboxd crash. Log files won’t be affected.
Account Logger Management
The following commands are the only ones that may be used to manage account loggers through the CLI:
doAddAccountLogger
Syntax:
carbonio mobile doAddAccountLogger {account} {debug|info|warn|err|crit} {log_file} [attr1 value1 [attr2 value2...]]
Usage example:
carbonio mobile doaddaccountlogger john@example.com info /tmp/john_logger
Creates an info account logger for john’s account to file /tmp/john_logger
carbonio mobile doaddaccountlogger john@example.com info /tmp/john_logger window_size 1
Creates an info account logger for john’s account to file /tmp/john_logger with window size set to 1.
doRemoveLogger
Syntax:
carbonio mobile doRemoveLogger {logger_id|"all_loggers"}
Usage example:
carbonio mobile doremovelogger 5
Removes the account logger with ID = 5
getAccountLoggers
Sample output:
carbonio mobile getAccountLoggers
loggers
id 7
level DEBUG
name AccountLogger
description Logging account user@example.com using level debug, log file /tmp/user.log
remove command carbonio mobile doRemoveLogger 7