You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by pg...@apache.org on 2002/09/29 02:09:46 UTC

cvs commit: jakarta-james/src/java/org/apache/james/transport/mailets NotifyPostmaster.java NotifySender.java

pgoldstein    2002/09/28 17:09:46

  Modified:    src/java/org/apache/james/transport/mailets
                        NotifyPostmaster.java NotifySender.java
  Log:
  This is a patch for bug #9669.  The NotifyPostmaster and NotifySender mailets unnecessarily parsed the headers of the mails being processed.  This led to exceptions that unnecessarily aborted the processing when the headers didn't contain valid data.  The attached files are changed so that the raw headers are accessed directly.
  
  Revision  Changes    Path
  1.9       +15 -14    jakarta-james/src/java/org/apache/james/transport/mailets/NotifyPostmaster.java
  
  Index: NotifyPostmaster.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/NotifyPostmaster.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- NotifyPostmaster.java	14 Sep 2002 06:22:37 -0000	1.8
  +++ NotifyPostmaster.java	29 Sep 2002 00:09:46 -0000	1.9
  @@ -140,27 +140,28 @@
           while (rcptTo.hasNext()) {
               out.println("           " + rcptTo.next());
           }
  -        Address[] rcpts = message.getFrom();
  -        if (rcpts != null) {
  +        String[] addresses = null;
  +        addresses = message.getHeader(RFC2822Headers.FROM);
  +        if (addresses != null) {
               out.print("  From: ");
  -            for (int i = 0; i < rcpts.length; i++) {
  -                out.print(rcpts[i] + " ");
  +            for (int i = 0; i < addresses.length; i++) {
  +                out.print(addresses[i] + " ");
               }
               out.println();
           }
  -        rcpts = message.getRecipients(Message.RecipientType.TO);
  -        if (rcpts != null) {
  +        addresses = message.getHeader(RFC2822Headers.TO);
  +        if (addresses != null) {
               out.print("  To: ");
  -            for (int i = 0; i < rcpts.length; i++) {
  -                out.print(rcpts[i] + " ");
  +            for (int i = 0; i < addresses.length; i++) {
  +                out.print(addresses[i] + " ");
               }
               out.println();
           }
  -        rcpts = message.getRecipients(Message.RecipientType.CC);
  -        if (rcpts != null) {
  +        addresses = message.getHeader(RFC2822Headers.CC);
  +        if (addresses != null) {
               out.print("  CC: ");
  -            for (int i = 0; i < rcpts.length; i++) {
  -                out.print(rcpts[i] + " ");
  +            for (int i = 0; i < addresses.length; i++) {
  +                out.print(addresses[i] + " ");
               }
               out.println();
           }
  @@ -204,14 +205,14 @@
           recipients.add(getMailetContext().getPostmaster());
   
           //Set additional headers
  -        if (reply.getHeader(RFC2822Headers.DATE)==null){
  +        if (reply.getHeader(RFC2822Headers.DATE)==null) {
               reply.setHeader(RFC2822Headers.DATE, rfc822DateFormat.format(new Date()));
           }
           String subject = message.getSubject();
           if (subject == null) {
               subject = "";
           }
  -        if (subject.indexOf("Re:") == 0){
  +        if (subject.indexOf("Re:") == 0) {
               reply.setSubject(subject);
           } else {
               reply.setSubject("Re:" + subject);
  
  
  
  1.10      +3 -2      jakarta-james/src/java/org/apache/james/transport/mailets/NotifySender.java
  
  Index: NotifySender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/NotifySender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- NotifySender.java	14 Sep 2002 06:22:37 -0000	1.9
  +++ NotifySender.java	29 Sep 2002 00:09:46 -0000	1.10
  @@ -133,7 +133,8 @@
           if (message.getSentDate() != null) {
               out.println("  Sent date: " + message.getSentDate());
           }
  -        Address[] rcpts = message.getRecipients(Message.RecipientType.TO);
  +        String[] rcpts = null;
  +        rcpts = message.getHeader(RFC2822Headers.TO);
           if (rcpts != null) {
               out.print("  To: ");
               for (int i = 0; i < rcpts.length; i++) {
  @@ -141,7 +142,7 @@
               }
               out.println();
           }
  -        rcpts = message.getRecipients(Message.RecipientType.CC);
  +        rcpts = message.getHeader(RFC2822Headers.CC);
           if (rcpts != null) {
               out.print("  CC: ");
               for (int i = 0; i < rcpts.length; i++) {
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>