What version of MySQL are you linking with? There were a couple of versions that were polluting the namespace, IIRC, as list_reverse is absolutely not a symbol that libmysql.so should be exporting.
Looks like you're right about the double headers, but I'm not familiar enough with that code to really comment on it. Ilja's game on that one ;-) Aaron ""Ed K."" <[EMAIL PROTECTED]> said: > I have been tracking down a forward problem, see thread starting here: > http://mailman.fastxs.net/pipermail/dbmail/2004-March/004366.html > > Anyway I have forwarding working now, but I don't know if I've missed > something. > > Also, Here is a patch to allow for linking against the mysql server. I don't know why > this wasn't fixed in rc3? > > So, my question is: Why was the header put in the message in forward.c and in db.c? > removing from forward.c allows for mail to forwaord properly without duplicate headers. > > ed > > > diff -c -r dbmail-2.0rc3/forward.c dbmail-2.0rc3-ed/forward.c > *** dbmail-2.0rc3/forward.c 2004-03-03 04:30:07.000000000 -0500 > --- dbmail-2.0rc3-ed/forward.c 2004-03-08 15:49:45.000000000 -0500 > *************** > *** 128,134 **** > } > > /* first send header if this is a direct pipe through */ > ! fprintf (pipe, "%s", header); > trace(TRACE_DEBUG, "forward(): wrote header to pipe"); > > trace(TRACE_INFO, "forward(): sending message id number [%llu] to forward pipe", msgidnr); > --- 128,134 ---- > } > > /* first send header if this is a direct pipe through */ > ! //fprintf (pipe, "%s", header); > trace(TRACE_DEBUG, "forward(): wrote header to pipe"); > > trace(TRACE_INFO, "forward(): sending message id number [%llu] to forward pipe", msgidnr); > diff -c -r dbmail-2.0rc3/imapcommands.c dbmail-2.0rc3-ed/imapcommands.c > *** dbmail-2.0rc3/imapcommands.c 2004-01-30 11:24:35.000000000 -0500 > --- dbmail-2.0rc3-ed/imapcommands.c 2004-03-07 12:08:42.000000000 -0500 > *************** > *** 2047,2053 **** > } > } > > ! fetch_list.start = list_reverse(fetch_list.start); > > /* now fetch results for each msg */ > endptr = args[0]; > --- 2047,2053 ---- > } > } > > ! fetch_list.start = dbmail_list_reverse(fetch_list.start); > > /* now fetch results for each msg */ > endptr = args[0]; > diff -c -r dbmail-2.0rc3/list.c dbmail-2.0rc3-ed/list.c > *** dbmail-2.0rc3/list.c 2004-01-07 10:00:16.000000000 -0500 > --- dbmail-2.0rc3-ed/list.c 2004-03-07 12:10:32.000000000 -0500 > *************** > *** 65,71 **** > * > * reverse the order of a linked list > */ > ! struct element* list_reverse(struct element *start) > { > struct element *newstart; > > --- 65,71 ---- > * > * reverse the order of a linked list > */ > ! struct element* dbmail_list_reverse(struct element *start) > { > struct element *newstart; > > *************** > *** 75,81 **** > if (!start->nextnode) > return start; /* nothing to reverse */ > > ! newstart = list_reverse(start->nextnode); /* reverse rest of list */ > start->nextnode->nextnode = start; > > start->nextnode = NULL; /* terminate list */ > --- 75,81 ---- > if (!start->nextnode) > return start; /* nothing to reverse */ > > ! newstart = dbmail_list_reverse(start->nextnode); /* reverse rest of list > */ > start->nextnode->nextnode = start; > > start->nextnode = NULL; /* terminate list */ > diff -c -r dbmail-2.0rc3/list.h dbmail-2.0rc3-ed/list.h > *** dbmail-2.0rc3/list.h 2004-01-07 10:00:16.000000000 -0500 > --- dbmail-2.0rc3-ed/list.h 2004-03-07 12:09:18.000000000 -0500 > *************** > *** 59,64 **** > long list_totalnodes(struct list *tlist); > void list_showlist(struct list *tlist); > void list_init(struct list *tlist); > ! struct element* list_reverse(struct element *start); > > #endif > --- 59,64 ---- > long list_totalnodes(struct list *tlist); > void list_showlist(struct list *tlist); > void list_init(struct list *tlist); > ! struct element* dbmail_list_reverse(struct element *start); > > #endif > diff -c -r dbmail-2.0rc3/lmtp.c dbmail-2.0rc3-ed/lmtp.c > *** dbmail-2.0rc3/lmtp.c 2004-03-05 03:10:12.000000000 -0500 > --- dbmail-2.0rc3-ed/lmtp.c 2004-03-07 12:09:29.000000000 -0500 > *************** > *** 532,538 **** > struct element *element; > > /* The replies MUST be in the order received */ > ! rcpt.start = list_reverse(rcpt.start); > > /* Resolve the addresses into deliverable / non-deliverable form. */ > if (dsnuser_resolve_list(&rcpt) == -1) > --- 532,538 ---- > struct element *element; > > /* The replies MUST be in the order received */ > ! rcpt.start = dbmail_list_reverse(rcpt.start); > > /* Resolve the addresses into deliverable / non-deliverable form. */ > if (dsnuser_resolve_list(&rcpt) == -1) > diff -c -r dbmail-2.0rc3/rfcmsg.c dbmail-2.0rc3-ed/rfcmsg.c > *** dbmail-2.0rc3/rfcmsg.c 2004-01-07 10:00:16.000000000 -0500 > --- dbmail-2.0rc3-ed/rfcmsg.c 2004-03-07 12:09:48.000000000 -0500 > *************** > *** 90,100 **** > } > > /* reverse this list */ > ! msg->children.start = list_reverse(msg->children.start); > > /* reverse header items */ > ! msg->mimeheader.start = list_reverse(msg->mimeheader.start); > ! msg->rfcheader.start = list_reverse(msg->rfcheader.start); > } > > /* > --- 90,100 ---- > } > > /* reverse this list */ > ! msg->children.start = dbmail_list_reverse(msg->children.start); > > /* reverse header items */ > ! msg->mimeheader.start = dbmail_list_reverse(msg->mimeheader.start); > ! msg->rfcheader.start = dbmail_list_reverse(msg->rfcheader.start); > } > > /* > > > Security on the internet is impossible without strong, open, > and unhindered encryption. > > _______________________________________________ > Dbmail-dev mailing list > Dbmail-dev@dbmail.org > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > --