vdelivermail.c - dot-qmail processing, FreeBSD Port: vpopmail-5.4.26

Michal Sviba michal at myserver.cz
Sat Mar 15 14:23:16 UTC 2008


Hi Tom,

there are some "#ifdef quotas", but not exactly in part witch I mean.

When I've done #diff between vdelivermail.c 5.4.25 and .26, there are no
differences.

But I've luckily found/repair the problem :)))
Problem was in variable DeleteEmail witch is set just one time 
(DelteEmail = 1) and default is 0.

So, I've tried this: vdelivermail.c:660
  655
  656     /* rewind the message */
  657     lseek(0,0L,SEEK_SET);
  658
  659     /* same env. for each line .qmail */
  660     DeleteMail = 0; // set default
  661
  662     /* This is an command */
  663     if ( *address == '|' ) {
  664

It's setting default value for each line in .qmail and for me it's 
working properly.

It is because of setting InHeaders=1 is default and can be changed only 
by "int is_spam()" and is_spam is called by "int fdcopy()" .....

I'm not fluent in language C and someone should check this my patch


My environment is: FreeBSD 5.4, vpopmail 5.4.26 make -DWITH_MYSQL 
-DWITH_QMAIL_EXT -DWITH_SPAMASSASSIN -DSPAM_THRESHOLD=15
and freebsd-ports-patch was used.

Michal

Tom Collins napsal(a):
> I think this is a known problem with 5.4.26, related to quotas.
> 
> Please downgrade to 5.4.25 until Rick can get 5.4.27 released.  He's 
> taken over development of vpopmail.
> 
> -Tom
> 
> On Mar 13, 2008, at 3:42 PM, Michal Sviba wrote:
> 
>> Hi Tom,
>>
>> I'm a user/admin of vdelivermail.c (vpopmail+qmail). I've used 
>> vpopmail 5.4.10 for many years and 10days ago I've decided to build 
>> the new one (5.4.26).
>>
>> It mostly work fine, but in new version is different behaviour in 
>> processing .qmail
>>
>> :: version 5.4.10 .qmail
>> &some at email.to.forward
>> /usr/local/vpopmail/domains/domain.tld/.......
>>
>> It send a copy of mail to some at email.to.forward, than store a copy to 
>> Maildir. It is expected processing form many years (for me).
>>
>>
>>
>>
>> :: version 5.4.26 .qmail
>> &some at email.to.forward
>> /usr/local/vpopmail/domains/domain.tld/.......
>>
>> It send a copy of mail to some at email.to.forward, than finish. Without 
>> storing a copy to Maildir.
>>
>>
>>
>> :: version 5.4.26 .qmail
>> /usr/local/vpopmail/domains/domain.tld/.......
>> &some at email.to.forward
>>
>> Store a copy, than forward email to address.
>>
>>
>>
>>
>>
>>
>> So, I can "re-sed" every .qmail file ... :) but it's bad idea (because 
>> of "clean" system and QmailAdmin).
>>
>>
>> Probably is bug in vdelivermail.c:"void deliver_mail(char *address, 
>> char *quota)". Because after processing "&mail at address.tld" 
>> .qmail-line vexiterr() is called. vexiterr() will call vexit() than 
>> vexit() call exit() => code is finishing.
>>
>> In version 5.4.10 was never called *exit* in this part of code (lines 
>> 569-608).
>>
>>
>> Best regards,
>> Michal
>>
>> -- 
>>  Hi! I'm a .signature virus! Copy me into your ~/.signature to help me
>> spread!
> 
> -Tom
> 
> 


-- 
   Hi! I'm a .signature virus! Copy me into your ~/.signature to help me
spread!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3744 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20080315/866eda6f/smime.bin


More information about the freebsd-ports mailing list