Added functionality for default server configuration values. Fixes #NX-1214
authorEriks Jenkevics <eriks@netxms.org>
Thu, 25 May 2017 14:06:30 +0000 (17:06 +0300)
committerEriks Jenkevics <eriks@netxms.org>
Wed, 7 Jun 2017 08:14:36 +0000 (11:14 +0300)
19 files changed:
include/netxms-version.h
include/netxmsdb.h
include/nms_cscp.h
sql/schema.in
sql/setup.in
src/java/client/netxms-base/src/main/java/org/netxms/base/NXCPCodes.java
src/java/client/netxms-client/src/main/java/org/netxms/client/NXCSession.java
src/java/client/netxms-client/src/main/java/org/netxms/client/ProtocolVersion.java
src/java/client/netxms-client/src/main/java/org/netxms/client/server/ServerVariable.java
src/java/netxms-eclipse/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/ServerConfigurationEditor.java
src/java/netxms-eclipse/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/helpers/ServerVariableComparator.java
src/java/netxms-eclipse/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/helpers/ServerVariablesLabelProvider.java
src/libnetxms/nxcp.cpp
src/server/core/session.cpp
src/server/include/nms_core.h
src/server/tools/nxdbmgr/upgrade.cpp
webui/webapp/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/ServerConfigurationEditor.java
webui/webapp/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/helpers/ServerVariableComparator.java
webui/webapp/ServerConfig/src/org/netxms/ui/eclipse/serverconfig/views/helpers/ServerVariablesLabelProvider.java

index 0c1a9b9..cf42304 100644 (file)
@@ -48,7 +48,7 @@
 #define CLIENT_PROTOCOL_VERSION_PUSH      1     /* Data push API */
 #define CLIENT_PROTOCOL_VERSION_TRAP      1     /* Event (trap) sending API */
 #define CLIENT_PROTOCOL_VERSION_MOBILE    1     /* All functionality relevant for mobile client */
