OpenBCM V1.07b5 (WIN32)

Packet Radio Mailbox

FU0BOX

[JO64HI Fuhlendor]

 Login: GUEST





  
MD2SAW > BBS      26.12.20 17:00l 214 Lines 7083 Bytes #999 (0) @ EU
BID : 185_MD2BBS
Read: GUEST
Subj: F6FBB 7.0.10 fuer CB Calls/disable buildin Callfitering on F
Path: FU0BOX<CB0ESN<BLM274<DBX320<MD2BBS
Sent: 201226/1534Z @:MD2BBS.SAW.SAA.DEU.EU #:185 [Salzwedel] $:185_MD2BBS
From: MD2SAW@MD2BBS.SAW.SAA.DEU.EU
To  : BBS@EU


Moin moin und frohe Weichnachten...

Ich beschäftige mich schon seit ein paar Wochen mit diversen Versionen von 
F6FBB 
mit dem Ziel, eine eigene BBS aufzusetzen.
Anfangs habe ich das Problem mit dem Callfilter ( ich meine nicht die 
C-Filter ) 
nicht wirklich realisiert da meine verwendeten Calls (MD2BBS, MD2SAW, CB0SAW) 
nicht vom Callfiter geblockt wurden.

Das erstemal stiess ich dann auf das Problem, als ich bei der Einrichtung von 
FBB
nach meiner Heimat BBS gefragt wurde und erstmal meine damalige Heimat BBS 
(DBX320)
eingetragen habe, der Call aber nicht angenommen wurde.
Ich habe mir damals noch nicht wirklich was bei gedacht und es noch nicht als 
Problem 
angenommen.
Das Problem wirklich erkannt habe ich erst als mein Kollege (DAC527) versucht 
hat 
auf meine Box zu connecten und ohne Rueckmeldung einfach nenn Disco von 
meiner Box
erhalten hat.
Die Gruende dafuer waren nicht ersichtlich, weder Eintraege in den Logs noch 
irgendeine
andere Ausgabe seitens FBB war zu finden.
Nach ein paar Versuchen mit seinem alten Call S69SAW der wiederum 
funktionierte, sind
wir zu dem Schluss gekommen, dass FBB hier eine Filterung der Calls vornimmt.

Anfangs dachte ich ein einfaches Problem mit den Einstellungen von FBB.
Nach tagelangen lesen, suchen und auch googeln ( was mal garnichts gebracht 
hat )
ohne Ergebnisse, kam nach und nach der Verdacht auf, dass der Filter im 
Quellcode 
stecken muss.
Alledings habe ich mich an den nicht wirklich ran getraut, da ich 1. keine 
Anahltspunke 
( Logausgabe oder andere Ausgaben ) hatte, wonach ich suchen muss und 2. der 
Code 
mit vielen Franzoesischen Woertern ( Variablen- u. Funktionsnamen ) arbeitet 
und ich
kein Baguette lesen kann ;-). 
Nach weiteren Tagen rumprobieren und testen hab ich endlich fuer mich den 
Einstieg in den 
Code gefunden, anhand einer Ausgabe ueber Telnet. "Invalid Call" oder so 
aehnlich.

Endlich hatte ich den Frosch bei den ... Naja, lassen wir das .. grins..
Jetzt konnte ich das Problem zurueck verfolgen auf die Funktion find().
Und siehe da, dort fiel mir recht schnell die Zeile 
"if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)"
auf.
Nach dieser Zeile werden alle Calls geblockt, die weniger als 3 oder mehr als 
6 Zeichen 
beinhalten.
Desweiteren werden alle Calls ausgeschlossen die weniger als eine Zahl, mehr 
als 2 Zahlen
oder mit einer Zahl enden.
Z.B.: DAC000, DBX000, FRA000, ENG000 ...

Also hab ich Nqq (N++) mal genau nach dieser Zeile suchen lassen und wurde in 
mehreren Dateien fuendig.

Zum testen waehlte ich die "Quick and Dirty" Variante und aenderte die 
gefunden Zeilen
zu
"if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))" .
Und voir la monsieur, das Baguette war gelutscht.. :D .

