diff --git a/apps/susimail/src/src/i2p/susi/webmail/Mail.java b/apps/susimail/src/src/i2p/susi/webmail/Mail.java
index 462ee32742..95e0829bfe 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/Mail.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/Mail.java
@@ -283,14 +283,14 @@ class Mail {
Encoding html = EncodingFactory.getEncoding( "HTML" );
if( html == null ) {
- error += "HTML encoder not found.
";
+ error += "HTML encoder not found.\n";
ok = false;
}
Encoding hl = EncodingFactory.getEncoding( "HEADERLINE" );
if( hl == null ) {
- error += "Header line encoder not found.
";
+ error += "Header line encoder not found.\n";
ok = false;
}
@@ -369,7 +369,7 @@ class Mail {
}
}
catch( Exception e ) {
- error += "Error parsing mail header: " + e.getClass().getName() + "
";
+ error += "Error parsing mail header: " + e.getClass().getName() + '\n';
}
}
}
diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
index b67dbdfb80..3755c9fbd4 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
@@ -677,7 +677,7 @@ public class WebMail extends HttpServlet
static String quoteHTML( String line )
{
if( line != null )
- line = line.replace("&", "&").replace( "<", "<" ).replace( ">", ">" );
+ line = DataHelper.escapeHTML(line);
else
line = "";
return line;
@@ -710,52 +710,52 @@ public class WebMail extends HttpServlet
if (buttonPressed(request, LOGIN) || offline) {
if( user == null || user.length() == 0 ) {
- sessionObject.error += _("Need username for authentication.") + "
";
+ sessionObject.error += _("Need username for authentication.") + '\n';
doContinue = false;
}
if( pass == null || pass.length() == 0 ) {
- sessionObject.error += _("Need password for authentication.") + "
";
+ sessionObject.error += _("Need password for authentication.") + '\n';
doContinue = false;
}
if( host == null || host.length() == 0 ) {
- sessionObject.error += _("Need hostname for connect.") + "
";
+ sessionObject.error += _("Need hostname for connect.") + '\n';
doContinue = false;
}
int pop3PortNo = 0;
if( pop3Port == null || pop3Port.length() == 0 ) {
- sessionObject.error += _("Need port number for pop3 connect.") + "
";
+ sessionObject.error += _("Need port number for pop3 connect.") + '\n';
doContinue = false;
}
else {
try {
pop3PortNo = Integer.parseInt( pop3Port );
if( pop3PortNo < 0 || pop3PortNo > 65535 ) {
- sessionObject.error += _("POP3 port number is not in range 0..65535.") + "
";
+ sessionObject.error += _("POP3 port number is not in range 0..65535.") + '\n';
doContinue = false;
}
}
catch( NumberFormatException nfe )
{
- sessionObject.error += _("POP3 port number is invalid.") + "
";
+ sessionObject.error += _("POP3 port number is invalid.") + '\n';
doContinue = false;
}
}
int smtpPortNo = 0;
if( smtpPort == null || smtpPort.length() == 0 ) {
- sessionObject.error += _("Need port number for smtp connect.") + "
";
+ sessionObject.error += _("Need port number for smtp connect.") + '\n';
doContinue = false;
}
else {
try {
smtpPortNo = Integer.parseInt( smtpPort );
if( smtpPortNo < 0 || smtpPortNo > 65535 ) {
- sessionObject.error += _("SMTP port number is not in range 0..65535.") + "
";
+ sessionObject.error += _("SMTP port number is not in range 0..65535.") + '\n';
doContinue = false;
}
}
catch( NumberFormatException nfe )
{
- sessionObject.error += _("SMTP port number is invalid.") + "
";
+ sessionObject.error += _("SMTP port number is invalid.") + '\n';
doContinue = false;
}
}
@@ -829,10 +829,10 @@ public class WebMail extends HttpServlet
sessionObject.mailbox = null;
sessionObject.mailCache = null;
}
- sessionObject.info += _("User logged out.") + "
";
+ sessionObject.info += _("User logged out.") + '\n';
sessionObject.state = STATE_AUTH;
} else if( sessionObject.mailbox == null ) {
- sessionObject.error += _("Internal error, lost connection.") + "
";
+ sessionObject.error += _("Internal error, lost connection.") + '\n';
sessionObject.state = STATE_AUTH;
}
}
@@ -1065,7 +1065,7 @@ public class WebMail extends HttpServlet
sessionObject.state = STATE_NEW;
}
else {
- sessionObject.error += _("Could not fetch mail body.") + "
";
+ sessionObject.error += _("Could not fetch mail body.") + '\n';
}
}
}
@@ -1095,7 +1095,7 @@ public class WebMail extends HttpServlet
}
catch( NumberFormatException nfe )
{
- sessionObject.error += _("Message id not valid.") + "
";
+ sessionObject.error += _("Message id not valid.") + '\n';
}
}
}
@@ -1194,7 +1194,7 @@ public class WebMail extends HttpServlet
);
}
else {
- sessionObject.error += _("No Encoding found for {0}", encodeTo) + "
";
+ sessionObject.error += _("No Encoding found for {0}", encodeTo) + '\n';
}
}
catch (EncodingException e1) {
@@ -1203,7 +1203,7 @@ public class WebMail extends HttpServlet
}
}
catch (IOException e) {
- sessionObject.error += _("Error reading uploaded file: {0}", e.getMessage()) + "
";
+ sessionObject.error += _("Error reading uploaded file: {0}", e.getMessage()) + '\n';
}
}
}
@@ -1338,7 +1338,7 @@ public class WebMail extends HttpServlet
sessionObject.folder.setPageSize( pageSize );
}
catch( NumberFormatException nfe ) {
- sessionObject.error += _("Invalid pagesize number, resetting to default value.") + "
";
+ sessionObject.error += _("Invalid pagesize number, resetting to default value.") + '\n';
}
}
if( buttonPressed( request, PREVPAGE ) ) {
@@ -1362,7 +1362,7 @@ public class WebMail extends HttpServlet
if (m > 0)
sessionObject.reallyDelete = true;
else
- sessionObject.error += _("No messages marked for deletion.") + "
";
+ sessionObject.error += _("No messages marked for deletion.") + '\n';
}
else {
if( buttonPressed( request, REALLYDELETE ) ) {
@@ -1379,7 +1379,7 @@ public class WebMail extends HttpServlet
sessionObject.folder.removeElements(toDelete);
sessionObject.pageChanged = true;
sessionObject.info += ngettext("1 message deleted.", "{0} messages deleted.", numberDeleted);
- //sessionObject.error += _("Error deleting message: {0}", sessionObject.mailbox.lastError()) + "
";
+ //sessionObject.error += _("Error deleting message: {0}", sessionObject.mailbox.lastError()) + '\n';
}
}
sessionObject.reallyDelete = false;
@@ -1466,7 +1466,7 @@ public class WebMail extends HttpServlet
} catch (IOException ioe) {
sessionObject.error = ioe.toString();
} catch( NumberFormatException nfe ) {
- sessionObject.error += _("Invalid pagesize number, resetting to default value.") + "
";
+ sessionObject.error += _("Invalid pagesize number, resetting to default value.") + '\n';
}
} else if (buttonPressed(request, CANCEL)) {
sessionObject.state = (sessionObject.folder != null) ? STATE_LIST : STATE_AUTH;
@@ -1670,7 +1670,7 @@ public class WebMail extends HttpServlet
} else if( sessionObject.state == STATE_SHOW ) {
Mail mail = sessionObject.mailCache.getMail(sessionObject.showUIDL, MailCache.FetchMode.HEADER);
if (mail != null && mail.shortSubject != null)
- subtitle = mail.shortSubject;
+ subtitle = quoteHTML(mail.shortSubject);
else
subtitle = _("Show Message");
} else if( sessionObject.state == STATE_NEW ) {
@@ -1714,10 +1714,10 @@ public class WebMail extends HttpServlet
"