File Links in Suchergebnissen fehlerhaft

Verbesserungsvorschläge, Fragen oder Probleme zu regain

Moderatoren: itebob, thtesche

File Links in Suchergebnissen fehlerhaft

Beitragvon bensommerfeld » 12.01.2006, 15:20

Hi zusammen,

ich habe die aktuellste Regain Server-Version (regain_v1.1beta6_server.zip) unter Linux laufen und das tut soweit auch erstmal ganz gut. Ich habe den Crawler so eingerichtet, dass er ein lokales Verzeichnis durchsucht, wo sämtliche Dokumente von uns liegen. In den Suchergebnissen kommen dann auch die passenden Dokumente. Nur ein Problem gibt es:

Die Links zu den gefundenen Dokumenten sind falsch. Es sind Links dieser Art:

http://localhost:8080/regain/file/%5Cdi ... index=main

der richtige link steht drunter (ohne html link):

file:///directory/documents/Meeting_02_04_26.rtf - 1,10 MB


klickt man auf den oberen link, dann kommt die fehlermeldung

"Error: 403
Location: /regain/file/%5Cdirectory/documents/Meeting_02_04_26.rtf
Unsafe URL"


wenn ich diese url dann ändere in

"http://localhost:8080/regain/file/directory/documents/Meeting_02_04_26.rtf?index=main"


kommt diese fehlermeldung:

Error: 500
Location: /regain/file/nfs/jis_doks/jourfixe/Meeting_02_04_26.rtf
Internal Servlet Error:

javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:412)
at net.sf.regain.ui.server.FileServlet.doGet(FileServlet.java:81)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:534)
at org.apache.tomcat.core.Handler.invoke(Handler.java:280)
at org.apache.tomcat.core.Handler.service(Handler.java:193)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:445)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:874)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:790)
at org.apache.coyote.tomcat3.Tomcat3Adapter.service(Tomcat3Adapter.java:64)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)
Root cause:
java.lang.NullPointerException
at java.net.URLDecoder.decode(URLDecoder.java:121)
at net.sf.regain.RegainToolkit.urlDecode(RegainToolkit.java:1018)
at net.sf.regain.search.SearchToolkit.extractFileUrl(SearchToolkit.java:256)
at net.sf.regain.ui.server.FileServlet.doGet(FileServlet.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:534)
at org.apache.tomcat.core.Handler.invoke(Handler.java:280)
at org.apache.tomcat.core.Handler.service(Handler.java:193)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:445)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:874)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:790)
at org.apache.coyote.tomcat3.Tomcat3Adapter.service(Tomcat3Adapter.java:64)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)





hat mir jemand nen tip, wie ich es hinbekomme, dass die links zu den dokumenten funktionieren?


P.S.: Umlaute funktionieren leider auch nicht richtig. Werden als Kommata angezeigt, also z.b. "Gespr,ch" anstatt "Gespräch".
Weiss mir da auch jemand Rat vielleicht?


Danke im voraus.
bensommerfeld
Newbie
 
Beiträge: 2
Registriert: 12.01.2006, 15:14

Beitragvon Til » 14.01.2006, 12:04

Die geänderten URLs sind Absicht. Siehe File-zu-Http-Brücke.

Der 403-Fehler scheint eine Sicherheitsfunktion Ihrer Servlet-Engine zu sein. So wie es aussieht verweigert sie die Annahme von URLs, die einen URL-codierten Slash ("%5C") beinhalten. Welche Servlet-Engine nutzen sie (z.B. Tomcat)? Und: Greifen Sie direkt auf die Servlet-Engine zu oder ist noch ein anderer Webserver (z.B. Apache) zwischengeschalten?

Sie können die File-zu-Http-Brücke in der SearchConfiguration.xml mit Hilfe des <useFileToHttpBridge>-Tags abschalten. Das sollte das Problem vorrübergehend lösen.

Die NullPointer-Exception kommt von einem Bug. Siehe http://forum.murfman.de/en/viewtopic.php?p=186 . Dieser Bug ist in der aktuellen Entwicklerversion bereits gefixt, wird also in der nächsten Version (1.1 beta 7) nicht mehr auftauchen.

Zu den Umlaut-Problemen: Wo genau stehen die falschen Umlaute?
Benutzeravatar
Til
Administrator
 
