Postfix3.3.1
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
local.h ファイル
#include <htable.h>
#include <vstream.h>
#include <vstring.h>
#include <been_here.h>
#include <tok822.h>
#include <deliver_request.h>
#include <mbox_conf.h>
#include <maps.h>
#include <dsn_buf.h>
#include <dsn.h>
#include <delivered_hdr.h>

[ソースコード]

データ構造

struct  USER_ATTR
 
struct  DELIVER_ATTR
 
struct  LOCAL_STATE
 

マクロ定義

#define RESET_USER_ATTR(usr_attr, level)
 
#define SET_USER_ATTR(usr_attr, pwd, level)
 
#define EXPAND_TYPE_ALIAS   (1<<0)
 
#define EXPAND_TYPE_FWD   (1<<1)
 
#define EXPAND_TYPE_INCL   (1<<2)
 
#define RESET_OWNER_ATTR(msg_attr, level)
 
#define SET_OWNER_ATTR(msg_attr, who, level)
 
#define BOUNCE_FLAGS(request)   DEL_REQ_TRACE_FLAGS((request)->flags)
 
#define BOUNCE_ATTR(attr)
 
#define BOUNCE_ONE_ATTR(attr)
 
#define SENT_ATTR(attr)
 
#define OPENED_ATTR(attr)   attr.queue_id, attr.sender
 
#define COPY_ATTR(attr)   attr.sender, attr.rcpt.orig_addr, attr.delivered, attr.fp
 
#define MSG_LOG_STATE(m, p)
 
#define DELIVER_HDR_CMD   (1<<0)
 
#define DELIVER_HDR_FILE   (1<<1)
 
#define DELIVER_HDR_FWD   (1<<2)
 
#define LOCAL_EXP_EXTENSION_MATCHED   (1<<MAC_PARSE_USER)
 
#define STR(s)   vstring_str(s)
 

型定義

typedef struct USER_ATTR USER_ATTR
 
typedef struct DELIVER_ATTR DELIVER_ATTR
 
typedef struct LOCAL_STATE LOCAL_STATE
 

関数

void deliver_attr_init (DELIVER_ATTR *)
 
void deliver_attr_dump (DELIVER_ATTR *)
 
void deliver_attr_free (DELIVER_ATTR *)
 
int deliver_recipient (LOCAL_STATE, USER_ATTR)
 
int deliver_alias (LOCAL_STATE, USER_ATTR, char *, int *)
 
int deliver_dotforward (LOCAL_STATE, USER_ATTR, int *)
 
int deliver_include (LOCAL_STATE, USER_ATTR, char *)
 
int deliver_token (LOCAL_STATE, USER_ATTR, TOK822 *)
 
int deliver_token_string (LOCAL_STATE, USER_ATTR, char *, int *)
 
int deliver_token_stream (LOCAL_STATE, USER_ATTR, VSTREAM *, int *)
 
int deliver_resolve_tree (LOCAL_STATE, USER_ATTR, TOK822 *)
 
int deliver_resolve_addr (LOCAL_STATE, USER_ATTR, char *)
 
int deliver_mailbox (LOCAL_STATE, USER_ATTR, int *)
 
int deliver_command (LOCAL_STATE, USER_ATTR, const char *)
 
int deliver_file (LOCAL_STATE, USER_ATTR, char *)
 
int deliver_indirect (LOCAL_STATE)
 
int deliver_maildir (LOCAL_STATE, USER_ATTR, char *)
 
int deliver_unknown (LOCAL_STATE, USER_ATTR)
 
int forward_init (void)
 
int forward_append (DELIVER_ATTR)
 
int forward_finish (DELIVER_REQUEST *, DELIVER_ATTR, int)
 
int feature_control (const char *)
 
int local_expand (VSTRING *, const char *, LOCAL_STATE *, USER_ATTR *, const char *)
 
int bounce_workaround (LOCAL_STATE)
 

変数

int local_file_deliver_mask
 
int local_cmd_deliver_mask
 
int local_ext_prop_mask
 
int local_mbox_lock_mask
 
