JBossWeb SVN: r201 - trunk/java/org/apache/tomcat/util/http.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 23:00:49 -0400 (Wed, 18 Jul 2007)
New Revision: 201
Modified:
trunk/java/org/apache/tomcat/util/http/Cookies.java
Log:
- Single quote handling improvement in cookies.
Modified: trunk/java/org/apache/tomcat/util/http/Cookies.java
===================================================================
--- trunk/java/org/apache/tomcat/util/http/Cookies.java 2007-07-19 02:59:37 UTC (rev 200)
+++ trunk/java/org/apache/tomcat/util/http/Cookies.java 2007-07-19 03:00:49 UTC (rev 201)
@@ -249,7 +249,7 @@
int endValue=startValue;
cc=bytes[pos];
- if( cc== '\'' || cc=='"' ) {
+ if( cc=='"' ) {
endValue=findDelim3( bytes, startValue+1, end, cc );
if (endValue == -1) {
endValue=findDelim2( bytes, startValue+1, end );
@@ -343,7 +343,6 @@
*/
public static int findDelim3( byte bytes[], int off, int end, byte cc )
{
- byte prev = bytes[off];
while( off < end ) {
byte b=bytes[off];
if ( b== '\\' ) {
@@ -413,7 +412,7 @@
/**
*
* Strips quotes from the start and end of the cookie string
- * This conforms to RFC 2109
+ * This conforms to RFC 2965
*
* @param value a <code>String</code> specifying the cookie
* value (possibly quoted).
@@ -424,8 +423,7 @@
private static String stripQuote( String value )
{
// log("Strip quote from " + value );
- if (((value.startsWith("\"")) && (value.endsWith("\""))) ||
- ((value.startsWith("'") && (value.endsWith("'"))))) {
+ if (value.startsWith("\"") && value.endsWith("\"")) {
try {
return value.substring(1,value.length()-1);
} catch (Exception ex) {
17 years, 7 months
JBossWeb SVN: r200 - trunk/java/org/apache/catalina/manager/host.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 22:59:37 -0400 (Wed, 18 Jul 2007)
New Revision: 200
Modified:
trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java
Log:
- Cleanup and XSS.
Modified: trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java
===================================================================
--- trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java 2007-07-19 01:02:55 UTC (rev 199)
+++ trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java 2007-07-19 02:59:37 UTC (rev 200)
@@ -54,7 +54,7 @@
* @author Malcolm Edgar
* @author Glenn L. Nielsen
* @author Peter Rossbach
-* @version $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
+* @version $Revision: 557454 $, $Date: 2007-07-19 04:19:10 +0200 (jeu., 19 juil. 2007) $
* @see ManagerServlet
*/
@@ -234,7 +234,8 @@
for (int i = 0; i < children.length; i++)
hostNames[i] = children[i].getName();
- TreeMap sortedHostNamesMap = new TreeMap();
+ TreeMap<String,String> sortedHostNamesMap =
+ new TreeMap<String,String>();
for (int i = 0; i < hostNames.length; i++) {
String displayPath = hostNames[i];
@@ -245,15 +246,16 @@
String hostsStop = sm.getString("htmlHostManagerServlet.hostsStop");
String hostsRemove = sm.getString("htmlHostManagerServlet.hostsRemove");
- Iterator iterator = sortedHostNamesMap.entrySet().iterator();
+ Iterator<Map.Entry<String,String>> iterator =
+ sortedHostNamesMap.entrySet().iterator();
while (iterator.hasNext()) {
- Map.Entry entry = (Map.Entry) iterator.next();
+ Map.Entry<String,String> entry = iterator.next();
String hostName = (String) entry.getKey();
Host host = (Host) engine.findChild(hostName);
if (host != null ) {
args = new Object[2];
- args[0] = hostName;
+ args[0] = RequestUtil.filter(hostName);
String[] aliases = host.findAliases();
StringBuffer buf = new StringBuffer();
if (aliases.length > 0) {
@@ -265,9 +267,11 @@
if (buf.length() == 0) {
buf.append(" ");
+ args[1] = buf.toString();
+ } else {
+ args[1] = RequestUtil.filter(buf.toString());
}
- args[1] = buf.toString();
writer.print
(MessageFormat.format(HOSTS_ROW_DETAILS_SECTION, args));
17 years, 7 months
JBossWeb SVN: r199 - branches/2.0.x/src/share/classes/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 21:02:55 -0400 (Wed, 18 Jul 2007)
New Revision: 199
Modified:
branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java
Log:
- Remove loading from conf.
Modified: branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java
===================================================================
--- branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 01:02:30 UTC (rev 198)
+++ branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 01:02:55 UTC (rev 199)
@@ -125,9 +125,6 @@
File file = new File(getConfigBase(), resourceName);
try {
if (!file.exists()) {
- file = new File(getConfigBase(), resourcePath);
- }
- if (!file.exists()) {
if (resourceName != null) {
// Use getResource and getResourceAsStream
is = getClass().getClassLoader()
17 years, 8 months
JBossWeb SVN: r198 - trunk/java/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 21:02:30 -0400 (Wed, 18 Jul 2007)
New Revision: 198
Modified:
trunk/java/org/jboss/web/rewrite/RewriteValve.java
Log:
- Remove loading from conf.
Modified: trunk/java/org/jboss/web/rewrite/RewriteValve.java
===================================================================
--- trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:57:17 UTC (rev 197)
+++ trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 01:02:30 UTC (rev 198)
@@ -125,9 +125,6 @@
File file = new File(getConfigBase(), resourceName);
try {
if (!file.exists()) {
- file = new File(getConfigBase(), resourcePath);
- }
- if (!file.exists()) {
if (resourceName != null) {
// Use getResource and getResourceAsStream
is = getClass().getClassLoader()
17 years, 8 months
JBossWeb SVN: r197 - branches/2.0.x/src/share/classes/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 20:57:17 -0400 (Wed, 18 Jul 2007)
New Revision: 197
Modified:
branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteRule.java
branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java
Log:
- Port ornext fixes.
Modified: branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteRule.java
===================================================================
--- branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteRule.java 2007-07-19 00:56:09 UTC (rev 196)
+++ branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteRule.java 2007-07-19 00:57:17 UTC (rev 197)
@@ -99,6 +99,9 @@
if (lastMatcher2 != null) {
lastMatcher = lastMatcher2;
}
+ while (pos < conditions.length && conditions[pos].isOrnext()) {
+ pos++;
+ }
} else if (!conditions[pos].isOrnext()) {
done = true;
}
Modified: branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java
===================================================================
--- branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:56:09 UTC (rev 196)
+++ branches/2.0.x/src/share/classes/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:57:17 UTC (rev 197)
@@ -125,6 +125,9 @@
File file = new File(getConfigBase(), resourceName);
try {
if (!file.exists()) {
+ file = new File(getConfigBase(), resourcePath);
+ }
+ if (!file.exists()) {
if (resourceName != null) {
// Use getResource and getResourceAsStream
is = getClass().getClassLoader()
@@ -193,8 +196,8 @@
}
protected void parse(BufferedReader reader) throws LifecycleException {
- ArrayList rules = new ArrayList();
- ArrayList conditions = new ArrayList();
+ ArrayList<RewriteRule> rules = new ArrayList<RewriteRule>();
+ ArrayList<RewriteCond> conditions = new ArrayList<RewriteCond>();
while (true) {
try {
String line = reader.readLine();
@@ -208,20 +211,26 @@
container.getLogger().debug("Add rule with pattern " + rule.getPatternString()
+ " and substitution " + rule.getSubstitutionString());
}
+ for (int i = (conditions.size() - 1); i > 0; i--) {
+ if (conditions.get(i - 1).isOrnext()) {
+ conditions.get(i).setOrnext(true);
+ }
+ }
for (int i = 0; i < conditions.size(); i++) {
if (container.getLogger().isDebugEnabled()) {
- RewriteCond cond = (RewriteCond) conditions.get(i);
+ RewriteCond cond = conditions.get(i);
container.getLogger().debug("Add condition " + cond.getCondPattern()
+ " test " + cond.getTestString() + " to rule with pattern "
+ rule.getPatternString() + " and substitution "
- + rule.getSubstitutionString());
+ + rule.getSubstitutionString() + (cond.isOrnext() ? " [OR]" : "")
+ + (cond.isNocase() ? " [NC]" : ""));
}
- rule.addCondition((RewriteCond) conditions.get(i));
+ rule.addCondition(conditions.get(i));
}
conditions.clear();
rules.add(rule);
} else if (result instanceof RewriteCond) {
- conditions.add(result);
+ conditions.add((RewriteCond) result);
} else if (result instanceof Object[]) {
String mapName = (String) ((Object[]) result)[0];
RewriteMap map = (RewriteMap) ((Object[]) result)[1];
@@ -511,7 +520,7 @@
// RewriteCond TestString CondPattern [Flags]
RewriteCond condition = new RewriteCond();
if (tokenizer.countTokens() < 2) {
- throw new IllegalArgumentException("Ivalid line: " + line);
+ throw new IllegalArgumentException("Invalid line: " + line);
}
condition.setTestString(tokenizer.nextToken());
condition.setCondPattern(tokenizer.nextToken());
@@ -530,7 +539,7 @@
// RewriteRule Pattern Substitution [Flags]
RewriteRule rule = new RewriteRule();
if (tokenizer.countTokens() < 2) {
- throw new IllegalArgumentException("Ivalid line: " + line);
+ throw new IllegalArgumentException("Invalid line: " + line);
}
rule.setPatternString(tokenizer.nextToken());
rule.setSubstitutionString(tokenizer.nextToken());
@@ -548,7 +557,7 @@
} else if (token.equals("RewriteMap")) {
// RewriteMap name rewriteMapClassName whateverOptionalParameterInWhateverFormat
if (tokenizer.countTokens() < 2) {
- throw new IllegalArgumentException("Ivalid line: " + line);
+ throw new IllegalArgumentException("Invalid line: " + line);
}
String name = tokenizer.nextToken();
String rewriteMapClassName = tokenizer.nextToken();
@@ -556,7 +565,7 @@
try {
map = (RewriteMap) (Class.forName(rewriteMapClassName).newInstance());
} catch (Exception e) {
- throw new IllegalArgumentException("Ivalid map className: " + line);
+ throw new IllegalArgumentException("Invalid map className: " + line);
}
if (tokenizer.hasMoreTokens()) {
map.setParameters(tokenizer.nextToken());
@@ -587,7 +596,7 @@
} else if (flag.equals("OR") || flag.equals("ornext")) {
condition.setOrnext(true);
} else {
- throw new IllegalArgumentException("Ivalid flag in: " + line + " flags: " + flag);
+ throw new IllegalArgumentException("Invalid flag in: " + line + " flags: " + flag);
}
}
@@ -610,7 +619,7 @@
}
int pos = flag.indexOf(':');
if (pos == -1 || (pos + 1) == flag.length()) {
- throw new IllegalArgumentException("Ivalid flag in: " + line);
+ throw new IllegalArgumentException("Invalid flag in: " + line);
}
rule.setCookieName(flag.substring(0, pos));
rule.setCookieValue(flag.substring(pos + 1));
@@ -623,7 +632,7 @@
}
int pos = flag.indexOf(':');
if (pos == -1 || (pos + 1) == flag.length()) {
- throw new IllegalArgumentException("Ivalid flag in: " + line);
+ throw new IllegalArgumentException("Invalid flag in: " + line);
}
rule.setEnvName(flag.substring(0, pos));
rule.setEnvValue(flag.substring(pos + 1));
17 years, 8 months
JBossWeb SVN: r196 - trunk/java/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 20:56:09 -0400 (Wed, 18 Jul 2007)
New Revision: 196
Modified:
trunk/java/org/jboss/web/rewrite/RewriteValve.java
Log:
- Fix ornext parsing.
- Load rewrite configuration from conf/rewrite.properties if not found (?).
Modified: trunk/java/org/jboss/web/rewrite/RewriteValve.java
===================================================================
--- trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:11:01 UTC (rev 195)
+++ trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:56:09 UTC (rev 196)
@@ -125,6 +125,9 @@
File file = new File(getConfigBase(), resourceName);
try {
if (!file.exists()) {
+ file = new File(getConfigBase(), resourcePath);
+ }
+ if (!file.exists()) {
if (resourceName != null) {
// Use getResource and getResourceAsStream
is = getClass().getClassLoader()
@@ -208,13 +211,19 @@
container.getLogger().debug("Add rule with pattern " + rule.getPatternString()
+ " and substitution " + rule.getSubstitutionString());
}
+ for (int i = (conditions.size() - 1); i > 0; i--) {
+ if (conditions.get(i - 1).isOrnext()) {
+ conditions.get(i).setOrnext(true);
+ }
+ }
for (int i = 0; i < conditions.size(); i++) {
if (container.getLogger().isDebugEnabled()) {
RewriteCond cond = conditions.get(i);
container.getLogger().debug("Add condition " + cond.getCondPattern()
+ " test " + cond.getTestString() + " to rule with pattern "
+ rule.getPatternString() + " and substitution "
- + rule.getSubstitutionString());
+ + rule.getSubstitutionString() + (cond.isOrnext() ? " [OR]" : "")
+ + (cond.isNocase() ? " [NC]" : ""));
}
rule.addCondition(conditions.get(i));
}
17 years, 8 months
JBossWeb SVN: r195 - trunk/java/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-07-18 20:11:01 -0400 (Wed, 18 Jul 2007)
New Revision: 195
Modified:
trunk/java/org/jboss/web/rewrite/RewriteValve.java
Log:
- Small cleanup: use generics.
Modified: trunk/java/org/jboss/web/rewrite/RewriteValve.java
===================================================================
--- trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-18 16:28:55 UTC (rev 194)
+++ trunk/java/org/jboss/web/rewrite/RewriteValve.java 2007-07-19 00:11:01 UTC (rev 195)
@@ -193,8 +193,8 @@
}
protected void parse(BufferedReader reader) throws LifecycleException {
- ArrayList rules = new ArrayList();
- ArrayList conditions = new ArrayList();
+ ArrayList<RewriteRule> rules = new ArrayList<RewriteRule>();
+ ArrayList<RewriteCond> conditions = new ArrayList<RewriteCond>();
while (true) {
try {
String line = reader.readLine();
@@ -210,18 +210,18 @@
}
for (int i = 0; i < conditions.size(); i++) {
if (container.getLogger().isDebugEnabled()) {
- RewriteCond cond = (RewriteCond) conditions.get(i);
+ RewriteCond cond = conditions.get(i);
container.getLogger().debug("Add condition " + cond.getCondPattern()
+ " test " + cond.getTestString() + " to rule with pattern "
+ rule.getPatternString() + " and substitution "
+ rule.getSubstitutionString());
}
- rule.addCondition((RewriteCond) conditions.get(i));
+ rule.addCondition(conditions.get(i));
}
conditions.clear();
rules.add(rule);
} else if (result instanceof RewriteCond) {
- conditions.add(result);
+ conditions.add((RewriteCond) result);
} else if (result instanceof Object[]) {
String mapName = (String) ((Object[]) result)[0];
RewriteMap map = (RewriteMap) ((Object[]) result)[1];
17 years, 8 months
JBossWeb SVN: r194 - trunk/java/org/jboss/web/rewrite.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2007-07-18 12:28:55 -0400 (Wed, 18 Jul 2007)
New Revision: 194
Modified:
trunk/java/org/jboss/web/rewrite/RewriteRule.java
Log:
Loop on the ornext like in mod_rewrite.
Modified: trunk/java/org/jboss/web/rewrite/RewriteRule.java
===================================================================
--- trunk/java/org/jboss/web/rewrite/RewriteRule.java 2007-07-18 15:37:07 UTC (rev 193)
+++ trunk/java/org/jboss/web/rewrite/RewriteRule.java 2007-07-18 16:28:55 UTC (rev 194)
@@ -99,6 +99,9 @@
if (lastMatcher2 != null) {
lastMatcher = lastMatcher2;
}
+ while (pos < conditions.length && conditions[pos].isOrnext()) {
+ pos++;
+ }
} else if (!conditions[pos].isOrnext()) {
done = true;
}
17 years, 8 months