Wist je dat... sterrenmunt thee erg geliefd is bij de jongens

Shoutbox

MovieTour 3D Spectra JCP

De verhuizing voorbij

De Jongerenraad Borsele is verhuisd!


Nee, de jongerenraad zelf blijft gewoon in Borsele, maar onze webplekke jongerenraadborsele.nl is vanaf maandag 26 januari 2009 permanent verplaatst naar een nieuwe server. De afgelopen weken zijn er nog allerlei kleine aanpassingen gemaakt, want bij het verhuizen hebben we ook meteen wat onderliggende zaken aangepakt die nodig moesten worden verbeterd maar te ingrijpend waren om even tussendoor te doen of simpelweg niet mogelijk waren op de oude server.

Sinds 2003 is de website namelijk behoorlijk gegroeid. Door de jaren heen heeft de jongerenraad ook grote hoeveelheden digitale informatie verzameld die we ergens moeten laten. En dan hebben we het nog niet eens over de grote hoeveelheden spam die op de oude server door de filters heen lekten in de digitale brievenbussen van de jongerenraadsleden.

De website is verplaatst naar een nieuwe server die sneller en niet duurder en ook nog eens meer mogelijkheden biedt zodat we in de toekomst verder kunnen blijven groeien. We hopen dat deze nieuwe server ook zo betrouwbaar blijkt als de vorige. In 6 jaar tijd is er wel eens een paar storingen geweest, maar nooit zijn we data kwijtgeraakt, en zelfs toen per ongeluk het halve fotoarchief was verwijderd kon het dankzij de dagelijkse backups binnen een paar uur weer worden terug gezet waardoor niemand het merkte.

Nerd talk


De eerste is de omschakeling van de codering van de inhoud. De oude database ondersteunde alleen ISO-8859-1 wat er nogal eens voor zorgde dat er, vooral in de XML-feeds en evenementenagenda vreemde tekens opdoken van letters met accenten die niet correct werden omgezet. Een half jaar terug was er een probleem met gebruikers van de CoolIris-plugin die niet werkte zodra er een accent ergens in een galerij stond, en ook foto's die zulke tekens in onderschriften hadden leverden problemen op. De hele website, vanaf de database en alle pagina's zijn nu omgezet naar UTF-8 (unicode) waarmee dit soort problemen tot het verleden behoren en je nu zelfs een reactie in het Chinees, Arabisch of welk ander alfabet dan ook kan plaatsen.

De tweede verandering is de omschakeling van XHTML 1.1 naar HTML 5. Toen we in 2003 begonnen met de website leek het er op dat XHTML de toekomst was, met allerlei extra mogelijkheden boven HTML. Maar nu 6 jaar later kunnen we nog steeds geen gebruik maken van deze nieuwe mogelijkheden. Één van de oorzaken daarvan is het feit dat een groot deel van de bezoekers nog steeds Internet Explorer gebruikt, welke sinds 2001 weinig is veranderd en nu nog steeds niet de extra mogelijkheden van XHTML ondersteunt. Nu ondersteunt Internet Explorer ook nog lang geen HTML 5, maar het leuke van HTML 5 is dat we de extra mogelijkheden, zoals meer mogelijkheden met formulieren gewoon kunnen gebruiken, in moderne browsers heb je dan allerlei handige extra's en in oude browsers gewoon een ouderwets tekstveld.

Wat er mis ging bij de verhuizing


Hoewel het verhuizen van de website vrij probleemloos is verlopen is er toch nog wat fout gegaan waardoor de website in januari een dagje niet bereikbaar was. De oorzaak van het probleem stamt al uit december 2008. Het aanmeldgedeelte van de website is een rotzooi uit 2003 die wordt aangepakt en werkt niet meer. Na diverse correcties lijkt het half januari eindelijk weer probleemloos te werken.

Wanneer de nieuwe server wordt opgeleverd, wordt er besloten om de website onder een aparte gebruiker te laten draaien, de naam "jrb" wordt gekozen daarvoor. Automatisch wordt daarom ook het emailadres jrb@jongerenraadborsele.nl aangemaakt, ook al zal dit niet worden gebruikt.

Op de oude server wordt het emailadres jrb@jongerenraadborsele.nl gebruikt voor een mailinglist die een bericht aan alle leden van de jongerenraad stuurt.