int local_deliver_hdr_mask
 
MAPSalias_maps
 

マクロ定義詳解

#define BOUNCE_ATTR (   attr)
値:
attr.queue_id, &attr.msg_stats, &attr.rcpt, attr.relay, \
#define DSN_FROM_DSN_BUF(dsb)
Definition: dsn_buf.h:68

local.h134 行目に定義があります。

#define BOUNCE_FLAGS (   request)    DEL_REQ_TRACE_FLAGS((request)->flags)

local.h132 行目に定義があります。

#define BOUNCE_ONE_ATTR (   attr)
値:
attr.queue_name, attr.queue_id, attr.encoding, attr.smtputf8, \
attr.sender, attr.dsn_envid, attr.dsn_ret, \
&attr.msg_stats, &attr.rcpt, attr.relay, \
#define DSN_FROM_DSN_BUF(dsb)
Definition: dsn_buf.h:68

local.h137 行目に定義があります。

#define COPY_ATTR (   attr)    attr.sender, attr.rcpt.orig_addr, attr.delivered, attr.fp

local.h147 行目に定義があります。

#define DELIVER_HDR_CMD   (1<<0)

local.h202 行目に定義があります。

#define DELIVER_HDR_FILE   (1<<1)

local.h203 行目に定義があります。

#define DELIVER_HDR_FWD   (1<<2)

local.h204 行目に定義があります。

#define EXPAND_TYPE_ALIAS   (1<<0)

local.h99 行目に定義があります。

#define EXPAND_TYPE_FWD   (1<<1)

local.h100 行目に定義があります。

#define EXPAND_TYPE_INCL   (1<<2)

local.h101 行目に定義があります。

#define LOCAL_EXP_EXTENSION_MATCHED   (1<<MAC_PARSE_USER)

local.h225 行目に定義があります。

#define MSG_LOG_STATE (   m,
 
)
値:
msg_info("%s[%d]: local %s recip %s exten %s deliver %s exp_from %s", \
m, \
p.level, \
p.msg_attr.local ? p.msg_attr.local : "" , \
p.msg_attr.rcpt.address ? p.msg_attr.rcpt.address : "", \
p.msg_attr.extension ? p.msg_attr.extension : "", \
p.msg_attr.delivered ? p.msg_attr.delivered : "", \
p.msg_attr.exp_from ? p.msg_attr.exp_from : "")
void msg_info(const char *fmt,...)
Definition: msg.c:199

local.h150 行目に定義があります。

#define OPENED_ATTR (   attr)    attr.queue_id, attr.sender

local.h145 行目に定義があります。

#define RESET_OWNER_ATTR (   msg_attr,
  level 
)
値:
{ \
msg_attr.owner = 0; \
msg_info("%s[%d]: reset owner attr", myname, level); \
}
int msg_verbose
Definition: msg.c:177
void msg_info(const char *fmt,...)
Definition: msg.c:199

local.h116 行目に定義があります。

#define RESET_USER_ATTR (   usr_attr,
  level 
)
値:
{ \
usr_attr.uid = 0; usr_attr.gid = 0; usr_attr.home = 0; \
usr_attr.logname = 0; usr_attr.shell = 0; \
msg_info("%s[%d]: reset user_attr", myname, level); \
}
int msg_verbose
Definition: msg.c:177
void msg_info(const char *fmt,...)
Definition: msg.c:199

local.h46 行目に定義があります。

#define SENT_ATTR (   attr)
値:
attr.queue_id, &attr.msg_stats, &attr.rcpt, attr.relay, \
#define DSN_FROM_DSN_BUF(dsb)
Definition: dsn_buf.h:68

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

#define SET_OWNER_ATTR (   msg_attr,
  who,
  level 
)
値:
{ \
msg_attr.sender = msg_attr.owner = who; \
msg_info("%s[%d]: set owner attr: %s", \
myname, level, who); \
}
int msg_verbose
Definition: msg.c:177
void msg_info(const char *fmt,...)
Definition: msg.c:199

local.h122 行目に定義があります。