-#define CLIENT_PROTOCOL_VERSION_FULL      9     /* All functionality */
+#define CLIENT_PROTOCOL_VERSION_FULL      10     /* All functionality */
 
 /**
  * Protocol version positions
index 01d47f0..4ec09c6 100644 (file)
@@ -23,6 +23,6 @@
 #ifndef _netxmsdb_h
 #define _netxmsdb_h
 
-#define DB_FORMAT_VERSION   453
+#define DB_FORMAT_VERSION   454
 
 #endif
index b0e852a..7d5da94 100644 (file)
@@ -375,7 +375,7 @@ typedef struct
 #define CMD_TABLE_DATA                    0x0088
 #define CMD_CANCEL_JOB                    0x0089
 #define CMD_CHANGE_SUBSCRIPTION           0x008A
-//unused: #define CMD_GET_SYSLOG                    0x008B
+#define CMD_SET_CONFIG_TO_DEFAULT         0x008B
 #define CMD_SYSLOG_RECORDS                0x008C
 #define CMD_JOB_CHANGE_NOTIFICATION       0x008D
 #define CMD_DEPLOY_AGENT_POLICY           0x008E
index 1c575b6..f6c46c8 100644 (file)
@@ -21,6 +21,7 @@ CREATE TABLE config
 (
   var_name varchar(63) not null,
   var_value varchar(2000) null,
+  default_value varchar(2000) null,
 #ifdef DB_ORACLE
   is_visible integer default 1 not null,
   need_server_restart integer default 0 not null,
index f6de73d..d89a8e3 100644 (file)
 ** ex: syntax=sql
 */
 
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ActiveDiscoveryInterval','7200',1,1,'I','Interval in seconds between active network discovery polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ActiveNetworkDiscovery','0',1,1,'B','Enable/disable active network discovery. This setting is change by Network Discovery GUI');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentCommandTimeout','4000',1,1,'I','Timeout in milliseconds for commands sent to agent. If agent did not respond to command within given number of seconds, \ncommand considered as failed.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentDefaultSharedSecret','netxms',1,0,'S','String that will be used as a shared secret in case if agent will required authentication.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentUpgradeWaitTime','600',1,0,'I','Maximum wait time in seconds for agent restart after upgrade. If agent cannot be contacted after this time period, \nupgrade process is considered as failed.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmHistoryRetentionTime','180',1,0,'I','A number of days the server keeps an alarm history in the database.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmListDisplayLimit','4096',1,0,'I','Maximum alarm count that will be displayed on Alarm Browser page. Alarms that exceed this count will not be shown.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmSummaryEmailRecipients','',1,0,'S','A semicolon separated list of alarm summary e-mail recipient addresses');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmSummaryEmailSchedule','0 0 * * *',1,0,'S','Schedule for sending alarm summary e-mails in cron format');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowDirectSMS','0',1,0,'B','Allow/disallow sending of SMS via NetXMS server using nxsms utility.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowedCiphers','63',1,1,'I','A bitmask for encryption algorithms allowed in the server(sum the values to allow multiple algorithms at once): \n\t*1 - AES256 \n\t*2 - Blowfish-256 \n\t*4 - IDEA \n\t*8 - 3DES\n\t*16 - AES128\n\t*32 - Blowfish-128');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowTrapVarbindsConversion','1',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AnonymousFileAccess','0',1,0,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ApplyDCIFromTemplateToDisabledDCI','1',1,1,'B','Enable applying all DCIs from a template to the node, including disabled ones.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('AuditLogRetentionTime','90',1,0,'I','Retention time in days for the records in audit log. All records older than specified will be deleted by housekeeping process.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconHosts','',1,1,'S','Comma-separated list of hosts to be used as beacons for checking NetXMS server network connectivity. Either DNS names \nor IP addresses can be used. This list is pinged by NetXMS server and if none of the hosts have responded, server considers that connection \nwith network is lost and generates specific event.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconPollingInterval','1000',1,1,'I','Interval in milliseconds between beacon hosts polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconTimeout','1000',1,1,'I','Timeout in milliseconds to consider beacon host unreachable.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('BlockInactiveUserAccounts','0',1,0,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('CapabilityExpirationTime','604800',1,0,'I','');  /* in seconds */
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('CaseInsensitiveLoginNames','0',1,1,'B','Enable/disable case insensitive login names');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('CheckTrustedNodes','0',1,1,'B','Enable/disable trusted nodes check');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ClientListenerPort','4701',1,1,'I','The server port for incoming client connections (such as management console).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ClusterContainerAutoBind','0',1,0,'B','Enable/disable container auto binding for clusters.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ClusterTemplateAutoApply','0',1,0,'B','Enable/disable template auto apply for clusters.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ConditionPollingInterval','60',1,1,'I','Interval in seconds between polling (re-evaluating) of condition objects.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ConfigurationPollingInterval','3600',1,1,'I','Interval in seconds between configuration polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,is_public,description) VALUES ('DashboardDataExportEnableInterpolation','1',1,1,'B','Y','Enable/disable data interpolation in dashboard data export.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolBaseSize','10',1,1,'I','A number of connections to the database created on the server startup.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolCooldownTime','300',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolMaxLifetime','14400',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolMaxSize','30',1,1,'I','A maximum number of connections in the connection pool.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockInfo','',0,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockPID','0',0,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockStatus','UNLOCKED',0,1,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentCacheMode','2',1,1,'C','Default agent cache mode');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentProtocolCompressionMode','1',1,0,'C','Default agent protocol compression mode');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleDateFormat','dd.MM.yyyy',1,0,'S','Default date display format for GUI.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleShortTimeFormat','HH:mm',1,0,'S','Default short time display format for GUI.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleTimeFormat','HH:mm:ss',1,0,'S','Default long time display format for GUI.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultDCIPollingInterval','60',1,0,'I','Default polling interval for newly created DCI (in seconds).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultDCIRetentionTime','30',1,0,'I','Default retention time for newly created DCI (in days).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultEncryptionPolicy','1',1,1,'C','Set the default encryption policy for communications with agents.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultInterfaceExpectedState','1',1,0,'C','Default expected state for new interface objects.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultMapBackgroundColor','0xffffff',1,0,'H','Default background color for new network map objects.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultSubnetMaskIPv4','24',1,0,'I','Default mask for synthetic IPv4 subnets.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultSubnetMaskIPv6','64',1,0,'I','Default mask for synthetic IPv6 subnets.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteAlarmsOfDeletedObject','1',1,0,'B','Enable/disable automatic alarm removal of an object when it is deleted.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteEmptySubnets','0',1,1,'B','Enable/disable automatic deletion of subnet objects without any nodes within.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteEventsOfDeletedObject','1',1,0,'B','Enable/disable automatic event removal of an object when it is deleted.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteUnreachableNodesPeriod','0',1,1,'B','Delete nodes which were unreachable for a number of days specified by this parameter.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryFilter','none',1,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryFilterFlags','0',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryPollingInterval','900',1,1,'I','Interval in seconds between passive network discovery polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAdminInterface','1',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAgentRegistration','1',1,0,'B','Enable/disable agent self-registration');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAuditLog','1',1,1,'B','Enable/disable audit log.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableCheckPointSNMP','0',1,0,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableReportingServer','0',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableEventStormDetection','0',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableISCListener','0',1,1,'B','Enable/disable Inter-Server Communications Listener.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableNXSLContainerFunctions','1',1,1,'B','Enable/disable server-side NXSL functions for container management (such as CreateContainer, RemoveContainer, BindObject, \nUnbindObject).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableObjectTransactions','0',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableSNMPTraps','1',1,1,'B','Enable/disable SNMP trap processing.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAlarmSummaryEmails','0',1,0,'B','Enable/disable alarm summary e-mails.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableSyslogReceiver','0',1,1,'B','Enable/disable receiving of syslog messages.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableTimedAlarmAck','1',1,1,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableXMPPConnector','0',1,1,'B','Enable/disable XMPP connector (required to enable XMPP message sending).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableZoning','0',1,1,'B','Enable/disable zoning support');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EscapeLocalCommands','0',1,0,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EventLogRetentionTime','90',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EventStormDuration','15',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('EventStormEventsPerSecond','100',1,1,'I','Event storm events per second');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExtendedLogQueryAccessControl','0',1,0,'B','Enable/disable extended access control in log queries.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditFacility','13',1,1,'I','Syslog facility to be used in audit log records sent to external server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditPort','514',1,1,'I','UDP port of external syslog server to send audit records to.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditServer','none',1,1,'S','External syslog server to send audit records to. If set to "none", external audit logging is disabled.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditSeverity','5',1,1,'I','Syslog severity to be used in audit log records sent to external server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditTag','netxmsd-audit',1,1,'S','Syslog tag to be used in audit log records sent to external server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('FirstFreeObjectId','100',0,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('FixedStatusValue','0',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('GraceLoginCount','5',1,0,'I','User grace login count');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('HelpDeskLink','none',1,1,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('HousekeeperStartTime','02:00',1,1,'S','Timer when housekeeper starts. Housekeeper deletes old log lines, old DCI data, cleans removed objects and does VACUUM for \nPostgreSQL.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('IcmpPingSize','46',1,1,'I','Size of ICMP packets (in bytes, excluding IP header size) used for status polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('IcmpPingTimeout','1500',1,1,'I','Timeout for ICMP ping used for status polls (in milliseconds).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ImportConfigurationOnStartup','1',1,1,'B','Import configuration from local files on server startup.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('InstancePollingInterval','600',1,1,'I','Instance polling interval (in seconds).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('InternalCA','0',1,1,'B','Enable/disable internal certificate authority.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('IntruderLockoutThreshold','0',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('IntruderLockoutTime','30',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraIssueType','Task',1,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraLogin','netxms',1,1,'S','Jira login name.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraPassword','',1,1,'S','Jira password');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraProjectCode','NETXMS',1,0,'S','Jira project code');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraProjectComponent','',1,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraServerURL','http://localhost',1,1,'S','The URL of the Jira server');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JobHistoryRetentionTime','90',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('JobRetryCount','5',1,0,'I','Maximum mumber of job execution retries.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('KeepAliveInterval','60',1,1,'I','Interval in seconds between sending keep alive packets to connected clients.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapGroupClass','',1,0,'S','Specifies which object class represents group objects. If the found entry is not of user or group class, it will be ignored.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapGroupUniqueId','',1,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapConnectionString','ldap://localhost:389',1,0,'S','The LdapConnectionString configuration parameter may be a comma- or whitespace-separated list of URIs containing only the \nschema, the host, and the port fields. Format: schema://host:port.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingDescription','',1,0,'S','The name of an attribute whose value will be used as a user''s description.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingFullName','displayName',1,0,'S','The name of an attribute whose value will be used as a user''s full name.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingName','',1,0,'S','The name of an attribute whose value will be used as a user''s login name.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapPageSize','1000',1,0,'I','The maximum amount of records that can be returned in one search page.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSearchBase','',1,0,'S','The DN of the entry at which to start the search.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSearchFilter','',1,0,'S','A string representation of the filter to apply in the search.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncInterval','0',1,0,'I','The synchronization interval (in minutes) between the NetXMS server and the LDAP server. If the parameter is set to 0, no \nsynchronization will take place.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncUser','',1,0,'S','User login for LDAP synchronization.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncUserPassword','',1,0,'S', 'User password for LDAP synchronization.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserClass','',1,0,'S','The object class which represents user objects. If the found entry is not of user or group class, it will be ignored.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserDeleteAction','1',1,0,'C','This parameter specifies what should be done while synchronizing with a deleted user/group from LDAP.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserUniqueId','',1,0,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LockTimeout','60000',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('LogAllSNMPTraps','0',1,1,'B','Log all SNMP traps.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('MailEncoding','utf8',1,0,'S','Encoding for e-mails generated by NetXMS server.');
-INSERT INTO config (var_name,var_value,is_visible,data_type,need_server_restart,description) VALUES ('MessageOfTheDay','',1,'S',0,'Message to be shown when a user logs into the console.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('MinPasswordLength','0',1,0,'I','Default minimum password length for a NetXMS user. The default applied only if per-user setting is not defined.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('MinViewRefreshInterval','1000',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('MobileDeviceListenerPort','4747',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfDataCollectors','25',1,1,'I','The number of threads used for data collection.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfUpgradeThreads','10',1,0,'I','The number of threads used to perform agent upgrades (i.e. maximum number of parallel upgrades).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('OfflineDataRelevanceTime','86400',1,1,'I','Time period in seconds within which received offline data still relevant for threshold validation.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordComplexity','0',1,0,'I','Set of flags to enforce password complexity.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordExpiration','0',1,0,'I','Password expiration time in days. If set to 0, password expiration is disabled.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordHistoryLength','0',1,0,'I','Number of previous passwords to keep. Users are not allowed to set password if it matches one from previous passwords list.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PollCountForStatusChange','1',1,1,'I','The number of consecutive unsuccessful polls required to declare interface as down.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PollerThreadPoolBaseSize','10',1,1,'I','The base thread pool size.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('PollerThreadPoolMaxSize','250',1,1,'I','Maximum thread pool size.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSAuthMethod','PAP',1,0,'S','RADIUS authentication method to be used (PAP, CHAP, MS-CHAPv1, MS-CHAPv2).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSNumRetries','5',1,0,'I','The number of retries for RADIUS authentication.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSPort','1645',1,0,'I','Port number used for connection to primary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondaryPort','1645',1,0,'I','Port number used for connection to secondary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondarySecret','netxms',1,0,'S','Shared secret used for communication with secondary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondaryServer','none',1,0,'S','Host name or IP address of secondary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecret','netxms',1,0,'S','Shared secret used for communication with primary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSServer','none',1,0,'S','Host name or IP address of primary RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSTimeout','3',1,0,'I','Timeout in seconds for requests to RADIUS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ReceiveForwardedEvents','0',1,0,'B','Enable/disable reception of events forwarded by another NetXMS server. Please note that for external event reception ISC listener \nshould be enabled as well.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ReportingServerHostname','localhost',1,1,'S','The hostname of the reporting server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ReportingServerPort','4710',1,1,'I','The port of the reporting server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ResolveDNSToIPOnStatusPoll','0',1,1,'B','Resolve DNS to IP on status poll.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ResolveNodeNames','1',1,0,'B','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RoutingTableUpdateInterval','300',1,1,'I','Interval in seconds between reading routing table from node.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('RunNetworkDiscovery','0',1,1,'B','Enable/disable automatic network discovery process. *This setting is change by Network Discovery GUI*.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerColor','',1,0,'H','Identification color for this server');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerCommandOutputTimeout','60',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerName','',1,0,'S','Name of this server');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMSDriver','<none>',1,1,'S','Mobile phone driver to be used for sending SMS.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMSDrvConfig','',1,1,'S','SMS driver parameters. For "generic" driver, it should be the name of COM port device.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPPorts','161',1,0,'S','Comma separated list of UDP ports used by SNMP capable devices.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPRequestTimeout','1500',1,1,'I','Timeout in milliseconds for SNMP requests sent by NetXMS server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPTrapLogRetentionTime','90',1,0,'I','The time how long SNMP trap logs are retained.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPTrapPort','162',1,1,'I','Port used for SNMP traps.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPFromAddr','netxms@localhost',1,0,'S','The address used for sending mail from.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPFromName','NetXMS Server',1,0,'S','The name used as the sender.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPPort','25',1,0,'I','Port used by SMTP server');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPRetryCount','1',1,0,'I','Number of retries for sending mail.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPServer','localhost',1,0,'S','An SMTP server used for sending mail.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusCalculationAlgorithm','1',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusPollingInterval','60',1,1,'I','Interval in seconds between status polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusPropagationAlgorithm','1',1,1,'C','Algorithm for status propagation (how object''s status affects its child object statuses).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusShift','0',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusSingleThreshold','75',1,1,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusThresholds','503C2814',1,1,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusTranslation','01020304',1,1,'S','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('StrictAlarmStatusFlow','0',1,0,'B','Enable/disable strict alarm status flow (alarm can be terminated only after it has been resolved).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyncInterval','60',1,1,'I','Interval in seconds between writing object changes to the database.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyncNodeNamesWithDNS','0',1,0,'B','Enable/disable synchronization of node names with DNS on each configuration poll.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogIgnoreMessageTimestamp','0',1,0,'B','Ignore timestamp received in syslog messages and always use server time.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogListenPort','514',1,1,'I','UDP port used by built-in syslog server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogNodeMatchingPolicy','0',1,1,'C','Node matching policy for built-in syslog daemon.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogRetentionTime','90',1,0,'I','Retention time in days for records in syslog. All records older than specified will be deleted by housekeeping process.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('ThresholdRepeatInterval','0',1,1,'I','System-wide interval in seconds for resending threshold violation events. Value of 0 disables event resending.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('TileServerURL','http://tile.openstreetmap.org/',1,0,'S','The URL for the Tile server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyDiscoveryRadius','3',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyExpirationTime','900',1,0,'I','');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyPollingInterval','1800',1,1,'I','Interval in seconds between topology polls.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('TrapSourcesInAllZones','0',1,1,'B','Search all zones to match trap/syslog source address to node.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseDNSNameForDiscoveredNodes','0',1,0,'B','Enable/disable the use of DNS name instead of IP address as primary name for newly discovered nodes.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseFQDNForNodeNames','1',1,1,'B','Enable/disable the use of fully qualified domain names as primary names for newly discovered nodes.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseIfXTable','1',1,0,'B','Enable/disable the use of SNMP ifXTable instead of ifTable for interface configuration polling.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseInterfaceAliases','0',1,0,'C','Control usage of interface aliases (or descriptions).');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseSNMPTrapsForDiscovery','0',1,1,'B','Use SNMP trap information for new node discovery.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('UseSyslogForDiscovery','0',1,1,'B','Use syslog messages for new node discovery.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPLogin','netxms@localhost',1,1,'S','Login name that will be used to authentication on XMPP server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPPassword','netxms',1,1,'S','Password that will be used to authentication on XMPP server.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPPort','5222',1,1,'I','XMPP connection port.');
-INSERT INTO config (var_name,var_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPServer','localhost',1,1,'S','XMPP connection server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ActiveDiscoveryInterval','7200','7200',1,1,'I','Interval in seconds between active network discovery polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ActiveNetworkDiscovery','0','0',1,1,'B','Enable/disable active network discovery. This setting is change by Network Discovery GUI');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentCommandTimeout','4000','4000',1,1,'I','Timeout in milliseconds for commands sent to agent. If agent did not respond to command within given number of seconds, \ncommand considered as failed.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentDefaultSharedSecret','netxms','netxms',1,0,'S','String that will be used as a shared secret in case if agent will required authentication.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AgentUpgradeWaitTime','600','600',1,0,'I','Maximum wait time in seconds for agent restart after upgrade. If agent cannot be contacted after this time period, \nupgrade process is considered as failed.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmHistoryRetentionTime','180','180',1,0,'I','A number of days the server keeps an alarm history in the database.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmListDisplayLimit','4096','4096',1,0,'I','Maximum alarm count that will be displayed on Alarm Browser page. Alarms that exceed this count will not be shown.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmSummaryEmailRecipients','','',1,0,'S','A semicolon separated list of alarm summary e-mail recipient addresses');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AlarmSummaryEmailSchedule','0 0 * * *','0 0 * * *',1,0,'S','Schedule for sending alarm summary e-mails in cron format');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowDirectSMS','0','0',1,0,'B','Allow/disallow sending of SMS via NetXMS server using nxsms utility.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowedCiphers','63','63',1,1,'I','A bitmask for encryption algorithms allowed in the server(sum the values to allow multiple algorithms at once): \n\t*1 - AES256 \n\t*2 - Blowfish-256 \n\t*4 - IDEA \n\t*8 - 3DES\n\t*16 - AES128\n\t*32 - Blowfish-128');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AllowTrapVarbindsConversion','1','1',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AnonymousFileAccess','0','0',1,0,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ApplyDCIFromTemplateToDisabledDCI','1','1',1,1,'B','Enable applying all DCIs from a template to the node, including disabled ones.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('AuditLogRetentionTime','90','90',1,0,'I','Retention time in days for the records in audit log. All records older than specified will be deleted by housekeeping process.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconHosts','','',1,1,'S','Comma-separated list of hosts to be used as beacons for checking NetXMS server network connectivity. Either DNS names \nor IP addresses can be used. This list is pinged by NetXMS server and if none of the hosts have responded, server considers that connection \nwith network is lost and generates specific event.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconPollingInterval','1000','1000',1,1,'I','Interval in milliseconds between beacon hosts polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('BeaconTimeout','1000','1000',1,1,'I','Timeout in milliseconds to consider beacon host unreachable.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('BlockInactiveUserAccounts','0','0',1,0,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('CapabilityExpirationTime','604800','604800',1,0,'I','');  /* in seconds */
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('CaseInsensitiveLoginNames','0','0',1,1,'B','Enable/disable case insensitive login names');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('CheckTrustedNodes','0','0',1,1,'B','Enable/disable trusted nodes check');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ClientListenerPort','4701','4701',1,1,'I','The server port for incoming client connections (such as management console).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ClusterContainerAutoBind','0','0',1,0,'B','Enable/disable container auto binding for clusters.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ClusterTemplateAutoApply','0','0',1,0,'B','Enable/disable template auto apply for clusters.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ConditionPollingInterval','60','60',1,1,'I','Interval in seconds between polling (re-evaluating) of condition objects.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ConfigurationPollingInterval','3600','3600',1,1,'I','Interval in seconds between configuration polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,is_public,description) VALUES ('DashboardDataExportEnableInterpolation','1','1',1,1,'B','Y','Enable/disable data interpolation in dashboard data export.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolBaseSize','10','10',1,1,'I','A number of connections to the database created on the server startup.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolCooldownTime','300','300',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolMaxLifetime','14400','14400',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBConnectionPoolMaxSize','30','30',1,1,'I','A maximum number of connections in the connection pool.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockInfo','','',0,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockPID','0','0',0,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockStatus','UNLOCKED','UNLOCKED',0,1,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentCacheMode','2','2',1,1,'C','Default agent cache mode');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentProtocolCompressionMode','1','1',1,0,'C','Default agent protocol compression mode');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleDateFormat','dd.MM.yyyy','dd.MM.yyyy',1,0,'S','Default date display format for GUI.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleShortTimeFormat','HH:mm','HH:mm',1,0,'S','Default short time display format for GUI.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleTimeFormat','HH:mm:ss','HH:mm:ss',1,0,'S','Default long time display format for GUI.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultDCIPollingInterval','60','60',1,0,'I','Default polling interval for newly created DCI (in seconds).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultDCIRetentionTime','30','30',1,0,'I','Default retention time for newly created DCI (in days).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultEncryptionPolicy','1','1',1,1,'C','Set the default encryption policy for communications with agents.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultInterfaceExpectedState','1','1',1,0,'C','Default expected state for new interface objects.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultMapBackgroundColor','0xffffff','0xffffff',1,0,'H','Default background color for new network map objects.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultSubnetMaskIPv4','24','24',1,0,'I','Default mask for synthetic IPv4 subnets.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultSubnetMaskIPv6','64','64',1,0,'I','Default mask for synthetic IPv6 subnets.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteAlarmsOfDeletedObject','1','1',1,0,'B','Enable/disable automatic alarm removal of an object when it is deleted.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteEmptySubnets','0','0',1,1,'B','Enable/disable automatic deletion of subnet objects without any nodes within.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteEventsOfDeletedObject','1','1',1,0,'B','Enable/disable automatic event removal of an object when it is deleted.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DeleteUnreachableNodesPeriod','0','0',1,1,'B','Delete nodes which were unreachable for a number of days specified by this parameter.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryFilter','none','none',1,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryFilterFlags','0','0',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DiscoveryPollingInterval','900','900',1,1,'I','Interval in seconds between passive network discovery polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAdminInterface','1','1',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAgentRegistration','1','1',1,0,'B','Enable/disable agent self-registration');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAuditLog','1','1',1,1,'B','Enable/disable audit log.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableCheckPointSNMP','0','0',1,0,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableReportingServer','0','0',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableEventStormDetection','0','0',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableISCListener','0','0',1,1,'B','Enable/disable Inter-Server Communications Listener.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableNXSLContainerFunctions','1','1',1,1,'B','Enable/disable server-side NXSL functions for container management (such as CreateContainer, RemoveContainer, BindObject, \nUnbindObject).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableObjectTransactions','0','0',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableSNMPTraps','1','1',1,1,'B','Enable/disable SNMP trap processing.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableAlarmSummaryEmails','0','0',1,0,'B','Enable/disable alarm summary e-mails.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableSyslogReceiver','0','0',1,1,'B','Enable/disable receiving of syslog messages.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableTimedAlarmAck','1','1',1,1,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableXMPPConnector','0','0',1,1,'B','Enable/disable XMPP connector (required to enable XMPP message sending).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EnableZoning','0','0',1,1,'B','Enable/disable zoning support');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EscapeLocalCommands','0','0',1,0,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EventLogRetentionTime','90','90',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EventStormDuration','15','15',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('EventStormEventsPerSecond','100','100',1,1,'I','Event storm events per second');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExtendedLogQueryAccessControl','0','0',1,0,'B','Enable/disable extended access control in log queries.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditFacility','13','13',1,1,'I','Syslog facility to be used in audit log records sent to external server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditPort','514','514',1,1,'I','UDP port of external syslog server to send audit records to.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditServer','none','none',1,1,'S','External syslog server to send audit records to. If set to "none", external audit logging is disabled.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditSeverity','5','5',1,1,'I','Syslog severity to be used in audit log records sent to external server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ExternalAuditTag','netxmsd-audit','netxmsd-audit',1,1,'S','Syslog tag to be used in audit log records sent to external server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('FirstFreeObjectId','100','100',0,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('FixedStatusValue','0','0',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('GraceLoginCount','5','5',1,0,'I','User grace login count');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('HelpDeskLink','none','none',1,1,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('HousekeeperStartTime','02:00','02:00',1,1,'S','Timer when housekeeper starts. Housekeeper deletes old log lines, old DCI data, cleans removed objects and does VACUUM for \nPostgreSQL.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('IcmpPingSize','46','46',1,1,'I','Size of ICMP packets (in bytes, excluding IP header size) used for status polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('IcmpPingTimeout','1500','1500',1,1,'I','Timeout for ICMP ping used for status polls (in milliseconds).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ImportConfigurationOnStartup','1','1',1,1,'B','Import configuration from local files on server startup.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('InstancePollingInterval','600','600',1,1,'I','Instance polling interval (in seconds).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('InternalCA','0','0',1,1,'B','Enable/disable internal certificate authority.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('IntruderLockoutThreshold','0','0',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('IntruderLockoutTime','30','30',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraIssueType','Task','Task',1,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraLogin','netxms','netxms',1,1,'S','Jira login name.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraPassword','','',1,1,'S','Jira password');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraProjectCode','NETXMS','NETXMS',1,0,'S','Jira project code');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraProjectComponent','','',1,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JiraServerURL','http://localhost','http://localhost',1,1,'S','The URL of the Jira server');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JobHistoryRetentionTime','90','90',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('JobRetryCount','5','5',1,0,'I','Maximum mumber of job execution retries.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('KeepAliveInterval','60','60',1,1,'I','Interval in seconds between sending keep alive packets to connected clients.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapGroupClass','','',1,0,'S','Specifies which object class represents group objects. If the found entry is not of user or group class, it will be ignored.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapGroupUniqueId','','',1,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapConnectionString','ldap://localhost:389','ldap://localhost:389',1,0,'S','The LdapConnectionString configuration parameter may be a comma- or whitespace-separated list of URIs containing only the \nschema, the host, and the port fields. Format: schema://host:port.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingDescription','','',1,0,'S','The name of an attribute whose value will be used as a user''s description.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingFullName','displayName','displayName',1,0,'S','The name of an attribute whose value will be used as a user''s full name.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapMappingName','','',1,0,'S','The name of an attribute whose value will be used as a user''s login name.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapPageSize','1000','1000',1,0,'I','The maximum amount of records that can be returned in one search page.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSearchBase','','',1,0,'S','The DN of the entry at which to start the search.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSearchFilter','','',1,0,'S','A string representation of the filter to apply in the search.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncInterval','0','0',1,0,'I','The synchronization interval (in minutes) between the NetXMS server and the LDAP server. If the parameter is set to 0, no \nsynchronization will take place.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncUser','','',1,0,'S','User login for LDAP synchronization.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapSyncUserPassword','','',1,0,'S', 'User password for LDAP synchronization.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserClass','','',1,0,'S','The object class which represents user objects. If the found entry is not of user or group class, it will be ignored.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserDeleteAction','1','1',1,0,'C','This parameter specifies what should be done while synchronizing with a deleted user/group from LDAP.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LdapUserUniqueId','','',1,0,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LockTimeout','60000','60000',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('LogAllSNMPTraps','0','0',1,1,'B','Log all SNMP traps.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MailEncoding','utf8','utf8',1,0,'S','Encoding for e-mails generated by NetXMS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,data_type,need_server_restart,description) VALUES ('MessageOfTheDay','','',1,'S',0,'Message to be shown when a user logs into the console.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MinPasswordLength','0','0',1,0,'I','Default minimum password length for a NetXMS user. The default applied only if per-user setting is not defined.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MinViewRefreshInterval','1000','1000',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MobileDeviceListenerPort','4747','4747',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfDataCollectors','25','25',1,1,'I','The number of threads used for data collection.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfUpgradeThreads','10','10',1,0,'I','The number of threads used to perform agent upgrades (i.e. maximum number of parallel upgrades).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('OfflineDataRelevanceTime','86400','86400',1,1,'I','Time period in seconds within which received offline data still relevant for threshold validation.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordComplexity','0','0',1,0,'I','Set of flags to enforce password complexity.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordExpiration','0','0',1,0,'I','Password expiration time in days. If set to 0, password expiration is disabled.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordHistoryLength','0','0',1,0,'I','Number of previous passwords to keep. Users are not allowed to set password if it matches one from previous passwords list.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PollCountForStatusChange','1','1',1,1,'I','The number of consecutive unsuccessful polls required to declare interface as down.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PollerThreadPoolBaseSize','10','10',1,1,'I','The base thread pool size.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PollerThreadPoolMaxSize','250','250',1,1,'I','Maximum thread pool size.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSAuthMethod','PAP','PAP',1,0,'S','RADIUS authentication method to be used (PAP, CHAP, MS-CHAPv1, MS-CHAPv2).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSNumRetries','5','5',1,0,'I','The number of retries for RADIUS authentication.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSPort','1645','1645',1,0,'I','Port number used for connection to primary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondaryPort','1645','1645',1,0,'I','Port number used for connection to secondary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondarySecret','netxms','netxms',1,0,'S','Shared secret used for communication with secondary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecondaryServer','none','none',1,0,'S','Host name or IP address of secondary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSSecret','netxms','netxms',1,0,'S','Shared secret used for communication with primary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSServer','none','none',1,0,'S','Host name or IP address of primary RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RADIUSTimeout','3','3',1,0,'I','Timeout in seconds for requests to RADIUS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ReceiveForwardedEvents','0','0',1,0,'B','Enable/disable reception of events forwarded by another NetXMS server. Please note that for external event reception ISC listener \nshould be enabled as well.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ReportingServerHostname','localhost','localhost',1,1,'S','The hostname of the reporting server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ReportingServerPort','4710','4710',1,1,'I','The port of the reporting server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ResolveDNSToIPOnStatusPoll','0','0',1,1,'B','Resolve DNS to IP on status poll.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ResolveNodeNames','1','1',1,0,'B','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RoutingTableUpdateInterval','300','300',1,1,'I','Interval in seconds between reading routing table from node.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('RunNetworkDiscovery','0','0',1,1,'B','Enable/disable automatic network discovery process. *This setting is change by Network Discovery GUI*.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerColor','','',1,0,'H','Identification color for this server');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerCommandOutputTimeout','60','60',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ServerName','','',1,0,'S','Name of this server');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMSDriver','<none>','<none>',1,1,'S','Mobile phone driver to be used for sending SMS.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMSDrvConfig','','',1,1,'S','SMS driver parameters. For "generic" driver, it should be the name of COM port device.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPPorts','161','161',1,0,'S','Comma separated list of UDP ports used by SNMP capable devices.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPRequestTimeout','1500','1500',1,1,'I','Timeout in milliseconds for SNMP requests sent by NetXMS server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPTrapLogRetentionTime','90','90',1,0,'I','The time how long SNMP trap logs are retained.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SNMPTrapPort','162','162',1,1,'I','Port used for SNMP traps.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPFromAddr','netxms@localhost','netxms@localhost',1,0,'S','The address used for sending mail from.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPFromName','NetXMS Server','NetXMS Server',1,0,'S','The name used as the sender.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPPort','25','25',1,0,'I','Port used by SMTP server');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPRetryCount','1','1',1,0,'I','Number of retries for sending mail.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SMTPServer','localhost','localhost',1,0,'S','An SMTP server used for sending mail.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusCalculationAlgorithm','1','1',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusPollingInterval','60','60',1,1,'I','Interval in seconds between status polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusPropagationAlgorithm','1','1',1,1,'C','Algorithm for status propagation (how object''s status affects its child object statuses).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusShift','0','0',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusSingleThreshold','75','75',1,1,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusThresholds','503C2814','503C2814',1,1,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StatusTranslation','01020304','01020304',1,1,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('StrictAlarmStatusFlow','0','0',1,0,'B','Enable/disable strict alarm status flow (alarm can be terminated only after it has been resolved).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyncInterval','60','60',1,1,'I','Interval in seconds between writing object changes to the database.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyncNodeNamesWithDNS','0','0',1,0,'B','Enable/disable synchronization of node names with DNS on each configuration poll.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogIgnoreMessageTimestamp','0','0',1,0,'B','Ignore timestamp received in syslog messages and always use server time.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogListenPort','514','514',1,1,'I','UDP port used by built-in syslog server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogNodeMatchingPolicy','0','0',1,1,'C','Node matching policy for built-in syslog daemon.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('SyslogRetentionTime','90','90',1,0,'I','Retention time in days for records in syslog. All records older than specified will be deleted by housekeeping process.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('ThresholdRepeatInterval','0','0',1,1,'I','System-wide interval in seconds for resending threshold violation events. Value of 0 disables event resending.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('TileServerURL','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',1,0,'S','The URL for the Tile server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyDiscoveryRadius','3','3',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyExpirationTime','900','900',1,0,'I','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('TopologyPollingInterval','1800','1800',1,1,'I','Interval in seconds between topology polls.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('TrapSourcesInAllZones','0','0',1,1,'B','Search all zones to match trap/syslog source address to node.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseDNSNameForDiscoveredNodes','0','0',1,0,'B','Enable/disable the use of DNS name instead of IP address as primary name for newly discovered nodes.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseFQDNForNodeNames','1','1',1,1,'B','Enable/disable the use of fully qualified domain names as primary names for newly discovered nodes.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseIfXTable','1','1',1,0,'B','Enable/disable the use of SNMP ifXTable instead of ifTable for interface configuration polling.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseInterfaceAliases','0','0',1,0,'C','Control usage of interface aliases (or descriptions).');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseSNMPTrapsForDiscovery','0','0',1,1,'B','Use SNMP trap information for new node discovery.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('UseSyslogForDiscovery','0','0',1,1,'B','Use syslog messages for new node discovery.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPLogin','netxms@localhost','netxms@localhost',1,1,'S','Login name that will be used to authentication on XMPP server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPPassword','netxms','netxms',1,1,'S','Password that will be used to authentication on XMPP server.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPPort','5222','5222',1,1,'I','XMPP connection port.');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('XMPPServer','localhost','localhost',1,1,'S','XMPP connection server.');
 
 /*
 ** Config possible values
@@ -210,30 +210,30 @@ INSERT INTO config_values (var_name,var_value) VALUES ('SNMPTrapPort','65535');
 INSERT INTO config_values (var_name,var_value) VALUES ('SyslogListenPort','65535');
 INSERT INTO config_values (var_name,var_value) VALUES ('XMPPPort','65535');
 INSERT INTO config_values (var_name,var_value) VALUES ('AllowedCiphers','63');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultAgentCacheMode','1','On');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultAgentCacheMode','2','Off');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultAgentProtocolCompressionMode','1','Enabled');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultAgentProtocolCompressionMode','2','Disabled');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultInterfaceExpectedState','0','UP');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultInterfaceExpectedState','1','DOWN');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultInterfaceExpectedState','2','IGNORE');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultEncryptionPolicy','0','Disabled');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultEncryptionPolicy','1','Allowed');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultEncryptionPolicy','2','Preferred');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('DefaultEncryptionPolicy','3','Required');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('StatusPropagationAlgorithm','0','Default');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('StatusPropagationAlgorithm','1','Unchanged');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('StatusPropagationAlgorithm','2','Fixed');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('StatusPropagationAlgorithm','3','Relative');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('StatusPropagationAlgorithm','4','Translated');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('UseInterfaceAliases','0','Don''t use aliases');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('UseInterfaceAliases','1','Use aliases when possible');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('UseInterfaceAliases','2','Concatenate alias and name');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('UseInterfaceAliases','3','Concatenate name and alias');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('SyslogNodeMatchingPolicy','0','IP,, then hostname');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('SyslogNodeMatchingPolicy','1','Hostname, then IP');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('LdapUserDeleteAction','0','Delete user');
-INSERT INTO config_values (var_name,var_value,var_description) VALUES ('LdapUserDeleteAction','1','Disable user');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultAgentCacheMode','1','On');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultAgentCacheMode','2','Off');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultAgentProtocolCompressionMode','1','Enabled');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultAgentProtocolCompressionMode','2','Disabled');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultInterfaceExpectedState','0','UP');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultInterfaceExpectedState','1','DOWN');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultInterfaceExpectedState','2','IGNORE');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultEncryptionPolicy','0','Disabled');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultEncryptionPolicy','1','Allowed');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultEncryptionPolicy','2','Preferred');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('DefaultEncryptionPolicy','3','Required');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('StatusPropagationAlgorithm','0','Default');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('StatusPropagationAlgorithm','1','Unchanged');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('StatusPropagationAlgorithm','2','Fixed');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('StatusPropagationAlgorithm','3','Relative');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('StatusPropagationAlgorithm','4','Translated');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('UseInterfaceAliases','0','Don''t use aliases');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('UseInterfaceAliases','1','Use aliases when possible');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('UseInterfaceAliases','2','Concatenate alias and name');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('UseInterfaceAliases','3','Concatenate name and alias');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('SyslogNodeMatchingPolicy','0','IP,, then hostname');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('SyslogNodeMatchingPolicy','1','Hostname, then IP');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('LdapUserDeleteAction','0','Delete user');
+INSERT INTO config_values (var_name,var_value,default_value,var_description) VALUES ('LdapUserDeleteAction','1','Disable user');
 
 /*
 ** System user
index 7562aa5..2e515b6 100644 (file)
@@ -162,7 +162,7 @@ public class NXCPCodes
        public static final int CMD_TABLE_DATA = 0x0088;
        public static final int CMD_CANCEL_JOB = 0x0089;
        public static final int CMD_CHANGE_SUBSCRIPTION = 0x008A;
-       //unused: public static final int CMD_GET_SYSLOG = 0x008B;
+       public static final int CMD_SET_CONFIG_TO_DEFAULT = 0x008B;
        public static final int CMD_SYSLOG_RECORDS = 0x008C;
        public static final int CMD_JOB_CHANGE_NOTIFICATION = 0x008D;
        public static final int CMD_DEPLOY_AGENT_POLICY = 0x008E;
index 33dfb89..bf55ef7 100644 (file)
@@ -3332,11 +3332,10 @@ public class NXCSession
       final HashMap<String, ServerVariable> varList = new HashMap<String, ServerVariable>(count);
 
       long id = NXCPCodes.VID_VARLIST_BASE;
-      for(int i = 0; i < count; i++)
+      for(int i = 0; i < count; i++, id += 10)
       {
          ServerVariable v = new ServerVariable(response, id);
          varList.put(v.getName(), v);
-         id += 5;
       }
       
       count = response.getFieldAsInt32(NXCPCodes.VID_NUM_VALUES);
@@ -3440,6 +3439,24 @@ public class NXCSession
    }
 
    /**
+    * Set server configuration variables to default
+    * 
+    * @param varList
+    * @throws IOException  if socket I/O error occurs
+    * @throws NXCException if NetXMS server returns an error or operation was timed out
+    */
+   public void setDefaultServerValues(List<ServerVariable> varList) throws IOException, NXCException
+   {
+      NXCPMessage msg = newMessage(NXCPCodes.CMD_SET_CONFIG_TO_DEFAULT);
+      long base = NXCPCodes.VID_VARLIST_BASE;
+      for(ServerVariable v : varList)
+         msg.setField(base++, v.getName());
+      msg.setFieldInt32(NXCPCodes.VID_NUM_VARIABLES, varList.size());
+      sendMessage(msg);
+      waitForRCC(msg.getMessageId());
+   }
+
+   /**
     * Get server config CLOB
     *
     * @param name
index 3dc4df6..ca24210 100644 (file)
@@ -33,7 +33,7 @@ public final class ProtocolVersion
    public static final int PUSH = 1;
    public static final int TRAP = 1;
    public static final int MOBILE = 1;
-   public static final int FULL = 9;
+   public static final int FULL = 10;
    
    // Indexes
    public static final int INDEX_BASE = 0;
index a0a86eb..5475bf7 100644 (file)
@@ -29,6 +29,7 @@ public final class ServerVariable
 {
        private String name;
        private String value;
+   private String defaultValue;
        private String description;
        private ServerVariableDataType dataType;
        private HashMap<String, String> values = new HashMap<String, String>();
@@ -49,6 +50,7 @@ public final class ServerVariable
        {
                this.name = name;
                this.value = value;
+               this.defaultValue = value;
                this.description = description;
                this.dataType = dataType;
                this.isServerRestartNeeded = isServerRestartNeeded;
@@ -68,6 +70,7 @@ public final class ServerVariable
       String code = msg.getFieldAsString(baseId + 3);
       dataType = ServerVariableDataType.getByCode(((code != null) && !code.isEmpty()) ? code.charAt(0) : 'S');
       description = msg.getFieldAsString(baseId + 4);
+      defaultValue = msg.getFieldAsString(baseId + 5);
        }
 
    /** 
@@ -170,4 +173,20 @@ public final class ServerVariable
        {
           return values;
        }
+       
+       /**
+        * @return Variable`s default value
+        */
+       public String getDefaultValue()
+       {
+          return defaultValue;
+       }
+       
+       /**
+        * @return true if variable`s value is the default value
+        */
+       public boolean isDefault()
+       {
+          return value.equals(defaultValue);
+       }
 }
index e97c2b3..99d1f2a 100644 (file)
@@ -96,12 +96,14 @@ public class ServerConfigurationEditor extends ViewPart
        private Action actionExportAllToCsv;
        private Action actionRefresh;
        private Action actionShowFilter;
+   private Action actionDefaultValue;
        
        // Columns
        public static final int COLUMN_NAME = 0;
        public static final int COLUMN_VALUE = 1;
-       public static final int COLUMN_NEED_RESTART = 2;
-       public static final int COLUMN_DESCRIPTION = 3;
+   public static final int COLUMN_DEFAULT_VALUE = 2;
+       public static final int COLUMN_NEED_RESTART = 3;
+       public static final int COLUMN_DESCRIPTION = 4;
 
        @Override
    public void init(IViewSite site) throws PartInitException
@@ -139,8 +141,8 @@ public class ServerConfigurationEditor extends ViewPart
          }
       });
           
-               final String[] names = { Messages.get().ServerConfigurationEditor_ColName, Messages.get().ServerConfigurationEditor_ColValue, Messages.get().ServerConfigurationEditor_ColRestart, "Description" };
-               final int[] widths = { 200, 150, 80, 500 };
+               final String[] names = { Messages.get().ServerConfigurationEditor_ColName, Messages.get().ServerConfigurationEditor_ColValue, "Default value", Messages.get().ServerConfigurationEditor_ColRestart, "Description" };
+               final int[] widths = { 200, 150, 150, 80, 500 };
                viewer = new SortableTableViewer(content, names, widths, 0, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER, SortableTableViewer.DEFAULT_STYLE);
                viewer.setContentProvider(new ArrayContentProvider());
                viewer.setLabelProvider(new ServerVariablesLabelProvider());
@@ -161,6 +163,7 @@ public class ServerConfigurationEditor extends ViewPart
                                IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
                                actionEdit.setEnabled(selection.size() == 1);
                                actionDelete.setEnabled(selection.size() > 0);
+                               actionDefaultValue.setEnabled(selection.size() > 0);
                        }
                });
                
@@ -254,7 +257,7 @@ public class ServerConfigurationEditor extends ViewPart
        {
                manager.add(actionAdd);
                manager.add(actionExportAllToCsv);
-      manager.add(actionShowFilter);           
+      manager.add(actionShowFilter);
                manager.add(new Separator());
                manager.add(actionRefresh);
        }
@@ -338,6 +341,14 @@ public class ServerConfigurationEditor extends ViewPart
       actionShowFilter.setChecked(initShowFilter);
       actionShowFilter.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.show_filter"); //$NON-NLS-1$
       handlerService.activateHandler(actionShowFilter.getActionDefinitionId(), new ActionHandler(actionShowFilter));
+      
+      actionDefaultValue = new Action("Set default value") {
+         @Override
+         public void run()
+         {
+            setDefaultValue();
+         }
+      };
                
                actionExportToCsv = new ExportToCsvAction(this, viewer, true);
                actionExportAllToCsv = new ExportToCsvAction(this, viewer, false);
@@ -417,6 +428,7 @@ public class ServerConfigurationEditor extends ViewPart
                mgr.add(actionAdd);
                mgr.add(actionEdit);
                mgr.add(actionDelete);
+      mgr.add(actionDefaultValue);
                mgr.add(new Separator());
                mgr.add(actionExportToCsv);
        }
