Most plugins call body_resetpos before using the FH.

-R

Jared Johnson wrote:
> 
> I'm considering submitting a patch that enhances
> Qspmtpd::Transaction::body_fh() to (1) call body_spool() if the
> message was not already spooled to disk; and (2) dup the filehandle
> before returning it, so that if a plugin that calls body_fh, or an
> external module that the plugin passes the fh to, happens to seek() to
> some weird place or close() the fh, bad things won't happen to plugins
> that use the fh later (body_fh, body_resetpos, body_getline).
> 
> My question is, are there times when a plugin might be expecting such
> modifications to body_fh, justifying splitting the second
> functionality into a separate function, say, body_fh_dup() or so?  I'd
> lean toward making the changes directly to body_fh() but wanted to see
> if there were any objections to this.
> 
> -Jared

Reply via email to