Postfix3.3.1
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
cleanup.h ファイル
#include <sys/time.h>
#include <vstring.h>
#include <vstream.h>
#include <argv.h>
#include <nvtable.h>
#include <maps.h>
#include <tok822.h>
#include <been_here.h>
#include <mail_stream.h>
#include <mail_conf.h>
#include <mime_state.h>
#include <string_list.h>
#include <cleanup_user.h>
#include <header_body_checks.h>
#include <dsn_mask.h>
#include <milter.h>

[ソースコード]

データ構造

struct  CLEANUP_STATE
 
struct  CLEANUP_REGION
 

マクロ定義

#define CLEANUP_FLAG_INRCPT   (1<<16) /* Processing recipient records */
 
#define CLEANUP_FLAG_WARN_SEEN   (1<<17) /* REC_TYPE_WARN record seen */
 
#define CLEANUP_FLAG_END_SEEN   (1<<18) /* REC_TYPE_END record seen */
 
#define CLEANUP_CANON_FLAG_ENV_FROM   (1<<0) /* envelope sender */
 
#define CLEANUP_CANON_FLAG_ENV_RCPT   (1<<1) /* envelope recipient */
 
#define CLEANUP_CANON_FLAG_HDR_FROM   (1<<2) /* header sender */
 
#define CLEANUP_CANON_FLAG_HDR_RCPT   (1<<3) /* header recipient */
 
#define CLEANUP_MASQ_FLAG_ENV_FROM   (1<<0) /* envelope sender */
 
#define CLEANUP_MASQ_FLAG_ENV_RCPT   (1<<1) /* envelope recipient */
 
#define CLEANUP_MASQ_FLAG_HDR_FROM   (1<<2) /* header sender */
 
#define CLEANUP_MASQ_FLAG_HDR_RCPT   (1<<3) /* header recipient */
 
#define CLEANUP_RECORD(s, t, b, l)   ((s)->action((s), (t), (b), (l)))
 
#define CLEANUP_OUT_BUF(s, t, b)   cleanup_out((s), (t), vstring_str((b)), VSTRING_LEN((b)))
 
#define CLEANUP_OUT_OK(s)   (!((s)->errs & (s)->err_mask) && !((s)->flags & CLEANUP_FLAG_DISCARD))
 
#define NO_DSN_ORCPT   ((char *) 0)
 
#define NO_DSN_NOTIFY   DSN_NOTIFY_NEVER
 
#define DEF_DSN_NOTIFY   (0)
 
#define cleanup_addr_bcc(state, addr)   cleanup_addr_bcc_dsn((state), (addr), NO_DSN_ORCPT, NO_DSN_NOTIFY)
 
#define CLEANUP_MSG_STATS(stats, state)   MSG_STATS_INIT1(stats, incoming_arrival, state->arrival_time)
 
#define CLEANUP_MILTER_OK(s)
 
#define HFROM_FORMAT_CODE_STD   0
 
#define HFROM_FORMAT_CODE_OBS   1
 

型定義

typedef struct CLEANUP_STATE CLEANUP_STATE
 
typedef struct CLEANUP_REGION CLEANUP_REGION
 

関数

CLEANUP_STATEcleanup_state_alloc (VSTREAM *)
 
void cleanup_state_free (CLEANUP_STATE *)
 
CLEANUP_STATEcleanup_open (VSTREAM *)
 
void cleanup_control (CLEANUP_STATE *, int)
 
int cleanup_flush (CLEANUP_STATE *)
 
void cleanup_free (CLEANUP_STATE *)
 
void cleanup_all (void)
 
void cleanup_sig (int)
 
void cleanup_pre_jail (char *, char **)
 
void cleanup_post_jail (char *, char **)
 
void cleanup_out (CLEANUP_STATE *, int, const char *, ssize_t)
 
void cleanup_out_string (CLEANUP_STATE *, int, const char *)
 
