Visit Linkwerk.com

Mylyn, Trac und die Authentifizierung …

Jüngst haben wir unser internes Trac-System inklusive aller genutzten Plugins erneuert. Inbesondere soll hier das XML-RPC-Plugin erwähnt werden. Nach Installation des neuen Tracs (Version 0.11.5 und Version 1.0.6 des Plugins) und der Migrierung aller Daten unseren alten Instanz, war als nächstes das Umstellen der Arbeitsplätze auf die neue Instanz an der Reihe.

Da wir viel mit Eclipse entwickeln liegt es nahe Mylyn einzusetzen, um mit unserem Trac zu interagieren. Doch beim Umstellen auf die neue Instanz und Validieren der Benutzerdaten antwortete Eclipse mit der folgenden Meldung

No Trac repository found at url: Required API calls are missing, please update your Trac XML-RPC Plugin to revision 1950 or later.

Abgesehen von neuen Versionen der Software und der Plugins kommt in der neuen Instanz die selbe Konfiguration zum Einsatz. Und nicht zuletzt entspricht die neue Version des XML-RPC-Plugins einer SVN-Revision jenseits der 6000, also definitv “1950 or later”.

Eine Suche nach der Fehlermeldung bringt einen auch erstmal nicht grossartig weiter. Nach längerer Suche war der Fehler aber dann doch gefunden. Eines der installierten Plugins ist der AccountManager, der es erlaubt Trac von HTTP Authentication auf Form-based Authentication umzustellen. Damit er sich mit dem Standard-Modul von Trac nicht in die Quere kommt, muss man dieses in der trac.ini mit dem Eintrag

[components]
trac.web.auth.LoginModule = disabled

deaktivieren. Der von Mylyn verwendete Trac Connector wiederum versucht aber, sich mit HTTP Authentication einzuloggen, die aber durch Form-based Authentication des Account-Manager-Plugins ersetzt wurde. Lösung für das Problem ist das HttpAuthPlugin, das es erlaubt konfigurierbare Pfade mit HTTP Authentication bereit zu stellen. Die nötigen Einträge in der trac.ini sind

[components]
httpauth.* = enabled

[httpauth]
paths = /xmlrpc, /login/xmlrpc

Damit sind nach einem Neustart von Trac die für die XML-RPC-Kommunikation nötigen Pfade mittels HTTP Authentication zugänglich, und der Trac-Connector funktioniert wieder wunderbar.

Im Grunde eine Kleinigkeit, aber letztendlich einer dieser Kleinigkeiten, die einen dann doch einen ganzen Tag kosten können. In der Hoffnung anderen diesen Aufwand zu ersparen, ist das Ganze hier festgehalten.


Comments are closed.