Ich stelle hier 2 Varianten vor, wie Ihr selbst das Problem loesen koennt.
Einmal die "Quick and Dirty" Variante die bereits von mir getestet wurde
und dann och die "saubere" Variante, die ich bisher nicht getestet habe aber 
auch 
Funktionieren sollte, wenn ich nichts uebersehen hab.
Der unterschied zwischen den beiden besteht nur darin, den Code so sauber wie 
moeglich 
zu halten und nicht mit ungenutzen Variablen zuzumuellen.
Die Funktion (das Ergebniss) ist das selbe.

Ich gehe von der Version 7.0.10 aus die hier erhaeltlich ist:

https://sourceforge.net/projects/linfbb/files/fbb-7.0.10.tar.gz/download

Weiter Informationen zu dieser Version sowie C-Filter und andere 
Zusatzprogramme
fuer FBB sind hier zu finden:
https://packet-radio.net/category/fbb/

HOWTO:
Variante 1 "Quick and Dirty" (getestet / tested):
Aendert / change
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)
zu / to
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))
in folgenden Dateien (Zeilen) im Ordner "src"/ in the following files (lines) 
in folder "src".

maintinf.c (482)
serv.c (1039)
epurwp.c (733)
epurmess.c (966)

Variante 2 "sauber / clean" (ungetestet / untested):

maintinf.c:
###############################################
Aendert Zeile 439 / change line 439 von / from:
int dernier = 0, chiffre = 0, lettre = 0;
zu / to:
int chiffre = 0, lettre = 0;

Loescht oder kommentiert aus Zeile 447 / Delete or commend out Line 447:
dernier = (isdigit (*t));
zu / to
//dernier = (isdigit (*t));
oder einfach loeschen. / or just delete it.

Aendert Zeile 482 / change line 482 von / from:
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)
zu / to
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))
###############################################

serv.c:
###############################################
Aendert Zeile 990 / change line 990 von / from:
int dernier = 0, chiffre = 0, lettre = 0;
zu / to:
int chiffre = 0, lettre = 0;

Loescht oder kommentiert aus Zeile 1003 / Delete or commend out Line 1003:
dernier = (isdigit (*t));
zu / to
//dernier = (isdigit (*t));
oder einfach loeschen. / or just delete it.

Aendert Zeile 1039 / change line 1039 von / from:
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)
zu / to
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))
###############################################

epurwp.c:
###############################################
Aendert Zeile 698 / change line 698 von / from:
int dernier = 0, chiffre = 0, lettre = 0;
zu / to:
int chiffre = 0, lettre = 0;

Loescht oder kommentiert aus Zeile 703 / Delete or commend out Line 703:
dernier = (isdigit (*t));
zu / to
//dernier = (isdigit (*t));
oder einfach loeschen. / or just delete it.

Aendert Zeile 733 / change line 733 von / from:
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)
zu / to
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))
###############################################

epurmess.c:
###############################################
Aendert Zeile 929 / change line 929 von / from:
int dernier = 0, chiffre = 0, lettre = 0;
zu / to:
int chiffre = 0, lettre = 0;

Loescht oder kommentiert aus Zeile 937 / Delete or commend out Line 937:
dernier = (isdigit (*t));
zu / to
//dernier = (isdigit (*t));
oder einfach loeschen. / or just delete it.

Aendert Zeile 966 / change line 966 von / from:
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 2) || dernier)
zu / to
if ((n < 3) || (n > 6) || (chiffre < 1) || (chiffre > 3))
###############################################

Das wars schon. / That's it.
Wenn Ihr den Code bereits auf den Rechner kompiliert habt vergesst nicht 
backups von Euren configs zu machen und
"sudo make uninstall" und 
"sudo make clean"
bevor Ihr den Code neu kompiliert.
Also:
"sudo ./configure"
"sudo make"
"sudo make install"

Don't forget to make backups from your config files before u recompile it on
your machine.
Also don't forget to make
"sudo make uninstall" and 
"sudo make clean"
before u compile it again.
In that way:
"sudo ./configure"
"sudo make"
"sudo make install"


Viel Spass und noch schoene Feiertage.
Gruesse und 73 aus Salzwedel (JO52NU),

Manuel **** MD2SAW/CB0SAW/MD2BBS ****
Team PR Salzwedel ( packetradio-salzwedel.de )


Lese vorherige Mail | Lese naechste Mail


 21.11.2024 18:22:11lZurueck Nach oben