@@ -541,4 +553,38 @@ public class ServerConfigurationEditor extends ViewPart
                        }
                }.start();
        }
+       
+       /**
+        * Reset variable values to default
+        */
+       @SuppressWarnings("unchecked")
+   private void setDefaultValue()
+       {
+          IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
+          final List<ServerVariable> list = selection.toList();
+          
+          new ConsoleJob("Set default server config values", this, Activator.PLUGIN_ID, ServerConfigurationEditor.JOB_FAMILY) {         
+         @Override
+         protected void runInternal(IProgressMonitor monitor) throws Exception
+         {
+            session.setDefaultServerValues(list);
+            varList = session.getServerVariables();
+            runInUIThread(new Runnable() {
+               @Override
+               public void run()
+               {
+                  synchronized(varList)
+                  {
+                     viewer.setInput(varList.values().toArray());
+                  }
+               }
+            });
+         }         
+         @Override
+         protected String getErrorMessage()
+         {
+            return "Error setting default server config values";
+         }
+      }.start();
+       }
 }
index 6b4ba35..0553b7e 100644 (file)
@@ -39,6 +39,9 @@ public class ServerVariableComparator extends ViewerComparator
                           else
                              result = ((ServerVariable)e1).getValue().compareToIgnoreCase(((ServerVariable)e2).getValue());
                                break;
