From: adam Date: Sat, 2 Dec 2006 08:14:29 +0000 (+0000) Subject: added max message size limit X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=commitdiff_plain;h=bf9c0c812fc9f80cc35653823edcbb42a348c488 added max message size limit darcs-hash:20061202081429-5007d-511a92987871588f9b709237540350ea3e3b9c20.gz --- diff --git a/src/org/ibex/mail/protocol/SMTP.java b/src/org/ibex/mail/protocol/SMTP.java index be67a0e..0fbc478 100644 --- a/src/org/ibex/mail/protocol/SMTP.java +++ b/src/org/ibex/mail/protocol/SMTP.java @@ -165,6 +165,13 @@ public class SMTP { if (s.equals(".")) break; if (s.startsWith(".")) s = s.substring(1); buf.append(s + "\r\n"); + if (MAX_MESSAGE_SIZE != -1 && buf.length() > MAX_MESSAGE_SIZE) { + Log.error("**"+conn.getRemoteAddress()+"**", + "sorry, this mail server only accepts messages of less than " + + ByteSize.toString(MAX_MESSAGE_SIZE)); + throw new MailException.Malformed("sorry, this mail server only accepts messages of less than " + + ByteSize.toString(MAX_MESSAGE_SIZE)); + } } String body = buf.toString(); Message m = null; @@ -179,7 +186,7 @@ public class SMTP { } catch (Reject.RejectException re) { Log.warn(SMTP.class, "rejecting message due to: " + re.reason + "\n " + re.m.summary()); conn.println("501 " + re.reason); - } catch (MailException.Malformed mfe) { conn.println("501 " + mfe.toString()); + } catch (MailException.Malformed mfe) { conn.println("501 " + mfe.toString()); } catch (MailException.MailboxFull mbf) { conn.println("452 " + mbf); } catch (Later.LaterException le) { conn.println("453 try again later"); } catch (IOException ioe) {