JBossWeb SVN: r758 - tags.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-29 10:54:13 -0400 (Fri, 29 Aug 2008)
New Revision: 758
Added:
tags/JBOSSWEB_2_1_1_CR6/
Log:
- 2.1.1 CR 6.
Copied: tags/JBOSSWEB_2_1_1_CR6 (from rev 757, trunk)
15 years, 8 months
JBossWeb SVN: r757 - in trunk: webapps/docs and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-29 10:49:02 -0400 (Fri, 29 Aug 2008)
New Revision: 757
Modified:
trunk/build.properties.default
trunk/webapps/docs/changelog.xml
Log:
- NSIS 2.39.
Modified: trunk/build.properties.default
===================================================================
--- trunk/build.properties.default 2008-08-29 01:25:10 UTC (rev 756)
+++ trunk/build.properties.default 2008-08-29 14:49:02 UTC (rev 757)
@@ -59,12 +59,12 @@
commons-collections-src.loc=${base-commons.loc}/collections/source/commons-collections-3.2.1-src.tar.gz
# ----- NSIS, version 2.0 or later -----
-nsis.home=${base.path}/nsis-2.38
+nsis.home=${base.path}/nsis-2.39
nsis.exe=${nsis.home}/makensis.exe
nsis.installoptions.dll=${nsis.home}/Plugins/InstallOptions.dll
nsis.nsexec.dll=${nsis.home}/Plugins/nsExec.dll
nsis.nsisdl.dll=${nsis.home}/Plugins/NSISdl.dll
-nsis.loc=${base-sf.loc}/nsis/nsis-2.38.zip
+nsis.loc=${base-sf.loc}/nsis/nsis-2.39.zip
# ----- JBoss Native, version 2.0 or later -----
jbossnative.home=${base.path}/jboss-native-2.0.4
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-08-29 01:25:10 UTC (rev 756)
+++ trunk/webapps/docs/changelog.xml 2008-08-29 14:49:02 UTC (rev 757)
@@ -17,6 +17,13 @@
<body>
<section name="JBoss Web 2.1.1.CR6 (remm)">
+ <subsection name="General">
+ <changelog>
+ <update>
+ NSIS 2.39. (remm)
+ </update>
+ </changelog>
+ </subsection>
<subsection name="Catalina">
<changelog>
<fix>
15 years, 8 months
JBossWeb SVN: r756 - branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp.
by jbossweb-commits@lists.jboss.org
Author: mmillson
Date: 2008-08-28 21:25:10 -0400 (Thu, 28 Aug 2008)
New Revision: 756
Modified:
branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProcessor.java
branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProtocol.java
Log:
"Fix AJP Connector Threads Hung in CLOSE_WAIT Status for [JBPAPP-1139]."
Modified: branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProcessor.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProcessor.java 2008-08-28 14:46:10 UTC (rev 755)
+++ branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProcessor.java 2008-08-29 01:25:10 UTC (rev 756)
@@ -355,7 +355,7 @@
*
* @throws IOException error during an I/O operation
*/
- public boolean process(Socket socket)
+ public void process(Socket socket)
throws IOException {
RequestInfo rp = request.getRequestProcessor();
rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
@@ -471,8 +471,6 @@
input = null;
output = null;
- return true;
-
}
Modified: branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProtocol.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProtocol.java 2008-08-28 14:46:10 UTC (rev 755)
+++ branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/src/share/classes/org/apache/coyote/ajp/AjpProtocol.java 2008-08-29 01:25:10 UTC (rev 756)
@@ -378,7 +378,8 @@
((ActionHook) processor).action(ActionCode.ACTION_START, null);
}
- return processor.process(socket);
+ processor.process(socket);
+ return false;
} catch(java.net.SocketException e) {
// SocketExceptions are normal
15 years, 8 months
JBossWeb SVN: r755 - trunk/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-28 10:46:10 -0400 (Thu, 28 Aug 2008)
New Revision: 755
Modified:
trunk/webapps/docs/changelog.xml
Log:
- Back EL changes from changelog, since it's back to CR5.
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-08-28 12:31:29 UTC (rev 754)
+++ trunk/webapps/docs/changelog.xml 2008-08-28 14:46:10 UTC (rev 755)
@@ -60,15 +60,9 @@
</subsection>
<subsection name="Jasper">
<changelog>
- <fix>
- <bug>45511</bug>: New EL fix for 42565. (markt)
- </fix>
<add>
<jira>108</jira>: Experimental support for JCI. (remm)
</add>
- <fix>
- Revert to EL from CR5, due to regressions. (remm)
- </fix>
</changelog>
</subsection>
</section>
15 years, 8 months
JBossWeb SVN: r754 - in trunk: webapps/docs and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-28 08:31:29 -0400 (Thu, 28 Aug 2008)
New Revision: 754
Modified:
trunk/java/org/apache/el/parser/ELParser.java
trunk/java/org/apache/el/parser/ELParser.jjt
trunk/java/org/apache/el/parser/ELParserConstants.java
trunk/java/org/apache/el/parser/ELParserTokenManager.java
trunk/webapps/docs/changelog.xml
Log:
- Revert EL to CR5 version, due to regressions.
Modified: trunk/java/org/apache/el/parser/ELParser.java
===================================================================
--- trunk/java/org/apache/el/parser/ELParser.java 2008-08-28 08:24:28 UTC (rev 753)
+++ trunk/java/org/apache/el/parser/ELParser.java 2008-08-28 12:31:29 UTC (rev 754)
@@ -963,6 +963,7 @@
case NULL:
case LPAREN:
case IDENTIFIER:
+ case NAMESPACE:
Value();
break;
default:
@@ -1032,6 +1033,7 @@
break;
case LPAREN:
case IDENTIFIER:
+ case NAMESPACE:
NonLiteral();
break;
default:
@@ -1129,7 +1131,7 @@
break;
default:
jj_la1[28] = jj_gen;
- if (jj_2_1(2147483647)) {
+ if (jj_2_1(3)) {
Function();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1178,9 +1180,8 @@
Token t1 = null;
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IDENTIFIER:
- t0 = jj_consume_token(IDENTIFIER);
- jj_consume_token(COLON);
+ case NAMESPACE:
+ t0 = jj_consume_token(NAMESPACE);
break;
default:
jj_la1[30] = jj_gen;
@@ -1207,6 +1208,7 @@
case EMPTY:
case MINUS:
case IDENTIFIER:
+ case NAMESPACE:
Expression();
label_10:
while (true) {
@@ -1403,20 +1405,245 @@
}
final private boolean jj_3R_11() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(54)) jj_scanpos = xsp;
if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(COLON)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_12()) jj_scanpos = xsp;
+ if (jj_scan_token(RPAREN)) return true;
return false;
}
+ final private boolean jj_3R_20() {
+ if (jj_3R_21()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_44() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_19() {
+ if (jj_3R_20()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_38() {
+ if (jj_3R_44()) return true;
+ return false;
+ }
+
final private boolean jj_3_1() {
+ if (jj_3R_11()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_31() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_11()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_3R_37()) {
+ jj_scanpos = xsp;
+ if (jj_3_1()) {
+ jj_scanpos = xsp;
+ if (jj_3R_38()) return true;
+ }
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_37() {
if (jj_scan_token(LPAREN)) return true;
return false;
}
+ final private boolean jj_3R_43() {
+ if (jj_scan_token(NULL)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_42() {
+ if (jj_scan_token(STRING_LITERAL)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_18() {
+ if (jj_3R_19()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_41() {
+ if (jj_scan_token(INTEGER_LITERAL)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_17() {
+ if (jj_3R_18()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_40() {
+ if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_29() {
+ if (jj_3R_31()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_46() {
+ if (jj_scan_token(FALSE)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_16() {
+ if (jj_3R_17()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_27() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_28()) {
+ jj_scanpos = xsp;
+ if (jj_3R_29()) return true;
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_28() {
+ if (jj_3R_30()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_45() {
+ if (jj_scan_token(TRUE)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_39() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_45()) {
+ jj_scanpos = xsp;
+ if (jj_3R_46()) return true;
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_15() {
+ if (jj_3R_16()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_26() {
+ if (jj_3R_27()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_25() {
+ if (jj_3R_26()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_36() {
+ if (jj_3R_43()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_35() {
+ if (jj_3R_42()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_24() {
+ if (jj_scan_token(EMPTY)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_34() {
+ if (jj_3R_41()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_33() {
+ if (jj_3R_40()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_23() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(37)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(38)) return true;
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_12() {
+ if (jj_3R_13()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_22() {
+ if (jj_scan_token(MINUS)) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_21() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_22()) {
+ jj_scanpos = xsp;
+ if (jj_3R_23()) {
+ jj_scanpos = xsp;
+ if (jj_3R_24()) {
+ jj_scanpos = xsp;
+ if (jj_3R_25()) return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_30() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_32()) {
+ jj_scanpos = xsp;
+ if (jj_3R_33()) {
+ jj_scanpos = xsp;
+ if (jj_3R_34()) {
+ jj_scanpos = xsp;
+ if (jj_3R_35()) {
+ jj_scanpos = xsp;
+ if (jj_3R_36()) return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ final private boolean jj_3R_32() {
+ if (jj_3R_39()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_14() {
+ if (jj_3R_15()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_13() {
+ if (jj_3R_14()) return true;
+ return false;
+ }
+
public ELParserTokenManager token_source;
SimpleCharStream jj_input_stream;
public Token token, jj_nt;
@@ -1437,7 +1664,7 @@
jj_la1_0 = new int[] {0xe,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9d600,0x240000,0x9d600,0x240000,0x80000,0x0,0x0,0x1000000,0x9d600,0x1d600,0xc000,};
}
private static void jj_la1_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x10000,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x208860,0x0,0x200000,0x0,0x0,0x200000,0x200000,0x0,0x208860,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x10000,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x608860,0x0,0x600000,0x0,0x0,0x200000,0x400000,0x0,0x608860,0x0,0x0,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[1];
private boolean jj_rescan = false;
@@ -1617,8 +1844,8 @@
public ParseException generateParseException() {
jj_expentries.removeAllElements();
- boolean[] la1tokens = new boolean[59];
- for (int i = 0; i < 59; i++) {
+ boolean[] la1tokens = new boolean[60];
+ for (int i = 0; i < 60; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
@@ -1637,7 +1864,7 @@
}
}
}
- for (int i = 0; i < 59; i++) {
+ for (int i = 0; i < 60; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
Modified: trunk/java/org/apache/el/parser/ELParser.jjt
===================================================================
--- trunk/java/org/apache/el/parser/ELParser.jjt 2008-08-28 08:24:28 UTC (rev 753)
+++ trunk/java/org/apache/el/parser/ELParser.jjt 2008-08-28 12:31:29 UTC (rev 754)
@@ -16,22 +16,22 @@
*/
/*
- Author: Jacob Hookom
- Email: jacob at hookom.net
+ Author: Jacob Hookom
+ Email: jacob at hookom.net
*/
/* == Option Declaration == */
options
{
- STATIC=false;
- NODE_PREFIX="Ast";
- VISITOR_EXCEPTION="javax.el.ELException";
- VISITOR=false;
- MULTI=true;
- NODE_DEFAULT_VOID=true;
- JAVA_UNICODE_ESCAPE=false;
- UNICODE_INPUT=true;
- BUILD_NODE_FILES=true;
+ STATIC=false;
+ NODE_PREFIX="Ast";
+ VISITOR_EXCEPTION="javax.el.ELException";
+ VISITOR=false;
+ MULTI=true;
+ NODE_DEFAULT_VOID=true;
+ JAVA_UNICODE_ESCAPE=false;
+ UNICODE_INPUT=true;
+ BUILD_NODE_FILES=true;
}
/* == Parser Declaration == */
@@ -44,9 +44,9 @@
public static Node parse(String ref) throws ELException
{
try {
- return (new ELParser(new StringReader(ref))).CompositeExpression();
+ return (new ELParser(new StringReader(ref))).CompositeExpression();
} catch (ParseException pe) {
- throw new ELException(pe.getMessage());
+ throw new ELException(pe.getMessage());
}
}
}
@@ -59,7 +59,7 @@
*/
AstCompositeExpression CompositeExpression() #CompositeExpression : {}
{
- (DeferredExpression() | DynamicExpression() | LiteralExpression())* <EOF> { return jjtThis; }
+ (DeferredExpression() | DynamicExpression() | LiteralExpression())* <EOF> { return jjtThis; }
}
/*
@@ -68,7 +68,7 @@
*/
void LiteralExpression() #LiteralExpression : { Token t = null; }
{
- t=<LITERAL_EXPRESSION> { jjtThis.setImage(t.image); }
+ t=<LITERAL_EXPRESSION> { jjtThis.setImage(t.image); }
}
/*
@@ -77,7 +77,7 @@
*/
void DeferredExpression() #DeferredExpression : {}
{
- <START_DEFERRED_EXPRESSION> Expression() <END_EXPRESSION>
+ <START_DEFERRED_EXPRESSION> Expression() <END_EXPRESSION>
}
/*
@@ -86,7 +86,7 @@
*/
void DynamicExpression() #DynamicExpression : {}
{
- <START_DYNAMIC_EXPRESSION> Expression() <END_EXPRESSION>
+ <START_DYNAMIC_EXPRESSION> Expression() <END_EXPRESSION>
}
/*
@@ -95,7 +95,7 @@
*/
void Expression() : {}
{
- Choice()
+ Choice()
}
/*
@@ -104,7 +104,7 @@
*/
void Choice() : {}
{
- Or() (<QUESTIONMARK> Choice() <COLON> Choice() #Choice(3))*
+ Or() (<QUESTIONMARK> Choice() <COLON> Choice() #Choice(3))*
}
/*
@@ -113,7 +113,7 @@
*/
void Or() : {}
{
- And() ((<OR0>|<OR1>) And() #Or(2))*
+ And() ((<OR0>|<OR1>) And() #Or(2))*
}
/*
@@ -122,7 +122,7 @@
*/
void And() : {}
{
- Equality() ((<AND0>|<AND1>) Equality() #And(2))*
+ Equality() ((<AND0>|<AND1>) Equality() #And(2))*
}
/*
@@ -131,12 +131,12 @@
*/
void Equality() : {}
{
- Compare()
- (
- ((<EQ0>|<EQ1>) Compare() #Equal(2))
- |
- ((<NE0>|<NE1>) Compare() #NotEqual(2))
- )*
+ Compare()
+ (
+ ((<EQ0>|<EQ1>) Compare() #Equal(2))
+ |
+ ((<NE0>|<NE1>) Compare() #NotEqual(2))
+ )*
}
/*
@@ -145,16 +145,16 @@
*/
void Compare() : {}
{
- Math()
- (
- ((<LT0>|<LT1>) Math() #LessThan(2))
- |
- ((<GT0>|<GT1>) Math() #GreaterThan(2))
- |
- ((<LE0>|<LE1>) Math() #LessThanEqual(2))
- |
- ((<GE0>|<GE1>) Math() #GreaterThanEqual(2))
- )*
+ Math()
+ (
+ ((<LT0>|<LT1>) Math() #LessThan(2))
+ |
+ ((<GT0>|<GT1>) Math() #GreaterThan(2))
+ |
+ ((<LE0>|<LE1>) Math() #LessThanEqual(2))
+ |
+ ((<GE0>|<GE1>) Math() #GreaterThanEqual(2))
+ )*
}
/*
@@ -163,12 +163,12 @@
*/
void Math() : {}
{
- Multiplication()
- (
- (<PLUS> Multiplication() #Plus(2))
- |
- (<MINUS> Multiplication() #Minus(2))
- )*
+ Multiplication()
+ (
+ (<PLUS> Multiplication() #Plus(2))
+ |
+ (<MINUS> Multiplication() #Minus(2))
+ )*
}
/*
@@ -177,14 +177,14 @@
*/
void Multiplication() : {}
{
- Unary()
- (
- (<MULT> Unary() #Mult(2))
- |
- ((<DIV0>|<DIV1>) Unary() #Div(2))
- |
- ((<MOD0>|<MOD1>) Unary() #Mod(2))
- )*
+ Unary()
+ (
+ (<MULT> Unary() #Mult(2))
+ |
+ ((<DIV0>|<DIV1>) Unary() #Div(2))
+ |
+ ((<MOD0>|<MOD1>) Unary() #Mod(2))
+ )*
}
/*
@@ -193,13 +193,13 @@
*/
void Unary() : {}
{
- <MINUS> Unary() #Negative
- |
- (<NOT0>|<NOT1>) Unary() #Not
- |
- <EMPTY> Unary() #Empty
- |
- Value()
+ <MINUS> Unary() #Negative
+ |
+ (<NOT0>|<NOT1>) Unary() #Not
+ |
+ <EMPTY> Unary() #Empty
+ |
+ Value()
}
/*
@@ -208,7 +208,7 @@
*/
void Value() : {}
{
- (ValuePrefix() (ValueSuffix())*) #Value(>1)
+ (ValuePrefix() (ValueSuffix())*) #Value(>1)
}
/*
@@ -217,8 +217,8 @@
*/
void ValuePrefix() : {}
{
- Literal()
- | NonLiteral()
+ Literal()
+ | NonLiteral()
}
/*
@@ -227,7 +227,7 @@
*/
void ValueSuffix() : {}
{
- DotSuffix() | BracketSuffix()
+ DotSuffix() | BracketSuffix()
}
/*
@@ -236,7 +236,7 @@
*/
void DotSuffix() #DotSuffix : { Token t = null; }
{
- <DOT> t=<IDENTIFIER> { jjtThis.setImage(t.image); }
+ <DOT> t=<IDENTIFIER> { jjtThis.setImage(t.image); }
}
/*
@@ -245,7 +245,7 @@
*/
void BracketSuffix() #BracketSuffix : {}
{
- <LBRACK> Expression() <RBRACK>
+ <LBRACK> Expression() <RBRACK>
}
/*
@@ -254,9 +254,9 @@
*/
void NonLiteral() : {}
{
- <LPAREN> Expression() <RPAREN>
- | LOOKAHEAD((<IDENTIFIER> <COLON>)? <IDENTIFIER> <LPAREN>) Function()
- | Identifier()
+ <LPAREN> Expression() <RPAREN>
+ | LOOKAHEAD(3) Function()
+ | Identifier()
}
/*
@@ -265,7 +265,7 @@
*/
void Identifier() #Identifier : { Token t = null; }
{
- t=<IDENTIFIER> { jjtThis.setImage(t.image); }
+ t=<IDENTIFIER> { jjtThis.setImage(t.image); }
}
/*
@@ -274,20 +274,20 @@
*/
void Function() #Function :
{
- Token t0 = null;
- Token t1 = null;
+ Token t0 = null;
+ Token t1 = null;
}
{
- (t0=<IDENTIFIER> <COLON>)? t1=<IDENTIFIER>
- {
- if (t0 != null) {
- jjtThis.setPrefix(t0.image.substring(0, t0.image.length() - 1));
- jjtThis.setLocalName(t1.image);
- } else {
- jjtThis.setLocalName(t1.image);
- }
- }
- <LPAREN> (Expression() (<COMMA> Expression())*)? <RPAREN>
+ (t0=<NAMESPACE>)? t1=<IDENTIFIER>
+ {
+ if (t0 != null) {
+ jjtThis.setPrefix(t0.image.substring(0, t0.image.length() - 1));
+ jjtThis.setLocalName(t1.image);
+ } else {
+ jjtThis.setLocalName(t1.image);
+ }
+ }
+ <LPAREN> (Expression() (<COMMA> Expression())*)? <RPAREN>
}
/*
@@ -296,11 +296,11 @@
*/
void Literal() : {}
{
- Boolean()
- | FloatingPoint()
- | Integer()
- | String()
- | Null()
+ Boolean()
+ | FloatingPoint()
+ | Integer()
+ | String()
+ | Null()
}
/*
@@ -309,8 +309,8 @@
*/
void Boolean() : {}
{
- <TRUE> #True
- | <FALSE> #False
+ <TRUE> #True
+ | <FALSE> #False
}
/*
@@ -319,7 +319,7 @@
*/
void FloatingPoint() #FloatingPoint : { Token t = null; }
{
- t=<FLOATING_POINT_LITERAL> { jjtThis.setImage(t.image); }
+ t=<FLOATING_POINT_LITERAL> { jjtThis.setImage(t.image); }
}
/*
@@ -328,7 +328,7 @@
*/
void Integer() #Integer : { Token t = null; }
{
- t=<INTEGER_LITERAL> { jjtThis.setImage(t.image); }
+ t=<INTEGER_LITERAL> { jjtThis.setImage(t.image); }
}
/*
@@ -337,7 +337,7 @@
*/
void String() #String : { Token t = null; }
{
- t=<STRING_LITERAL> { jjtThis.setImage(t.image); }
+ t=<STRING_LITERAL> { jjtThis.setImage(t.image); }
}
/*
@@ -346,7 +346,7 @@
*/
void Null() #Null : {}
{
- <NULL>
+ <NULL>
}
@@ -374,97 +374,98 @@
<IN_EXPRESSION> TOKEN :
{
- < INTEGER_LITERAL: ["0"-"9"] (["0"-"9"])* >
-| < FLOATING_POINT_LITERAL: (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)?
- | "." (["0"-"9"])+ (<EXPONENT>)?
- | (["0"-"9"])+ <EXPONENT>
- >
-| < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
-| < STRING_LITERAL: ("\"" ((~["\"","\\"])
- | ("\\" ( ["\\","\""] )))* "\"")
- | ("\'" ((~["\'","\\"])
- | ("\\" ( ["\\","\'"] )))* "\'")
- >
-| < BADLY_ESCAPED_STRING_LITERAL: ("\"" (~["\"","\\"])* ("\\" ( ~["\\","\""] )))
- | ("\'" (~["\'","\\"])* ("\\" ( ~["\\","\'"] )))
- >
-| < TRUE : "true" >
-| < FALSE : "false" >
-| < NULL : "null" >
-| < END_EXPRESSION : "}" > : DEFAULT
-| < DOT : "." >
-| < LPAREN : "(" >
-| < RPAREN : ")" >
-| < LBRACK : "[" >
-| < RBRACK : "]" >
-| < COLON : ":" >
-| < COMMA : "," >
-| < GT0 : ">" >
-| < GT1 : "gt" >
-| < LT0 : "<" >
-| < LT1 : "lt" >
-| < GE0 : ">=" >
-| < GE1 : "ge" >
-| < LE0 : "<=" >
-| < LE1 : "le" >
-| < EQ0 : "==" >
-| < EQ1 : "eq" >
-| < NE0 : "!=" >
-| < NE1 : "ne" >
-| < NOT0 : "!" >
-| < NOT1 : "not" >
-| < AND0 : "&&" >
-| < AND1 : "and" >
-| < OR0 : "||" >
-| < OR1 : "or" >
-| < EMPTY : "empty" >
-| < INSTANCEOF : "instanceof" >
-| < MULT : "*" >
-| < PLUS : "+" >
-| < MINUS : "-" >
-| < QUESTIONMARK : "?" >
-| < DIV0 : "/" >
-| < DIV1 : "div" >
-| < MOD0 : "%" >
-| < MOD1 : "mod" >
-| < IDENTIFIER : (<LETTER>|<IMPL_OBJ_START>) (<LETTER>|<DIGIT>)* >
-| < FUNCTIONSUFFIX : (<IDENTIFIER>) >
-| < #IMPL_OBJ_START: "#" >
-| < #LETTER:
- [
- "\u0024",
- "\u0041"-"\u005a",
- "\u005f",
- "\u0061"-"\u007a",
- "\u00c0"-"\u00d6",
- "\u00d8"-"\u00f6",
- "\u00f8"-"\u00ff",
- "\u0100"-"\u1fff",
- "\u3040"-"\u318f",
- "\u3300"-"\u337f",
- "\u3400"-"\u3d2d",
- "\u4e00"-"\u9fff",
- "\uf900"-"\ufaff"
- ]
- >
-| < #DIGIT:
- [
- "\u0030"-"\u0039",
- "\u0660"-"\u0669",
- "\u06f0"-"\u06f9",
- "\u0966"-"\u096f",
- "\u09e6"-"\u09ef",
- "\u0a66"-"\u0a6f",
- "\u0ae6"-"\u0aef",
- "\u0b66"-"\u0b6f",
- "\u0be7"-"\u0bef",
- "\u0c66"-"\u0c6f",
- "\u0ce6"-"\u0cef",
- "\u0d66"-"\u0d6f",
- "\u0e50"-"\u0e59",
- "\u0ed0"-"\u0ed9",
- "\u1040"-"\u1049"
- ]
- >
-| < ILLEGAL_CHARACTER: (~[]) >
+ < INTEGER_LITERAL: ["0"-"9"] (["0"-"9"])* >
+| < FLOATING_POINT_LITERAL: (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)?
+ | "." (["0"-"9"])+ (<EXPONENT>)?
+ | (["0"-"9"])+ <EXPONENT>
+ >
+| < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
+| < STRING_LITERAL: ("\"" ((~["\"","\\"])
+ | ("\\" ( ["\\","\""] )))* "\"")
+ | ("\'" ((~["\'","\\"])
+ | ("\\" ( ["\\","\'"] )))* "\'")
+ >
+| < BADLY_ESCAPED_STRING_LITERAL: ("\"" (~["\"","\\"])* ("\\" ( ~["\\","\""] )))
+ | ("\'" (~["\'","\\"])* ("\\" ( ~["\\","\'"] )))
+ >
+| < TRUE : "true" >
+| < FALSE : "false" >
+| < NULL : "null" >
+| < END_EXPRESSION : "}" > : DEFAULT
+| < DOT : "." >
+| < LPAREN : "(" >
+| < RPAREN : ")" >
+| < LBRACK : "[" >
+| < RBRACK : "]" >
+| < COLON : ":" >
+| < COMMA : "," >
+| < GT0 : ">" >
+| < GT1 : "gt" >
+| < LT0 : "<" >
+| < LT1 : "lt" >
+| < GE0 : ">=" >
+| < GE1 : "ge" >
+| < LE0 : "<=" >
+| < LE1 : "le" >
+| < EQ0 : "==" >
+| < EQ1 : "eq" >
+| < NE0 : "!=" >
+| < NE1 : "ne" >
+| < NOT0 : "!" >
+| < NOT1 : "not" >
+| < AND0 : "&&" >
+| < AND1 : "and" >
+| < OR0 : "||" >
+| < OR1 : "or" >
+| < EMPTY : "empty" >
+| < INSTANCEOF : "instanceof" >
+| < MULT : "*" >
+| < PLUS : "+" >
+| < MINUS : "-" >
+| < QUESTIONMARK : "?" >
+| < DIV0 : "/" >
+| < DIV1 : "div" >
+| < MOD0 : "%" >
+| < MOD1 : "mod" >
+| < IDENTIFIER : (<LETTER>|<IMPL_OBJ_START>) (<LETTER>|<DIGIT>)* >
+| < NAMESPACE : (<IDENTIFIER> (<IDENTIFIER>|<MINUS>|<DOT>)* <COLON>) >
+| < FUNCTIONSUFFIX : (<IDENTIFIER>) >
+| < #IMPL_OBJ_START: "#" >
+| < #LETTER:
+ [
+ "\u0024",
+ "\u0041"-"\u005a",
+ "\u005f",
+ "\u0061"-"\u007a",
+ "\u00c0"-"\u00d6",
+ "\u00d8"-"\u00f6",
+ "\u00f8"-"\u00ff",
+ "\u0100"-"\u1fff",
+ "\u3040"-"\u318f",
+ "\u3300"-"\u337f",
+ "\u3400"-"\u3d2d",
+ "\u4e00"-"\u9fff",
+ "\uf900"-"\ufaff"
+ ]
+ >
+| < #DIGIT:
+ [
+ "\u0030"-"\u0039",
+ "\u0660"-"\u0669",
+ "\u06f0"-"\u06f9",
+ "\u0966"-"\u096f",
+ "\u09e6"-"\u09ef",
+ "\u0a66"-"\u0a6f",
+ "\u0ae6"-"\u0aef",
+ "\u0b66"-"\u0b6f",
+ "\u0be7"-"\u0bef",
+ "\u0c66"-"\u0c6f",
+ "\u0ce6"-"\u0cef",
+ "\u0d66"-"\u0d6f",
+ "\u0e50"-"\u0e59",
+ "\u0ed0"-"\u0ed9",
+ "\u1040"-"\u1049"
+ ]
+ >
+| < ILLEGAL_CHARACTER: (~[]) >
}
Modified: trunk/java/org/apache/el/parser/ELParserConstants.java
===================================================================
--- trunk/java/org/apache/el/parser/ELParserConstants.java 2008-08-28 08:24:28 UTC (rev 753)
+++ trunk/java/org/apache/el/parser/ELParserConstants.java 2008-08-28 12:31:29 UTC (rev 754)
@@ -68,11 +68,12 @@
int MOD0 = 51;
int MOD1 = 52;
int IDENTIFIER = 53;
- int FUNCTIONSUFFIX = 54;
- int IMPL_OBJ_START = 55;
- int LETTER = 56;
- int DIGIT = 57;
- int ILLEGAL_CHARACTER = 58;
+ int NAMESPACE = 54;
+ int FUNCTIONSUFFIX = 55;
+ int IMPL_OBJ_START = 56;
+ int LETTER = 57;
+ int DIGIT = 58;
+ int ILLEGAL_CHARACTER = 59;
int DEFAULT = 0;
int IN_EXPRESSION = 1;
@@ -132,6 +133,7 @@
"\"%\"",
"\"mod\"",
"<IDENTIFIER>",
+ "<NAMESPACE>",
"<FUNCTIONSUFFIX>",
"\"#\"",
"<LETTER>",
Modified: trunk/java/org/apache/el/parser/ELParserTokenManager.java
===================================================================
--- trunk/java/org/apache/el/parser/ELParserTokenManager.java 2008-08-28 08:24:28 UTC (rev 753)
+++ trunk/java/org/apache/el/parser/ELParserTokenManager.java 2008-08-28 12:31:29 UTC (rev 754)
@@ -299,52 +299,52 @@
switch (pos)
{
case 0:
- if ((active0 & 0x40000L) != 0L)
- return 1;
if ((active0 & 0x141d555401c000L) != 0L)
{
jjmatchedKind = 53;
- return 36;
+ return 41;
}
+ if ((active0 & 0x40000L) != 0L)
+ return 1;
return -1;
case 1:
if ((active0 & 0x41554000000L) != 0L)
- return 36;
+ return 42;
if ((active0 & 0x1419400001c000L) != 0L)
{
jjmatchedKind = 53;
jjmatchedPos = 1;
- return 36;
+ return 42;
}
return -1;
case 2:
+ if ((active0 & 0x14014000000000L) != 0L)
+ return 42;
if ((active0 & 0x18000001c000L) != 0L)
{
jjmatchedKind = 53;
jjmatchedPos = 2;
- return 36;
+ return 42;
}
- if ((active0 & 0x14014000000000L) != 0L)
- return 36;
return -1;
case 3:
if ((active0 & 0x14000L) != 0L)
- return 36;
+ return 42;
if ((active0 & 0x180000008000L) != 0L)
{
jjmatchedKind = 53;
jjmatchedPos = 3;
- return 36;
+ return 42;
}
return -1;
case 4:
if ((active0 & 0x80000008000L) != 0L)
- return 36;
+ return 42;
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 53;
jjmatchedPos = 4;
- return 36;
+ return 42;
}
return -1;
case 5:
@@ -352,7 +352,7 @@
{
jjmatchedKind = 53;
jjmatchedPos = 5;
- return 36;
+ return 42;
}
return -1;
case 6:
@@ -360,7 +360,7 @@
{
jjmatchedKind = 53;
jjmatchedPos = 6;
- return 36;
+ return 42;
}
return -1;
case 7:
@@ -368,7 +368,7 @@
{
jjmatchedKind = 53;
jjmatchedPos = 7;
- return 36;
+ return 42;
}
return -1;
case 8:
@@ -376,7 +376,7 @@
{
jjmatchedKind = 53;
jjmatchedPos = 8;
- return 36;
+ return 42;
}
return -1;
default :
@@ -495,11 +495,11 @@
return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
case 101:
if ((active0 & 0x40000000L) != 0L)
- return jjStartNfaWithStates_1(1, 30, 36);
+ return jjStartNfaWithStates_1(1, 30, 42);
else if ((active0 & 0x100000000L) != 0L)
- return jjStartNfaWithStates_1(1, 32, 36);
+ return jjStartNfaWithStates_1(1, 32, 42);
else if ((active0 & 0x1000000000L) != 0L)
- return jjStartNfaWithStates_1(1, 36, 36);
+ return jjStartNfaWithStates_1(1, 36, 42);
break;
case 105:
return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
@@ -511,17 +511,17 @@
return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
case 113:
if ((active0 & 0x400000000L) != 0L)
- return jjStartNfaWithStates_1(1, 34, 36);
+ return jjStartNfaWithStates_1(1, 34, 42);
break;
case 114:
if ((active0 & 0x40000000000L) != 0L)
- return jjStartNfaWithStates_1(1, 42, 36);
+ return jjStartNfaWithStates_1(1, 42, 42);
return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
case 116:
if ((active0 & 0x4000000L) != 0L)
- return jjStartNfaWithStates_1(1, 26, 36);
+ return jjStartNfaWithStates_1(1, 26, 42);
else if ((active0 & 0x10000000L) != 0L)
- return jjStartNfaWithStates_1(1, 28, 36);
+ return jjStartNfaWithStates_1(1, 28, 42);
break;
case 117:
return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
@@ -547,9 +547,9 @@
{
case 100:
if ((active0 & 0x10000000000L) != 0L)
- return jjStartNfaWithStates_1(2, 40, 36);
+ return jjStartNfaWithStates_1(2, 40, 42);
else if ((active0 & 0x10000000000000L) != 0L)
- return jjStartNfaWithStates_1(2, 52, 36);
+ return jjStartNfaWithStates_1(2, 52, 42);
break;
case 108:
return jjMoveStringLiteralDfa3_1(active0, 0x18000L);
@@ -559,13 +559,13 @@
return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
case 116:
if ((active0 & 0x4000000000L) != 0L)
- return jjStartNfaWithStates_1(2, 38, 36);
+ return jjStartNfaWithStates_1(2, 38, 42);
break;
case 117:
return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
case 118:
if ((active0 & 0x4000000000000L) != 0L)
- return jjStartNfaWithStates_1(2, 50, 36);
+ return jjStartNfaWithStates_1(2, 50, 42);
break;
default :
break;
@@ -585,11 +585,11 @@
{
case 101:
if ((active0 & 0x4000L) != 0L)
- return jjStartNfaWithStates_1(3, 14, 36);
+ return jjStartNfaWithStates_1(3, 14, 42);
break;
case 108:
if ((active0 & 0x10000L) != 0L)
- return jjStartNfaWithStates_1(3, 16, 36);
+ return jjStartNfaWithStates_1(3, 16, 42);
break;
case 115:
return jjMoveStringLiteralDfa4_1(active0, 0x8000L);
@@ -615,11 +615,11 @@
return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
case 101:
if ((active0 & 0x8000L) != 0L)
- return jjStartNfaWithStates_1(4, 15, 36);
+ return jjStartNfaWithStates_1(4, 15, 42);
break;
case 121:
if ((active0 & 0x80000000000L) != 0L)
- return jjStartNfaWithStates_1(4, 43, 36);
+ return jjStartNfaWithStates_1(4, 43, 42);
break;
default :
break;
@@ -711,7 +711,7 @@
{
case 102:
if ((active0 & 0x100000000000L) != 0L)
- return jjStartNfaWithStates_1(9, 44, 36);
+ return jjStartNfaWithStates_1(9, 44, 42);
break;
default :
break;
@@ -740,7 +740,7 @@
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 36;
+ jjnewStateCnt = 41;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -755,39 +755,77 @@
{
switch(jjstateSet[--i])
{
+ case 41:
+ if ((0x3ff001000000000L & l) != 0L)
+ {
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
+ }
+ else if ((0x600000000000L & l) != 0L)
+ jjCheckNAddStates(4, 6);
+ else if (curChar == 58)
+ {
+ if (kind > 54)
+ kind = 54;
+ }
+ if ((0x3ff001000000000L & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ if ((0x3ff001000000000L & l) != 0L)
+ {
+ if (kind > 53)
+ kind = 53;
+ jjCheckNAdd(34);
+ }
+ if ((0x1800000000L & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ break;
case 0:
if ((0x3ff000000000000L & l) != 0L)
{
if (kind > 9)
kind = 9;
- jjCheckNAddStates(4, 8);
+ jjCheckNAddStates(15, 19);
}
else if ((0x1800000000L & l) != 0L)
{
if (kind > 53)
kind = 53;
- jjCheckNAddTwoStates(34, 35);
+ jjCheckNAddStates(20, 25);
}
else if (curChar == 39)
- jjCheckNAddStates(9, 13);
+ jjCheckNAddStates(26, 30);
else if (curChar == 34)
- jjCheckNAddStates(14, 18);
+ jjCheckNAddStates(31, 35);
else if (curChar == 46)
jjCheckNAdd(1);
break;
- case 36:
+ case 42:
if ((0x3ff001000000000L & l) != 0L)
{
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
+ }
+ else if ((0x600000000000L & l) != 0L)
+ jjCheckNAddStates(4, 6);
+ else if (curChar == 58)
+ {
if (kind > 54)
kind = 54;
- jjCheckNAdd(35);
}
if ((0x3ff001000000000L & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ if ((0x3ff001000000000L & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ if ((0x3ff001000000000L & l) != 0L)
{
if (kind > 53)
kind = 53;
jjCheckNAdd(34);
}
+ if ((0x1800000000L & l) != 0L)
+ jjCheckNAddStates(11, 14);
break;
case 1:
if ((0x3ff000000000000L & l) == 0L)
@@ -812,7 +850,7 @@
break;
if (kind > 9)
kind = 9;
- jjCheckNAddStates(4, 8);
+ jjCheckNAddStates(15, 19);
break;
case 6:
if ((0x3ff000000000000L & l) == 0L)
@@ -867,15 +905,15 @@
break;
case 17:
if (curChar == 34)
- jjCheckNAddStates(14, 18);
+ jjCheckNAddStates(31, 35);
break;
case 18:
if ((0xfffffffbffffffffL & l) != 0L)
- jjCheckNAddStates(19, 21);
+ jjCheckNAddStates(36, 38);
break;
case 20:
if (curChar == 34)
- jjCheckNAddStates(19, 21);
+ jjCheckNAddStates(36, 38);
break;
case 21:
if (curChar == 34 && kind > 12)
@@ -891,15 +929,15 @@
break;
case 25:
if (curChar == 39)
- jjCheckNAddStates(9, 13);
+ jjCheckNAddStates(26, 30);
break;
case 26:
if ((0xffffff7fffffffffL & l) != 0L)
- jjCheckNAddStates(22, 24);
+ jjCheckNAddStates(39, 41);
break;
case 28:
if (curChar == 39)
- jjCheckNAddStates(22, 24);
+ jjCheckNAddStates(39, 41);
break;
case 29:
if (curChar == 39 && kind > 12)
@@ -918,7 +956,7 @@
break;
if (kind > 53)
kind = 53;
- jjCheckNAddTwoStates(34, 35);
+ jjCheckNAddStates(20, 25);
break;
case 34:
if ((0x3ff001000000000L & l) == 0L)
@@ -928,11 +966,31 @@
jjCheckNAdd(34);
break;
case 35:
+ if ((0x3ff001000000000L & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ break;
+ case 36:
+ if ((0x1800000000L & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ break;
+ case 37:
+ if ((0x3ff001000000000L & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ break;
+ case 38:
+ if ((0x600000000000L & l) != 0L)
+ jjCheckNAddStates(4, 6);
+ break;
+ case 39:
+ if (curChar == 58 && kind > 54)
+ kind = 54;
+ break;
+ case 40:
if ((0x3ff001000000000L & l) == 0L)
break;
- if (kind > 54)
- kind = 54;
- jjCheckNAdd(35);
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
break;
default : break;
}
@@ -945,21 +1003,45 @@
{
switch(jjstateSet[--i])
{
+ case 41:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
+ }
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 53)
+ kind = 53;
+ jjCheckNAdd(34);
+ }
+ break;
case 0:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 53)
kind = 53;
- jjCheckNAddTwoStates(34, 35);
+ jjCheckNAddStates(20, 25);
break;
- case 36:
+ case 42:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 54)
- kind = 54;
- jjCheckNAdd(35);
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
}
if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ if ((0x7fffffe87fffffeL & l) != 0L)
{
if (kind > 53)
kind = 53;
@@ -968,19 +1050,19 @@
break;
case 2:
if ((0x2000000020L & l) != 0L)
- jjAddStates(25, 26);
+ jjAddStates(42, 43);
break;
case 10:
if ((0x2000000020L & l) != 0L)
- jjAddStates(27, 28);
+ jjAddStates(44, 45);
break;
case 14:
if ((0x2000000020L & l) != 0L)
- jjAddStates(29, 30);
+ jjAddStates(46, 47);
break;
case 18:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(19, 21);
+ jjCheckNAddStates(36, 38);
break;
case 19:
if (curChar == 92)
@@ -988,11 +1070,11 @@
break;
case 20:
if (curChar == 92)
- jjCheckNAddStates(19, 21);
+ jjCheckNAddStates(36, 38);
break;
case 22:
if ((0xffffffffefffffffL & l) != 0L)
- jjAddStates(31, 32);
+ jjAddStates(48, 49);
break;
case 23:
if (curChar == 92)
@@ -1005,7 +1087,7 @@
break;
case 26:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(22, 24);
+ jjCheckNAddStates(39, 41);
break;
case 27:
if (curChar == 92)
@@ -1013,11 +1095,11 @@
break;
case 28:
if (curChar == 92)
- jjCheckNAddStates(22, 24);
+ jjCheckNAddStates(39, 41);
break;
case 30:
if ((0xffffffffefffffffL & l) != 0L)
- jjAddStates(33, 34);
+ jjAddStates(50, 51);
break;
case 31:
if (curChar == 92)
@@ -1031,11 +1113,23 @@
jjCheckNAdd(34);
break;
case 35:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(7, 10);
+ break;
+ case 36:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ break;
+ case 37:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(11, 14);
+ break;
+ case 40:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 54)
- kind = 54;
- jjCheckNAdd(35);
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
break;
default : break;
}
@@ -1052,14 +1146,32 @@
{
switch(jjstateSet[--i])
{
+ case 41:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ {
+ if (kind > 53)
+ kind = 53;
+ jjCheckNAdd(34);
+ }
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(7, 10);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(11, 14);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ {
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
+ }
+ break;
case 0:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 53)
kind = 53;
- jjCheckNAddTwoStates(34, 35);
+ jjCheckNAddStates(20, 25);
break;
- case 36:
+ case 42:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{
if (kind > 53)
@@ -1067,19 +1179,25 @@
jjCheckNAdd(34);
}
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(7, 10);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(11, 14);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(11, 14);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{
- if (kind > 54)
- kind = 54;
- jjCheckNAdd(35);
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
}
break;
case 18:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(19, 21);
+ jjAddStates(36, 38);
break;
case 22:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(31, 32);
+ jjAddStates(48, 49);
break;
case 24:
case 32:
@@ -1088,11 +1206,11 @@
break;
case 26:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(22, 24);
+ jjAddStates(39, 41);
break;
case 30:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(33, 34);
+ jjAddStates(50, 51);
break;
case 34:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
@@ -1102,11 +1220,23 @@
jjCheckNAdd(34);
break;
case 35:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(7, 10);
+ break;
+ case 36:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(11, 14);
+ break;
+ case 37:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(11, 14);
+ break;
+ case 40:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
- if (kind > 54)
- kind = 54;
- jjCheckNAdd(35);
+ if (kind > 55)
+ kind = 55;
+ jjCheckNAdd(40);
break;
default : break;
}
@@ -1119,16 +1249,17 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 36 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 41 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
static final int[] jjnextStates = {
- 0, 1, 3, 5, 6, 7, 8, 13, 14, 26, 27, 29, 30, 31, 18, 19,
- 21, 22, 23, 18, 19, 21, 26, 27, 29, 3, 4, 11, 12, 15, 16, 22,
- 23, 30, 31,
+ 0, 1, 3, 5, 36, 38, 39, 35, 36, 38, 39, 36, 37, 38, 39, 6,
+ 7, 8, 13, 14, 34, 35, 36, 38, 39, 40, 26, 27, 29, 30, 31, 18,
+ 19, 21, 22, 23, 18, 19, 21, 26, 27, 29, 3, 4, 11, 12, 15, 16,
+ 22, 23, 30, 31,
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
{
@@ -1169,7 +1300,7 @@
"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162",
"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57",
-"\144\151\166", "\45", "\155\157\144", null, null, null, null, null, null, };
+"\144\151\166", "\45", "\155\157\144", null, null, null, null, null, null, null, };
public static final String[] lexStateNames = {
"DEFAULT",
"IN_EXPRESSION",
@@ -1177,17 +1308,17 @@
public static final int[] jjnewLexState = {
-1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
};
static final long[] jjtoToken = {
- 0x47ffffffffff60fL,
+ 0x8fffffffffff60fL,
};
static final long[] jjtoSkip = {
0x1f0L,
};
protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[36];
-private final int[] jjstateSet = new int[72];
+private final int[] jjrounds = new int[41];
+private final int[] jjstateSet = new int[82];
protected char curChar;
public ELParserTokenManager(SimpleCharStream stream){
if (SimpleCharStream.staticFlag)
@@ -1209,7 +1340,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 36; i-- > 0;)
+ for (i = 41; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(SimpleCharStream stream, int lexState)
@@ -1282,9 +1413,9 @@
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_1();
- if (jjmatchedPos == 0 && jjmatchedKind > 58)
+ if (jjmatchedPos == 0 && jjmatchedKind > 59)
{
- jjmatchedKind = 58;
+ jjmatchedKind = 59;
}
break;
}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-08-28 08:24:28 UTC (rev 753)
+++ trunk/webapps/docs/changelog.xml 2008-08-28 12:31:29 UTC (rev 754)
@@ -61,11 +61,14 @@
<subsection name="Jasper">
<changelog>
<fix>
- <bug>45511</bug>: New fix for 42565. (markt)
+ <bug>45511</bug>: New EL fix for 42565. (markt)
</fix>
<add>
<jira>108</jira>: Experimental support for JCI. (remm)
</add>
+ <fix>
+ Revert to EL from CR5, due to regressions. (remm)
+ </fix>
</changelog>
</subsection>
</section>
15 years, 8 months
JBossWeb SVN: r753 - trunk/webapps/docs/config.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-08-28 04:24:28 -0400 (Thu, 28 Aug 2008)
New Revision: 753
Modified:
trunk/webapps/docs/config/http.xml
Log:
Fix wrong default in doc.
Modified: trunk/webapps/docs/config/http.xml
===================================================================
--- trunk/webapps/docs/config/http.xml 2008-08-27 16:51:40 UTC (rev 752)
+++ trunk/webapps/docs/config/http.xml 2008-08-28 08:24:28 UTC (rev 753)
@@ -284,7 +284,7 @@
<attribute name="maxHttpHeaderSize" required="false">
<p>The maximum size of the request and response HTTP header, specified
in bytes.
- If not specified, this attribute is set to 4096 (4 KB).</p>
+ If not specified, this attribute is set to 8192 (8 KB).</p>
</attribute>
<attribute name="maxKeepAliveRequests" required="false">
15 years, 8 months
JBossWeb SVN: r752 - branches.
by jbossweb-commits@lists.jboss.org
Author: mmillson
Date: 2008-08-27 12:51:40 -0400 (Wed, 27 Aug 2008)
New Revision: 752
Added:
branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139/
Log:
Create JBPAPP-1139 patch branch from JBOSSWEB_2_0_0_GA tag
Copied: branches/JBOSSWEB_2_0_0_GA_JBPAPP-1139 (from rev 751, tags/JBOSSWEB_2_0_0_GA)
15 years, 8 months
JBossWeb SVN: r750 - trunk/java/org/apache/catalina/core.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-08-27 03:12:45 -0400 (Wed, 27 Aug 2008)
New Revision: 750
Modified:
trunk/java/org/apache/catalina/core/AprLifecycleListener.java
Log:
TC PR#44809.
Modified: trunk/java/org/apache/catalina/core/AprLifecycleListener.java
===================================================================
--- trunk/java/org/apache/catalina/core/AprLifecycleListener.java 2008-08-26 23:34:00 UTC (rev 749)
+++ trunk/java/org/apache/catalina/core/AprLifecycleListener.java 2008-08-27 07:12:45 UTC (rev 750)
@@ -86,7 +86,7 @@
if (!log.isDebugEnabled()) {
log.info(sm.getString("aprListener.sslInit"));
} else {
- log.debug(sm.getString("aprListener.sslInit"));
+ log.debug(sm.getString("aprListener.sslInit"), t);
}
}
}
15 years, 8 months
JBossWeb SVN: r749 - in trunk/java/org/apache: tomcat/util/http and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-26 19:34:00 -0400 (Tue, 26 Aug 2008)
New Revision: 749
Added:
trunk/java/org/apache/tomcat/util/http/TomcatCookie.java
Modified:
trunk/java/org/apache/catalina/connector/Request.java
trunk/java/org/apache/catalina/connector/Response.java
trunk/java/org/apache/tomcat/util/http/ServerCookie.java
Log:
- Should finish the session cookie configuration feature.
Modified: trunk/java/org/apache/catalina/connector/Request.java
===================================================================
--- trunk/java/org/apache/catalina/connector/Request.java 2008-08-25 11:03:17 UTC (rev 748)
+++ trunk/java/org/apache/catalina/connector/Request.java 2008-08-26 23:34:00 UTC (rev 749)
@@ -19,9 +19,9 @@
package org.apache.catalina.connector;
-import java.io.InputStream;
-import java.io.IOException;
import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.text.SimpleDateFormat;
@@ -45,17 +45,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import org.apache.tomcat.util.buf.B2CConverter;
-import org.apache.tomcat.util.buf.MessageBytes;
-import org.apache.tomcat.util.buf.StringCache;
-import org.apache.tomcat.util.http.Cookies;
-import org.apache.tomcat.util.http.FastHttpDateFormat;
-import org.apache.tomcat.util.http.Parameters;
-import org.apache.tomcat.util.http.ServerCookie;
-import org.apache.tomcat.util.http.mapper.MappingData;
-
-import org.apache.coyote.ActionCode;
-
import org.apache.catalina.Container;
import org.apache.catalina.Context;
import org.apache.catalina.Globals;
@@ -71,6 +60,16 @@
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.StringManager;
import org.apache.catalina.util.StringParser;
+import org.apache.coyote.ActionCode;
+import org.apache.tomcat.util.buf.B2CConverter;
+import org.apache.tomcat.util.buf.MessageBytes;
+import org.apache.tomcat.util.buf.StringCache;
+import org.apache.tomcat.util.http.Cookies;
+import org.apache.tomcat.util.http.FastHttpDateFormat;
+import org.apache.tomcat.util.http.Parameters;
+import org.apache.tomcat.util.http.ServerCookie;
+import org.apache.tomcat.util.http.TomcatCookie;
+import org.apache.tomcat.util.http.mapper.MappingData;
/**
@@ -2374,7 +2373,7 @@
if ( (session != null) && (getContext() != null)
&& getContext().getCookies()
&& !(isRequestedSessionIdFromCookie() && (session.getIdInternal().equals(getRequestedSessionId()))) ) {
- Cookie cookie = new Cookie(Globals.SESSION_COOKIE_NAME,
+ TomcatCookie cookie = new TomcatCookie(Globals.SESSION_COOKIE_NAME,
session.getIdInternal());
configureSessionCookie(cookie);
response.addCookieInternal(cookie);
@@ -2394,7 +2393,7 @@
*
* @param cookie The JSESSIONID cookie to be configured
*/
- protected void configureSessionCookie(Cookie cookie) {
+ protected void configureSessionCookie(TomcatCookie cookie) {
cookie.setMaxAge(-1);
if (context.getSessionCookie().getPath() != null) {
cookie.setPath(context.getSessionCookie().getPath());
@@ -2412,7 +2411,7 @@
cookie.setDomain(context.getSessionCookie().getDomain());
}
if (context.getSessionCookie().isHttpOnly()) {
- // FIXME: in Servlet 3.0
+ cookie.setHttpOnly(true);
}
if (context.getSessionCookie().isSecure()) {
cookie.setSecure(true);
Modified: trunk/java/org/apache/catalina/connector/Response.java
===================================================================
--- trunk/java/org/apache/catalina/connector/Response.java 2008-08-25 11:03:17 UTC (rev 748)
+++ trunk/java/org/apache/catalina/connector/Response.java 2008-08-26 23:34:00 UTC (rev 749)
@@ -51,6 +51,7 @@
import org.apache.tomcat.util.http.FastHttpDateFormat;
import org.apache.tomcat.util.http.MimeHeaders;
import org.apache.tomcat.util.http.ServerCookie;
+import org.apache.tomcat.util.http.TomcatCookie;
import org.apache.tomcat.util.net.URL;
/**
@@ -976,7 +977,7 @@
(sb, cookie.getVersion(), cookie.getName(),
cookie.getValue(), cookie.getPath(),
cookie.getDomain(), cookie.getComment(),
- cookie.getMaxAge(), cookie.getSecure());
+ cookie.getMaxAge(), cookie.getSecure(), false);
return null;
}
});
@@ -984,7 +985,7 @@
ServerCookie.appendCookieValue
(sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
cookie.getPath(), cookie.getDomain(), cookie.getComment(),
- cookie.getMaxAge(), cookie.getSecure());
+ cookie.getMaxAge(), cookie.getSecure(), false);
}
// if we reached here, no exception, cookie is valid
// the header name is Set-Cookie for both "old" and v.1 ( RFC2109 )
@@ -997,6 +998,47 @@
/**
+ * Add the specified Cookie to those that will be included with
+ * this Response.
+ *
+ * @param cookie Cookie to be added
+ */
+ public void addCookieInternal(final TomcatCookie cookie) {
+
+ if (isCommitted())
+ return;
+
+ final StringBuffer sb = new StringBuffer();
+ // web application code can receive a IllegalArgumentException
+ // from the appendCookieValue invocation
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run(){
+ ServerCookie.appendCookieValue
+ (sb, cookie.getVersion(), cookie.getName(),
+ cookie.getValue(), cookie.getPath(),
+ cookie.getDomain(), cookie.getComment(),
+ cookie.getMaxAge(), cookie.getSecure(), cookie.getHttpOnly());
+ return null;
+ }
+ });
+ } else {
+ ServerCookie.appendCookieValue
+ (sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
+ cookie.getPath(), cookie.getDomain(), cookie.getComment(),
+ cookie.getMaxAge(), cookie.getSecure(), cookie.getHttpOnly());
+ }
+ // if we reached here, no exception, cookie is valid
+ // the header name is Set-Cookie for both "old" and v.1 ( RFC2109 )
+ // RFC2965 is not supported by browsers and the Servlet spec
+ // asks for 2109.
+ addHeader("Set-Cookie", sb.toString());
+
+ cookies.add(cookie);
+ }
+
+
+ /**
* Add the specified date header to the specified value.
*
* @param name Name of the header to set
Modified: trunk/java/org/apache/tomcat/util/http/ServerCookie.java
===================================================================
--- trunk/java/org/apache/tomcat/util/http/ServerCookie.java 2008-08-25 11:03:17 UTC (rev 748)
+++ trunk/java/org/apache/tomcat/util/http/ServerCookie.java 2008-08-26 23:34:00 UTC (rev 749)
@@ -257,7 +257,8 @@
String domain,
String comment,
int maxAge,
- boolean isSecure )
+ boolean isSecure,
+ boolean httpOnly)
{
StringBuffer buf = new StringBuffer();
// Servlet implementation checks name
@@ -318,9 +319,14 @@
// Secure
if (isSecure) {
- buf.append ("; Secure");
+ buf.append ("; Secure");
}
+ // HttpOnly
+ if (httpOnly) {
+ buf.append ("; HttpOnly");
+ }
+
headerBuf.append(buf);
}
Added: trunk/java/org/apache/tomcat/util/http/TomcatCookie.java
===================================================================
--- trunk/java/org/apache/tomcat/util/http/TomcatCookie.java (rev 0)
+++ trunk/java/org/apache/tomcat/util/http/TomcatCookie.java 2008-08-26 23:34:00 UTC (rev 749)
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tomcat.util.http;
+
+import javax.servlet.http.Cookie;
+
+public class TomcatCookie extends Cookie {
+
+ boolean httpOnly = false;
+
+ public TomcatCookie(String name, String value) {
+ super(name, value);
+ }
+
+ public boolean getHttpOnly() {
+ return httpOnly;
+ }
+
+ public void setHttpOnly(boolean httpOnly) {
+ this.httpOnly = httpOnly;
+ }
+
+}
15 years, 8 months
JBossWeb SVN: r748 - in trunk: java/org/apache/tomcat/util/net/jsse/res and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-08-25 07:03:17 -0400 (Mon, 25 Aug 2008)
New Revision: 748
Modified:
trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
trunk/java/org/apache/tomcat/util/net/jsse/res/LocalStrings.properties
trunk/webapps/docs/changelog.xml
Log:
- Add config check for java.io SSL.
Modified: trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
===================================================================
--- trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 2008-08-25 11:02:39 UTC (rev 747)
+++ trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 2008-08-25 11:03:17 UTC (rev 748)
@@ -421,6 +421,9 @@
enabledCiphers = getEnabledCiphers(requestedCiphers,
sslProxy.getSupportedCipherSuites());
+ // Check the SSL config is OK
+ checkConfig();
+
} catch(Exception e) {
if( e instanceof IOException )
throw (IOException)e;
@@ -695,4 +698,47 @@
configureClientAuth(socket);
}
+ /**
+ * Checks that the certificate is compatible with the enabled cipher suites.
+ * If we don't check now, the JIoEndpoint can enter a nasty logging loop.
+ * See bug 45528.
+ */
+ private void checkConfig() throws IOException {
+ // Create an unbound server socket
+ ServerSocket socket = sslProxy.createServerSocket();
+ initServerSocket(socket);
+
+ try {
+ // Set the timeout to 1ms as all we care about is if it throws an
+ // SSLException on accept.
+ socket.setSoTimeout(1);
+
+ socket.accept();
+ // Will never get here - no client can connect to an unbound port
+ } catch (SSLException ssle) {
+ // SSL configuration is invalid. Possibly cert doesn't match ciphers
+ IOException ioe = new IOException(sm.getString(
+ "jsse.invalid_ssl_conf", ssle.getMessage()));
+ ioe.initCause(ssle);
+ throw ioe;
+ } catch (Exception e) {
+ /*
+ * Possible ways of getting here
+ * socket.accept() throws a SecurityException
+ * socket.setSoTimeout() throws a SocketException
+ * socket.accept() throws some other exception (after a JDK change)
+ * In these cases the test won't work so carry on - essentially
+ * the behaviour before this patch
+ * socket.accept() throws a SocketTimeoutException
+ * In this case all is well so carry on
+ */
+ } finally {
+ // Should be open here but just in case
+ if (!socket.isClosed()) {
+ socket.close();
+ }
+ }
+
+ }
+
}
Modified: trunk/java/org/apache/tomcat/util/net/jsse/res/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/tomcat/util/net/jsse/res/LocalStrings.properties 2008-08-25 11:02:39 UTC (rev 747)
+++ trunk/java/org/apache/tomcat/util/net/jsse/res/LocalStrings.properties 2008-08-25 11:03:17 UTC (rev 748)
@@ -1,2 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
jsse.alias_no_key_entry=Alias name {0} does not identify a key entry
jsse.keystore_load_failed=Failed to load keystore type {0} with path {1} due to {2}
+jsse.invalid_ssl_conf=SSL configuration is invalid due to {0}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-08-25 11:02:39 UTC (rev 747)
+++ trunk/webapps/docs/changelog.xml 2008-08-25 11:03:17 UTC (rev 748)
@@ -53,6 +53,9 @@
Consider that a normal request is Comet (it is possible to get a resume before
officially going into Comet mode). (remm)
</fix>
+ <fix>
+ Add configuration checks for java.io SSL. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
15 years, 8 months