Beiträge: 537
Registriert: 17.11.2003, 19:08

Regain / Tomcat

Beitragvon bensommerfeld » 16.01.2006, 09:40

Til hat geschrieben:Die geänderten URLs sind Absicht. Siehe File-zu-Http-Brücke.

Der 403-Fehler scheint eine Sicherheitsfunktion Ihrer Servlet-Engine zu sein. So wie es aussieht verweigert sie die Annahme von URLs, die einen URL-codierten Slash ("%5C") beinhalten. Welche Servlet-Engine nutzen sie (z.B. Tomcat)? Und: Greifen Sie direkt auf die Servlet-Engine zu oder ist noch ein anderer Webserver (z.B. Apache) zwischengeschalten?



servlet engine ist tomcat 3.x - aktuelle version.
greife direkt auf http://localhost:8080/regain zu



Sie können die File-zu-Http-Brücke in der SearchConfiguration.xml mit Hilfe des <useFileToHttpBridge>-Tags abschalten. Das sollte das Problem vorrübergehend lösen.



die links sind nun im file:/// format, allerdings führt ein klicken des links (fedora core 4, im firefox und opera getestet) zu keinem ergebnis - das file wird also nicht geöffnet durch einen klick.
im firefox "passiert nichts" und im opera wird eine blank page geöffnet beim klicken.

Zu den Umlaut-Problemen: Wo genau stehen die falschen Umlaute?


die standen im text / in der beschreibung der suchergebnisse.
das scheint sich nun durch umstellen meiner spracheinstellungen im firefox gelöst zu haben. hatte vorher UTF8, jetzt ISO 8859-1 und umlaute funktionieren. natürlich schade, dass es mit UTF8 nicht klappt, aber geht auch so erstmal.

P.S.: Wir können uns gerne per "Du" unterhalten;)
bensommerfeld
Newbie
 
Beiträge: 2
Registriert: 12.01.2006, 15:14

Re: Regain / Tomcat

Beitragvon Til » 16.01.2006, 16:07

bensommerfeld hat geschrieben:servlet engine ist tomcat 3.x - aktuelle version.
greife direkt auf http://localhost:8080/regain zu

Ich nehme an, dass dies eine Sicherheitsfunktion in Tomcat ist. Ich selbst habe mit Tomcat 5.5.x getestet und keine derartigen Probleme gehabt.

bensommerfeld hat geschrieben:die links sind nun im file:/// format, allerdings führt ein klicken des links (fedora core 4, im firefox und opera getestet) zu keinem ergebnis - das file wird also nicht geöffnet durch einen klick.
im firefox "passiert nichts" und im opera wird eine blank page geöffnet beim klicken.

Ich nehme an, dass die Browser aus Sicherheitsgründen keine FILE-Links von Seiten verfolgen, die über HTTP geladen wurden.

Dies ist auch einer der Gründe, warum es die File-zu-Http-Brücke gibt.

bensommerfeld hat geschrieben:die standen im text / in der beschreibung der suchergebnisse.
das scheint sich nun durch umstellen meiner spracheinstellungen im firefox gelöst zu haben. hatte vorher UTF8, jetzt ISO 8859-1 und umlaute funktionieren. natürlich schade, dass es mit UTF8 nicht klappt, aber geht auch so erstmal.

Das ist ein Problem im Tomcat. Dort ist kein Encoding eingestellt. (Das war übrigens auch der Grund für die NullPointerException)
Benutzeravatar
Til
Administrator
 
Beiträge: 537
Registriert: 17.11.2003, 19:08

Re: File Links in Suchergebnissen fehlerhaft

Beitragvon Watson007 » 28.12.2009, 15:00

Til hat geschrieben:Der 403-Fehler scheint eine Sicherheitsfunktion Ihrer Servlet-Engine zu sein. So wie es aussieht verweigert sie die Annahme von URLs, die einen URL-codierten Slash ("%5C") beinhalten. Welche Servlet-Engine nutzen sie (z.B. Tomcat)?


ich habe das Problem auch. Was für eine Lösung hast du denn? TomCat 6.0 benutze ich.
Watson007
Newbie
 
Beiträge: 1
Registriert: 28.12.2009, 14:56


Zurück zu regain

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron