Menu

#32 Message body not displayed

not critical
open
nobody
mail part (12)
5
2003-01-05
2003-01-05
Gary James
No

I'm using version v0.7.10 on RedHat 7.3 and Tomcat
4.1.12. The body of some messages is not displayed
properly. In the error log I get the following exception:

XMLResourceBundle (no date): Type #text
XMLResourceBundle: no date = (no date)
XMLResourceBundle (no date): Type #text
XMLResourceBundle: no date = (no date)
java.lang.NullPointerException
at
net.wastl.webmail.misc.JavaScriptCleaner.walkTree(JavaScriptCleaner.java:82)
at
net.wastl.webmail.misc.JavaScriptCleaner.walkTree(JavaScriptCleaner.java:102)
at
net.wastl.webmail.misc.JavaScriptCleaner.walkTree(JavaScriptCleaner.java:102)
at
net.wastl.webmail.misc.JavaScriptCleaner.<init>(JavaScriptCleaner.java:48)
at
net.wastl.webmail.server.WebMailSession.parseMIMEContent(WebMailSession.java:696)
at
net.wastl.webmail.server.WebMailSession.getMessage(WebMailSession.java:586)
at
net.wastl.webmail.server.WebMailSession.getMessage(WebMailSession.java:475)
at ShowMessage.handleURL(ShowMessage.java:95)
at
net.wastl.webmail.server.ToplevelURLHandler.handleURL(ToplevelURLHandler.java:142)
at
net.wastl.webmail.server.WebMailServlet.service(WebMailServlet.java:287)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
Source)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
at
org.apache.catalina.core.ContainerBase.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
at
org.apache.catalina.core.ContainerBase.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardContext.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardHostValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.valves.AccessLogValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
at
org.apache.catalina.core.ContainerBase.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown
Source)
at
org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
at
org.apache.catalina.core.ContainerBase.invoke(Unknown
Source)
at
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)
at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)
at java.lang.Thread.run(Thread.java:536)

Discussion

  • Thomas Rohwer

    Thomas Rohwer - 2003-01-08

    Logged In: YES
    user_id=578329

    The reason is, that node maps can be null, if the
    encountered node is
    not an element.
    I fixed this by adding a

    if (map!=null) {
    }

    in my local version.

     
  • Nobody/Anonymous

    Logged In: NO

    I got the same problem... where do you added that "if
    (map....) ?

    Thanks, Mathias
    webmaster@taebo-hn.de

     
  • Thomas Rohwer

    Thomas Rohwer - 2003-01-10

    Logged In: YES
    user_id=578329

    Here is a patch for that problem with repect to version 0.7.10.
    I encountered some additional problems with the XML
    processing though.

    diff -r
    jwebmail-0.7_orig/src/net/wastl/webmail/misc/JavaScriptCleaner.java
    jwebmail-0.7/src/net/wastl/webmail/misc/JavaScriptCleaner.java

    82,89c82,95

    < for(int i=0;i<map.getLength();i++) {

    < Attr a=(Attr)map.item(i);

    < /* First case: look for hrefs containing
    "javascript" */

    < if(a.getName().toUpperCase().equals("HREF")) {

    < for(int
    j=0;j<a.getValue().length()-javascript_href.length() ;j++) {

    <
    if(a.getValue().regionMatches(true,j,javascript_href,0,javascript_href.length()))
    {

    < ((Element)node).setAttribute("malicious","Marked
    malicious because of potential JavaScript abuse (HREF
    attribute contains javascript code)");

    < break;

    ---

    > if (map!=null) {

    > for(int i=0;i<map.getLength();i++) {

    > Attr a=(Attr)map.item(i);

    > /* First case: look for hrefs containing
    "javascript" */

    > if(a.getName().toUpperCase().equals("HREF")) {

    > for(int
    j=0;j<a.getValue().length()-javascript_href.length() ;j++) {

    >
    if(a.getValue().regionMatches(true,j,javascript_href,0,javascript_href.length()))
    {

    >
    ((Element)node).setAttribute("malicious","Marked malicious
    because of potential JavaScript abuse (HREF attribute
    contains javascript code)");

    > break;

    > }

    > }

    > /* All elements containing "onXXX" tags get the
    malicious attribute immediately */

    > } else
    if(a.getName().toUpperCase().startsWith("ON")) {

    >
    ((Element)node).setAttribute("malicious","Marked malicious
    because of potential JavaScript abuse (element contains
    script events)");

    92,95d97

    < /* All elements containing "onXXX" tags get the
    malicious attribute immediately */

    < } else
    if(a.getName().toUpperCase().startsWith("ON")) {

    < ((Element)node).setAttribute("malicious","Marked
    malicious because of potential JavaScript abuse (element
    contains script events)");

    < }

     

Log in to post a comment.