In einer eGroupware-Installation, die auf 1.6.002 aktualisiert wurde, gibt es plötzlich massive Probleme mit allen Funktionen, die mit abgelegten Dateien und webdav.php zu tun haben.
Scheinbar hat das mit der Umstellung auf die Auslieferung von Dateien über webdav.php zu tun, bei der die Autorisierung wohl nicht mehr über die normale eGW-Sitzung, sondern nun über HTTP Basic Auth läuft (r26770?).
Im vorliegenden Fall ist jedoch bereits die gesamte eGW-Installation mit einer HTTP Basic Auth gesichert, womit webdav.php scheinbar nicht rechnet oder zurecht kommt. Beispiele:
– Ein Dateianhang kann z. B. im Adressbuch ohne Probleme hochgeladen werden, der Zugriff darauf (durch denselben Anwender in derselben Sitzung!) wird mit folgener Fehlermeldung blockiert: "A username and password are being requested by https://###. The site says: “eGroupWare WebDAV server: bad login or password”
– Zugriff auf die Details zu einer Ressource (/index.php?menuaction=resources.ui_resources.show&res_id=#) oder die Großansicht des Bildes einer Ressource sorgt für eine Reload-Endlosschleife und entsprechend endlos Einträge im Fehlerlog, sofern der Anwender nicht zufällig drauf kommt, im Browser auf “STOP” zu klicken:
Es erscheint ein Browser-Login-Dialog “WebDAV server: bad login or password”. Unabhängig davon, ob dann ein korrekter eGW-Login eingegeben wird oder nicht, kommt es zu einem unendlichen (!) redirection loop, bei dem der Browser versucht, dieselbe Ressource wieder und wieder zu laden, bis vielleicht ein erfahrener Anwender auf die Idee kommt, im Browser auf “stop loading” zu klicken.
“A username and password are being requested by https://###. The site says: eGroupWare WebDAV server: blocked, too many attempts”
Im error log finden sich u. a.:
[error] PHP Notice: Undefined index: PATH_INFO in /###/webdav.php on line 47
[error] PHP Notice: Undefined index: PATH_INFO in /###/webdav.php on line 51
[error] PHP Notice: Undefined index: ORIG_SCRIPT_NAME in /###/webdav.php on line 52
[error] PHP Notice: Undefined index: PATH_INFO in /###/webdav.php on line 53
[error] Malformed Url: missing slash:\n###.###.###.###\n PATH_INFO:\n REQUEST_URI/webdav.php\n ORIG_SCRIPT_NAME:\n REMOTE_ADDR:###.###.###.###\n PATH_INFO:\n HTTP_USER_AGENT:#
und dann haufenweise Einträge z. B. der Art:
"… user ### not found: /webdav.php/apps/resources/1/.picture.jpg"
(### = anonymisierte Werte)
Ich bin reichlich genervt, dass das seit Monaten erwartete “bugfix release” mal eben eine wesentliche und undokumentierte Strukturänderung bringt, die die Anwender einer funktionierenden Installation plötzlich in ihrer Arbeit blockiert (Zugriff auf gespeicherte Dateien nicht mehr möglich), und man wieder Stunden dran sitzt, um herauszufinden, was eigentlich los ist.
Auch sollte in einem ernsthaften Kontext bzw. bei Installationen mit Zugriff vom Internet oder von durch mehrere Arbeitsgruppen genutzten LANs aus eine zusätzliche Sicherung per HTTP Auth o. ä. gerade angesichts der Vielzahl von eGW-Bugs und -Veränderungen eine Selbstverständlichkeit sein und im Horizont der Entwickler liegen.
Jenseits der Behebung des o. g. Problems halte ich daher mehr Augenmerk auf einer strukturell sicheren und datenschutzgerechten Gestaltung von eGroupware für erforderlich. Die Projekte und Institutionen, die eGW einsetzen (wollen), müssen letztlich dafür gerade stehen, dass die in eGW gespeicherten personenbezogenen Daten wirklich vor Zugriff durch Unberechtigte sicher sind und nicht mal eben durch eine Herumbastelei an einem neuen Feature gefährdet werden. (Im vorliegenden Fall ist zwar der gegenteilige Effekt eingetreten, mir geht es aber nicht um das Vorzeichen, sondern die Dimension der Auswirkungen.)
Danke für’s Lesen, mit Bitte um ein rasches Bugfix für webdav.php.