Meine Reihe FLOSS’n’net ist in den letzten fast zwei Jahren auch mehr oder weniger der Pandemie zum Opfer gefallen; der letzte der üblicherweise jedes Quartal veröffentlichen Beiträge datiert vom April 2020 und gehört mit zu den letzten vor der “Aufholjagd” noch veröffentlichten (bzw. verfassten) Beiträgen. Entweder als Schlusspunkt oder als Neubeginn - je nachdem, wie 2022 werden wird … - möchte ich daher einen kurzen Rückblick über das vergangene Jahr (und auch das Jahr 2020) geben.
2020 endeten meine Aktivitäten - vor allem rund um Serendipity - mehr oder weniger im April. 2021 habe ich nichts an Serendipity getan, aber das eine oder andere sonst rund ums Netz. Im Einzelnen sieht das dann so aus:
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
Alle Änderungen hier stammen noch aus dem April 2020.
s9y-Kern
- Es ist mir endlich gelungen, einen schwer zu reproduzierenden Fehler zu finden, der mich seit Jahren wahnsinnig gemacht hat. Ich nutze für meine Blogbeiträge recht intensiv “erweiterte Eigenschaften von Artikeln”, also entryproperties, bspw. die HTML-Meta-Description und Social-Media-Bilder - und diese “verschwanden” regelmäßig in vorbereiteten Einträgen, was einerseits ärgerlich ist und andererseits oft unbemerkt bleibt. Das ging so weit, dass ich vorbereitete Einträge (Entwürfe) nicht mehr in s9y selbst gespeichert habe, sondern extern, und sie dann erst zur Veröffentlichung dort hineinkopierte. Das wurde seit 2018 im Issue #577 getrackt, aber ohne richtige Lösung (auch weil mir die Zeit zum Debugging fehlte). Am Ende hatten wir 2019 die richtige Ecke gefunden, aber das Problem nicht wirklich behoben. Das gelang aber jetzt (endlich!), und rückblickend war das eine gute Sache, hatte ich doch im Rahmen der “Aufholjagd” 2020/2021 oft mehrere Dutzend komplett postingfertige Beiträge “gebunkert”.
Scheduled entries lose all entryproperty information on publish date. mit
Fix accidental deletion of extended properties. und
[event_trackback] Draft entries should not be saved in delayed_trackbacks
"FLOSS'n'net - Aktivitäten im Jahr 2021 (und 2020)" vollständig lesen
Das neue Jahr hat im Prinzip begonnen, wie das alte geendet hat: viel zu tun, wenig Zeit, insbesondere für “freie Software und das Netz”. Aber wie ich am Anfang des letzten Quartals etwas Zeit für Serendipity gefunden hatte, so ging es mir nun am Ende diesen Quartals, rund um das - ausgefallene bzw. virtualisierte - Serendipity-Camp: zwei Releases, etliche Bugfixes und auch ein paar Erweiterungen, und eine ganze Menge Änderungen an der Infrastruktur.
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
s9y-Kern
In der Mediendatenbank fehlten einige Sicherheitsnetze rund um das Umbenennen von Dateien - so führte das “Umbenennen” einer Datei in eine bereits existente Datei dazu, dass beide Dateien verschwanden, aus der Datenbank und von der Platte. Unschön, aber jetzt behoben.
Prevent renaming ML object into existing file.
Beim Umbenennen von Mediendateien ohne Endung gab es auch noch einige Probleme; zum einen “verschwanden” diese direkt nach dem Umbenennen aus der Datenbank, und - nur unter Windows - gab es zudem die Möglichkeit, einer solchen Datei eine “gefährliche” Endung wie .php
zu verpassen und sie damit ausführbar zu machen.
Fix for “disappearing” media files after renaming.
Fix RCE vulnerability on Windows.
"FLOSS'n'net - Aktivitäten im 1. Quartal 2020" vollständig lesen
Im letzten Quartal des vergangenen Jahres hatte ich sehr wenig Zeit; daher bin ich auch nur ganz zu Anfang, im Oktober, dazu gekommen, etwas rund um FLOSS und das Netz zu tun, und zwar wie zuvor auch vor allem an Serendipity.
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
s9y-Kern
- Ich habe die Ursache eines lange bekannten Problems gefunden, nämlich der “Verstümmelung” automatisch erzeugter E-Mails durch unpassende Zeilenumbrüche mitten im Text. Erschwert wurde das Debugging dadurch, dass dieses Problem nicht überall auftrat und in meinen Testinstallationen nicht reproduzierbar war. Es stellte sich heraus, dass das Verhalten MTA-spezifisch war, d.h. nur auftrat, wenn qmail als Mailserver Verwendung fand. Ursächlich ist das Verhalten der
imap_8bit()
-Funktion von PHP, auf die s9y - soweit vorhanden - zurückgreift, um den Mailinhalt als quoted-printable zu kodieren. Dabei müssen Zeilenumbrüche eingefügt werden, wofür imap_8bit()
die Zeichenfolge \r\n
verwendet, also “carriage return” und “line feed”; diese Markierung des Zeilenendes ist unter Windows üblich, wohingegen unter Unix üblicherweise nur \n
verwendet wird, und ist auch für die Mailübertragung per SMTP vorgeschrieben. Üblicherweise wird Mail auf einem Unix-Server von PHP aber nicht direkt per SMTP übertragen, sondern an einen Mailserver übergeben, so dass \r\n
als Zeilenumbruch nicht zwingend ist. Den meisten Mailservern (so Postfix und Exim) ist das egal; qmail aber beharrt darauf, dass bei ihm eingelieferte Mails als Zeilenende nur mit \n
markiert sein dürfen und ersetzt jedes \n
für die SMTP-Übertragung durch \r\n
. Wurde die Mail bereits mit \r\n
eingeliefert, macht qmail dementsprechend daraus \r\r\n
, und genau das ist die Quelle der “überzähligen” Zeilenumbrüche (nach der Dekodierung von quoted-printable). An qmail wird sich nichts ändern - wenn jemand das Programm überhaupt noch pflegt -, denn der Autor hält sein Vorgehen für richtig. Ich habe mich daher entschlossen, die Mailerzeugung durch s9y zu ändern; das mag zu Problemen (fehlenden Zeilenumbrüchen) führen, wenn die Mail aus PHP direkt per SMTP übermittelt wird, aber das kommt eigentlich nur unter Windows-Servern vor, und es gibt mit Sicherheit mehr Unix-Server, die qmail verwenden, als Windows-Server, auf denen s9y läuft. In jedem Fall kann man das Problem durch Setzen von serendipity['forceBase64']=true
in serendipity_config_local.inc.php
umgehen; dann nämlich wird base64 kodiert, und dabei tritt das Problem nicht auf.
Fix mangling of auto-generated mails.
"FLOSS'n'net - Aktivitäten im 4. Quartal 2019" vollständig lesen
Im dritten Quartal 2019 fand ich rund um meinen Urlaub ungewöhnlich viel Zeit und Motivation insbesondere für die Arbeit an Serendipity, so dass die Liste meiner FLOSS-Aktivitäten diesmal länger (und der hinter den einzelnen Punkten stehende Aufwand größer) geworden ist als üblich:
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
s9y-Kern
Als erstes habe ich mir das Plugin-System von s9y vorgenommen und der Plugin-Liste in der Admin-Oberfläche Links zu den Plugin-Informationen in unserem Repository Spartacus hinzugefügt. Das dauerte etwas länger, weil ich dabei über einen Fehler gestolpert bin, der dafür sorgte, dass Datenbankabfragen für Plugin-Listen falsch gecached werden - nämlich auch dann, wenn eigentlich verschiedene Plugin-Typen abgefragt werden sollen.
Danach kam dann der schon länger bestehende, aber bisher nicht umgesetzte Wunsch nach einem Update-Hinweis für Plugins an die Reihe. Nach der technischen Umsetzung fehlt noch ein wenig optische Politur …
Add plugin update notifications.
Nach unserem 2.3.0-Release fiel mir auf, dass das Löschen mehrerer Dateien in der Mediendatenbank nicht mehr funktionierte. Das habe ich behoben, und auch dem Bestätigungsdialog für die Löschung einzelner Dateien ein zuvor fehlendes Satzzeichen im Popup spendiert.
Fix media library (mass) delete, i18n.
ML delete file: add “?” to conformation question.
Nachdem im aktuellen Release das Blogarchiv standardmäßig so aufgebaut ist, dass die ältesten Beiträge sich auf Seite 1 finden und die aktuellen Beiträge auf der letzten Seite dargestellt werden (statt wie zuvor umgekehrt - was den Vorteil hat, dass sich die Archivseiten nicht regelmäßig durch “nach unten rutschende” Beiträge ändern und daher besser von Suchmaschinen indiziert werden können), zeigte sich ein in diesem Zusammenhang bestehender Fehler bei der in einigen Themes vorhandenen Paginierung der Archivseiten, den ich behoben habe - sogar direkt zweimal, so dass der Fehler dann am Ende im Release 2.3.1 doch wieder enthalten ist. Mit dem nächsten Release wird er aber endgültig behoben sein.
Fix core pagination for “stable archives”.
Fix pagination for “stable archives” in themes.
Fix prev/next page links for stable archives.
Revert “Fix pagination for “stable archives” in themes.”
Schließlich habe ich mich noch ein wenig um die deutsche Sprachversion gekümmert.
Add i18n and German translations.
"FLOSS'n'net - Aktivitäten im 3. Quartal 2019" vollständig lesen
Im zweiten Viertel diesen Jahres lag u.a. das s9y-Camp 2019, so dass mich wieder einmal mit dem einen oder anderen Projekt rund um freie Software (FLOSS) oder das Netz beschäftigt habe.
Dabei habe ich folgendes beigetragen:
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
s9y-Kern
Während des s9y-Camps habe ich die Konfiguration des neuen Wartungsmodus internationalisiert und die Sprachdateien und die dt. Übersetzung auf den aktuellen Stand gebracht.
Außerdem habe ich im Rahmen und im Nachgang des Camps die Arbeit der anderen Entwickler in Form von Serendipity 2.3-beta1 und (zumeist von mir) “gebackportete” Verbesserungen in Form von Serendipity 2.1.5 releast.
"FLOSS'n'net - Aktivitäten im 2. Quartal 2019" vollständig lesen
2019 hatte ich bisher sehr wenig Zeit - insbesondere sehr wenig Zeit, mich mit dem einen oder anderen Projekt rund um freie Software (FLOSS) oder das Netz zu beschäftigen.
Daher ist die “Liste” meines Beitrags diesmal sehr, sehr überschaubar:
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
Vorherige Aktivitäten-Übersicht: IV/2018
In den letzten drei Monaten des Jahres 2018 habe ich wieder ein wenig - sehr wenig! - Zeit gefunden, mich mit dem einen oder anderen Projekt rund um freie Software (FLOSS) oder das Netz zu beschäftigen. Dabei habe ich folgendes beigetragen:
Serendipity (s9y)
Das Blogsystem Serendipity werkelt auch hinter diesem Blog.
Nanoc
U.a. meine Webseiten generiere ich mit Nanoc, einem Generator für statische Seiten.
- Die im blogging helper enthaltene Funktion
atom_feed()
zur Generierung, nun ja, eines Atom-Feeds habe ich um die Möglichkeit ergänzt, die Titel der automatisch erzeugten Einträge anzupassen, wie dies auch schon für den Inhalt bzw. das Exzerpt der einzelnen Einträge möglich war.
Add title_proc parameter to blogging helper.
Zwei Beiträge in drei Monaten ist … nicht viel. Vielleicht finde ich 2019 wieder mehr Zeit.
Vorherige Aktivitäten-Übersicht: 09/2018
Im September 2018 hatte ich mal wieder ein wenig Zeit gefunden, mich mit dem einen oder anderen Projekt rund um freie Software (FLOSS) oder das Netz zu beschäftigen.
Dabei habe ich folgendes beigetragen:
FAQs, Anleitungen und Tutorials
"FLOSS'n'net - Aktivitäten 09/2018" vollständig lesen