1LBDBQ(1) User Manuals LBDBQ(1)
2
3
4
6 lbdbq - query program for the little brother's database
7
9 lbdbq something
10 lbdbq [-v|--version|-h|--help]
11
13 lbdbq is the client program for the little brother's database. It will
14 attempt to invoke various modules to gather information about persons
15 matching something. E.g., it may look at a list of addresses from
16 which you have received mail, it may look at YP maps, or it may try to
17 finger something@<various hosts>.
18
19 The behavior is configurable: Upon startup, lbdbq will source the shell
20 scripts:
21 /etc/lbdb.rc
22 $HOME/.lbdbrc
23 $HOME/.lbdb/lbdbrc
24 $HOME/.lbdb/rc
25 if they exist.
26
27 They can be used to set the following global variables:
28
29 MODULES_PATH
30 a space separated list of directories, where lbdbq should look
31 for modules.
32
33 METHODS
34 a space separated list of the modules to use.
35
36 SORT_OUTPUT
37 If you set this to false or no, lbdbq won't sort the addresses
38 but returns them in reverse order (which means that the most
39 recent address in m_inmail database is first). If you set this
40 to name, lbdbq sorts the output by real name. If you set this
41 to comment, it sort the output by the comment (for example the
42 date in m_inmail). reverse_comment realizes the same as com‐
43 ment, but in reverse order, so the most recent timestamp of
44 m_inmail may be on top. If you set SORT_OUTPUT to address, lbdbq
45 sorts the output by addresses (that's the default).
46
47 KEEP_DUPES
48 If you set this to true or yes, lbdbq won't remove duplicate
49 addresses with different real name comment fields.
50
51 Note that there are defaults, so you should most probably modify these
52 variables using constructs like this:
53 MODULES_PATH="$MODULES_PATH $HOME/lbdb_modules"
54
55 Additionally, modules may have configuration variables of their own.
56
58 Currently, the following modules are supplied with lbdb:
59
60 m_finger
61 This module will use finger to find out something more about a
62 person. The list of hosts do be asked is configurable; use the
63 M_FINGER_HOSTS variable. Note that "localhost" will mean an
64 invocation of your local finger(1) binary, and should thus work
65 even if you don't provide the finger service to the network.
66 m_finger tries to find out the machines mail domain name in
67 /etc/mailname, by parsing a sendmail.cf file (if it finds one)
68 and by reading /etc/hostname and /etc/HOSTNAME. If you know
69 that this fails on your machine, or you want to force lbdbq to
70 consider some other name to be the local mail domain name (mis‐
71 configured SUNs come to mind here), you can specify a name using
72 the MAIL_DOMAIN_NAME variable. If this variable is set by you,
73 no probing will be done by lbdbq.
74
75 m_inmail
76 This module will look up user name fragments in a list of mail
77 addresses created by lbdb-fetchaddr(1).
78
79 m_passwd
80 This module searches for matching entries in your local
81 /etc/passwd file. It evaluates the local machine mail domain in
82 the same way m_finger does. If you set PASSWD_IGNORESYS=true,
83 this module ignores all system accounts and only finds UIDs
84 between 1000 and 29999 (all other UIDs are reserved on a Debian
85 system).
86
87 m_yppasswd
88 This module searches for matching entries in the NIS password
89 database using the command ``ypcat passwd''.
90
91 m_nispasswd
92 This module searches for matching entries in the NIS+ password
93 database using the command ``niscat passwd.org_dir''.
94
95 m_getent
96 This module searches for matching entries in whatever password
97 database is configured using the command ``getent passwd''.
98
99 m_pgp2, m_pgp5, m_gpg
100 These modules scan your PGP 2.*, PGP 5.* or GnuPG public key
101 ring for data. They use the programs pgp(1), pgpk(1), or gpg(1)
102 to get the data.
103
104 m_fido This module searches your Fido nodelist, stored in
105 $HOME/.lbdb/nodelist created by nodelist2lbdb(1).
106
107 m_abook
108 This module uses the program abook(1), a text based address book
109 application to search for addresses. You can define multiple
110 abook address books by setting the variable ABOOK_FILES to a
111 space separated list.
112
113 m_addr_email
114 This module uses the program addr-email(1), a text based fron‐
115 tend to the Tk addressbook(1) application.
116
117 m_muttalias
118 This module searches the variable MUTTALIAS_FILES (a space sepa‐
119 rated list) of files in MUTT_DIRECTORY that contain mutt
120 aliases. File names without leading slash will have MUTT_DIREC‐
121 TORY (defaults to $HOME/.mutt or $HOME, if $HOME/.mutt does not
122 exist) prepended before the file name. Absolute file names
123 (beginning with /) will be taken direct.
124
125 m_pine This module searches pine(1) addressbook files for aliases. To
126 realize this it first inspects the variable PINERC. If it isn't
127 set, the default `/etc/pine.conf /etc/pine.conf.fixed .pinerc'
128 is used. To suppress inspecting the PINERC variable, set it to
129 no. It than takes all address-book and global-address-book
130 entries from these pinerc files and adds the contents of the
131 variable PINE_ADDRESSBOOKS to the list, which defaults to
132 `/etc/addressbook .addressbook'. Then these addressbooks are
133 searched for aliases. All filenames without leading slash are
134 searched in $HOME.
135
136 m_palm This module searches the Palm address database using the
137 Palm::PDB(3pm) and Palm::Address(3pm) Perl modules from CPAN.
138 It searches in the variable PALM_ADDRESS_DATABASE or if this
139 isn't set in $HOME/.jpilot/AddressDB.pdb.
140
141 m_gnomecard
142 This module searches for addresses in your GnomeCard database
143 files. The variable GNOMECARD_FILES is a whitespace separated
144 list of GnomeCard data files. If this variable isn't defined,
145 the module searches in $HOME/.gnome/GnomeCard for the GnomeCard
146 database or at least falls back to $HOME/.gnome/GnomeCard.gcrd.
147 If a filename does not start with a slash, it is prefixed with
148 $HOME/.
149
150 m_bbdb This module searches for addresses in your (X)Emacs BBDB (big
151 brother database). It doesn't access ~/.bbdb directly (yet) but
152 calls emacs(1) or xemacs(1) with a special mode to get the
153 information (so don't expect too much performance in this mod‐
154 ule). You can configure the EMACS variable to tell this module
155 which emacsen to use. Otherwise it will fall back to emacs or
156 xemacs.
157
158 m_ldap This module queries an LDAP server using the Net::LDAP(3pm) Perl
159 modules from CPAN. It can be configured using an external
160 resource file /etc/lbdb_ldap.rc or $HOME/.lbdb/ldap.rc or
161 $HOME/.mutt_ldap_query.rc. You can explicitly define a LDAP
162 query in this file or you can use one or more of the predefined
163 queries from the %ldap_server_db in this file. For this you
164 have to define a space separated list of nicknames from entries
165 in the variable LDAP_NICKS.
166
167 m_wanderlust
168 This module searches for addresses stored in your $WANDER‐
169 LUST_ADDRESSES (or by default in $HOME/.addresses) file, an
170 addressbook of WanderLust.
171
172 m_osx_addressbook
173 This module queries the OS X AddressBook. It is only available
174 on OS X systems.
175
176 m_evolution
177 This module queries the Ximian Evolution address book. It
178 depends on the program evolution-addressbook-export, which is
179 shipped with evolution.
180
181 m_vcf This module uses libvformat to search for addresses from the
182 space-separated set of vCard files defined in $VCF_FILES.
183
184 Feel free to create your own modules to query other database resources,
185 YP maps, and the like. m_finger should be a good example of how to do
186 it.
187
188 If you create your own modules or have other changes and feel that they
189 could be helpful for others, don't hesitate to submit them to the
190 author for inclusion in later releases.
191
192 Finally, to use lbdbq from mutt, add the following line to your
193 $HOME/.muttrc:
194 set query_command="lbdbq %s"
195
197 -v | --version
198 Print version number of lbdbq.
199
200 -h | --help
201 Print short help of lbdbq.
202
204 /etc/lbdb.rc
205 $HOME/.lbdbrc
206 $HOME/.lbdb/lbdbrc
207 $HOME/.lbdb/rc
208 /usr/libexec/lbdb/*
209 $HOME/.lbdb/m_inmail.list
210 $HOME/.lbdb/nodelist
211
213 finger(1), ypcat(1), niscat(1), getent(1), pgp(1), pgpk(1), gpg(1),
214 lbdb-fetchaddr(1), nodelist2lbdb(1), mutt_ldap_query(1), abook(1),
215 addr-email(1), addressbook(1), mutt(1), pine(1), emacs(1), xemacs(1),
216 Palm::PDB(3pm), Palm::Address(3pm), Net::LDAP(3pm).
217
219 Most of the really interesting code of this program (namely, the RFC
220 822 address parser used by lbdb-fetchaddr) was stolen from Michael
221 Elkins' mutt mail user agent. Additional credits go to Brandon Long for
222 putting the query functionality into mutt.
223
224 Many thanks to the authors of the several modules and extensions: Ross
225 Campbell <rcampbel@us.oracle.com> (m_abook, m_yppasswd), Marc de
226 Courville <marc@courville.org> (m_ldap, mutt_ldap_query), Brendan Cully
227 <brendan@kublai.com> (m_osx_addressbook, m_vcf), Gabor Fleischer
228 <flocsy@mtesz.hu> (m_pine), Rick Frankel <rick@rickster.com> (m_gnome‐
229 card), Utz-Uwe Haus <haus@uuhaus.de> (m_bbdb, m_nispasswd), Torsten
230 Jerzembeck <toje@nightingale.ms.sub.org> (m_addr_email), Adrian Likins
231 <alikins@redhat.com> (m_getent), Gergely Nagy <algernon@debian.org>
232 (m_wanderlust), Dave Pearson <davep@davep.org> (m_palm, lbdb.el), and
233 Brian Salter-Duke <b_duke@bigpond.net.au> (m_muttalias).
234
236 The lbdb package was initially written by Thomas Roessler
237 <roessler@guug.de> and is now maintained and heavily extended by Roland
238 Rosenfeld <roland@spinnaker.de>.
239
240
241
242Unix January 2016 LBDBQ(1)