+                       case ServerConfigurationEditor.COLUMN_DEFAULT_VALUE:
+            result = ((ServerVariable)e1).getDefaultValue().compareToIgnoreCase(((ServerVariable)e2).getDefaultValue());
+            break;
                        case ServerConfigurationEditor.COLUMN_NEED_RESTART:
                                result = compareBooleans(((ServerVariable)e1).isServerRestartNeeded(), ((ServerVariable)e2).isServerRestartNeeded());
                                break;
index 2c81573..1b9172f 100644 (file)
  */
 package org.netxms.ui.eclipse.serverconfig.views.helpers;
 
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.ITableFontProvider;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
 import org.netxms.client.server.ServerVariable;
 import org.netxms.ui.eclipse.serverconfig.Messages;
 import org.netxms.ui.eclipse.serverconfig.views.ServerConfigurationEditor;
@@ -28,8 +34,20 @@ import org.netxms.ui.eclipse.serverconfig.views.ServerConfigurationEditor;
 /**
  * Label provider for server configuration variables
  */
-public class ServerVariablesLabelProvider extends LabelProvider implements ITableLabelProvider
+public class ServerVariablesLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider
 {
+   private Font textFont;
+   
+   /**
+    * The constructor
+    */
+   public ServerVariablesLabelProvider()
+   {
+      FontData fd = JFaceResources.getDefaultFont().getFontData()[0];
+      fd.setStyle(SWT.BOLD);
+      textFont = new Font(Display.getDefault(), fd);
+   }
+   
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
         */
@@ -45,6 +63,8 @@ public class ServerVariablesLabelProvider extends LabelProvider implements ITabl
                              return ((ServerVariable)obj).getValueDescription();
                           else
                              return ((ServerVariable)obj).getValue();
+                       case ServerConfigurationEditor.COLUMN_DEFAULT_VALUE:
+                             return ((ServerVariable)obj).getDefaultValue();
                        case ServerConfigurationEditor.COLUMN_NEED_RESTART:
                                return ((ServerVariable)obj).isServerRestartNeeded() ? Messages.get().ServerVariablesLabelProvider_Yes : Messages.get().ServerVariablesLabelProvider_No;
          case ServerConfigurationEditor.COLUMN_DESCRIPTION:
@@ -70,4 +90,27 @@ public class ServerVariablesLabelProvider extends LabelProvider implements ITabl
        {
                return null;
        }
+
+   /* (non-Javadoc)
+    * @see org.eclipse.jface.viewers.ITableFontProvider#getFont(java.lang.Object, int)
+    */
+   @Override
+   public Font getFont(Object element, int columnIndex)
+   {
+      if (((ServerVariable)element).isDefault())
+      {
+         return null;
+      }
+      return textFont;
+   }
+
+   /* (non-Javadoc)
+    * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
+    */
+   @Override
+   public void dispose()
+   {
+      textFont.dispose();
+      super.dispose();
+   }
 }
