Skip to content

Commit

Permalink
Don't print config keyword aliases.
Browse files Browse the repository at this point in the history
Some config keywords are an alias for an other when dumping the config
we should not print these entries as otherwise we get the same config
keyword set multiple times.
  • Loading branch information
Marco van Wieringen committed Feb 17, 2015
1 parent 1544cff commit 10df2e9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 14 deletions.
20 changes: 10 additions & 10 deletions src/dird/dird_conf.c
Expand Up @@ -183,12 +183,12 @@ static RES_ITEM cli_items[] = {
{ "protocol", CFG_TYPE_AUTHPROTOCOLTYPE, ITEM(res_client.Protocol), 0, CFG_ITEM_DEFAULT, "Native" },
{ "authtype", CFG_TYPE_AUTHTYPE, ITEM(res_client.AuthType), 0, CFG_ITEM_DEFAULT, "None" },
{ "address", CFG_TYPE_STR, ITEM(res_client.address), 0, CFG_ITEM_REQUIRED, NULL },
{ "fdaddress", CFG_TYPE_STR, ITEM(res_client.address), 0, 0, NULL },
{ "fdaddress", CFG_TYPE_STR, ITEM(res_client.address), 0, CFG_ITEM_ALIAS, NULL },
{ "port", CFG_TYPE_PINT32, ITEM(res_client.FDport), 0, CFG_ITEM_DEFAULT, FD_DEFAULT_PORT },
{ "fdport", CFG_TYPE_PINT32, ITEM(res_client.FDport), 0, CFG_ITEM_DEFAULT, FD_DEFAULT_PORT },
{ "fdport", CFG_TYPE_PINT32, ITEM(res_client.FDport), 0, CFG_ITEM_DEFAULT | CFG_ITEM_ALIAS, FD_DEFAULT_PORT },
{ "username", CFG_TYPE_STR, ITEM(res_client.username), 0, 0, NULL },
{ "password", CFG_TYPE_AUTOPASSWORD, ITEM(res_client.password), 0, CFG_ITEM_REQUIRED, NULL },
{ "fdpassword", CFG_TYPE_AUTOPASSWORD, ITEM(res_client.password), 0, 0, NULL },
{ "fdpassword", CFG_TYPE_AUTOPASSWORD, ITEM(res_client.password), 0, CFG_ITEM_ALIAS, NULL },
{ "catalog", CFG_TYPE_RES, ITEM(res_client.catalog), R_CATALOG, 0, NULL },
{ "passive", CFG_TYPE_BOOL, ITEM(res_client.passive), 0, CFG_ITEM_DEFAULT, "false" },
{ "hardquota", CFG_TYPE_SIZE64, ITEM(res_client.HardQuota), 0, CFG_ITEM_DEFAULT, "0" },
Expand Down Expand Up @@ -226,12 +226,12 @@ static RES_ITEM store_items[] = {
{ "protocol", CFG_TYPE_AUTHPROTOCOLTYPE, ITEM(res_store.Protocol), 0, CFG_ITEM_DEFAULT, "Native" },
{ "authtype", CFG_TYPE_AUTHTYPE, ITEM(res_store.AuthType), 0, CFG_ITEM_DEFAULT, "None" },
{ "address", CFG_TYPE_STR, ITEM(res_store.address), 0, CFG_ITEM_REQUIRED, NULL },
{ "sdaddress", CFG_TYPE_STR, ITEM(res_store.address), 0, 0, NULL },
{ "sdaddress", CFG_TYPE_STR, ITEM(res_store.address), 0, CFG_ITEM_ALIAS, NULL },
{ "port", CFG_TYPE_PINT32, ITEM(res_store.SDport), 0, CFG_ITEM_DEFAULT, SD_DEFAULT_PORT },
{ "sdport", CFG_TYPE_PINT32, ITEM(res_store.SDport), 0, CFG_ITEM_DEFAULT, SD_DEFAULT_PORT },
{ "sdport", CFG_TYPE_PINT32, ITEM(res_store.SDport), 0, CFG_ITEM_DEFAULT | CFG_ITEM_ALIAS, SD_DEFAULT_PORT },
{ "username", CFG_TYPE_STR, ITEM(res_store.username), 0, 0, NULL },
{ "password", CFG_TYPE_AUTOPASSWORD, ITEM(res_store.password), 0, CFG_ITEM_REQUIRED, NULL },
{ "sdpassword", CFG_TYPE_AUTOPASSWORD, ITEM(res_store.password), 0, 0, NULL },
{ "sdpassword", CFG_TYPE_AUTOPASSWORD, ITEM(res_store.password), 0, CFG_ITEM_ALIAS, NULL },
{ "device", CFG_TYPE_DEVICE, ITEM(res_store.device), R_DEVICE, CFG_ITEM_REQUIRED, NULL },
{ "mediatype", CFG_TYPE_STRNAME, ITEM(res_store.media_type), 0, CFG_ITEM_REQUIRED, NULL },
{ "autochanger", CFG_TYPE_BOOL, ITEM(res_store.autochanger), 0, CFG_ITEM_DEFAULT, "false" },
Expand Down Expand Up @@ -262,13 +262,13 @@ static RES_ITEM store_items[] = {
static RES_ITEM cat_items[] = {
{ "name", CFG_TYPE_NAME, ITEM(res_cat.hdr.name), 0, CFG_ITEM_REQUIRED, NULL },
{ "description", CFG_TYPE_STR, ITEM(res_cat.hdr.desc), 0, 0, NULL },
{ "address", CFG_TYPE_STR, ITEM(res_cat.db_address), 0, 0, NULL },
{ "address", CFG_TYPE_STR, ITEM(res_cat.db_address), 0, CFG_ITEM_ALIAS, NULL },
{ "dbaddress", CFG_TYPE_STR, ITEM(res_cat.db_address), 0, 0, NULL },
{ "dbport", CFG_TYPE_PINT32, ITEM(res_cat.db_port), 0, 0, NULL },
{ "password", CFG_TYPE_AUTOPASSWORD, ITEM(res_cat.db_password), 0, 0, NULL },
{ "password", CFG_TYPE_AUTOPASSWORD, ITEM(res_cat.db_password), 0, CFG_ITEM_ALIAS, NULL },
{ "dbpassword", CFG_TYPE_AUTOPASSWORD, ITEM(res_cat.db_password), 0, 0, NULL },
{ "dbuser", CFG_TYPE_STR, ITEM(res_cat.db_user), 0, 0, NULL },
{ "user", CFG_TYPE_STR, ITEM(res_cat.db_user), 0, 0, NULL },
{ "user", CFG_TYPE_STR, ITEM(res_cat.db_user), 0, CFG_ITEM_ALIAS, NULL },
{ "dbname", CFG_TYPE_STR, ITEM(res_cat.db_name), 0, CFG_ITEM_REQUIRED, NULL },
#ifdef HAVE_DYNAMIC_CATS_BACKENDS
{ "dbdriver", CFG_TYPE_STR, ITEM(res_cat.db_driver), 0, CFG_ITEM_REQUIRED, NULL },
Expand Down Expand Up @@ -309,7 +309,7 @@ RES_ITEM job_items[] = {
{ "client", CFG_TYPE_RES, ITEM(res_job.client), R_CLIENT, 0, NULL },
{ "fileset", CFG_TYPE_RES, ITEM(res_job.fileset), R_FILESET, 0, NULL },
{ "schedule", CFG_TYPE_RES, ITEM(res_job.schedule), R_SCHEDULE, 0, NULL },
{ "verifyjob", CFG_TYPE_RES, ITEM(res_job.verify_job), R_JOB, 0, NULL },
{ "verifyjob", CFG_TYPE_RES, ITEM(res_job.verify_job), R_JOB, CFG_ITEM_ALIAS, NULL },
{ "jobtoverify", CFG_TYPE_RES, ITEM(res_job.verify_job), R_JOB, 0, NULL },
{ "jobdefs", CFG_TYPE_RES, ITEM(res_job.jobdefs), R_JOBDEFS, 0, NULL },
{ "run", CFG_TYPE_ALIST_STR, ITEM(res_job.run_cmds), 0, 0, NULL },
Expand Down
9 changes: 5 additions & 4 deletions src/lib/parse_conf.h
Expand Up @@ -138,10 +138,11 @@ struct RES_TABLE {

/*
*/
#define CFG_ITEM_REQUIRED 0x1 /* Item required */
#define CFG_ITEM_DEFAULT 0x2 /* Default supplied */
#define CFG_ITEM_NO_EQUALS 0x4 /* Don't scan = after name */
#define CFG_ITEM_DEPRECATED 0x8 /* Deprecated config option */
#define CFG_ITEM_REQUIRED 0x1 /* Item required */
#define CFG_ITEM_DEFAULT 0x2 /* Default supplied */
#define CFG_ITEM_NO_EQUALS 0x4 /* Don't scan = after name */
#define CFG_ITEM_DEPRECATED 0x8 /* Deprecated config option */
#define CFG_ITEM_ALIAS 0x10 /* Item is an alias for an other */

/*
* Standard global types with handlers defined in res.c
Expand Down
7 changes: 7 additions & 0 deletions src/lib/res.c
Expand Up @@ -1385,6 +1385,13 @@ bool BRSRES::print_config(POOL_MEM &buff)
for (i = 0; items[i].name; i++) {
bool print_item = false;

/*
* If this is an alias for an other config keyword suppress it.
*/
if ((items[i].flags & CFG_ITEM_ALIAS)) {
continue;
}

switch (items[i].type) {
case CFG_TYPE_STR:
case CFG_TYPE_DIR:
Expand Down

0 comments on commit 10df2e9

Please sign in to comment.