diff --git a/FAQ b/FAQ index a079ef1..b778f6c 100644 --- a/FAQ +++ b/FAQ @@ -108,9 +108,10 @@ A: /AK/ override <фидоадрес> [hidden] [Phone <тлф>] [Ipaddr ] [Flags <флаги>] ip-адрес/днс-имя сервера можно подменить как через Ipaddr, так и через флаги, поставив INA:адрес + Пример override: - [флаги нодлиста: CM,IBN,INA:coolbbs.spb.ru,INA:cool2.spb.ru,BEER:lager - override 2:5030/xxx Phone Unpublished Flags IFC,INA:reservbbs.dyndns.org \ +1) [флаги нодлиста: CM,IBN,INA:coolbbs.spb.ru,INA:cool2.spb.ru,BEER:lager] + override 2:5030/xxx hidden Flags IFC,INA:reservbbs.dyndns.org \ hidden Ipaddr 188.34.34.22 \ hidden Ipaddr 234.43.44.23 Flags IFC,CM @@ -120,6 +121,16 @@ A: /AK/ 3. 188.34.34.22:binkp 4. 234.43.44.23:ifcico 5. cool2.spb.ru:binkp + +2) [флаги нодлиста: CM,IBN,IFC,INA:coolbbs3.spb.ru,BEER:porter] + override 2:5030/xxx Phone None Flags IFC,INA:rybak3.dyndns.org \ + hidden Ipaddr 188.34.35.22 + + Порядок дозвона (до первого успешного установления сессии): + 1. rybak3.dyndns.org:ifcico + 3. 188.34.35.22:ifcico + override без опции hidden заменяет нодлистовые поля! + Проверить настроенные override-s и порядок дозвона можно с помощью программы nlookup: опция -o показывает override, опция -t - порядок дозвона (IP+PSTN) diff --git a/source/bforce/nodelist.c b/source/bforce/nodelist.c index 2174e4a..582c7ea 100644 --- a/source/bforce/nodelist.c +++ b/source/bforce/nodelist.c @@ -717,7 +717,9 @@ int nodelist_putindex(s_nodelist *nlp, const s_bni *bni) buffer_putint(buffer + 6, bni->point); buffer_putint(buffer + 8, bni->hub); buffer_putlong(buffer + 10, bni->offset); - + if (bni->point != 0) { + DEB((D_NODELIST, "nodelist: findindex found point z: %d, n: %d, l: %d, p: %d, offset: %l", bni->zone, bni->net, bni->node, bni->point, bni->offset)); + } if( fwrite(buffer, sizeof(buffer), 1, nlp->fp_index) != 1 ) { logerr("error writing nodelist index file \"%s\"", nlp->name_index); @@ -752,6 +754,8 @@ int nodelist_findindex(s_nodelist *nlp, s_bni *bni, s_faddr addr) bni->point = buffer_getint(p + 6); bni->hub = buffer_getint(p + 8); bni->offset = buffer_getlong(p + 10); + + DEB((D_NODELIST, "nodelist: findindex found" )); return 0; } p += NODELIST_ENTRYSIZE; @@ -800,7 +804,7 @@ int nodelist_lookup_string(char *buffer, size_t buflen, s_faddr addr) if( !rc ) rc = nodelist_getstr(nlp, bni.offset, buffer, buflen); - + nodelist_close(nlp); if( !rc ) @@ -856,5 +860,6 @@ void nodelist_initnode(s_node *node, s_faddr addr) strcpy(node->sysop, ""); strcpy(node->location, ""); strcpy(node->phone, ""); + strcpy(node->flags, ""); }