diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index f5d085fa855d81f19525df2d21355549fed529ef..cd14226b6fb72065a265f78ae400f1d1af25609f 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -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; diff --git a/src/sbbs3/sbbsecho.h b/src/sbbs3/sbbsecho.h index dfae5fd4ebd0fb658dfcd6ec8967e3ed5eb2f5d0..234eaf03427ece5b4e39210b51bbd33e48d4e9c9 100644 --- a/src/sbbs3/sbbsecho.h +++ b/src/sbbs3/sbbsecho.h @@ -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 */