#define SET_USER_ATTR (   usr_attr,
  pwd,
  level 
)
値:
{ \
usr_attr.uid = pwd->pw_uid; usr_attr.gid = pwd->pw_gid; \
usr_attr.home = pwd->pw_dir; usr_attr.logname = pwd->pw_name; \
usr_attr.shell = pwd->pw_shell; \
msg_info("%s[%d]: set user_attr: %s", \
myname, level, pwd->pw_name); \
}
int msg_verbose
Definition: msg.c:177
void msg_info(const char *fmt,...)
Definition: msg.c:199

local.h53 行目に定義があります。

#define STR (   s)    vstring_str(s)

local.h235 行目に定義があります。

型定義詳解

typedef struct DELIVER_ATTR DELIVER_ATTR
typedef struct LOCAL_STATE LOCAL_STATE
typedef struct USER_ATTR USER_ATTR

関数詳解

int bounce_workaround ( LOCAL_STATE  )

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

int deliver_alias ( LOCAL_STATE  ,
USER_ATTR  ,
char *  ,
int  
)

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

void deliver_attr_dump ( DELIVER_ATTR )

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

void deliver_attr_free ( DELIVER_ATTR )

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

void deliver_attr_init ( DELIVER_ATTR )

deliver_attr.c53 行目に定義があります。

int deliver_command ( LOCAL_STATE  ,
USER_ATTR  ,
const char *   
)

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

int deliver_dotforward ( LOCAL_STATE  ,
USER_ATTR  ,
int  
)

dotforward.c95 行目に定義があります。

int deliver_file ( LOCAL_STATE  ,
USER_ATTR  ,
char *   
)

file.c82 行目に定義があります。

int deliver_include ( LOCAL_STATE  ,
USER_ATTR  ,
char *   
)

include.c80 行目に定義があります。

int deliver_indirect ( LOCAL_STATE  )

indirect.c60 行目に定義があります。

int deliver_mailbox ( LOCAL_STATE  ,
USER_ATTR  ,
int  
)

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

int deliver_maildir ( LOCAL_STATE  ,
USER_ATTR  ,
char *   
)

maildir.c78 行目に定義があります。

int deliver_recipient ( LOCAL_STATE  ,
USER_ATTR   
)

recipient.c206 行目に定義があります。

int deliver_resolve_addr ( LOCAL_STATE  ,
USER_ATTR  ,
char *   
)

resolve.c73 行目に定義があります。

int deliver_resolve_tree ( LOCAL_STATE  ,
USER_ATTR  ,
TOK822  
)

resolve.c86 行目に定義があります。

int deliver_token ( LOCAL_STATE  ,
USER_ATTR  ,
TOK822  
)

token.c138 行目に定義があります。

int deliver_token_stream ( LOCAL_STATE  ,
USER_ATTR  ,
VSTREAM ,
int  
)

token.c198 行目に定義があります。

int deliver_token_string ( LOCAL_STATE  ,
USER_ATTR  ,
char *  ,
int  
)

token.c174 行目に定義があります。

int deliver_unknown ( LOCAL_STATE  ,
USER_ATTR   
)

unknown.c86 行目に定義があります。

int feature_control ( const char *  )
int forward_append ( DELIVER_ATTR  )

forward.c216 行目に定義があります。

int forward_finish ( DELIVER_REQUEST ,
DELIVER_ATTR  ,
int   
)

forward.c348 行目に定義があります。

int forward_init ( void  )

forward.c106 行目に定義があります。

int local_expand ( VSTRING ,
const char *  ,
LOCAL_STATE ,
USER_ATTR ,
const char *   
)

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

変数詳解

MAPS* alias_maps

local.c687 行目に定義があります。

int local_cmd_deliver_mask

local.c682 行目に定義があります。

int local_deliver_hdr_mask

local.c685 行目に定義があります。

int local_ext_prop_mask

local.c684 行目に定義があります。

int local_file_deliver_mask

local.c683 行目に定義があります。

int local_mbox_lock_mask

local.c686 行目に定義があります。