void PRINTFLIKE (3, 4) cleanup_out_format(CLEANUP_STATE *
 
void const char void cleanup_out_header (CLEANUP_STATE *, VSTRING *)
 
void cleanup_envelope (CLEANUP_STATE *, int, const char *, ssize_t)
 
void cleanup_message (CLEANUP_STATE *, int, const char *, ssize_t)
 
void cleanup_extracted (CLEANUP_STATE *, int, const char *, ssize_t)
 
void cleanup_final (CLEANUP_STATE *)
 
int cleanup_rewrite_external (const char *, VSTRING *, const char *)
 
int cleanup_rewrite_internal (const char *, VSTRING *, const char *)
 
int cleanup_rewrite_tree (const char *, TOK822 *)
 
int cleanup_map11_external (CLEANUP_STATE *, VSTRING *, MAPS *, int)
 
int cleanup_map11_internal (CLEANUP_STATE *, VSTRING *, MAPS *, int)
 
int cleanup_map11_tree (CLEANUP_STATE *, TOK822 *, MAPS *, int)
 
ARGVcleanup_map1n_internal (CLEANUP_STATE *, const char *, MAPS *, int)
 
int cleanup_masquerade_external (CLEANUP_STATE *, VSTRING *, ARGV *)
 
int cleanup_masquerade_internal (CLEANUP_STATE *, VSTRING *, ARGV *)
 
int cleanup_masquerade_tree (CLEANUP_STATE *, TOK822 *, ARGV *)
 
void cleanup_out_recipient (CLEANUP_STATE *, const char *, int, const char *, const char *)
 
off_t cleanup_addr_sender (CLEANUP_STATE *, const char *)
 
void cleanup_addr_recipient (CLEANUP_STATE *, const char *)
 
void cleanup_addr_bcc_dsn (CLEANUP_STATE *, const char *, const char *, int)
 
int cleanup_bounce (CLEANUP_STATE *)
 
void cleanup_milter_receive (CLEANUP_STATE *, int)
 
void cleanup_milter_inspect (CLEANUP_STATE *, MILTERS *)
 
void cleanup_milter_emul_mail (CLEANUP_STATE *, MILTERS *, const char *)
 
void cleanup_milter_emul_rcpt (CLEANUP_STATE *, MILTERS *, const char *)
 
void cleanup_milter_emul_data (CLEANUP_STATE *, MILTERS *)
 
void cleanup_region_init (CLEANUP_STATE *)
 
CLEANUP_REGIONcleanup_region_open (CLEANUP_STATE *, ssize_t)
 
void cleanup_region_close (CLEANUP_STATE *, CLEANUP_REGION *)
 
CLEANUP_REGIONcleanup_region_return (CLEANUP_STATE *, CLEANUP_REGION *)
 
void cleanup_region_done (CLEANUP_STATE *)
 
int cleanup_body_edit_start (CLEANUP_STATE *)
 
int cleanup_body_edit_write (CLEANUP_STATE *, int, VSTRING *)
 
int cleanup_body_edit_finish (CLEANUP_STATE *)
 
void cleanup_body_edit_free (CLEANUP_STATE *)
 

変数

MAPScleanup_comm_canon_maps
 
MAPScleanup_send_canon_maps
 
MAPScleanup_rcpt_canon_maps
 
int cleanup_comm_canon_flags
 
int cleanup_send_canon_flags
 
int cleanup_rcpt_canon_flags
 
MAPScleanup_header_checks
 
MAPScleanup_mimehdr_checks
 
MAPScleanup_nesthdr_checks
 
MAPScleanup_body_checks
 
MAPScleanup_virt_alias_maps
 
ARGVcleanup_masq_domains
 
STRING_LISTcleanup_masq_exceptions
 
int cleanup_masq_flags
 
MAPScleanup_send_bcc_maps
 
MAPScleanup_rcpt_bcc_maps
 
VSTRINGcleanup_reject_chars
 
VSTRINGcleanup_strip_chars
 
MILTERScleanup_milters
 
int cleanup_ext_prop_mask
 
char * cleanup_path
 
VSTRINGcleanup_trace_path
 
VSTRINGcleanup_bounce_path
 
const CONFIG_INT_TABLE cleanup_int_table []
 
const CONFIG_BOOL_TABLE cleanup_bool_table []
 
const CONFIG_STR_TABLE cleanup_str_table []
 
const CONFIG_TIME_TABLE cleanup_time_table []
 
void int
 
int hfrom_format_code
 

マクロ定義詳解

#define cleanup_addr_bcc (   state,
  addr 
)    cleanup_addr_bcc_dsn((state), (addr), NO_DSN_ORCPT, NO_DSN_NOTIFY)

