-d38.2

-d38.2

Show database map opens and failures Debug command-line switch

Most database maps are declared directly with the K configuration command (Section 23.2). Others are declared internally by sendmail , such as the host and alias maps. The -d38.2 debugging switch (there is no -d38.1 information) first shows database maps being initialized :

 map_init(  dbtype:name, file, pass  ) 

Here, dbtype is one of the internal database types allowed by sendmail , such as host , and dequote (Section 23.2, the K configuration command). The name is either the name you gave to the database map with the K configuration command, or one assigned internally by sendmail (such as aliases.files ). The file is either a literal NULL, or the name of the database file (such as /etc/mail/aliases ). And pass is a flag that tells sendmail whether it should open the database, rebuild the database, or do neither .

Next, the -d38.2 debugging switch causes sendmail to show each database map as it is about to be opened. The output that is produced will look like one of the following lines:

 bt_map_open(  name, file, mode  )  hash_map_open(  name, file, mode  )  hes_map_open(  name, file, mode  )  impl_map_open(  name, file, mode  )  ldap_map_open(  name, mode  )  ndbm_map_open(  name, file, mode  )  ni_map_open(  name, file, mode  )  nis_map_open(  name, file, mode  )  nisplus_map_open(  name, file, mode  )  stab_map_open(  name, file, mode  )  switch_map_open(  name, file, mode  )  text_map_open(  name, file, mode  )  user_map_open(  name, mode  ) 

In all of the previous lines, the mode is a decimal representation of the file permissions that are used during the open. The name prefixing each line corresponds to the database type. For example, impl corresponds to the implicit database type.

The -d38.2 debugging switch also causes sendmail to display the NIS domain that was used if one was specified for the nisplus database type:

 nisplus_map_open(  file  ): using domain  ypdomain  

The -d38.2 debugging switch also allows other silent errors to be printed about some open failures. Under NIS+, lookups are performed by named columns (as in the case of the password database, the columns are named passwd , shell , and so on):

 nisplus_map_open(  name  ): cannot find key column  colname  nisplus_map_open(  name  ): cannot find column  colname  

Text files that are used as maps must be declared with a filename that is an absolute path (begins with a / character thus forming a fully qualified pathname), that exists, and that is a regular file. If there is a problem, one of the following is logged (even if -d38.2 is not specified):

 text_map_open: filename required text_map_open(  file  ): filename must be fully qualified text_map_open(  name  ): cannot stat  file  text_map_open(  name  ):  file  is not a  file  

Text files should be syntactically correct. The delimiting character, char , will print either as a single character or as the phrase (whitespace) . Note that the third line in the following example will be reported only when the -d38.2 debugging switch is used:

 text_map_open(  file  ): -k should specify a number, not  badtext  text_map_open(  file  ): -v should specify a number, not  badtext  text_map_open(  file  ): delimiter =  char  


Sendmail
sendmail, 4th Edition
ISBN: 0596510292
EAN: 2147483647
Year: 2002
Pages: 1174

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net