smfi_replacebody

SYNOPSIS
#include <libmilter/mfapi.h>
int smfi_replacebody(
	SMFICTX *ctx,
	unsigned char *bodyp,
	int bodylen
);
Replace message-body data.
DESCRIPTION
Called When Called only from xxfi_eom. smfi_replacebody may be called more than once.
Effects smfi_replacebody replaces the body of the current message. If called more than once, subsequent calls result in data being appended to the new body.
ARGUMENTS
ArgumentDescription
ctx Opaque context structure.
bodyp A pointer to the start of the new body data, which does not have to be null-terminated. If bodyp is NULL, it is treated as having length == 0. Body data should be in CRLF form.
bodylen The number of data bytes pointed to by bodyp.
RETURN VALUES smfi_replacebody fails and returns MI_FAILURE if:
  • bodyp == NULL and bodylen > 0.
  • Changing the body in the current connection state is invalid.
  • A network error occurs.
  • SMFIF_CHGBODY is not set.
Otherwise, it will return MI_SUCCESS.
NOTES
  • Since the message body may be very large, calling smfi_replacebody may significantly affect filter performance.
  • If a filter sets SMFIF_CHGBODY but does not call smfi_replacebody, the original body remains unchanged.
  • For smfi_replacebody, filter order is important. Later filters will see the new body contents created by earlier ones.
  • A filter which calls smfi_replacebody must have set the SMFIF_CHGBODY flag.

Copyright (c) 2000-2001, 2003 Proofpoint, Inc. and its suppliers. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the LICENSE.