Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commits (1)
......@@ -833,15 +833,15 @@ int main(int argc, char **argv)
"`Area File` (e.g. areas.bbs) for advanced AreaFix/AreaMgr operations."
;
i=0;
sprintf(opt[i++],"Global Settings...");
sprintf(opt[i++],"Linked Nodes...");
sprintf(opt[i++],"Archive Types...");
sprintf(opt[i++],"NetMail Settings...");
sprintf(opt[i++],"EchoMail Settings...");
sprintf(opt[i++],"Paths and Filenames...");
sprintf(opt[i++],"Robots...");
sprintf(opt[i++],"Domains...");
sprintf(opt[i++],"EchoLists...");
sprintf(opt[i++],"Global Settings");
sprintf(opt[i++],"Linked Nodes");
sprintf(opt[i++],"Archive Types");
sprintf(opt[i++],"NetMail Settings");
sprintf(opt[i++],"EchoMail Settings");
sprintf(opt[i++],"Paths and Filenames");
sprintf(opt[i++],"Robots");
sprintf(opt[i++],"Domains");
sprintf(opt[i++],"EchoLists");
if(uifc.changes && !cfg.used_include)
snprintf(opt[i++],MAX_OPLN-1,"Save Changes to %s", getfname(cfg.cfgfile));
opt[i][0]=0;
......@@ -1851,6 +1851,10 @@ int main(int argc, char **argv)
"`Maximum Age of Imported EchoMail` allows you to optionally set an age\n"
" limit of EchoMail messages that may be imported.\n"
" This setting defaults to `60 days`.\n"
"\n"
"`Require Area-Linked Nodes to be Configured` allows you to specify\n"
" whether or not each linked node in the area file must be configured\n"
" in the `Linked Nodes` list.\n"
;
i=0;
......@@ -1887,6 +1891,8 @@ int main(int argc, char **argv)
else
SAFECOPY(str, "None");
snprintf(opt[i++],MAX_OPLN-1,"%-45.45s%s","Maximum Age of Imported EchoMail", str);
snprintf(opt[i++],MAX_OPLN-1,"%-45.45s%s","Require Area-Linked Nodes to be Configured"
,cfg.require_linked_node_cfg ? "Yes" : "No");
opt[i][0]=0;
j=uifc.list(WIN_ACT|WIN_MID|WIN_SAV,0,0,0,&echomail_opt,0,"EchoMail Settings",opt);
if(j==-1)
......@@ -2040,7 +2046,14 @@ int main(int argc, char **argv)
,str, 10, K_EDIT) >= 0)
cfg.max_echomail_age = (ulong)parse_duration(str);
break;
case 14:
k = !cfg.require_linked_node_cfg;
switch(uifc.list(WIN_MID|WIN_SAV,0,0,0,&k,0
,"Require Nodes Linked to Areas in Area File to be Configured",uifcYesNoOpts)) {
case 0: cfg.require_linked_node_cfg = true; break;
case 1: cfg.require_linked_node_cfg = false; break;
}
break;
}
}
break;
......
......@@ -217,6 +217,7 @@ void get_default_echocfg(sbbsecho_cfg_t* cfg)
cfg->auto_add_to_areafile = true;
cfg->auto_utf8 = true;
cfg->strip_soft_cr = true;
cfg->require_linked_node_cfg = true;
cfg->min_free_diskspace = 10*1024*1024;
cfg->max_logs_kept = 10;
cfg->max_log_size = 10*1024*1024;
......@@ -290,6 +291,7 @@ bool sbbsecho_read_ini(sbbsecho_cfg_t* cfg)
SAFECOPY(cfg->areamgr, iniGetString(ini, ROOT_SECTION, "AreaManager", "SYSOP", value));
cfg->auto_add_subs = iniGetBool(ini, ROOT_SECTION, "AutoAddSubs", cfg->auto_add_subs);
cfg->auto_add_to_areafile = iniGetBool(ini, ROOT_SECTION, "AutoAddToAreaFile", cfg->auto_add_to_areafile);
cfg->require_linked_node_cfg= iniGetBool(ini, ROOT_SECTION, "RequireLinkedNodeCfg", cfg->require_linked_node_cfg);
/* NetMail options: */
SAFECOPY(cfg->default_recipient, iniGetString(ini, ROOT_SECTION, "DefaultRecipient", "", value));
......@@ -550,6 +552,7 @@ bool sbbsecho_write_ini(sbbsecho_cfg_t* cfg)
iniSetBool(&ini, ROOT_SECTION, "AreaAddFromEcholistsOnly",cfg->add_from_echolists_only ,style);
iniSetBool(&ini, ROOT_SECTION, "AutoAddSubs" ,cfg->auto_add_subs ,style);
iniSetBool(&ini, ROOT_SECTION, "AutoAddToAreaFile" ,cfg->auto_add_to_areafile ,style);
iniSetBool(&ini, ROOT_SECTION, "RequireLinkedNodeCfg" ,cfg->require_linked_node_cfg ,style);
iniSetDuration(&ini, ROOT_SECTION, "BsyTimeout" ,cfg->bsy_timeout ,style);
iniSetDuration(&ini, ROOT_SECTION, "BsoLockDelay" ,cfg->bso_lock_delay ,style);
iniSetLongInt(&ini, ROOT_SECTION, "BsoLockAttempts" ,cfg->bso_lock_attempts ,style);
......
......@@ -6388,7 +6388,7 @@ int main(int argc, char **argv)
}
fidoaddr_t link = atofaddr(p);
cfg.area[areanum].link[cfg.area[areanum].links] = link;
if(findnodecfg(&cfg, link, /* exact: */false) == NULL) {
if(findnodecfg(&cfg, link, /* exact: */cfg.require_linked_node_cfg) == NULL) {
printf("\n");
lprintf(LOG_WARNING, "Configuration for %s-linked-node (%s) not found in %s"
,cfg.area[areanum].tag, faddrtoa(&link), cfg.cfgfile);
......
......@@ -210,6 +210,7 @@ typedef struct {
bool auto_add_to_areafile;
bool auto_utf8;
bool use_outboxes;
bool require_linked_node_cfg;
ulong bsy_timeout;
ulong bso_lock_attempts;
ulong bso_lock_delay; /* in seconds */
......