aboutsummaryrefslogtreecommitdiff
path: root/contrib/sendmail/makemap/makemap.8
blob: 16481ef9de121648083baae0425b97882c7c7c3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
.\" Copyright (c) 1998-2002 Proofpoint, Inc. and its suppliers.
.\"	 All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" By using this file, you agree to the terms and conditions set
.\" forth in the LICENSE file which can be found at the top level of
.\" the sendmail distribution.
.\"
.\"
.\"     $Id: makemap.8,v 8.32 2013-11-22 20:51:52 ca Exp $
.\"
.TH MAKEMAP 8 "$Date: 2013-11-22 20:51:52 $"
.SH NAME
makemap
\- create database maps for sendmail
.SH SYNOPSIS
.B makemap
.RB [ \-C
.IR file ]
.RB [ \-N ]
.RB [ \-c
.IR cachesize ]
.RB [ \-d ]
.RB [ \-D
.IR commentchar ]
.RB [ \-e ]
.RB [ \-f ]
.RB [ \-i
.IR type ]
.RB [ \-l ]
.RB [ \-o ]
.RB [ \-r ]
.RB [ \-s ]
.RB [ \-t
.IR delim ]
.RB [ \-u ]
.RB [ \-v ]
.I 
maptype mapnam
.SH DESCRIPTION
.B Makemap
creates the database maps used by the keyed map lookups in
sendmail(8).  
It reads input from the standard input
and outputs them to the indicated
.I mapname.
.PP
Depending on how it is compiled,
.B makemap
handles different database formats, 
selected using the
.I maptype
parameter.  
They may be
.TP
dbm
DBM format maps.  
This requires the 
ndbm(3) 
library.
.TP
btree
B-Tree format maps.  
This requires the new Berkeley DB 
library.
.TP
hash
Hash format maps.  
This also requires the Berkeley DB 
library.
.TP
cdb
CDB (Constant DataBase) format maps.  
This requires the tinycdb library.
.TP
implicit
The first available format in the following order:
hash, dbm, and cdb.
.PP
In all cases,
.B makemap
reads lines from the standard input consisting of two 
words separated by white space.  
The first is the database key, 
the second is the value.  
The value may contain 
``%\fIn\fP'' 
strings to indicate parameter substitution.  
Literal percents should be doubled 
(``%%'').
Blank lines and lines beginning with ``#'' are ignored.
.PP
Notice: do
.B not
use
.B makemap
to create the aliases data base, but
.B newaliases
which puts a special token into the data base that is required by
.B sendmail.
.PP
If the
.I TrustedUser
option is set in the sendmail configuration file and
.B makemap
is invoked as root, the generated files will be owned by 
the specified
.IR TrustedUser.
.SS Flags
.TP  
.B \-C
Use the specified
.B sendmail
configuration file for looking up the TrustedUser option.
.TP 
.B \-N
Include the null byte that terminates strings 
in the map.  
This must match the \-N flag in the sendmail.cf 
``K'' line.
.TP
.B \-c
Use the specified hash and B-Tree cache size.
.TP
.B \-D
Use to specify the character to use to indicate a comment (which is ignored)
instead of the default of '#'.
.TP
.B \-d
Allow duplicate keys in the map.  
This is only allowed on B-Tree format maps.  
If two identical keys are read, 
they will both be inserted into the map.
.TP
.B \-e
Allow empty value (right hand side).
.TP
.B \-f
Normally all upper case letters in the key 
are folded to lower case.  
This flag disables that behaviour.  
This is intended to mesh with the 
\-f flag in the 
.B K 
line in sendmail.cf.  
The value is never case folded.
.TP
.B \-i
Use the specified type as fallback
if the given
.I maptype
is not available.
.TP
.B \-l
List supported map types.
.TP
.B \-o
Append to an old file.  
This allows you to augment an existing file.
Note: this might not be supported by all database types,
e.g., cdb.
.TP
.B \-r
Allow replacement of existing keys.  
Normally
.B makemap
complains if you repeat a key, 
and does not do the insert.
.TP
.B \-s
Ignore safety checks on maps being created.  
This includes checking for hard or symbolic 
links in world writable directories.
.TP
.B \-t
Use the specified delimiter instead of white space
(also for dumping a map).
.TP
.B \-u
dump (unmap) the content of the database to standard output.
.TP
.B \-v
Verbosely print what it is doing.
.P
.SH Example
makemap hash /etc/mail/access < /etc/mail/access
.SH SEE ALSO
sendmail(8), newaliases(1)
.SH HISTORY
The
.B makemap
command appeared in 
4.4BSD.