\ No newline at end of file
index cf85293..e336758 100644 (file)
@@ -177,7 +177,7 @@ TCHAR LIBNETXMS_EXPORTABLE *NXCPMessageCodeName(WORD code, TCHAR *pszBuffer)
       _T("CMD_TABLE_DATA"),
       _T("CMD_CANCEL_JOB"),
       _T("CMD_CHANGE_SUBSCRIPTION"),
-      _T("<unused>0x008B"),
+      _T("CMD_SET_CONFIG_TO_DEFAULT"),
       _T("CMD_SYSLOG_RECORDS"),
       _T("CMD_JOB_CHANGE_NOTIFICATION"),
       _T("CMD_DEPLOY_AGENT_POLICY"),
index a9b8836..7680190 100644 (file)
@@ -671,6 +671,9 @@ void ClientSession::processingThread()
          case CMD_SET_CONFIG_VARIABLE:
             setConfigurationVariable(pMsg);
             break;
+         case CMD_SET_CONFIG_TO_DEFAULT:
+            setDefaultConfigurationVariableValues(pMsg);
+            break;
          case CMD_DELETE_CONFIG_VARIABLE:
             deleteConfigurationVariable(pMsg);
             break;
@@ -2376,19 +2379,20 @@ void ClientSession::getConfigurationVariables(UINT32 dwRqId)
       DB_HANDLE hdb = DBConnectionPoolAcquireConnection();
 
       // Retrieve configuration variables from database
