On 06 Dec 07, Hartmut Wernisch wrote:
> On 05 Dec 07, Tom Collins wrote:
> > On Dec 5, 2007, at 12:52 AM, Hartmut Wernisch wrote:
> > > 823 #ifdef QMAIL_EXT
> > > 824     /* format the file name */
> > > 825     if (strlen(TheExt)) {
> > > 826         strcpy(tmpbuf,".qmail-");
> > > 827         strcat(tmpbuf,TheExt);
> > > 828         if ( (fs = fopen(tmpbuf,"r")) == NULL ) {
> > > 829             for (i=strlen(TheExt);i>=0;--i) {
> > > 830                 if (!i || TheExt[i-1]=='-') {
> > > 831                     strcpy(tmpbuf,".qmail-");
> > > 832                     strncat(tmpbuf,TheExt,i);
> > > 833                     strcat(tmpbuf,"default");
> > > 834                     if ( (fs = fopen(tmpbuf,"r")) != NULL) {
> > > 835                         break;
> > > 836                     }
> > > 837                 }
> > > 838             }
> > > 839         }
> > > 840     } else {
> > > 841         fs = fopen(".qmail","r");
> > > 842     }
> > > 843 #else
> > > 844     fs = fopen(".qmail","r");
> > > 845 #endif
> > 
> > 
> > I think I know what the problem is, and it should be a simple fix.
> > 
> > Before line 823, add:
> > 
> >  fs = NULL;
> > 
> > Remove lines 840 - 845 and replace with the following:
> 
> I removed the lines 840,841 and 843 - 845.
> 
> > 
> >  840 #endif
> >  841 if (fs == NULL) fs = fopen (".qmail", "r");
> > 
> > Hartmut, can you test this fix?  Rick, can you get this into the next  
> > vpopmail release if Hartmut reports it as good?
> 
> OK, this fix works at the first glance but I had a strange feeling 
> about it, so I tested following:
> 
> 
> 
> (I think in general there should be no ".qmail-something" files in
> mailboxes, only .qmail files?!)
> 

Sorry, the mailbox of "hw" had also the same external forwarding email
address so the right test results are less confusing :)



 
So if we have following example:
--------------------------------

- A mailbox called "hw"

- A mailbox called "hw-foo" with following file in it:
  .qmail
  (It should be forwarded to an external address and delivered locally)
   
 
Tests: 
 
  1) Mail to "hw-foo": -> works 

  2) Mail to "hw-foo-bar": -> wrong!
 
    - Mail is delivered to the mailbox of "hw" instead of "hw-de"!
 
 
Creating a ".qmail-bar" file in the mailbox of "hw-foo":
(It should be forwarded to an external address and delivered locally)
 
  3) Mail to "hw-foo": -> works
 
  4) Mail to "hw-foo-bar": -> wrong!
 
    - Mail is delivered to the mailbox of "hw" instead of "hw-de"!
 

So it seems that the reverse qmail-ext parsing is not correct.


Regards,
Hartmut

!DSPAM:4757dbc332004177430474!

Reply via email to