...
 
Commits (1)
  • Rob Swindell's avatar
    Automatically route in-transit mail to points to boss nodes · 45ced2a3
    Rob Swindell authored
    If the destination point node is not a linked node (does not exist in sbbsecho.ini), but the boss node is linked, automatically route to the boss node. The log entries look like this when this happens:
    "Routing packet (%s) to boss-node %s"
    "Routing NetMail (%s) to boss-node %s"
    
    For poindexter FORTRAN (REALITY) - test results appreciated.
    
    Incremented SBBSecho version to 3.13.
    45ced2a3
......@@ -2624,6 +2624,14 @@ bool pack_bundle(const char *tmp_pkt, fidoaddr_t orig, fidoaddr_t dest)
dest=nodecfg->route;
lprintf(LOG_NOTICE,"Routing packet (%s) to %s",tmp_pkt, smb_faddrtoa(&dest,NULL));
}
if(nodecfg == NULL && dest.point != 0) {
fidoaddr_t boss = dest;
boss.point = 0;
if((nodecfg = findnodecfg(&cfg, boss, /* exact: */true)) != NULL) {
dest = boss;
lprintf(LOG_INFO, "Routing packet (%s) to boss-node %s", tmp_pkt, smb_faddrtoa(&dest, NULL));
}
}
}
outbound = get_current_outbound(dest, cfg.use_outboxes);
if(outbound == NULL)
......@@ -5526,6 +5534,15 @@ void pack_netmail(void)
lprintf(LOG_INFO, "Routing NetMail (%s) to %s",getfname(path),smb_faddrtoa(&addr,NULL));
nodecfg=findnodecfg(&cfg, addr,0);
}
if(nodecfg == NULL && addr.point != 0) {
fidoaddr_t boss = addr;
boss.point = 0;
if((nodecfg = findnodecfg(&cfg, boss, /* exact: */true)) != NULL) {
addr = boss;
lprintf(LOG_INFO, "Routing NetMail (%s) to boss-node %s"
,getfname(path), smb_faddrtoa(&addr, NULL));
}
}
}
if(!bso_lock_node(addr))
continue;
......
......@@ -29,7 +29,7 @@
#include "ini_file.h"
#define SBBSECHO_VERSION_MAJOR 3
#define SBBSECHO_VERSION_MINOR 12
#define SBBSECHO_VERSION_MINOR 13
#define SBBSECHO_PRODUCT_CODE 0x12FF /* from http://ftsc.org/docs/ftscprod.013 */
......