-      DB_RESULT hResult = DBSelect(hdb, _T("SELECT var_name,var_value,need_server_restart,data_type,description FROM config WHERE is_visible=1"));
+      DB_RESULT hResult = DBSelect(hdb, _T("SELECT var_name,var_value,need_server_restart,data_type,description,default_value FROM config WHERE is_visible=1"));
       if (hResult != NULL)
       {
          // Send events, one per message
          dwNumRecords = DBGetNumRows(hResult);
          msg.setField(VID_NUM_VARIABLES, dwNumRecords);
-         for(i = 0, dwId = VID_VARLIST_BASE; i < dwNumRecords; i++)
+         for(i = 0, dwId = VID_VARLIST_BASE; i < dwNumRecords; i++, dwId += 10)
          {
-            msg.setField(dwId++, DBGetField(hResult, i, 0, szBuffer, MAX_DB_STRING));
-            msg.setField(dwId++, DBGetField(hResult, i, 1, szBuffer, MAX_CONFIG_VALUE));
-            msg.setField(dwId++, (WORD)DBGetFieldLong(hResult, i, 2));
-            msg.setField(dwId++, DBGetField(hResult, i, 3, szBuffer, MAX_CONFIG_VALUE));
-            msg.setField(dwId++, DBGetField(hResult, i, 4, szBuffer, MAX_CONFIG_VALUE));
+            msg.setField(dwId, DBGetField(hResult, i, 0, szBuffer, MAX_DB_STRING));
+            msg.setField(dwId + 1, DBGetField(hResult, i, 1, szBuffer, MAX_CONFIG_VALUE));
+            msg.setField(dwId + 2, (WORD)DBGetFieldLong(hResult, i, 2));
+            msg.setField(dwId + 3, DBGetField(hResult, i, 3, szBuffer, MAX_CONFIG_VALUE));
+            msg.setField(dwId + 4, DBGetField(hResult, i, 4, szBuffer, MAX_CONFIG_VALUE));
+            msg.setField(dwId + 5, DBGetField(hResult, i, 5, szBuffer, MAX_CONFIG_VALUE));
          }
          DBFreeResult(hResult);
 
@@ -2490,15 +2494,15 @@ void ClientSession::setConfigurationVariable(NXCPMessage *pRequest)
       pRequest->getFieldAsString(VID_VALUE, newValue, MAX_CONFIG_VALUE);
       ConfigReadStr(name, oldValue, MAX_CONFIG_VALUE, _T(""));
       if (ConfigWriteStr(name, newValue, true))
-               {
+      {
          msg.setField(VID_RCC, RCC_SUCCESS);
-                       writeAuditLogWithValues(AUDIT_SYSCFG, true, 0, oldValue, newValue,
-                                                                   _T("Server configuration variable \"%s\" changed from \"%s\" to \"%s\""), name, oldValue, newValue);
-               }
+         writeAuditLogWithValues(AUDIT_SYSCFG, true, 0, oldValue, newValue,
+                                 _T("Server configuration variable \"%s\" changed from \"%s\" to \"%s\""), name, oldValue, newValue);
+      }
       else
-               {
+      {
          msg.setField(VID_RCC, RCC_DB_FAILURE);
-               }
+      }
    }
    else
    {
@@ -2511,6 +2515,53 @@ void ClientSession::setConfigurationVariable(NXCPMessage *pRequest)
 }
 
 /**
+ * Set configuration variable's values to default
+ */
+void ClientSession::setDefaultConfigurationVariableValues(NXCPMessage *pRequest)
+{
+   NXCPMessage msg(CMD_REQUEST_COMPLETED, pRequest->getId());
+   UINT32 rcc = RCC_SUCCESS;
+
+   if (checkSysAccessRights(SYSTEM_ACCESS_SERVER_CONFIG))
+   {
+      DB_HANDLE hdb = DBConnectionPoolAcquireConnection();
+      DB_STATEMENT stmt = DBPrepare(hdb, _T("SELECT default_value FROM config WHERE var_name=?"));
+      if (stmt != NULL)
+      {
+         UINT32 numVars = pRequest->getFieldAsUInt32(VID_NUM_VARIABLES), base = VID_VARLIST_BASE;
+         TCHAR varName[64], defValue[MAX_CONFIG_VALUE];
+         for(int i = 0; i < numVars; i++)
+         {
+            pRequest->getFieldAsString(base++, varName, 64);
+            DBBind(stmt, 1, DB_SQLTYPE_VARCHAR, varName, DB_BIND_STATIC);
+
+            DB_RESULT result = DBSelectPrepared(stmt);
+            if (result != NULL)
+            {
+               DBGetField(result, 0, 0, defValue, MAX_CONFIG_VALUE);
+               ConfigWriteStr(varName, defValue, false);
+            }
+            else
+               rcc = RCC_DB_FAILURE;
+         }
+         DBFreeStatement(stmt);
+      }
+      else
+         rcc = RCC_DB_FAILURE;
+      DBConnectionPoolReleaseConnection(hdb);
+   }
+   else
+   {
+      writeAuditLog(AUDIT_SYSCFG, false, 0, _T("Access denied for setting server configuration variables to default"));
+      rcc = RCC_ACCESS_DENIED;
+   }
+   // Send response
+   msg.setField(VID_RCC, rcc);
+   sendMessage(&msg);
+
+}
+
+/**
  * Delete configuration variable
  */
 void ClientSession::deleteConfigurationVariable(NXCPMessage *pRequest)
index 72a8772..a423a39 100644 (file)
@@ -517,6 +517,7 @@ private:
    void sendSelectedObjects(NXCPMessage *pRequest);
    void getConfigurationVariables(UINT32 dwRqId);
    void getPublicConfigurationVariable(NXCPMessage *request);
+   void setDefaultConfigurationVariableValues(NXCPMessage *pRequest);
    void setConfigurationVariable(NXCPMessage *pRequest);
    void deleteConfigurationVariable(NXCPMessage *pRequest);
    void sendUserDB(UINT32 dwRqId);
