1/* $NetBSD$ */ 2 3/*++ 4/* NAME 5/* ext_prop 3 6/* SUMMARY 7/* address extension propagation control 8/* SYNOPSIS 9/* #include <ext_prop.h> 10/* 11/* int ext_prop_mask(param_name, pattern) 12/* const char *param_name; 13/* const char *pattern; 14/* DESCRIPTION 15/* This module controls address extension propagation. 16/* 17/* ext_prop_mask() takes a comma-separated list of names and 18/* computes the corresponding mask. The following names are 19/* recognized in \fBpattern\fR, with the corresponding bit mask 20/* given in parentheses: 21/* .IP "canonical (EXT_PROP_CANONICAL)" 22/* Propagate unmatched address extensions to the right-hand side 23/* of canonical table entries (not: regular expressions). 24/* .IP "virtual (EXT_PROP_VIRTUAL) 25/* Propagate unmatched address extensions to the right-hand side 26/* of virtual table entries (not: regular expressions). 27/* .IP "alias (EXT_PROP_ALIAS) 28/* Propagate unmatched address extensions to the right-hand side 29/* of alias database entries. 30/* .IP "forward (EXT_PROP_FORWARD)" 31/* Propagate unmatched address extensions to the right-hand side 32/* of .forward file entries. 33/* .IP "include (EXT_PROP_INCLUDE)" 34/* Propagate unmatched address extensions to the right-hand side 35/* of :include: file entries. 36/* .IP "generic (EXT_PROP_GENERIC)" 37/* Propagate unmatched address extensions to the right-hand side 38/* of smtp_generic_maps entries. 39/* DIAGNOSTICS 40/* Panic: inappropriate use. 41/* LICENSE 42/* .ad 43/* .fi 44/* The Secure Mailer license must be distributed with this software. 45/* AUTHOR(S) 46/* Wietse Venema 47/* IBM T.J. Watson Research 48/* P.O. Box 704 49/* Yorktown Heights, NY 10598, USA 50/*--*/ 51 52/* System library. */ 53 54#include <sys_defs.h> 55 56/* Utility library. */ 57 58#include <name_mask.h> 59 60/* Global library. */ 61 62#include <mail_params.h> 63#include <ext_prop.h> 64 65/* ext_prop_mask - compute extension propagation mask */ 66 67int ext_prop_mask(const char *param_name, const char *pattern) 68{ 69 static const NAME_MASK table[] = { 70 "canonical", EXT_PROP_CANONICAL, 71 "virtual", EXT_PROP_VIRTUAL, 72 "alias", EXT_PROP_ALIAS, 73 "forward", EXT_PROP_FORWARD, 74 "include", EXT_PROP_INCLUDE, 75 "generic", EXT_PROP_GENERIC, 76 0, 77 }; 78 79 return (name_mask(param_name, table, pattern)); 80} 81