Doc files
[mirror/userdir-ldap.git] / web / doc-mail.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML lang="en">
3 <HEAD>
4 <TITLE>Debian GNU/Linux -- LDAP Gateway</TITLE>
5 <LINK REV="made" HREF="mailto:webmaster@debian.org">
6 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
7 <META NAME="Description" CONTENT="Debian GNU/Linux is a free distribution of the GNU/Linux operating system. It is maintained and updated through the work of many users who volunteer their time and effort.">
8 <META NAME="Keywords" CONTENT="debian, GNU, linux, unix, open source, free, DFSG ">
9 <META NAME="Language" CONTENT="English">
10 <meta name="Author"    content="Debian Webmaster, webmaster@debian.org">
11 <meta name="Generator" content="WML 1.6.8 (12-01-1999)">
12 <meta name="Modified"  content="27-12-1999 16:38:30">
13 </HEAD>
14 <BODY text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" alink="#FF0000">
15 <TABLE border="0" cellpadding="3" cellspacing="0" width="100%">
16 <TR>
17 <TD>
18 <A HREF="http://www.debian.org/logos/" BORDER="0"><IMG src="/Pics/logo-50.jpg" border="0" hspace="0" vspace="0" alt=""></A>
19 <IMG src="/Pics/debian.jpg" border="0" hspace="0" vspace="0" alt="Debian Project">
20 </TD>
21 </TR>
22 <TR>
23 <TD bgcolor="#DF0451">
24 <A href="http://www.debian.org/"><IMG src="/Pics/home.en.gif" border="0" hspace="2" vspace="3" alt="Home"></A>
25 <A href="http://www.debian.org/intro/about"><IMG src="/Pics/about.en.gif" border="0" hspace="2" vspace="3" alt="About&nbsp;Debian"></A>
26 <A href="http://www.debian.org/News/"><IMG src="/Pics/news.en.gif" border="0" hspace="2" vspace="3" alt="News"></A>
27 <A href="http://www.debian.org/distrib/"><IMG src="/Pics/distrib.en.gif" border="0" hspace="2" vspace="3" alt="Distribution"></A>
28 <A href="http://www.debian.org/support"><IMG src="/Pics/support.en.gif" border="0" hspace="2" vspace="3" alt="Support"></A>
29 <A href="http://www.debian.org/devel/"><IMG src="/Pics/devel.en.gif" border="0" hspace="2" vspace="3" alt="Developers'&nbsp;Corner"></A>
30 <A href="http://www.debian.org/search"><IMG src="/Pics/search.en.gif" border="0" hspace="2" vspace="3" alt="Search"></A>
31 </TD>
32 </TR>
33 </TABLE>
34 <H1>LDAP Gateway</H1>
35 The LDAP directory has a PGP secured mail gateway that
36 allows users to safely and conviently effect changes to their entries. It
37 makes use of PGP signed input messages to positivly identify the user and
38 to confirm the validity of the request. Furthermore it implements a replay
39 cache that prevents the gateway from accepting the same message more than
40 once.
41 <p>
42 There are three functions logically split into 3 sperate email addresses
43 that are implemented by the gateway: <b>ping</b>, <b>new password</b> and
44 <b>changes</b>. The function to act on is the first argument to the program.
45 <p>
46 Error handling is currently done by generating a bounce message and passing
47 descriptive error text to the mailer. This can generate a somewhat hard to
48 read error message, but it does have all the relevent information.
49 <h1>Ping</h1>
50 The ping command simply returns the users public record. It is usefull for
51 testing the gateway and for the requester to get a basic dump of their
52 record. In future this address might 'freshen' the record to indicate the
53 user is alive. Any PGP signed message will produce a reply.
54 <h1>New Password</h1>
55 If a user looses their password they can request that a new one be generated
56 for them. This is done by sending the phrase "Please change my Debian
57 password" to chpasswd@db.debian.org. The phrase is required to prevent the
58 daemon from triggering on arbitary signed email. The best way to invoke this
59 feature is with
60 <pre>echo "Please change my Debian password" | gpg --clearsign | mail chpasswd@db.debian.org</pre>
61 After validating the request the daemon will generate a new random password,
62 set it in the directory and respond with an ecrpyted message containing the
63 new password. The password can be changed using one of the other interface
64 methods.
65 <h1>Changes</h1>
66 An address is provided for making almost arbitary changes to the contents of
67 the record. The daemon parse its input line by line and acts on each line in
68 a command oriented manner. Anything, except for passwords, can be changed
69 using this mechanism. Note however that because this is a mail gateway it
70 does stringent checking on its input. The other tools allow fields to be set
71 to virtually anything, the gateway requires specific field formats to be met.
72 <ul>
73 <li>A line of the form <tt>'field: value'</tt> will change the contents of
74 the field to value. Some simple checks are performed on value to make sure
75 that it is not sent to nonsense. The values that can be changed are:
76 <b>c</b>, <b>l</b>, <b>facsimiletelephonenumber</b>, <b>telephonenumber</b>,
77 <b>postaladdress</b>, <b>postalcode</b>,
78 <b>loginshell</b>, <b>emailforward</b>, <b>ircnick</b>, <b>onvacation</b>,
79 and <b>labledurl</b>
80 <li>The daemon has a special parser to help changing latitude and longitude
81 values. It accepts several common formats for position information and
82 converts them to one of the standard forms. The permitted types are
83 <pre>D = Degrees, M = Minutes, S = Seconds, x = n,s,e,w
84 +-DDD.DDDDD, +- DDDMM.MMMM, +-DDDMMSS.SSSS [standard forms]
85 DDxMM.MMMM, DD:MM.MMMM x, DD:MM:SS.SSS X)</pre>
86 and the request format is <tt>'Lat: xxx Long: xxx'</tt> where <tt>xxx</tt>
87 is one of the permitted types. The resulting response will include how the
88 input was parsed and the value in decimal degrees.
89 <li>
90 Part of the replicated dataset is a virtual .ssh/authorized_keys file for
91 each user. The change address is the simplest way to set the RSA key(s) you
92 intend to use. Simply place a key on a line by itself, the full SSH key
93 format specification is supported, see sshd(8). Probably the most common way
94 to use this function will be
95 <pre>cat .ssh/identity.pub | gpg --clearsign | mail change@db.debian.org</pre>
96 which will set the authentication key to the identity you are using.
97 Multiple keys per user are supported, but they must all be sent at once.
98 <li>Debian.net DNS Zone Entry. The only way to get a debian.net address is
99 to use the mail gateway. It
100 will verify the request and prevent name collisions automatically. Requests
101 can take two forms: <tt>'foo in a 1.2.3.4'</tt> or <tt>'foo in cname
102 foo.bar.'</tt> The precise form is critical and must not be deviated from.
103 Like the SSH function above, multiple hosts are supported, but they must all
104 be sent at once. The debian.net zone is only reloaded once per day at
105 midnight -0700.
106 <li>If the single word <b>show</b> appears on a line then a PGP encrypted version
107 of the entire record will be attached to the result email.
108 </ul>
109 After processing the requests the daemon will generate a report which contains
110 each input command and the action taken. If there are any parsing errors
111 processing stops immediately, but valid changes up to that point are
112 processed.
113 <h2>Notes</h2>
114 <p>
115 In this document PGP refers to any message or key that GnuPG is
116 able to generate or parse, specificaly it includes both PGP2.x and OpenPGP
117 (aka GnuPG) keys.
118 <p>
119 Due to the replay cache the clock on the computer that generates the
120 signatures has to be accurate to at least one day. If it is off by several
121 months or more then the deamon will outright reject all messages.
122 <p>
123 Examples are given using GnuPG, but PGP 2.x can also be used. The correct
124 options to generate a clear signed ascii armored message in 'filter' mode
125 are <tt>pgp -fast</tt> which does the same as <tt>gpg --clearsign</tt>
126 <p>
127 Debian.org machines rely on secured replication to transfer login data out
128 of the database. Replication is performed at 15 min intervals so it can take
129 a short while before any changes made take effect.
130 <HR>
131 <P>Back to the <A href="http://www.debian.org/">Debian Project homepage</A>.
132 <HR>
133 <SMALL>You can contact us at <A href="mailto:admin@db.debian.org">admin@db.debian.org</A>.</SMALL><P>
134 <SMALL>Last Modified: Mon, Dec 27 23:38:30 UTC 1999<BR>
135 Copyright &copy; 1997-1999 <A href="http://www.spi-inc.org/">SPI</A>; See <A href="http://www.debian.org/license">license terms</A>
136         
137          </SMALL>
138 </BODY>
139 </HTML>