index 4219cff..1ee997d 100644 (file)
@@ -747,6 +747,192 @@ static bool SetSchemaVersion(int version)
 }
 
 /**
+ * Upgrade from V453 to V454
+ */
+static BOOL H_UpgradeFromV453(int currVersion, int newVersion)
+{
+   static const TCHAR *batch =
+            _T("ALTER TABLE config ADD default_value varchar(2000) null\n")
+            _T("UPDATE config SET default_value='7200' WHERE var_name='ActiveDiscoveryInterval'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ActiveNetworkDiscovery'\n")
+            _T("UPDATE config SET default_value='4000' WHERE var_name='AgentCommandTimeout'\n")
+            _T("UPDATE config SET default_value='netxms' WHERE var_name='AgentDefaultSharedSecret'\n")
+            _T("UPDATE config SET default_value='600' WHERE var_name='AgentUpgradeWaitTime'\n")
+            _T("UPDATE config SET default_value='180' WHERE var_name='AlarmHistoryRetentionTime'\n")
+            _T("UPDATE config SET default_value='4096' WHERE var_name='AlarmListDisplayLimit'\n")
+            _T("UPDATE config SET default_value='0 0 * * *' WHERE var_name='AlarmSummaryEmailSchedule'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='AllowDirectSMS'\n")
+            _T("UPDATE config SET default_value='63' WHERE var_name='AllowedCiphers'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='AllowTrapVarbindsConversion'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='AnonymousFileAccess'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='ApplyDCIFromTemplateToDisabledDCI'\n")
+            _T("UPDATE config SET default_value='90' WHERE var_name='AuditLogRetentionTime'\n")
+            _T("UPDATE config SET default_value='1000' WHERE var_name='BeaconPollingInterval'\n")
+            _T("UPDATE config SET default_value='1000' WHERE var_name='BeaconTimeout'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='BlockInactiveUserAccounts'\n")
+            _T("UPDATE config SET default_value='604800' WHERE var_name='CapabilityExpirationTime'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='CaseInsensitiveLoginNames'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='CheckTrustedNodes'\n")
+            _T("UPDATE config SET default_value='4701' WHERE var_name='ClientListenerPort'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ClusterContainerAutoBind'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ClusterTemplateAutoApply'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='ConditionPollingInterval'\n")
+            _T("UPDATE config SET default_value='3600' WHERE var_name='ConfigurationPollingInterval'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DashboardDataExportEnableInterpolation'\n")
+            _T("UPDATE config SET default_value='10' WHERE var_name='DBConnectionPoolBaseSize'\n")
+            _T("UPDATE config SET default_value='300' WHERE var_name='DBConnectionPoolCooldownTime'\n")
+            _T("UPDATE config SET default_value='14400' WHERE var_name='DBConnectionPoolMaxLifetime'\n")
+            _T("UPDATE config SET default_value='30' WHERE var_name='DBConnectionPoolMaxSize'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='DBLockPID'\n")
+            _T("UPDATE config SET default_value='UNLOCKED' WHERE var_name='DBLockStatus'\n")
+            _T("UPDATE config SET default_value='2' WHERE var_name='DefaultAgentCacheMode'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DefaultAgentProtocolCompressionMode'\n")
+            _T("UPDATE config SET default_value='dd.MM.yyyy' WHERE var_name='DefaultConsoleDateFormat'\n")
+            _T("UPDATE config SET default_value='HH:mm' WHERE var_name='DefaultConsoleShortTimeFormat'\n")
+            _T("UPDATE config SET default_value='HH:mm:ss' WHERE var_name='DefaultConsoleTimeFormat'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='DefaultDCIPollingInterval'\n")
+            _T("UPDATE config SET default_value='30' WHERE var_name='DefaultDCIRetentionTime'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DefaultEncryptionPolicy'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DefaultInterfaceExpectedState'\n")
+            _T("UPDATE config SET default_value='0xffffff' WHERE var_name='DefaultMapBackgroundColor'\n")
+            _T("UPDATE config SET default_value='24' WHERE var_name='DefaultSubnetMaskIPv4'\n")
+            _T("UPDATE config SET default_value='64' WHERE var_name='DefaultSubnetMaskIPv6'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DeleteAlarmsOfDeletedObject'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='DeleteEmptySubnets'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='DeleteEventsOfDeletedObject'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='DeleteUnreachableNodesPeriod'\n")
+            _T("UPDATE config SET default_value='none' WHERE var_name='DiscoveryFilter'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='DiscoveryFilterFlags'\n")
+            _T("UPDATE config SET default_value='900' WHERE var_name='DiscoveryPollingInterval'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableAdminInterface'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableAgentRegistration'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableAuditLog'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableCheckPointSNMP'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableReportingServer'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableEventStormDetection'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableISCListener'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableNXSLContainerFunctions'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableObjectTransactions'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableSNMPTraps'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableAlarmSummaryEmails'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableSyslogReceiver'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='EnableTimedAlarmAck'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableXMPPConnector'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EnableZoning'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='EscapeLocalCommands'\n")
+            _T("UPDATE config SET default_value='90' WHERE var_name='EventLogRetentionTime'\n")
+            _T("UPDATE config SET default_value='15' WHERE var_name='EventStormDuration'\n")
+            _T("UPDATE config SET default_value='100' WHERE var_name='EventStormEventsPerSecond'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ExtendedLogQueryAccessControl'\n")
+            _T("UPDATE config SET default_value='13' WHERE var_name='ExternalAuditFacility'\n")
+            _T("UPDATE config SET default_value='514' WHERE var_name='ExternalAuditPort'\n")
+            _T("UPDATE config SET default_value='none' WHERE var_name='ExternalAuditServer'\n")
+            _T("UPDATE config SET default_value='5' WHERE var_name='ExternalAuditSeverity'\n")
+            _T("UPDATE config SET default_value='netxmsd-audit' WHERE var_name='ExternalAuditTag'\n")
+            _T("UPDATE config SET default_value='100' WHERE var_name='FirstFreeObjectId'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='FixedStatusValue'\n")
+            _T("UPDATE config SET default_value='5' WHERE var_name='GraceLoginCount'\n")
+            _T("UPDATE config SET default_value='none' WHERE var_name='HelpDeskLink'\n")
+            _T("UPDATE config SET default_value='02:00' WHERE var_name='HousekeeperStartTime'\n")
+            _T("UPDATE config SET default_value='46' WHERE var_name='IcmpPingSize'\n")
+            _T("UPDATE config SET default_value='1500' WHERE var_name='IcmpPingTimeout'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='ImportConfigurationOnStartup'\n")
+            _T("UPDATE config SET default_value='600' WHERE var_name='InstancePollingInterval'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='InternalCA'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='IntruderLockoutThreshold'\n")
+            _T("UPDATE config SET default_value='30' WHERE var_name='IntruderLockoutTime'\n")
+            _T("UPDATE config SET default_value='Task' WHERE var_name='JiraIssueType'\n")
+            _T("UPDATE config SET default_value='netxms' WHERE var_name='JiraLogin'\n")
+            _T("UPDATE config SET default_value='NETXMS' WHERE var_name='JiraProjectCode'\n")
+            _T("UPDATE config SET default_value='http://localhost' WHERE var_name='JiraServerURL'\n")
+            _T("UPDATE config SET default_value='90' WHERE var_name='JobHistoryRetentionTime'\n")
+            _T("UPDATE config SET default_value='5' WHERE var_name='JobRetryCount'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='KeepAliveInterval'\n")
+            _T("UPDATE config SET default_value='ldap://localhost:389' WHERE var_name='LdapConnectionString'\n")
+            _T("UPDATE config SET default_value='displayName' WHERE var_name='LdapMappingFullName'\n")
+            _T("UPDATE config SET default_value='1000' WHERE var_name='LdapPageSize'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='LdapSyncInterval'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='LdapUserDeleteAction'\n")
+            _T("UPDATE config SET default_value='60000' WHERE var_name='LockTimeout'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='LogAllSNMPTraps'\n")
+            _T("UPDATE config SET default_value='utf8' WHERE var_name='MailEncoding'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='MinPasswordLength'\n")
+            _T("UPDATE config SET default_value='1000' WHERE var_name='MinViewRefreshInterval'\n")
+            _T("UPDATE config SET default_value='4747' WHERE var_name='MobileDeviceListenerPort'\n")
+            _T("UPDATE config SET default_value='25' WHERE var_name='NumberOfDataCollectors'\n")
+            _T("UPDATE config SET default_value='10' WHERE var_name='NumberOfUpgradeThreads'\n")
+            _T("UPDATE config SET default_value='86400' WHERE var_name='OfflineDataRelevanceTime'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='PasswordComplexity'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='PasswordExpiration'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='PasswordHistoryLength'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='PollCountForStatusChange'\n")
+            _T("UPDATE config SET default_value='10' WHERE var_name='PollerThreadPoolBaseSize'\n")
+            _T("UPDATE config SET default_value='250' WHERE var_name='PollerThreadPoolMaxSize'\n")
+            _T("UPDATE config SET default_value='PAP' WHERE var_name='RADIUSAuthMethod'\n")
+            _T("UPDATE config SET default_value='5' WHERE var_name='RADIUSNumRetries'\n")
+            _T("UPDATE config SET default_value='1645' WHERE var_name='RADIUSPort'\n")
+            _T("UPDATE config SET default_value='1645' WHERE var_name='RADIUSSecondaryPort'\n")
+            _T("UPDATE config SET default_value='netxms' WHERE var_name='RADIUSSecondarySecret'\n")
+            _T("UPDATE config SET default_value='none' WHERE var_name='RADIUSSecondaryServer'\n")
+            _T("UPDATE config SET default_value='netxms' WHERE var_name='RADIUSSecret'\n")
+            _T("UPDATE config SET default_value='none' WHERE var_name='RADIUSServer'\n")
+            _T("UPDATE config SET default_value='3' WHERE var_name='RADIUSTimeout'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ReceiveForwardedEvents'\n")
+            _T("UPDATE config SET default_value='localhost' WHERE var_name='ReportingServerHostname'\n")
+            _T("UPDATE config SET default_value='4710' WHERE var_name='ReportingServerPort'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ResolveDNSToIPOnStatusPoll'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='ResolveNodeNames'\n")
+            _T("UPDATE config SET default_value='300' WHERE var_name='RoutingTableUpdateInterval'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='RunNetworkDiscovery'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='ServerCommandOutputTimeout'\n")
+            _T("UPDATE config SET default_value='<none>' WHERE var_name='SMSDriver'\n")
+            _T("UPDATE config SET default_value='161' WHERE var_name='SNMPPorts'\n")
+            _T("UPDATE config SET default_value='1500' WHERE var_name='SNMPRequestTimeout'\n")
+            _T("UPDATE config SET default_value='90' WHERE var_name='SNMPTrapLogRetentionTime'\n")
+            _T("UPDATE config SET default_value='162' WHERE var_name='SNMPTrapPort'\n")
+            _T("UPDATE config SET default_value='netxms@localhost' WHERE var_name='SMTPFromAddr'\n")
+            _T("UPDATE config SET default_value='NetXMS Server' WHERE var_name='SMTPFromName'\n")
+            _T("UPDATE config SET default_value='25' WHERE var_name='SMTPPort'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='SMTPRetryCount'\n")
+            _T("UPDATE config SET default_value='localhost' WHERE var_name='SMTPServer'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='StatusCalculationAlgorithm'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='StatusPollingInterval'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='StatusPropagationAlgorithm'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='StatusShift'\n")
+            _T("UPDATE config SET default_value='75' WHERE var_name='StatusSingleThreshold'\n")
+            _T("UPDATE config SET default_value='503C2814' WHERE var_name='StatusThresholds'\n")
+            _T("UPDATE config SET default_value='01020304' WHERE var_name='StatusTranslation'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='StrictAlarmStatusFlow'\n")
+            _T("UPDATE config SET default_value='60' WHERE var_name='SyncInterval'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='SyncNodeNamesWithDNS'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='SyslogIgnoreMessageTimestamp'\n")
+            _T("UPDATE config SET default_value='514' WHERE var_name='SyslogListenPort'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='SyslogNodeMatchingPolicy'\n")
+            _T("UPDATE config SET default_value='90' WHERE var_name='SyslogRetentionTime'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='ThresholdRepeatInterval'\n")
+            _T("UPDATE config SET default_value='http://tile.openstreetmap.org/' WHERE var_name='TileServerURL'\n")
+            _T("UPDATE config SET default_value='3' WHERE var_name='TopologyDiscoveryRadius'\n")
+            _T("UPDATE config SET default_value='900' WHERE var_name='TopologyExpirationTime'\n")
+            _T("UPDATE config SET default_value='1800' WHERE var_name='TopologyPollingInterval'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='TrapSourcesInAllZones'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='UseDNSNameForDiscoveredNodes'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='UseFQDNForNodeNames'\n")
+            _T("UPDATE config SET default_value='1' WHERE var_name='UseIfXTable'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='UseInterfaceAliases'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='UseSNMPTrapsForDiscovery'\n")
+            _T("UPDATE config SET default_value='0' WHERE var_name='UseSyslogForDiscovery'\n")
+            _T("UPDATE config SET default_value='netxms@localhost' WHERE var_name='XMPPLogin'\n")
+            _T("UPDATE config SET default_value='netxms' WHERE var_name='XMPPPassword'\n")
+            _T("UPDATE config SET default_value='5222' WHERE var_name='XMPPPort'\n")
+            _T("UPDATE config SET default_value='localhost' WHERE var_name='XMPPServer'\n")
+            _T("<END>");
+   CHK_EXEC(SQLBatch(batch));
+
+   CHK_EXEC(SetSchemaVersion(454));
+   return TRUE;
+}
+
+/**
  * Upgrade from V452 to V453
  */
 static BOOL H_UpgradeFromV452(int currVersion, int newVersion)
