diff -crB zabbix-2.0.5/include/common.h zabbix-2.0.5-mod/include/common.h *** zabbix-2.0.5/include/common.h 2013-02-12 03:27:22.000000000 -0800 --- zabbix-2.0.5-mod/include/common.h 2013-02-16 14:40:38.000000000 -0800 *************** *** 764,770 **** ZBX_TASK_START_SERVICE, ZBX_TASK_STOP_SERVICE, ZBX_TASK_CHANGE_NODEID, ! ZBX_TASK_CONFIG_CACHE_RELOAD } zbx_task_t; --- 764,771 ---- ZBX_TASK_START_SERVICE, ZBX_TASK_STOP_SERVICE, ZBX_TASK_CHANGE_NODEID, ! ZBX_TASK_CONFIG_CACHE_RELOAD, ! ZBX_TASK_CONFIG_TEST } zbx_task_t; diff -crB zabbix-2.0.5/src/zabbix_agent/zabbix_agent.c zabbix-2.0.5-mod/src/zabbix_agent/zabbix_agent.c *** zabbix-2.0.5/src/zabbix_agent/zabbix_agent.c 2013-02-12 03:27:22.000000000 -0800 --- zabbix-2.0.5-mod/src/zabbix_agent/zabbix_agent.c 2013-02-18 17:37:15.000000000 -0800 *************** *** 28,34 **** const char *progname = NULL; const char title_message[] = "Zabbix agent"; ! const char usage_message[] = "[-Vhp] [-c ] [-t ]"; const char *help_message[] = { "Options:", --- 28,34 ---- const char *progname = NULL; const char title_message[] = "Zabbix agent"; ! const char usage_message[] = "[-Vfhp] [-c ] [-t ]"; const char *help_message[] = { "Options:", *************** *** 37,42 **** --- 37,43 ---- " -t --test Test specified item and exit", " -h --help Give this help", " -V --version Display version number", + " -f --testconfig Test the config file", NULL /* end of text */ }; *************** *** 47,52 **** --- 48,54 ---- {"version", 0, NULL, 'V'}, {"print", 0, NULL, 'p'}, {"test", 1, NULL, 't'}, + {"testconfig", 0, NULL, 'f'}, {NULL} }; *************** *** 138,144 **** progname = get_program_name(argv[0]); /* parse the command-line */ ! while ((char)EOF != (ch = (char)zbx_getopt_long(argc, argv, "c:hVpt:", longopts, NULL))) { switch (ch) { --- 140,146 ---- progname = get_program_name(argv[0]); /* parse the command-line */ ! while ((char)EOF != (ch = (char)zbx_getopt_long(argc, argv, "c:hfVpt:", longopts, NULL))) { switch (ch) { *************** *** 167,172 **** --- 169,177 ---- TEST_METRIC = strdup(zbx_optarg); } break; + case 'f': + task = ZBX_TASK_CONFIG_TEST; + break; default: usage(); exit(FAIL); *************** *** 210,215 **** --- 215,224 ---- alias_list_free(); exit(SUCCEED); break; + case ZBX_TASK_CONFIG_TEST: + zbx_load_config(ZBX_CFG_FILE_REQUIRED); + exit(SUCCEED); + break; default: /* do nothing */ break; diff -crB zabbix-2.0.5/src/zabbix_agent/zabbix_agentd.c zabbix-2.0.5-mod/src/zabbix_agent/zabbix_agentd.c *** zabbix-2.0.5/src/zabbix_agent/zabbix_agentd.c 2013-02-12 03:27:22.000000000 -0800 --- zabbix-2.0.5-mod/src/zabbix_agent/zabbix_agentd.c 2013-02-18 17:41:56.000000000 -0800 *************** *** 68,74 **** /* application USAGE message */ const char usage_message[] = ! "[-Vhp]" #ifdef _WINDOWS " [-idsx] [-m]" #endif --- 68,74 ---- /* application USAGE message */ const char usage_message[] = ! "[-Vfhp]" #ifdef _WINDOWS " [-idsx] [-m]" #endif *************** *** 84,89 **** --- 84,90 ---- " -t --test Test specified item and exit", " -h --help Give this help", " -V --version Display version number", + " -f --testconfig Test the config file", #ifdef _WINDOWS "", "Functions:", *************** *** 108,113 **** --- 109,115 ---- {"version", 0, NULL, 'V'}, {"print", 0, NULL, 'p'}, {"test", 1, NULL, 't'}, + {"testconfig", 0, NULL, 'f'}, #ifdef _WINDOWS {"install", 0, NULL, 'i'}, {"uninstall", 0, NULL, 'd'}, *************** *** 121,127 **** }; static char shortopts[] = ! "c:hVpt:" #ifdef _WINDOWS "idsxm" #endif --- 123,129 ---- }; static char shortopts[] = ! "c:hVfpt:" #ifdef _WINDOWS "idsxm" #endif *************** *** 176,181 **** --- 178,186 ---- TEST_METRIC = strdup(zbx_optarg); } break; + case 'f': + t->task = ZBX_TASK_CONFIG_TEST; + break; #ifdef _WINDOWS case 'i': t->task = ZBX_TASK_INSTALL_SERVICE; *************** *** 712,717 **** --- 717,726 ---- exit(ret); break; #endif + case ZBX_TASK_CONFIG_TEST: + zbx_load_config(ZBX_CFG_FILE_REQUIRED); + exit(SUCCEED); + break; case ZBX_TASK_TEST_METRIC: case ZBX_TASK_PRINT_SUPPORTED: zbx_load_config(ZBX_CFG_FILE_OPTIONAL); diff -crB zabbix-2.0.5/src/zabbix_proxy/proxy.c zabbix-2.0.5-mod/src/zabbix_proxy/proxy.c *** zabbix-2.0.5/src/zabbix_proxy/proxy.c 2013-02-12 03:27:22.000000000 -0800 --- zabbix-2.0.5-mod/src/zabbix_proxy/proxy.c 2013-02-18 18:17:45.000000000 -0800 *************** *** 62,67 **** --- 62,68 ---- "Options:", " -c --config Absolute path to the configuration file", " -R --runtime-control