Bij het aanmaken van de emailadressen en de mailinglists op de nieuwe server is er dus een probleem, het email jrb@jongerenraadborsele.nl is bezet. Omdat dit emailadres toch niet wordt gebruikt wordt het zo ingesteld dat alle email die daar binnenkomt automatisch wordt doorgestuurd naar de mailinglist met daarop iedereen.

Na een week lang testen en het instellen van de server gaat de website online. De emailadressen zullen pas later worden geactiveerd.

Drie kwartier later doet een spam-robot een hopeloze poging zich op de website te registreren om reclame plaatsen. Doordat de website op een nieuwe server draait met andere, veiliger instellingen (register_globals) en het verouderde aanmeldsysteem daardoor niet meer werkt wordt het emailadres dat de robot in het formulier heeft geplaatst niet geaccepteerd.

Het systeem kan geen bericht versturen aan een adres wat niet bestaat en doet iets onverwachts: het bericht wordt doorgestuurd naar jrb@jongerenraadborsele.nl, maar omdat dit emailadres is ingesteld om naar iedereen door te worden gestuurd komt het niet aan in de standaard mailbox maar gaat het naar de hele mailinglist.

Ondanks dat de emailadressen nog niet zijn geactiveerd werken ze al wel wanneer er vanaf de server zelf email naar één van de adressen wordt gestuurd. De adressen met een eigen mailbox op de server ontvangen de berichten maar de mailboxen op de oude server blijven buiten schot. De mensen van wie hun emailadres wordt doorgestuurd naar een privé- of werkadres worden wel verstuurd krijgen echter wel het bericht.

Omdat de mailinglists nog niet geactiveerd waren was één van de adressen wat de mailinglist intern gebruikte nog niet beschikbaar, en werd er een foutmelding gegenereerd. Foutmeldingen worden automatisch verstuurd naar het hoofdadres, wat dus weer door werd gestuurd naar de mailinglist wat dus zo door ging en iedereen uiteindelijk 4000 emails met foutmeldingen kreeg.

Zodra de mailinglist op hol sloeg raakte de server dusdanig overbelast dat de website niet meer te bereiken was en we er ook niet meer op konden inloggen om hem te stoppen. Pas nadat hij opnieuw was opgestart stopte de mailserver. De website was toen al weer even tijdelijk terug gezet op de oude server.

Het zou eigenlijk niet moeten kunnen mailinglist oneindig foutmeldingen aan alle leden blijft sturen. In het configuratiebestand van de mailinglistsoftware staan een aantal teksten die er voor zorgen dat een bericht wordt genegeerd als deze voorkomen in het onderwerp:
Code:
# taboo headers to catch
#
$global_taboo_headers = <<'END';
/^subject: ndn: /i
/^subject:s*RCPT:/i
/^subject:s*Delivery Confirmationb/i
/^subject:s*NON-DELIVERY of:/i
/^subject:s*Undeliverable Messageb/i
/^subject:s*Receipt Confirmationb/i
/^subject:s*Failed mailb/i
/^subject:s*Returned mailb/i
/^subject:s*unable to deliver mailb/i
/^subject:s.*baway from my mailb/i
/^subject:s.*bmail delivery failedb/i
/^subject:s.*bMail failureb/i
/^subject:s*Autoreply/i
END

De foutmeldingen die in dit geval werden gestuurd door de server bevatten echter allemaal het onderwerp "Mail delivery failed" of "Mail failure" welke niet standaard in de lijst voorkomen.

Deze unieke samenloop van omstandigheden waarvan een deel vooraf onbekend was die allemaal samenkomen wordt een Bohrbug genoemd, en hoewel de oorzaak, zoals je hebt kunnen lezen enorm complex is, is de oplossing gelukkig vaak erg simpel. Inmiddels is het emailadres jrb@jongerenraadborsele.nl niet meer in gebruik voor de mailinglist, genereert het aanmelden op de website geen fouten meer en staan de bovenstaande onderwerpen in de lijst van genegeerde berichten.

Tot zo ver de techno-talk van deze week.
19 maart 2009 @ 09:48wannabe

dat is al de tweede 1000 woorden weblog van de maand goed bezig

19 maart 2009 @ 10:21aangemeld

Nette weblog
Zo staan er geen meer op de site.. en zo 4 in twee dagen

Dit bericht is ouder dan 100 dagen, je kunt niet meer reageren!