Postfix3.3.1
|
#include <sys_defs.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <vstream.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <syslog.h>
#include <errno.h>
#include <ctype.h>
#include <stddef.h>
#include <msg.h>
#include <msg_vstream.h>
#include <msg_syslog.h>
#include <vstring_vstream.h>
#include <stringops.h>
#include <clean_env.h>
#include <argv.h>
#include <safe.h>
#include <mymalloc.h>
#include <htable.h>
#include <name_code.h>
#include <ring.h>
#include <warn_stat.h>
#include <mail_version.h>
#include <mail_params.h>
#include <mail_conf.h>
#include <mail_parm_split.h>
データ構造 | |
struct | SHARED_PATH |
struct | instance |
struct | INST_SELECTION |
struct | NAME_ASSIGNMENT |
マクロ定義 | |
#define | ITER_CMD_POSTFIX (1<<0) /* postfix(1) iterator mode */ |
#define | ITER_CMD_LIST (1<<1) /* listing iterator mode */ |
#define | ITER_CMD_GENERIC (1<<2) /* generic command iterator mode */ |
#define | ITER_CMD_MASK_ALL (ITER_CMD_POSTFIX | ITER_CMD_LIST | ITER_CMD_GENERIC) |
#define | EDIT_CMD_CREATE (1<<4) /* create new instance */ |
#define | EDIT_CMD_IMPORT (1<<5) /* import existing instance */ |
#define | EDIT_CMD_DESTROY (1<<6) /* destroy instance */ |
#define | EDIT_CMD_DEPORT (1<<7) /* export instance */ |
#define | EDIT_CMD_ENABLE (1<<8) /* enable start/stop */ |
#define | EDIT_CMD_DISABLE (1<<9) /* disable start/stop */ |
#define | EDIT_CMD_ASSIGN (1<<10) /* assign name/group */ |
#define | EDIT_CMD_INIT (1<<11) /* hook into main.cf */ |
#define | EDIT_CMD_MASK_ADD (EDIT_CMD_CREATE | EDIT_CMD_IMPORT) |
#define | EDIT_CMD_MASK_DEL (EDIT_CMD_DESTROY | EDIT_CMD_DEPORT) |
#define | EDIT_CMD_MASK_ASSIGN (EDIT_CMD_MASK_ADD | EDIT_CMD_ASSIGN) |
#define | EDIT_CMD_MASK_ENB (EDIT_CMD_ENABLE | EDIT_CMD_DISABLE) |
#define | EDIT_CMD_MASK_ALL |
#define | EDIT_CMD_CODE(str) name_code(edit_command_table, NAME_CODE_FLAG_STRICT_CASE, (str)) |
#define | EDIT_CMD_STR(code) str_name_code(edit_command_table, (code)) |
#define | NAME_PREFIX "postfix-" |
#define | HAS_NAME_PREFIX(name) (strncmp((name), NAME_PREFIX, sizeof(NAME_PREFIX)-1) == 0) |
#define | NEED_NAME_PREFIX(name) ((name) != 0 && strcmp((name), "-") != 0 && !HAS_NAME_PREFIX(name)) |
#define | NAME_SUFFIX(name) ((name) + sizeof(NAME_PREFIX) - 1) |
#define | RING_TO_INSTANCE(ring_ptr) RING_TO_APPL(ring_ptr, INSTANCE, ring) |
#define | RING_PTR_OF(x) (&((x)->ring)) |
#define | FOREACH_INSTANCE(entry) |
#define | FOREACH_SECONDARY_INSTANCE(entry) |
#define | NEXT_ITERATOR_INSTANCE(flags, entry) (((flags) & ITER_FLAG_REVERSE) ? ring_pred(entry) : ring_succ(entry)) |
#define | FOREACH_ITERATOR_INSTANCE(flags, entry) |
#define | INST_SEL_NONE 0 /* default: no selection */ |
#define | INST_SEL_ALL 1 /* select all instances */ |
#define | INST_SEL_NAME 2 /* select instance name */ |
#define | INST_SEL_GROUP 3 /* select instance group */ |
#define | ITER_FLAG_DEFAULT 0 /* default setting */ |
#define | ITER_FLAG_REVERSE (1<<0) /* reverse iteration order */ |
#define | ITER_FLAG_CHECK_DISABLED (1<<1) /* check disabled instances */ |
#define | ITER_FLAG_SKIP_DISABLED (1<<2) /* skip disabled instances */ |
#define | EXP_FLAG_MULTI_DIRS (1<<0) /* export multi_instance_directories */ |
#define | EXP_FLAG_MULTI_NAME (1<<1) /* export multi_instance_name */ |
#define | EXP_FLAG_MULTI_GROUP (1<<2) /* export multi_instance_group */ |
#define | IS_CLAIMED_BY(name) (claim_table ? htable_find(claim_table, (name)) : 0) |
#define | INSTANCE_NAME(i) ((i)->name ? (i)->name : (i)->config_dir) |
#define | STR(buf) vstring_str(buf) |
#define | append_instance(ip) insert_instance((ip), (INST_SELECTION *) 0) |
#define | SAVE_INSTANCE_NAME(val) (*(val) ? mystrdup(val) : 0) |
#define | REQUEST_PARAM_COUNT 5 /* # of requested parameters */ |
#define | CLOBBER 1 |
#define | SAFE_PUNCT "!@%-_=+:./" |
#define | DONT_UNLINK 0 |
#define | DO_UNLINK 1 |
#define | NO_EXPORT_FLAGS ((int *) 0) |
#define | HELPER "postmulti-script" |
#define | POSTFIX_CMD "postfix" |
型定義 | |
typedef struct instance | INSTANCE |
関数 | |
int | main (int argc, char **argv) |
変数 | |
char * | var_multi_start_cmds |
char * | var_multi_stop_cmds |
char * | var_multi_cntrl_cmds |
MAIL_VERSION_STAMP_DECLARE | |
#define append_instance | ( | ip | ) | insert_instance((ip), (INST_SELECTION *) 0) |
#define CLOBBER 1 |
#define DO_UNLINK 1 |
#define DONT_UNLINK 0 |
#define EDIT_CMD_ASSIGN (1<<10) /* assign name/group */ |
postmulti.c の 487 行目に定義があります。
#define EDIT_CMD_CODE | ( | str | ) | name_code(edit_command_table, NAME_CODE_FLAG_STRICT_CASE, (str)) |
postmulti.c の 513 行目に定義があります。
#define EDIT_CMD_CREATE (1<<4) /* create new instance */ |
postmulti.c の 481 行目に定義があります。
#define EDIT_CMD_DEPORT (1<<7) /* export instance */ |
postmulti.c の 484 行目に定義があります。
#define EDIT_CMD_DESTROY (1<<6) /* destroy instance */ |
postmulti.c の 483 行目に定義があります。
#define EDIT_CMD_DISABLE (1<<9) /* disable start/stop */ |
postmulti.c の 486 行目に定義があります。
#define EDIT_CMD_ENABLE (1<<8) /* enable start/stop */ |
postmulti.c の 485 行目に定義があります。
#define EDIT_CMD_IMPORT (1<<5) /* import existing instance */ |
postmulti.c の 482 行目に定義があります。
#define EDIT_CMD_INIT (1<<11) /* hook into main.cf */ |
postmulti.c の 488 行目に定義があります。
#define EDIT_CMD_MASK_ADD (EDIT_CMD_CREATE | EDIT_CMD_IMPORT) |
postmulti.c の 490 行目に定義があります。
#define EDIT_CMD_MASK_ALL |
postmulti.c の 494 行目に定義があります。
#define EDIT_CMD_MASK_ASSIGN (EDIT_CMD_MASK_ADD | EDIT_CMD_ASSIGN) |
postmulti.c の 492 行目に定義があります。
#define EDIT_CMD_MASK_DEL (EDIT_CMD_DESTROY | EDIT_CMD_DEPORT) |
postmulti.c の 491 行目に定義があります。
#define EDIT_CMD_MASK_ENB (EDIT_CMD_ENABLE | EDIT_CMD_DISABLE) |
postmulti.c の 493 行目に定義があります。
#define EDIT_CMD_STR | ( | code | ) | str_name_code(edit_command_table, (code)) |
postmulti.c の 515 行目に定義があります。
#define EXP_FLAG_MULTI_DIRS (1<<0) /* export multi_instance_directories */ |
postmulti.c の 605 行目に定義があります。
#define EXP_FLAG_MULTI_GROUP (1<<2) /* export multi_instance_group */ |
postmulti.c の 607 行目に定義があります。
#define EXP_FLAG_MULTI_NAME (1<<1) /* export multi_instance_name */ |
postmulti.c の 606 行目に定義があります。
#define FOREACH_INSTANCE | ( | entry | ) |
postmulti.c の 551 行目に定義があります。
#define FOREACH_ITERATOR_INSTANCE | ( | flags, | |
entry | |||
) |
postmulti.c の 562 行目に定義があります。
#define FOREACH_SECONDARY_INSTANCE | ( | entry | ) |
#define HAS_NAME_PREFIX | ( | name | ) | (strncmp((name), NAME_PREFIX, sizeof(NAME_PREFIX)-1) == 0) |
postmulti.c の 523 行目に定義があります。
#define HELPER "postmulti-script" |
#define INST_SEL_ALL 1 /* select all instances */ |
postmulti.c の 576 行目に定義があります。
#define INST_SEL_GROUP 3 /* select instance group */ |
postmulti.c の 578 行目に定義があります。
#define INST_SEL_NAME 2 /* select instance name */ |
postmulti.c の 577 行目に定義があります。
#define INST_SEL_NONE 0 /* default: no selection */ |
postmulti.c の 575 行目に定義があります。
#define INSTANCE_NAME | ( | i | ) | ((i)->name ? (i)->name : (i)->config_dir) |
postmulti.c の 635 行目に定義があります。
#define IS_CLAIMED_BY | ( | name | ) | (claim_table ? htable_find(claim_table, (name)) : 0) |
postmulti.c の 623 行目に定義があります。
#define ITER_CMD_GENERIC (1<<2) /* generic command iterator mode */ |
postmulti.c の 476 行目に定義があります。
#define ITER_CMD_LIST (1<<1) /* listing iterator mode */ |
postmulti.c の 475 行目に定義があります。
#define ITER_CMD_MASK_ALL (ITER_CMD_POSTFIX | ITER_CMD_LIST | ITER_CMD_GENERIC) |
postmulti.c の 478 行目に定義があります。
#define ITER_CMD_POSTFIX (1<<0) /* postfix(1) iterator mode */ |
postmulti.c の 474 行目に定義があります。
#define ITER_FLAG_CHECK_DISABLED (1<<1) /* check disabled instances */ |
postmulti.c の 598 行目に定義があります。
#define ITER_FLAG_DEFAULT 0 /* default setting */ |
postmulti.c の 596 行目に定義があります。
#define ITER_FLAG_REVERSE (1<<0) /* reverse iteration order */ |
postmulti.c の 597 行目に定義があります。
#define ITER_FLAG_SKIP_DISABLED (1<<2) /* skip disabled instances */ |
postmulti.c の 599 行目に定義があります。
#define NAME_PREFIX "postfix-" |
postmulti.c の 521 行目に定義があります。
#define NAME_SUFFIX | ( | name | ) | ((name) + sizeof(NAME_PREFIX) - 1) |
postmulti.c の 527 行目に定義があります。
#define NEED_NAME_PREFIX | ( | name | ) | ((name) != 0 && strcmp((name), "-") != 0 && !HAS_NAME_PREFIX(name)) |
postmulti.c の 525 行目に定義があります。
#define NEXT_ITERATOR_INSTANCE | ( | flags, | |
entry | |||
) | (((flags) & ITER_FLAG_REVERSE) ? ring_pred(entry) : ring_succ(entry)) |
postmulti.c の 559 行目に定義があります。
#define NO_EXPORT_FLAGS ((int *) 0) |
#define POSTFIX_CMD "postfix" |
#define REQUEST_PARAM_COUNT 5 /* # of requested parameters */ |
#define RING_PTR_OF | ( | x | ) | (&((x)->ring)) |
postmulti.c の 549 行目に定義があります。
#define RING_TO_INSTANCE | ( | ring_ptr | ) | RING_TO_APPL(ring_ptr, INSTANCE, ring) |
postmulti.c の 548 行目に定義があります。
#define SAFE_PUNCT "!@%-_=+:./" |
#define SAVE_INSTANCE_NAME | ( | val | ) | (*(val) ? mystrdup(val) : 0) |
#define STR | ( | buf | ) | vstring_str(buf) |
postmulti.c の 636 行目に定義があります。
postmulti.c の 1637 行目に定義があります。
MAIL_VERSION_STAMP_DECLARE |
postmulti.c の 1633 行目に定義があります。
char* var_multi_cntrl_cmds |
postmulti.c の 453 行目に定義があります。
char* var_multi_start_cmds |
postmulti.c の 451 行目に定義があります。
char* var_multi_stop_cmds |
postmulti.c の 452 行目に定義があります。