cleanup.h304 行目に定義があります。

#define CLEANUP_CANON_FLAG_ENV_FROM   (1<<0) /* envelope sender */

cleanup.h178 行目に定義があります。

#define CLEANUP_CANON_FLAG_ENV_RCPT   (1<<1) /* envelope recipient */

cleanup.h179 行目に定義があります。

#define CLEANUP_CANON_FLAG_HDR_FROM   (1<<2) /* header sender */

cleanup.h180 行目に定義があります。

#define CLEANUP_CANON_FLAG_HDR_RCPT   (1<<3) /* header recipient */

cleanup.h181 行目に定義があります。

#define CLEANUP_FLAG_END_SEEN   (1<<18) /* REC_TYPE_END record seen */

cleanup.h142 行目に定義があります。

#define CLEANUP_FLAG_INRCPT   (1<<16) /* Processing recipient records */

cleanup.h140 行目に定義があります。

#define CLEANUP_FLAG_WARN_SEEN   (1<<17) /* REC_TYPE_WARN record seen */

cleanup.h141 行目に定義があります。

#define CLEANUP_MASQ_FLAG_ENV_FROM   (1<<0) /* envelope sender */

cleanup.h186 行目に定義があります。

#define CLEANUP_MASQ_FLAG_ENV_RCPT   (1<<1) /* envelope recipient */

cleanup.h187 行目に定義があります。

#define CLEANUP_MASQ_FLAG_HDR_FROM   (1<<2) /* header sender */

cleanup.h188 行目に定義があります。

#define CLEANUP_MASQ_FLAG_HDR_RCPT   (1<<3) /* header recipient */

cleanup.h189 行目に定義があります。

#define CLEANUP_MILTER_OK (   s)
値:
(((s)->flags & CLEANUP_FLAG_MILTER) != 0 \
&& (s)->errs == 0 && ((s)->flags & CLEANUP_FLAG_DISCARD) == 0)
#define CLEANUP_FLAG_MILTER
Definition: cleanup_user.h:24
#define CLEANUP_FLAG_DISCARD
Definition: cleanup_user.h:21

cleanup.h327 行目に定義があります。

#define CLEANUP_MSG_STATS (   stats,
  state 
)    MSG_STATS_INIT1(stats, incoming_arrival, state->arrival_time)

cleanup.h315 行目に定義があります。

#define CLEANUP_OUT_BUF (   s,
  t,
 
)    cleanup_out((s), (t), vstring_str((b)), VSTRING_LEN((b)))

cleanup.h236 行目に定義があります。

#define CLEANUP_OUT_OK (   s)    (!((s)->errs & (s)->err_mask) && !((s)->flags & CLEANUP_FLAG_DISCARD))

cleanup.h239 行目に定義があります。

#define CLEANUP_RECORD (   s,
  t,
  b,
 
)    ((s)->action((s), (t), (b), (l)))

cleanup.h226 行目に定義があります。

#define DEF_DSN_NOTIFY   (0)

cleanup.h302 行目に定義があります。

#define HFROM_FORMAT_CODE_OBS   1

cleanup.h356 行目に定義があります。

#define HFROM_FORMAT_CODE_STD   0

cleanup.h355 行目に定義があります。

#define NO_DSN_NOTIFY   DSN_NOTIFY_NEVER

cleanup.h301 行目に定義があります。

#define NO_DSN_ORCPT   ((char *) 0)

cleanup.h300 行目に定義があります。

型定義詳解

typedef struct CLEANUP_STATE CLEANUP_STATE

関数詳解

void cleanup_addr_bcc_dsn ( CLEANUP_STATE ,
const char *  ,
const char *  ,
int   
)

cleanup_addr.c253 行目に定義があります。

void cleanup_addr_recipient ( CLEANUP_STATE ,
const char *   
)

cleanup_addr.c190 行目に定義があります。

off_t cleanup_addr_sender ( CLEANUP_STATE ,
const char *   
)

cleanup_addr.c111 行目に定義があります。

void cleanup_all ( void  )

cleanup_init.c288 行目に定義があります。

int cleanup_body_edit_finish ( CLEANUP_STATE )