@@ -11767,6 +11953,7 @@ static struct
    { 450, 451, H_UpgradeFromV450 },
    { 451, 452, H_UpgradeFromV451 },
    { 452, 453, H_UpgradeFromV452 },
+   { 453, 454, H_UpgradeFromV453 },
    { 0, 0, NULL }
 };
 
index e97c2b3..5a529a6 100644 (file)
@@ -96,12 +96,14 @@ public class ServerConfigurationEditor extends ViewPart
        private Action actionExportAllToCsv;
        private Action actionRefresh;
        private Action actionShowFilter;
+   private Action actionDefaultValue;
        
        // Columns
-       public static final int COLUMN_NAME = 0;
-       public static final int COLUMN_VALUE = 1;
-       public static final int COLUMN_NEED_RESTART = 2;
-       public static final int COLUMN_DESCRIPTION = 3;
+   public static final int COLUMN_NAME = 0;
+   public static final int COLUMN_VALUE = 1;
+   public static final int COLUMN_DEFAULT_VALUE = 2;
+   public static final int COLUMN_NEED_RESTART = 3;
+   public static final int COLUMN_DESCRIPTION = 4;
 
        @Override
    public void init(IViewSite site) throws PartInitException
@@ -139,8 +141,8 @@ public class ServerConfigurationEditor extends ViewPart
          }
       });
           
-               final String[] names = { Messages.get().ServerConfigurationEditor_ColName, Messages.get().ServerConfigurationEditor_ColValue, Messages.get().ServerConfigurationEditor_ColRestart, "Description" };
-               final int[] widths = { 200, 150, 80, 500 };
+               final String[] names = { Messages.get().ServerConfigurationEditor_ColName, Messages.get().ServerConfigurationEditor_ColValue, "Default value", Messages.get().ServerConfigurationEditor_ColRestart, "Description" };
+               final int[] widths = { 200, 150, 150, 80, 500 };
                viewer = new SortableTableViewer(content, names, widths, 0, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER, SortableTableViewer.DEFAULT_STYLE);
                viewer.setContentProvider(new ArrayContentProvider());
                viewer.setLabelProvider(new ServerVariablesLabelProvider());
@@ -161,6 +163,7 @@ public class ServerConfigurationEditor extends ViewPart
                                IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
                                actionEdit.setEnabled(selection.size() == 1);
                                actionDelete.setEnabled(selection.size() > 0);
+            actionDefaultValue.setEnabled(selection.size() > 0);
                        }
                });
                
@@ -338,6 +341,14 @@ public class ServerConfigurationEditor extends ViewPart
       actionShowFilter.setChecked(initShowFilter);
       actionShowFilter.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.show_filter"); //$NON-NLS-1$
       handlerService.activateHandler(actionShowFilter.getActionDefinitionId(), new ActionHandler(actionShowFilter));
+      
+      actionDefaultValue = new Action("Set default value") {
+         @Override
+         public void run()
+         {
+            setDefaultValue();
+         }
+      };
                
                actionExportToCsv = new ExportToCsvAction(this, viewer, true);
                actionExportAllToCsv = new ExportToCsvAction(this, viewer, false);
@@ -417,6 +428,7 @@ public class ServerConfigurationEditor extends ViewPart
                mgr.add(actionAdd);
                mgr.add(actionEdit);
                mgr.add(actionDelete);
+      mgr.add(actionDefaultValue);
                mgr.add(new Separator());
                mgr.add(actionExportToCsv);
        }
@@ -541,4 +553,38 @@ public class ServerConfigurationEditor extends ViewPart
                        }
                }.start();
        }
+       
+        /**
+    * Reset variable values to default
+    */
+   @SuppressWarnings("unchecked")
+   private void setDefaultValue()
+   {
+      IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
+      final List<ServerVariable> list = selection.toList();
+      
+      new ConsoleJob("Set default server config values", this, Activator.PLUGIN_ID, ServerConfigurationEditor.JOB_FAMILY) {         
+         @Override
+         protected void runInternal(IProgressMonitor monitor) throws Exception
+         {
+            session.setDefaultServerValues(list);
+            varList = session.getServerVariables();
+            runInUIThread(new Runnable() {
+               @Override
+               public void run()
+               {
+                  synchronized(varList)
+                  {
+                     viewer.setInput(varList.values().toArray());
+                  }
+               }
+            });
+         }         
+         @Override
+         protected String getErrorMessage()
+         {
+            return "Error setting default server config values";
+         }
+      }.start();
+   }
 }
index 094ebf9..740a8c2 100644 (file)
@@ -39,6 +39,9 @@ public class ServerVariableComparator extends ViewerComparator
                           else
                              result = ((ServerVariable)e1).getValue().compareToIgnoreCase(((ServerVariable)e2).getValue());
                                break;
+                       case ServerConfigurationEditor.COLUMN_DEFAULT_VALUE:
+                          result = ((ServerVariable)e1).getDefaultValue().compareToIgnoreCase(((ServerVariable)e2).getDefaultValue());
+                          break;
                        case ServerConfigurationEditor.COLUMN_NEED_RESTART:
                                result = compareBooleans(((ServerVariable)e1).isServerRestartNeeded(), ((ServerVariable)e2).isServerRestartNeeded());
                                break;
index b3341c2..4d8a810 100644 (file)
  */
 package org.netxms.ui.eclipse.serverconfig.views.helpers;
 
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.ITableFontProvider;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
 import org.netxms.client.server.ServerVariable;
 import org.netxms.ui.eclipse.serverconfig.Messages;
 import org.netxms.ui.eclipse.serverconfig.views.ServerConfigurationEditor;
@@ -28,8 +34,20 @@ import org.netxms.ui.eclipse.serverconfig.views.ServerConfigurationEditor;
 /**
  * Label provider for server configuration variables
  */
-public class ServerVariablesLabelProvider extends LabelProvider implements ITableLabelProvider
+public class ServerVariablesLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider
 {
+   private Font textFont;
+   
+   /**
+    * The constructor
+    */
+   public ServerVariablesLabelProvider()
+   {
+      FontData fd = JFaceResources.getDefaultFont().getFontData()[0];
+      fd.setStyle(SWT.BOLD);
+      textFont = new Font(Display.getDefault(), fd);
+   }
+   
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
         */
@@ -45,6 +63,8 @@ public class ServerVariablesLabelProvider extends LabelProvider implements ITabl
                              return ((ServerVariable)obj).getValueDescription();
                           else
                              return ((ServerVariable)obj).getValue();
+                       case ServerConfigurationEditor.COLUMN_DEFAULT_VALUE:
+                             return ((ServerVariable)obj).getDefaultValue();
                        case ServerConfigurationEditor.COLUMN_NEED_RESTART:
                                return ((ServerVariable)obj).isServerRestartNeeded() ? Messages.get().ServerVariablesLabelProvider_Yes : Messages.get().ServerVariablesLabelProvider_No;
          case ServerConfigurationEditor.COLUMN_DESCRIPTION:
@@ -70,4 +90,27 @@ public class ServerVariablesLabelProvider extends LabelProvider implements ITabl
        {
                return null;
        }
+
+   /* (non-Javadoc)
+    * @see org.eclipse.jface.viewers.ITableFontProvider#getFont(java.lang.Object, int)
+    */
+   @Override
+   public Font getFont(Object element, int columnIndex)
+   {
+      if (((ServerVariable)element).isDefault())
+      {
+         return null;
+      }
+      return textFont;
+   }
+   
+   /* (non-Javadoc)
+    * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
+    */
+   @Override
+   public void dispose()
+   {
+      textFont.dispose();
+      super.dispose();
+   }
 }