[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: chunking without pipelining
> Hi,
>
> I had a problem with chunking, because I had pipelining
> turned off. The thing is when smtp does bdata_flush, it uses
> SS->...pipelining value to pass to smtpwrite. If pipelining is
> off, smtpwrite will wait for synchorneous smtp response after
> saying BDAT and smtpserver wait for data right after BDAT and
> not supposed to say anything before all the data is transferred.
> :(
Uh oh... Right you are, this should be the cure
(this is cut&paste from xterm, so apply by hand):
RCS file: /home/mea/src/CVSROOT/zmailer/transports/smtp/smtp.c,v
retrieving revision 1.16
diff -u -r1.16 smtp.c
--- smtp.c 1998/03/03 21:58:41 1.16
+++ smtp.c 1998/03/11 11:04:18
@@ -3208,7 +3208,7 @@
else
sprintf(linebuf, "BDAT %d", SS->chunksize);
- r = smtpwrite(SS, 1, linebuf, SS->pipelining, NULL);
+ r = smtpwrite(SS, 1, linebuf, 1 /* ALWAYS "pipeline" */, NULL);
/* XX: BDAT syncing processing ??? */
if (r != EX_OK)
return r;
@@ -3225,7 +3225,7 @@
}
SS->chunksize = 0;
- if (lastflg)
+ if (lastflg || ! SS->pipelining)
r = smtp_sync(SS, r, 0);
return r;
> alexis
> --
> You can't teach a new mouse old clicks
/Matti Aarnio <mea@nic.funet.fi>