Efter 55 dygn är nu Fabbes BBS åter öppen för inloggning!
En liten beskrivning av dom 12-16 timmars arbete jag lagt ner på detta för den som bryr sig och kanske uppskattar arbetet:
Den 25 juli blev NiKom-partitionen på BBS-datorn full och när plats sedan hade skapats på disken och processerna fick skriva klart hade data försvunnit. Märkligt nog verkar också data ha skrivit i fel filer -- filsystemet måste ha fått fnatt när det blev fullt och buffertar fylldes.
Jag ägnade många timmar åt att försöka klura ut hur NiKom lagrar binärdatat och att försöka fixa det. Första försöket gick snett och utan effekt. Nästan tre veckors klurande och uppgivenhet, tills jag upptäckte att den lagade filen hade sparats med fel namn!
Med rätt namn sparat fungerade BBS:en mycket bättre, men fel kvarstod. En text gav felmeddelande när man försökte läsa den. Inte så farligt kan tyckas, men det gjorde att man inte kunde lista texter förbi den texten, och inte heller fungerade "lista ärenden" bra. En massa klurande och studerande av binärdata följde, och tillslut frågade jag Bosna efter NiKom-källkoden (som jag också haft, men slarvat bort).
Efter att ha studerat källkoden och börjat förstå den fann jag ut en massa intressant som gick att utläsa ur binärdatat, och även några fel som jag fixade. Datat för en ärenderad: "Basens födelsedagsbarn" hade delvis hamnat som data för vilket möte texten skulle ligga i. (Bytesen "else" låg respresenterade som mötesnamn). Med detta fixat fungerade texten lite bättre, men fortfarande fick man ett felmeddelande när man försökte lista texten (däremot gick den att läsa!).
Nu var jag säker på att dom filer jag grävt i var rätt, så jag började titta på en annan fil, textmot.dat som är full av obegriplig binärdata. Efter att ha kikat på källkoden igen gjorde jag efter en del gissningar antagandet att resten i divisionen textnummer/32768 multiplicerat med två motsvarade positionen i den filen för....öh, vad nu den här filen håller lagrat. Jag gissar att det är rättigheter för texten. Intressant nog dom två bytes som låg på den positionen just datat "se" (som i ärendet där!) och övriga bytespar i filen innehöll alltid en nollbyte följt av något annat, om det inte var två $FF-bytes. Jag chansade och ersätte bytesen med en kopia av dom två bytes som låg före, och VIPS fungerade lista ärenden!
Nåja, VIPS och VIPS. Varje ändring jag gjorde måste sparas lokalt i min linuxburk, FTP:as till BBS-datorn, BBS-datorn måste bootas om och BBS:en startas på nytt. Det tog en jävla tid att testa varje hypotes.
Nu trodde jag allt var bra. Men så upptäckte jag att hela BBS-systemet bara innehöll 512 texter! Lägsta textnummer var bara 512 lägre än högsta textnummer. Hjälp! Varför?
Tillbaka till källkoden över hur filen sysinfo.dat lagrar datat. Ändrade datat för "lästa text" och bootade om. Felet kvarstod. Ägnade en timme åt att studera källkoden igen och insåg att den aldrig använder den där sysinfo-datat om lägsta text (trots att den lagrar det) utan istället läser rådatat och klurat ut vilken som är lägsta textnummer. Men VARFÖR då bara 512 texter? Efter ytterligare en timmes klurande fann jag svaret: Min gamla felsparade fil, Head508.dat som jag sparat istället för Head805.dat, låg kvar som en extra kopia. Eftersom 508 var det lägsta numret på någon headx.dat-fil lurades systemet att tro att detta var det lägsta textnumret. Nu var det enkelt att radera 508-filen och VIPS så fungerade basen! Detta var på fredagkväll, och jag ägnade 4-5 timmar åt intensivt arbete på detta då.
Senaste två dygnen har jag ägnat åt att ta backup på BBS:en (senaste backupen var från februari!) och sedan att ställa fram klockan ett dygn, låta BBS:en ägna 8-9 minuter åt att räkna ut alla födelsedagar, ställa fram ett dygn till, födelsedagsberäkning, osv. :) Går rätt smidigt om man spelar GTA San Andreas samtidigt och bara pausar när man hör BBS-datorn sluta rassla. Över 7 timmar tog det för BBS-datorn att beräkna fram alla födelsedagar, skriva brev och skriva i mötet Användarna på basen.
Justja, jag har rensat ut grejer från NiKom-partitionen också, så nu finns det plats som borde räcka några år framåt, och garanterat fram till nyår. Och senast då hoppas jag BBS:en kör OpenKom istället.
Hoppas folk uppskattar allt arbete man lagt ner på det här. Är ju inte världens aktivitet på basen nuförtiden, men jag vet att en del har saknat den iaf.
Seså, vad väntar du på? Logga in nu då! Adressen är som vanligt:
telnet://fabbe.se
Hälsningar Fabian Norlin / Sysop #0
fabbes-info@lists.lysator.liu.se