Author: remy.maucherat(a)jboss.com
Date: 2008-10-08 06:29:14 -0400 (Wed, 08 Oct 2008)
New Revision: 805
Modified:
trunk/java/org/apache/coyote/http11/Http11Processor.java
trunk/java/org/apache/el/lang/ELSupport.java
trunk/java/org/apache/jasper/compiler/Parser.java
trunk/webapps/docs/changelog.xml
Log:
- Supposed HTTP fix.
- Sync with Jasper's EL changes.
Modified: trunk/java/org/apache/coyote/http11/Http11Processor.java
===================================================================
--- trunk/java/org/apache/coyote/http11/Http11Processor.java 2008-10-07 12:32:35 UTC (rev
804)
+++ trunk/java/org/apache/coyote/http11/Http11Processor.java 2008-10-08 10:29:14 UTC (rev
805)
@@ -896,7 +896,8 @@
inputBuffer.recycle();
outputBuffer.recycle();
- // Recycle ssl info
+ // Recycle socket
+ this.socket = null;
sslSupport = null;
}
Modified: trunk/java/org/apache/el/lang/ELSupport.java
===================================================================
--- trunk/java/org/apache/el/lang/ELSupport.java 2008-10-07 12:32:35 UTC (rev 804)
+++ trunk/java/org/apache/el/lang/ELSupport.java 2008-10-08 10:29:14 UTC (rev 805)
@@ -235,7 +235,7 @@
if (number instanceof BigInteger) {
return new BigDecimal((BigInteger) number);
}
- return new BigDecimal(number.toString());
+ return new BigDecimal(number.doubleValue());
}
if (Byte.TYPE == type || Byte.class.equals(type)) {
return new Byte(number.byteValue());
Modified: trunk/java/org/apache/jasper/compiler/Parser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Parser.java 2008-10-07 12:32:35 UTC (rev 804)
+++ trunk/java/org/apache/jasper/compiler/Parser.java 2008-10-08 10:29:14 UTC (rev 805)
@@ -261,21 +261,20 @@
* Char
*/
private String parseQuoted(Mark start, String tx, char quote)
- throws JasperException {
+ throws JasperException {
StringBuffer buf = new StringBuffer();
- boolean possibleEL = tx.contains("${");
int size = tx.length();
int i = 0;
while (i < size) {
char ch = tx.charAt(i);
if (ch == '&') {
if (i + 5 < size && tx.charAt(i + 1) == 'a'
- && tx.charAt(i + 2) == 'p' && tx.charAt(i +
3) == 'o'
+ && tx.charAt(i + 2) == 'p' && tx.charAt(i
+ 3) == 'o'
&& tx.charAt(i + 4) == 's' && tx.charAt(i
+ 5) == ';') {
buf.append('\'');
i += 6;
} else if (i + 5 < size && tx.charAt(i + 1) == 'q'
- && tx.charAt(i + 2) == 'u' && tx.charAt(i +
3) == 'o'
+ && tx.charAt(i + 2) == 'u' && tx.charAt(i
+ 3) == 'o'
&& tx.charAt(i + 4) == 't' && tx.charAt(i
+ 5) == ';') {
buf.append('"');
i += 6;
@@ -285,21 +284,10 @@
}
} else if (ch == '\\' && i + 1 < size) {
ch = tx.charAt(i + 1);
- if (ch == '\\' || ch == '\"' || ch ==
'\'') {
- if (pageInfo.isELIgnored() || !possibleEL) {
- // EL is not enabled or no chance of EL
- // Unescape these now
- buf.append(ch);
- i += 2;
- } else {
- // EL is enabled and ${ appears in value
- // EL processing will escape these
- //FIXME: remm: I don't see how to do without unescaping right
now
- //buf.append('\\');
- buf.append(ch);
- i += 2;
- }
- } else if (ch == '>') {
+ if (ch == '\\' || ch == '\"' || ch ==
'\'' || ch == '>') {
+ // \ " and ' are always unescaped regardless of if they are
+ // inside or outside of an EL expression. JSP.1.6 takes
+ // precedence over JSP.1.3.10 (confirmed with EG).
buf.append(ch);
i += 2;
} else {
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-10-07 12:32:35 UTC (rev 804)
+++ trunk/webapps/docs/changelog.xml 2008-10-08 10:29:14 UTC (rev 805)
@@ -79,6 +79,9 @@
<add>
Add AJP support for certificate chains. (billbarker)
</add>
+ <fix>
+ Null out socket in java.io HTTP connector. (fhanik)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
Show replies by date