luehe       2002/12/16 11:43:54

  Modified:    jasper2/src/share/org/apache/jasper/resources
                        messages.properties
               jasper2/src/share/org/apache/jasper/compiler
                        TagLibraryInfoImpl.java
  Log:
  Fixed 15404: No error condition raised if mandatory TLD elements
  <jsp-version> and <tlib-version> are not present in the TLD
  
  Revision  Changes    Path
  1.72      +2 -1      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- messages.properties       13 Dec 2002 16:27:43 -0000      1.71
  +++ messages.properties       16 Dec 2002 19:43:53 -0000      1.72
  @@ -280,6 +280,7 @@
   jsp.error.tld.fn.invalid.signature.parenexpected=Invalid syntax for function 
signature in TLD.  Parenthesis '(' expected.  Tag Library: {0}, Function: {1}.
   jsp.error.dynamic.attributes.not.implemented=The {0} tag declares that it accepts 
dynamic attributes but does not implement the required interface
   jsp.error.nomatching.fragment=Cannot find an attribute directive (with name={0} and 
fragment=true) prior to the fragment directive.
  +jsp.error.tld.mandatory.element.missing=Mandatory TLD element missing: {0}
   jsp.error.attribute.noequal=equal symbol expected
   jsp.error.attribute.noquote=quote symbol expected
   jsp.error.attribute.unterminated=attribute for {0} is not properly terminated
  
  
  
  1.29      +22 -9     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
  
  Index: TagLibraryInfoImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- TagLibraryInfoImpl.java   12 Dec 2002 17:44:38 -0000      1.28
  +++ TagLibraryInfoImpl.java   16 Dec 2002 19:43:53 -0000      1.29
  @@ -244,7 +244,9 @@
           Vector tagVector = new Vector();
           Vector tagFileVector = new Vector();
           Hashtable functionTable = new Hashtable();
  -     
  +     boolean tlibVersionSeen = false;
  +     boolean jspVersionSeen = false;
  +
           // Create an iterator over the child elements of our <taglib> element
           ParserUtils pu = new ParserUtils();
           TreeNode tld = pu.parseXMLDocument(uri, in);
  @@ -256,13 +258,15 @@
               TreeNode element = (TreeNode) list.next();
               String tname = element.getName();
   
  -            if ("tlibversion".equals(tname) ||          // JSP 1.1
  -                "tlib-version".equals(tname))           // JSP 1.2
  +            if ("tlibversion".equals(tname)                    // JSP 1.1
  +                     || "tlib-version".equals(tname)) {     // JSP 1.2
                   this.tlibversion = element.getBody();
  -            else if ("jspversion".equals(tname) ||
  -                     "jsp-version".equals(tname))
  +             tlibVersionSeen = true;
  +            } else if ("jspversion".equals(tname)
  +                     || "jsp-version".equals(tname)) {
                   this.jspversion = element.getBody();
  -            else if ("shortname".equals(tname) ||
  +             jspVersionSeen = true;
  +            } else if ("shortname".equals(tname) ||
                        "short-name".equals(tname))
                   this.shortname = element.getBody();
               else if ("uri".equals(tname))
  @@ -301,6 +305,15 @@
               }
   
           }
  +
  +     if (!tlibVersionSeen) {
  +         err.jspError("jsp.error.tld.mandatory.element.missing", 
  +                      "tlib-version");
  +     }
  +     if (!jspVersionSeen) {
  +         err.jspError("jsp.error.tld.mandatory.element.missing",
  +                      "jsp-version");
  +     }
   
           this.tags = new TagInfo[tagVector.size()];
           tagVector.copyInto (this.tags);
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to