On Sun, Mar 07, 2004 at 12:08:39PM -0400, Ace Suares wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> Thanks for the 20040301a patch ! It works better now.
> 
> But I still get this error message:
> 
> starting delivery 1: msg 391334 to local [EMAIL PROTECTED]
> info msg 391374: bytes 2164 from <[EMAIL PROTECTED]@[]> qp 3985 
> uid 1191
> qmail-todo neither by land nor by sea...
> 
> I suspect it has to do that I altered qmail-ldap.h, and set uid to be the same 
> as mail. That's because I login with the full mailaddress in pop3. 
> 
> But it looks to me that qmailGroup takes the uid (which is now the full email 
> address) and then start to do some DASH-EXT magic on it - resulting in a very 
> wrong thing.
> 
> How to solve that ? I'd like to be able to login using the full emailaddress 
> when using pop3 or imap - and I'd rather not have a seperate uid attribute, 
> unless I can construct it uniquely from the mailaddress. Should qmail strip 
> everything after the @ sign before it tries to rewrite the uid in case the 
> uid is the full mailaddress ? Or is there another way to do this ?
> 

Woohoo. Scary.
The error qmail-todo neither by land nor by sea... comes from the todo
processing (what a discovery). Now it is getting scarier, normally there
are two ways to deliver a mail (by land or by sea aka. local vs. remote)
while it is possible to do a delivery by land and by sea it should not be
possible to do a delivery by neither of them.

Now the 1Mio question is how do we get to that case? I don't know...

Currently I have a small patch but I don't think that solves the problem.

Is that by land by sea problem only happening by your testlist?
Hmm your log lines seem not to correlate (message ids are not equal).
If you can trigger the issue easily can you do it with a fresh logfile and
just one delviery? Acctually you should not get a "to local" line because
that would imply delivery by land.

My best guess at the moment is, that you try to deliver a mail with no
recipient and therefor qmail-todo borks out.

-- 
:wq Claudio

Index: qmail-todo.c
===================================================================
RCS file: /home/cvs-djbware/CVS/qmail-ldap/qmail-todo.c,v
retrieving revision 1.16
diff -u -p -r1.16 qmail-todo.c
--- qmail-todo.c        29 Jan 2004 15:03:15 -0000      1.16
+++ qmail-todo.c        8 Mar 2004 22:11:08 -0000
@@ -139,10 +139,10 @@ int rewrite(char *recip)
     if (!stralloc_copyb(&lowaddr,addr.s + at + 1,addr.len - at - 1)) return 0;
     case_lowerb(lowaddr.s, lowaddr.len);
     fd = open_read(localscdb.s);
-    if (fd == -1) return -1;
+    if (fd == -1) return 0;
     r = cdb_seek(fd, lowaddr.s,lowaddr.len, &dlen);
     close(fd);
-    if (r == -1) return -1;
+    if (r == -1) return 0;
     if (r == 1) {
       if (!stralloc_cat(&rwline,&addr)) return 0;
       if (!stralloc_0(&rwline)) return 0;
Index: qmail-send.c
===================================================================
RCS file: /home/cvs-djbware/CVS/qmail-ldap/qmail-send.c,v
retrieving revision 1.31
diff -u -p -r1.31 qmail-send.c
--- qmail-send.c        29 Jan 2004 15:03:15 -0000      1.31
+++ qmail-send.c        8 Mar 2004 22:11:08 -0000
@@ -157,10 +157,10 @@ char *recip;
     if (!stralloc_copyb(&lowaddr,addr.s + at + 1,addr.len - at - 1)) return 0;
     case_lowerb(lowaddr.s, lowaddr.len);
     fd = open_read(localscdb.s);
-    if (fd == -1) return -1;
+    if (fd == -1) return 0;
     r = cdb_seek(fd, lowaddr.s,lowaddr.len, &dlen);
     close(fd);
-    if (r == -1) return -1;
+    if (r == -1) return 0;
     if (r == 1) {
       if (!stralloc_cat(&rwline,&addr)) return 0;
       if (!stralloc_0(&rwline)) return 0;

Reply via email to