Author: norman
Date: Thu Nov 12 18:17:40 2009
New Revision: 835481
URL: http://svn.apache.org/viewvc?rev=835481&view=rev
Log:
Fix regex bug and configuration file load order (HUPA-48). Thx to Manuel
Carrasco again..
Modified:
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
Modified:
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java?rev=835481&r1=835480&r2=835481&view=diff
==============================================================================
---
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
(original)
+++
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
Thu Nov 12 18:17:40 2009
@@ -128,21 +128,22 @@
protected Properties loadProperties() throws Exception {
Properties properties = null;
- properties = loadProperties(configDir + CONFIG_FILE_NAME);
+
+ String fileName = System.getProperty(SYS_PROP_CONFIG_FILE);
+ if (fileName != null) {
+ properties = loadProperties(fileName);
+ }
if (properties == null) {
- String fileName = System.getProperty(SYS_PROP_CONFIG_FILE);
- if (fileName != null) {
- properties = loadProperties(fileName);
+ for (String name : CONFIG_PROPERTIES) {
+ properties = loadProperties(name);
+ if (properties != null)
+ break;
}
+ }
- if (properties == null) {
- for (String name : CONFIG_PROPERTIES) {
- properties = loadProperties(name);
- if (properties != null)
- break;
- }
- }
+ if (properties == null) {
+ properties = loadProperties(configDir + CONFIG_FILE_NAME);
}
// Configure default parameters for Hupa in demo mode
Modified:
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java?rev=835481&r1=835480&r2=835481&view=diff
==============================================================================
---
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
(original)
+++
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
Thu Nov 12 18:17:40 2009
@@ -269,14 +269,14 @@
static Pattern regex_badAttrs =
Pattern.compile("(?si)(<)(\\w+)(\\s.+?)onClick=(\".+?\"|'.+?')(.*?</)(\\2)(\\s*>)");
static String repl_badAttrs = "$1$2$3 $5$6$7";
- static Pattern regex_orphandHttpLinks =
Pattern.compile("(?si)(?!.*<a\\s?[^>]*?>.+</a\\s*>.*)(>[^<>]*)" +
HTML_LINK_REGEXP + "([^<>]*<)");
+ static Pattern regex_orphandHttpLinks =
Pattern.compile("(?si)(?!.*<a\\s?[^>]*?>.+</a\\s*>.*)(<[^<]*?>[^<>]*)" +
HTML_LINK_REGEXP + "([^<>]*<[^>]*?>)");
static String repl_orphandHttpLinks = "$1<a href=\"$2\">$2</a>$3";
static Pattern regex_existingHttpLinks =
Pattern.compile("(?si)<a\\s[^>]*?href=[\"']?" + HTML_LINK_REGEXP + "[\"']?");
static String repl_existingHttpLinks = "<a onClick=\"openLink('$1');return
false;\" href=\"$1\"";
- static Pattern regex_orphandEmailLinks =
Pattern.compile("(?si)(?!.*<a\\s?[^>]*?>.+</a\\s*>.*)<([A-z]+?)(.*?)>(.*[\\s>])"
+ EMAIL_REGEXP + "(.*)</\\1>");
- static String repl_orphandEmailLinks = "<$1$2>$3<a
href=\"mailto:$4\">$4</a>$5</$1>";
+ static Pattern regex_orphandEmailLinks =
Pattern.compile("(?si)(?!.*<a\\s?[^>]*?>.+</a\\s*>.*)(<[^<]*?>[^<>]*)" +
EMAIL_REGEXP + "([^<>]*<[^>]*?>)");
+ static String repl_orphandEmailLinks = "$1<a href=\"mailto:$2\">$2</a>$3";
static Pattern regex_existingEmailLinks =
Pattern.compile("(?si)<a\\s[^>]*?href=[\"']*mailto:[\"']?([^\"]+)[\"']?");
static String repl_existngEmailLinks = "<a onClick=\"mailTo('$1');return
false;\" href=\"mailto:$1\"";
Modified:
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java?rev=835481&r1=835480&r2=835481&view=diff
==============================================================================
---
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
(original)
+++
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
Thu Nov 12 18:17:40 2009
@@ -80,9 +80,10 @@
assertEquals("-- <div> .. \"<a
onClick=\"openLink('http://whatever');return false;\"
href=\"http://whatever\">http://whatever</a>\" .. </div>", res);
}
-
+
public void testRegexEmailLinks() {
String txt, res;
+
txt = ".. <a href=\"mailTo:[email protected]\">..</a> ..";
res = handler.replaceAll(txt,
GetMessageDetailsHandler.regex_existingEmailLinks,
GetMessageDetailsHandler.repl_existngEmailLinks);
assertEquals(".. <a onClick=\"mailTo('[email protected]');return
false;\" href=\"mailto:[email protected]\">..</a> ..", res);
@@ -120,6 +121,10 @@
res = handler.txtDocumentToHtml("", "aFolder", 9999l);
assertTrue(res.length()==0);
+ // TODO: test this
+
//http://accounts.myspace.com.deaaaf.me.uk/msp/index.php?fuseaction=update&code=78E2BL6-EKY5L893K4MHSA-74ESO-D743U41GYB18J-FA18EI698V4M&[email protected]
+
+
}
public void testFilterHtmlDocument() throws Exception {
@@ -165,6 +170,23 @@
}
+ public void testRegexEmailsInsideTagAttributes() {
+ String msg, res;
+ msg = ".. <a href=\"http://whatever?param1=whatever&email=
[email protected]¶m3\">..</a> ..";
+ res = handler.filterHtmlDocument(msg, "aFolder", 9999l);
+ assertFalse(res.contains("mailTo("));
+
+ msg = ".. <a href=bla >
http://whatever?param1=whatever&[email protected]¶m3 </a> ..";
+ res = handler.filterHtmlDocument(msg, "aFolder", 9999l);
+ assertFalse(res.contains("mailTo("));
+ assertFalse(res.contains("openLink("));
+
+ msg = ".. <div >
http://whatever?param1=whatever&[email protected]¶m3 <p> ..";
+ res = handler.filterHtmlDocument(msg, "aFolder", 9999l);
+ assertFalse(res.contains("mailTo("));
+ assertTrue(res.contains("openLink("));
+ }
+
private MessageDetails loadMessageDetails(String msgFile) throws
Exception {
return handler.mimeToDetails(loadMessage(msgFile), "theFolder", 9999l);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]