cleanup_body_edit.c218 行目に定義があります。

void cleanup_body_edit_free ( CLEANUP_STATE )
int cleanup_body_edit_start ( CLEANUP_STATE )

cleanup_body_edit.c94 行目に定義があります。

int cleanup_body_edit_write ( CLEANUP_STATE ,
int  ,
VSTRING  
)

cleanup_body_edit.c153 行目に定義があります。

int cleanup_bounce ( CLEANUP_STATE )

cleanup_bounce.c85 行目に定義があります。

void cleanup_control ( CLEANUP_STATE ,
int   
)

cleanup_api.c184 行目に定義があります。

void cleanup_envelope ( CLEANUP_STATE ,
int  ,
const char *  ,
ssize_t   
)

cleanup_envelope.c89 行目に定義があります。

void cleanup_extracted ( CLEANUP_STATE ,
int  ,
const char *  ,
ssize_t   
)

cleanup_extracted.c83 行目に定義があります。

void cleanup_final ( CLEANUP_STATE )

cleanup_final.c45 行目に定義があります。

int cleanup_flush ( CLEANUP_STATE )

cleanup_api.c208 行目に定義があります。

void cleanup_free ( CLEANUP_STATE )

cleanup_api.c379 行目に定義があります。

int cleanup_map11_external ( CLEANUP_STATE ,
VSTRING ,
MAPS ,
int   
)

cleanup_map11.c96 行目に定義があります。

int cleanup_map11_internal ( CLEANUP_STATE ,
VSTRING ,
MAPS ,
int   
)

cleanup_map11.c166 行目に定義があります。

int cleanup_map11_tree ( CLEANUP_STATE ,
TOK822 ,
MAPS ,
int   
)

cleanup_map11.c144 行目に定義があります。

ARGV* cleanup_map1n_internal ( CLEANUP_STATE ,
const char *  ,
MAPS ,
int   
)

cleanup_map1n.c77 行目に定義があります。

int cleanup_masquerade_external ( CLEANUP_STATE ,
VSTRING ,
ARGV  
)

cleanup_masquerade.c77 行目に定義があります。

int cleanup_masquerade_internal ( CLEANUP_STATE ,
VSTRING ,
ARGV  
)

cleanup_masquerade.c171 行目に定義があります。

int cleanup_masquerade_tree ( CLEANUP_STATE ,
TOK822 ,
ARGV  
)

cleanup_masquerade.c154 行目に定義があります。

void cleanup_message ( CLEANUP_STATE ,
int  ,
const char *  ,
ssize_t   
)

cleanup_message.c1033 行目に定義があります。

void cleanup_milter_emul_data ( CLEANUP_STATE ,
MILTERS  
)

cleanup_milter.c2260 行目に定義があります。

void cleanup_milter_emul_mail ( CLEANUP_STATE ,
MILTERS ,
const char *   
)

cleanup_milter.c2162 行目に定義があります。

void cleanup_milter_emul_rcpt ( CLEANUP_STATE ,
MILTERS ,
const char *   
)

cleanup_milter.c2220 行目に定義があります。

void cleanup_milter_inspect ( CLEANUP_STATE ,
MILTERS  
)

cleanup_milter.c2122 行目に定義があります。

void cleanup_milter_receive ( CLEANUP_STATE ,
int   
)

cleanup_milter.c1939 行目に定義があります。

CLEANUP_STATE* cleanup_open ( VSTREAM )

cleanup_api.c132 行目に定義があります。

void cleanup_out ( CLEANUP_STATE ,
int  ,
const char *  ,
ssize_t   
)

cleanup_out.c102 行目に定義があります。

void const char void cleanup_out_header ( CLEANUP_STATE ,
VSTRING  
)

cleanup_out.c170 行目に定義があります。

void cleanup_out_recipient ( CLEANUP_STATE ,
const char *  ,
int  ,
const char *  ,
const char *   
)

cleanup_out_recipient.c129 行目に定義があります。

void cleanup_out_string ( CLEANUP_STATE ,
int  ,
const char *   
)

cleanup_out.c148 行目に定義があります。

void cleanup_post_jail ( char *  ,
char **   
)

cleanup_init.c434 行目に定義があります。

void cleanup_pre_jail ( char *  ,
char **   
)

cleanup_init.c321 行目に定義があります。

void cleanup_region_close ( CLEANUP_STATE ,
CLEANUP_REGION  
)

cleanup_region.c196 行目に定義があります。

void cleanup_region_done ( CLEANUP_STATE )

cleanup_region.c226 行目に定義があります。

void cleanup_region_init ( CLEANUP_STATE )

cleanup_region.c122 行目に定義があります。

CLEANUP_REGION* cleanup_region_open ( CLEANUP_STATE ,
ssize_t   
)

cleanup_region.c145 行目に定義があります。

CLEANUP_REGION* cleanup_region_return ( CLEANUP_STATE ,
CLEANUP_REGION  
)

cleanup_region.c214 行目に定義があります。

int cleanup_rewrite_external ( const char *  ,
VSTRING ,
const char *   
)

cleanup_rewrite.c84 行目に定義があります。

int cleanup_rewrite_internal ( const char *  ,
VSTRING ,
const char *   
)

cleanup_rewrite.c110 行目に定義があります。

int cleanup_rewrite_tree ( const char *  ,
TOK822  
)

cleanup_rewrite.c93 行目に定義があります。

void cleanup_sig ( int  )

cleanup_init.c295 行目に定義があります。

CLEANUP_STATE* cleanup_state_alloc ( VSTREAM )

cleanup_state.c65 行目に定義があります。

void cleanup_state_free ( CLEANUP_STATE )

cleanup_state.c146 行目に定義があります。

static int PRINTFLIKE ( ,
 
)

smtpd_proxy.c653 行目に定義があります。

変数詳解

MAPS* cleanup_body_checks

cleanup_init.c257 行目に定義があります。

const CONFIG_BOOL_TABLE cleanup_bool_table[]

cleanup_init.c187 行目に定義があります。

VSTRING* cleanup_bounce_path
int cleanup_comm_canon_flags

cleanup_init.c251 行目に定義があります。

MAPS* cleanup_comm_canon_maps

cleanup_init.c248 行目に定義があります。

int cleanup_ext_prop_mask

cleanup_init.c274 行目に定義があります。

MAPS* cleanup_header_checks

cleanup_init.c254 行目に定義があります。

const CONFIG_INT_TABLE cleanup_int_table[]

cleanup_init.c176 行目に定義があります。

ARGV* cleanup_masq_domains

cleanup_init.c259 行目に定義があります。

STRING_LIST* cleanup_masq_exceptions

cleanup_init.c260 行目に定義があります。

int cleanup_masq_flags

cleanup_init.c261 行目に定義があります。

MILTERS* cleanup_milters

cleanup_init.c279 行目に定義があります。

MAPS* cleanup_mimehdr_checks

cleanup_init.c255 行目に定義があります。

MAPS* cleanup_nesthdr_checks

cleanup_init.c256 行目に定義があります。

char* cleanup_path

cleanup_init.c111 行目に定義があります。

MAPS* cleanup_rcpt_bcc_maps

cleanup_init.c263 行目に定義があります。

int cleanup_rcpt_canon_flags

cleanup_init.c253 行目に定義があります。

MAPS* cleanup_rcpt_canon_maps

cleanup_init.c250 行目に定義があります。

VSTRING* cleanup_reject_chars

cleanup_init.c268 行目に定義があります。

MAPS* cleanup_send_bcc_maps

cleanup_init.c262 行目に定義があります。

int cleanup_send_canon_flags

cleanup_init.c252 行目に定義があります。

MAPS* cleanup_send_canon_maps

cleanup_init.c249 行目に定義があります。

const CONFIG_STR_TABLE cleanup_str_table[]

cleanup_init.c202 行目に定義があります。

VSTRING* cleanup_strip_chars

cleanup_init.c269 行目に定義があります。

const CONFIG_TIME_TABLE cleanup_time_table[]

cleanup_init.c194 行目に定義があります。

VSTRING* cleanup_trace_path

cleanup_init.c117 行目に定義があります。

MAPS* cleanup_virt_alias_maps

cleanup_init.c258 行目に定義があります。

int hfrom_format_code

cleanup_init.c284 行目に定義があります。

void int

cleanup.h233 行目に定義があります。