~ubuntu-branches/ubuntu/precise/krb5/precise-updates

« back to all changes in this revision

Viewing changes to doc/krb5-install.html

  • Committer: Package Import Robot
  • Author(s): Sam Hartman
  • Date: 2011-12-01 19:34:41 UTC
  • mfrom: (28.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20111201193441-9tipg3aru1jsidyv
Tags: 1.10+dfsg~alpha1-6
* Fix segfault with unknown hostnames in krb5_sname_to_principal,
  Closes: #650671
* Indicate that this library breaks libsmbclient versions that depend on
  krb5_locate_kdc, Closes: #650603, #650611

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<html lang="en">
2
2
<head>
3
3
<title>Kerberos V5 Installation Guide</title>
4
 
<meta http-equiv="Content-Type" content="text/html">
 
4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
5
<meta name="description" content="Kerberos V5 Installation Guide">
6
 
<meta name="generator" content="makeinfo 4.5">
7
 
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
 
6
<meta name="generator" content="makeinfo 4.13">
 
7
<link title="Top" rel="top" href="#Top">
 
8
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
8
9
<!--
9
 
Copyright &copy; 1985-2010 by the Massachusetts Institute of Technology.-->
 
10
Copyright (C) 1985-2010 by the Massachusetts Institute of Technology.-->
 
11
<meta http-equiv="Content-Style-Type" content="text/css">
 
12
<style type="text/css"><!--
 
13
  pre.display { font-family:inherit }
 
14
  pre.format  { font-family:inherit }
 
15
  pre.smalldisplay { font-family:inherit; font-size:smaller }
 
16
  pre.smallformat  { font-family:inherit; font-size:smaller }
 
17
  pre.smallexample { font-size:smaller }
 
18
  pre.smalllisp    { font-size:smaller }
 
19
  span.sc    { font-variant:small-caps }
 
20
  span.roman { font-family:serif; font-weight:normal; } 
 
21
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
 
22
--></style>
10
23
</head>
11
24
<body>
12
25
<h1 class="settitle">Kerberos V5 Installation Guide</h1>
13
26
<div class="node">
14
 
<p><hr>
15
 
Node:<a name="Top">Top</a>,
16
 
Next:<a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
17
 
Previous:<a rel="previous" accesskey="p" href="#dir">(dir)</a>,
18
 
Up:<a rel="up" accesskey="u" href="#dir">(dir)</a>
19
 
<br>
20
 
</div>
21
 
 
22
 
<ul class="menu">
23
 
<li><a accesskey="1" href="#Introduction">Introduction</a>: 
24
 
<li><a accesskey="2" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>: 
25
 
<li><a accesskey="3" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>: 
26
 
<li><a accesskey="4" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>: 
27
 
<li><a accesskey="5" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>: 
28
 
<li><a accesskey="6" href="#Bug%20Reports%20for%20Kerberos%20V5">Bug Reports for Kerberos V5</a>: 
29
 
<li><a accesskey="7" href="#Copyright">Copyright</a>: 
30
 
</ul>
31
 
 
32
 
<div class="node">
33
 
<p><hr>
34
 
Node:<a name="Introduction">Introduction</a>,
35
 
Next:<a rel="next" accesskey="n" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>,
36
 
Previous:<a rel="previous" accesskey="p" href="#Top">Top</a>,
37
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
38
 
<br>
39
 
</div>
40
 
 
41
 
<h2 class="chapter">Introduction</h2>
42
 
 
43
 
<ul class="menu">
44
 
<li><a accesskey="1" href="#What%20is%20Kerberos%20and%20How%20Does%20it%20Work%3f">What is Kerberos and How Does it Work?</a>: 
45
 
<li><a accesskey="2" href="#Why%20Should%20I%20use%20Kerberos%3f">Why Should I use Kerberos?</a>: 
46
 
<li><a accesskey="3" href="#Please%20Read%20the%20Documentation">Please Read the Documentation</a>: 
47
 
<li><a accesskey="4" href="#Overview%20of%20This%20Guide">Overview of This Guide</a>: 
48
 
</ul>
49
 
 
50
 
<div class="node">
51
 
<p><hr>
52
 
Node:<a name="What%20is%20Kerberos%20and%20How%20Does%20it%20Work%3f">What is Kerberos and How Does it Work?</a>,
53
 
Next:<a rel="next" accesskey="n" href="#Why%20Should%20I%20use%20Kerberos%3f">Why Should I use Kerberos?</a>,
54
 
Previous:<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
55
 
Up:<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
56
 
<br>
57
 
</div>
58
 
 
59
 
<h3 class="section">What is Kerberos and How Does it Work?</h3>
60
 
 
61
 
Kerberos V5 is based on the Kerberos authentication system developed
 
27
<a name="Top"></a>
 
28
<p><hr>
 
29
Next:&nbsp;<a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
 
30
Previous:&nbsp;<a rel="previous" accesskey="p" href="#dir">(dir)</a>,
 
31
Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
 
32
 
 
33
</div>
 
34
 
 
35
<!-- node-name,  next,  previous,  up -->
 
36
<!-- The master menu is updated using emacs19's M-x texinfo-all-menus-update -->
 
37
<!-- function.  Don't forget to run M-x texinfo-every-node-update after -->
 
38
<!-- you add a new section or subsection, or after you've rearranged the -->
 
39
<!-- order of sections or subsections.  Also, don't forget to add an @node -->
 
40
<!-- comand before each @section or @subsection!  All you need to enter -->
 
41
<!-- is: -->
 
42
<!-- @node New Section Name -->
 
43
<!-- @section New Section Name -->
 
44
<!-- M-x texinfo-every-node-update will take care of calculating the -->
 
45
<!-- node's forward and back pointers. -->
 
46
<!--  -->
 
47
<ul class="menu">
 
48
<li><a accesskey="1" href="#Introduction">Introduction</a>
 
49
<li><a accesskey="2" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
50
<li><a accesskey="3" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
51
<li><a accesskey="4" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>
 
52
<li><a accesskey="5" href="#Upgrading-Existing-Kerberos-V5-Installations">Upgrading Existing Kerberos V5 Installations</a>
 
53
<li><a accesskey="6" href="#Bug-Reports-for-Kerberos-V5">Bug Reports for Kerberos V5</a>
 
54
<li><a accesskey="7" href="#Copyright">Copyright</a>
 
55
</ul>
 
56
 
 
57
<div class="node">
 
58
<a name="Introduction"></a>
 
59
<p><hr>
 
60
Next:&nbsp;<a rel="next" accesskey="n" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>,
 
61
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
 
62
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
63
 
 
64
</div>
 
65
 
 
66
<h2 class="chapter">1 Introduction</h2>
 
67
 
 
68
<ul class="menu">
 
69
<li><a accesskey="1" href="#What-is-Kerberos-and-How-Does-it-Work_003f">What is Kerberos and How Does it Work?</a>
 
70
<li><a accesskey="2" href="#Why-Should-I-use-Kerberos_003f">Why Should I use Kerberos?</a>
 
71
<li><a accesskey="3" href="#Please-Read-the-Documentation">Please Read the Documentation</a>
 
72
<li><a accesskey="4" href="#Overview-of-This-Guide">Overview of This Guide</a>
 
73
</ul>
 
74
 
 
75
<div class="node">
 
76
<a name="What-is-Kerberos-and-How-Does-it-Work%3f"></a>
 
77
<a name="What-is-Kerberos-and-How-Does-it-Work_003f"></a>
 
78
<p><hr>
 
79
Next:&nbsp;<a rel="next" accesskey="n" href="#Why-Should-I-use-Kerberos_003f">Why Should I use Kerberos?</a>,
 
80
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
 
81
Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
 
82
 
 
83
</div>
 
84
 
 
85
<h3 class="section">1.1 What is Kerberos and How Does it Work?</h3>
 
86
 
 
87
<p>Kerberos V5 is based on the Kerberos authentication system developed
62
88
at MIT.  Under Kerberos, a client (generally either a user or a service)
63
89
sends a request for a ticket to the Key Distribution Center (KDC).  The
64
90
KDC creates a <dfn>ticket-granting ticket</dfn> (TGT) for the client,
73
99
requesting and granting of these additional tickets is user-transparent.
74
100
 
75
101
<div class="node">
 
102
<a name="Why-Should-I-use-Kerberos%3f"></a>
 
103
<a name="Why-Should-I-use-Kerberos_003f"></a>
76
104
<p><hr>
77
 
Node:<a name="Why%20Should%20I%20use%20Kerberos%3f">Why Should I use Kerberos?</a>,
78
 
Next:<a rel="next" accesskey="n" href="#Please%20Read%20the%20Documentation">Please Read the Documentation</a>,
79
 
Previous:<a rel="previous" accesskey="p" href="#What%20is%20Kerberos%20and%20How%20Does%20it%20Work%3f">What is Kerberos and How Does it Work?</a>,
80
 
Up:<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
81
 
<br>
 
105
Next:&nbsp;<a rel="next" accesskey="n" href="#Please-Read-the-Documentation">Please Read the Documentation</a>,
 
106
Previous:&nbsp;<a rel="previous" accesskey="p" href="#What-is-Kerberos-and-How-Does-it-Work_003f">What is Kerberos and How Does it Work?</a>,
 
107
Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
 
108
 
82
109
</div>
83
110
 
84
 
<h3 class="section">Why Should I use Kerberos?</h3>
 
111
<h3 class="section">1.2 Why Should I use Kerberos?</h3>
85
112
 
86
113
<p>Since Kerberos negotiates authenticated, and optionally encrypted,
87
114
communications between two points anywhere on the Internet, it provides
92
119
security of your network.
93
120
 
94
121
<div class="node">
 
122
<a name="Please-Read-the-Documentation"></a>
95
123
<p><hr>
96
 
Node:<a name="Please%20Read%20the%20Documentation">Please Read the Documentation</a>,
97
 
Next:<a rel="next" accesskey="n" href="#Overview%20of%20This%20Guide">Overview of This Guide</a>,
98
 
Previous:<a rel="previous" accesskey="p" href="#Why%20Should%20I%20use%20Kerberos%3f">Why Should I use Kerberos?</a>,
99
 
Up:<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
100
 
<br>
 
124
Next:&nbsp;<a rel="next" accesskey="n" href="#Overview-of-This-Guide">Overview of This Guide</a>,
 
125
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Why-Should-I-use-Kerberos_003f">Why Should I use Kerberos?</a>,
 
126
Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
 
127
 
101
128
</div>
102
129
 
103
 
<h3 class="section">Please Read the Documentation</h3>
 
130
<h3 class="section">1.3 Please Read the Documentation</h3>
104
131
 
105
132
<p>As with any software package that uses a centrallized database, the
106
133
installation procedure is somewhat involved, and requires forethought
130
157
 
131
158
     <li><b>Kerberos V5 UNIX User's Guide</b>:  a guide to using the Kerberos
132
159
UNIX client programs.  All users on UNIX systems should read this guide,
133
 
particularly the "Tutorial" section. 
 
160
particularly the &ldquo;Tutorial&rdquo; section. 
134
161
</ul>
135
162
 
136
163
<div class="node">
 
164
<a name="Overview-of-This-Guide"></a>
137
165
<p><hr>
138
 
Node:<a name="Overview%20of%20This%20Guide">Overview of This Guide</a>,
139
 
Previous:<a rel="previous" accesskey="p" href="#Please%20Read%20the%20Documentation">Please Read the Documentation</a>,
140
 
Up:<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
141
 
<br>
 
166
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Please-Read-the-Documentation">Please Read the Documentation</a>,
 
167
Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
 
168
 
142
169
</div>
143
170
 
144
 
<h3 class="section">Overview of This Guide</h3>
 
171
<h3 class="section">1.4 Overview of This Guide</h3>
145
172
 
146
 
<p>The next chapter describes the decisions you need to make before
 
173
<p class="noindent">The next chapter describes the decisions you need to make before
147
174
installing Kerberos V5.
148
175
 
149
 
<p>Chapter three provided instructions for building the Kerberos sources.
 
176
<p class="noindent">Chapter three provided instructions for building the Kerberos sources.
150
177
 
151
 
<p>Chapter four describes installation procedures for each class of
 
178
<p class="noindent">Chapter four describes installation procedures for each class of
152
179
Kerberos machines:
153
180
 
154
181
     <ol type=1 start=1>
165
192
     <li>UNIX application server machines
166
193
     </ol>
167
194
 
168
 
<p>Note that a machine can be both a client machine and an application
 
195
<p class="noindent">Note that a machine can be both a client machine and an application
169
196
server.
170
197
 
171
 
<p>Chapter five describes procedure for updating previous installations of
 
198
<p class="noindent">Chapter five describes procedure for updating previous installations of
172
199
Kerberos V5.
173
200
 
174
 
<p>Chapter six describes our problem reporting system.
 
201
<p class="noindent">Chapter six describes our problem reporting system.
175
202
 
176
203
<div class="node">
 
204
<a name="Realm-Configuration-Decisions"></a>
177
205
<p><hr>
178
 
Node:<a name="Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>,
179
 
Next:<a rel="next" accesskey="n" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>,
180
 
Previous:<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
181
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
182
 
<br>
 
206
Next:&nbsp;<a rel="next" accesskey="n" href="#Building-Kerberos-V5">Building Kerberos V5</a>,
 
207
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
 
208
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
209
 
183
210
</div>
184
211
 
185
 
<h2 class="chapter">Realm Configuration Decisions</h2>
 
212
<h2 class="chapter">2 Realm Configuration Decisions</h2>
186
213
 
187
214
<p>Before installing Kerberos V5, it is necessary to consider the
188
215
following issues:
204
231
</ul>
205
232
 
206
233
<ul class="menu">
207
 
<li><a accesskey="1" href="#Kerberos%20Realms">Kerberos Realms</a>: 
208
 
<li><a accesskey="2" href="#Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a>: 
209
 
<li><a accesskey="3" href="#Ports%20for%20the%20KDC%20and%20Admin%20Services">Ports for the KDC and Admin Services</a>: 
210
 
<li><a accesskey="4" href="#Slave%20KDCs">Slave KDCs</a>: 
211
 
<li><a accesskey="5" href="#Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a>: 
212
 
<li><a accesskey="6" href="#Database%20Propagation">Database Propagation</a>: 
 
234
<li><a accesskey="1" href="#Kerberos-Realms">Kerberos Realms</a>
 
235
<li><a accesskey="2" href="#Mapping-Hostnames-onto-Kerberos-Realms">Mapping Hostnames onto Kerberos Realms</a>
 
236
<li><a accesskey="3" href="#Ports-for-the-KDC-and-Admin-Services">Ports for the KDC and Admin Services</a>
 
237
<li><a accesskey="4" href="#Slave-KDCs">Slave KDCs</a>
 
238
<li><a accesskey="5" href="#Hostnames-for-the-Master-and-Slave-KDCs">Hostnames for the Master and Slave KDCs</a>
 
239
<li><a accesskey="6" href="#Database-Propagation">Database Propagation</a>
213
240
</ul>
214
241
 
215
242
<div class="node">
 
243
<a name="Kerberos-Realms"></a>
216
244
<p><hr>
217
 
Node:<a name="Kerberos%20Realms">Kerberos Realms</a>,
218
 
Next:<a rel="next" accesskey="n" href="#Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a>,
219
 
Previous:<a rel="previous" accesskey="p" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>,
220
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
221
 
<br>
 
245
Next:&nbsp;<a rel="next" accesskey="n" href="#Mapping-Hostnames-onto-Kerberos-Realms">Mapping Hostnames onto Kerberos Realms</a>,
 
246
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>,
 
247
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
248
 
222
249
</div>
223
250
 
224
 
<h3 class="section">Kerberos Realms</h3>
 
251
<h3 class="section">2.1 Kerberos Realms</h3>
225
252
 
226
253
<p>Although your Kerberos realm can be any ASCII string, convention is to
227
254
make it the same as your domain name, in upper-case letters.  For
233
260
BOSTON.EXAMPLE.COM and HOUSTON.EXAMPLE.COM.
234
261
 
235
262
<div class="node">
 
263
<a name="Mapping-Hostnames-onto-Kerberos-Realms"></a>
236
264
<p><hr>
237
 
Node:<a name="Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a>,
238
 
Next:<a rel="next" accesskey="n" href="#Ports%20for%20the%20KDC%20and%20Admin%20Services">Ports for the KDC and Admin Services</a>,
239
 
Previous:<a rel="previous" accesskey="p" href="#Kerberos%20Realms">Kerberos Realms</a>,
240
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
241
 
<br>
 
265
Next:&nbsp;<a rel="next" accesskey="n" href="#Ports-for-the-KDC-and-Admin-Services">Ports for the KDC and Admin Services</a>,
 
266
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Kerberos-Realms">Kerberos Realms</a>,
 
267
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
268
 
242
269
</div>
243
270
 
244
 
<h3 class="section">Mapping Hostnames onto Kerberos Realms</h3>
 
271
<h3 class="section">2.2 Mapping Hostnames onto Kerberos Realms</h3>
245
272
 
246
273
<p>Mapping hostnames onto Kerberos realms is done in one of two ways.
247
274
 
248
275
<p>The first mechanism, which has been in use for years in MIT-based
249
276
Kerberos distributions, works through a set of rules in
250
 
the <code>krb5.conf</code> configuration file.  (See <a href="#krb5.conf">krb5.conf</a>.)  You can
 
277
the <code>krb5.conf</code> configuration file.  (See <a href="#krb5_002econf">krb5.conf</a>.)  You can
251
278
specify mappings for an entire domain or subdomain, and/or on a
252
279
hostname-by-hostname basis.  Since greater specificity takes precedence,
253
280
you would do this by specifying the mappings for a given domain or
267
294
     _kerberos.engineering.foobar.com
268
295
     _kerberos.foobar.com
269
296
     _kerberos.com
270
 
     </pre>
271
 
 
 
297
</pre>
272
298
<p>The value of the first TXT record found is taken as the realm name. 
273
299
(Obviously, this doesn't work all that well if a host and a subdomain
274
300
have the same name, and different realms.  For example, if all the hosts
281
307
may wish to set it up anyway, for use when interacting with other sites.
282
308
 
283
309
<div class="node">
 
310
<a name="Ports-for-the-KDC-and-Admin-Services"></a>
284
311
<p><hr>
285
 
Node:<a name="Ports%20for%20the%20KDC%20and%20Admin%20Services">Ports for the KDC and Admin Services</a>,
286
 
Next:<a rel="next" accesskey="n" href="#Slave%20KDCs">Slave KDCs</a>,
287
 
Previous:<a rel="previous" accesskey="p" href="#Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a>,
288
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
289
 
<br>
 
312
Next:&nbsp;<a rel="next" accesskey="n" href="#Slave-KDCs">Slave KDCs</a>,
 
313
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Mapping-Hostnames-onto-Kerberos-Realms">Mapping Hostnames onto Kerberos Realms</a>,
 
314
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
315
 
290
316
</div>
291
317
 
292
 
<h3 class="section">Ports for the KDC and Admin Services</h3>
 
318
<h3 class="section">2.3 Ports for the KDC and Admin Services</h3>
293
319
 
294
320
<p>The default ports used by Kerberos are port 88 for the
295
 
KDC<a rel="footnote" href="#fn-1"><sup>1</sup></a>  and
 
321
KDC<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a>  and
296
322
port 749 for the admin server.  You can, however,
297
323
choose to run on other ports, as long as they are specified in each
298
324
host's <code>/etc/services</code> and <code>krb5.conf</code> files, and the
299
325
<code>kdc.conf</code> file on each KDC.  For a more thorough treatment of
300
326
port numbers used by the Kerberos V5 programs, refer to the
301
 
"Configuring Your Firewall to Work With Kerberos V5" section of
 
327
&ldquo;Configuring Your Firewall to Work With Kerberos V5&rdquo; section of
302
328
the <cite>Kerberos V5 System Administrator's Guide</cite>.
303
329
 
304
330
<div class="node">
 
331
<a name="Slave-KDCs"></a>
305
332
<p><hr>
306
 
Node:<a name="Slave%20KDCs">Slave KDCs</a>,
307
 
Next:<a rel="next" accesskey="n" href="#Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a>,
308
 
Previous:<a rel="previous" accesskey="p" href="#Ports%20for%20the%20KDC%20and%20Admin%20Services">Ports for the KDC and Admin Services</a>,
309
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
310
 
<br>
 
333
Next:&nbsp;<a rel="next" accesskey="n" href="#Hostnames-for-the-Master-and-Slave-KDCs">Hostnames for the Master and Slave KDCs</a>,
 
334
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Ports-for-the-KDC-and-Admin-Services">Ports for the KDC and Admin Services</a>,
 
335
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
336
 
311
337
</div>
312
338
 
313
 
<h3 class="section">Slave KDCs</h3>
 
339
<h3 class="section">2.4 Slave KDCs</h3>
314
340
 
315
341
<p>Slave KDCs provide an additional source of Kerberos ticket-granting
316
342
services in the event of inaccessibility of the master KDC.  The number
339
365
</ul>
340
366
 
341
367
<div class="node">
 
368
<a name="Hostnames-for-the-Master-and-Slave-KDCs"></a>
342
369
<p><hr>
343
 
Node:<a name="Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a>,
344
 
Next:<a rel="next" accesskey="n" href="#Database%20Propagation">Database Propagation</a>,
345
 
Previous:<a rel="previous" accesskey="p" href="#Slave%20KDCs">Slave KDCs</a>,
346
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
347
 
<br>
 
370
Next:&nbsp;<a rel="next" accesskey="n" href="#Database-Propagation">Database Propagation</a>,
 
371
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Slave-KDCs">Slave KDCs</a>,
 
372
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
373
 
348
374
</div>
349
375
 
350
 
<h3 class="section">Hostnames for the Master and Slave KDCs</h3>
 
376
<h3 class="section">2.5 Hostnames for the Master and Slave KDCs</h3>
351
377
 
352
 
MIT recommends that your KDCs have a predefined set of
 
378
<p>MIT recommends that your KDCs have a predefined set of
353
379
CNAME records (DNS hostname aliases), such as <code>kerberos</code>
354
380
for the master KDC and
355
381
<code>kerberos-1</code>, <code>kerberos-2</code>, <small class="dots">...</small> for the
371
397
well.)  Several different Kerberos-related service names are used:
372
398
 
373
399
     <dl>
374
 
<dt><code>_kerberos._udp</code>
375
 
     <dd>This is for contacting any KDC by UDP.  This entry will be used the most
376
 
often.  Normally you should list port 88 on each of your KDCs.
 
400
<dt><code>_kerberos._udp</code><dd>This is for contacting any KDC by UDP.  This entry will be used the most
 
401
often.  Normally you should list port 88 on each of your KDCs. 
 
402
<!-- Don't encourage continued use of port 750 for krb5. -->
 
403
<!-- It should be only for backwards compatibility with krb4. -->
 
404
<!-- Do the Mac/Windows krb4 libraries use this DNS entry? -->
 
405
<!-- The UNIX code does not. -->
377
406
 
378
 
     <br><dt><code>_kerberos._tcp</code>
379
 
     <dd>This is for contacting any KDC by TCP.  The MIT KDC by default will not
 
407
     <br><dt><code>_kerberos._tcp</code><dd>This is for contacting any KDC by TCP.  The MIT KDC by default will not
380
408
listen on any TCP ports, so unless you've changed the configuration or
381
409
you're running another KDC implementation, you should leave this
382
410
unspecified.  If you do enable TCP support, normally you should use
383
411
port 88.
384
412
 
385
 
     <br><dt><code>_kerberos-master._udp</code>
386
 
     <dd>This entry should refer to those KDCs, if any, that will immediately see
 
413
     <br><dt><code>_kerberos-master._udp</code><dd>This entry should refer to those KDCs, if any, that will immediately see
387
414
password changes to the Kerberos database.  This entry is used only in
388
415
one case, when the user is logging in and the password appears to be
389
416
incorrect; the master KDC is then contacted, and the same password used
390
417
to try to decrypt the response, in case the user's password had recently
391
418
been changed and the first KDC contacted hadn't been updated.  Only if
392
 
that fails is an "incorrect password" error given.
 
419
that fails is an &ldquo;incorrect password&rdquo; error given.
393
420
 
394
421
     <p>If you have only one KDC, or for whatever reason there is no accessible
395
422
KDC that would get database changes faster than the others, you do not
396
423
need to define this entry.
397
424
 
398
 
     <br><dt><code>_kerberos-adm._tcp</code>
399
 
     <dd>This should list port 749 on your master KDC. 
 
425
     <br><dt><code>_kerberos-adm._tcp</code><dd>This should list port 749 on your master KDC. 
400
426
Support for it is not complete at this time, but it will eventually be
401
427
used by the <code>kadmin</code> program and related utilities.  For now, you
402
428
will also need the <code>admin_server</code> entry in <code>krb5.conf</code>. 
403
 
(See <a href="#krb5.conf">krb5.conf</a>.)
 
429
(See <a href="#krb5_002econf">krb5.conf</a>.)
404
430
 
405
 
     <br><dt><code>_kpasswd._udp</code>
406
 
     <dd>This should list port 464 on your master KDC. 
 
431
     <br><dt><code>_kpasswd._udp</code><dd>This should list port 464 on your master KDC. 
407
432
It is used when a user changes her password.
408
433
 
409
434
</dl>
423
448
     _kerberos-master._udp   SRV       0 0 88 daisy
424
449
     _kerberos-adm._tcp      SRV       0 0 749 daisy
425
450
     _kpasswd._udp           SRV       0 0 464 daisy
426
 
     </pre>
427
 
 
 
451
</pre>
428
452
<p>As with the DNS-based mechanism for determining the Kerberos realm of a
429
453
host, we recommend distributing the information this way for use by
430
454
other sites that may want to interact with yours using Kerberos, even if
438
462
making preparations now will make the transition easier in the future.
439
463
 
440
464
<div class="node">
 
465
<a name="Database-Propagation"></a>
441
466
<p><hr>
442
 
Node:<a name="Database%20Propagation">Database Propagation</a>,
443
 
Previous:<a rel="previous" accesskey="p" href="#Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a>,
444
 
Up:<a rel="up" accesskey="u" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
445
 
<br>
 
467
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Hostnames-for-the-Master-and-Slave-KDCs">Hostnames for the Master and Slave KDCs</a>,
 
468
Up:&nbsp;<a rel="up" accesskey="u" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>
 
469
 
446
470
</div>
447
471
 
448
 
<h3 class="section">Database Propagation</h3>
 
472
<h3 class="section">2.6 Database Propagation</h3>
449
473
 
450
474
<p>The Kerberos database resides on the master KDC, and must be propagated
451
475
regularly (usually by a cron job) to the slave KDCs.  In deciding how
463
487
to additional slaves.
464
488
 
465
489
<div class="node">
 
490
<a name="Building-Kerberos-V5"></a>
466
491
<p><hr>
467
 
Node:<a name="Building%20Kerberos%20V5">Building Kerberos V5</a>,
468
 
Next:<a rel="next" accesskey="n" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>,
469
 
Previous:<a rel="previous" accesskey="p" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>,
470
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
471
 
<br>
 
492
Next:&nbsp;<a rel="next" accesskey="n" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>,
 
493
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Realm-Configuration-Decisions">Realm Configuration Decisions</a>,
 
494
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
495
 
472
496
</div>
473
497
 
474
 
<h2 class="chapter">Building Kerberos V5</h2>
 
498
<h2 class="chapter">3 Building Kerberos V5</h2>
475
499
 
476
 
Kerberos V5 uses a configuration system built using the Free
477
 
Software Foundation's <code>autoconf</code> program.  This system makes
 
500
<p>Kerberos V5 uses a configuration system built using the Free
 
501
Software Foundation's &lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo; program.  This system makes
478
502
Kerberos V5 much simpler to build and reduces the amount of effort
479
503
required in porting Kerberos V5 to a new platform.
480
504
 
481
505
<ul class="menu">
482
 
<li><a accesskey="1" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>:   Description of the source tree. 
483
 
<li><a accesskey="2" href="#Build%20Requirements">Build Requirements</a>:           How much disk space, etc. you need to
 
506
<li><a accesskey="1" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>:   Description of the source tree. 
 
507
<li><a accesskey="2" href="#Build-Requirements">Build Requirements</a>:           How much disk space, etc. you need to
484
508
                                           build Kerberos. 
485
 
<li><a accesskey="3" href="#Unpacking%20the%20Sources">Unpacking the Sources</a>:        Preparing the source tree. 
486
 
<li><a accesskey="4" href="#Doing%20the%20Build">Doing the Build</a>:              Compiling Kerberos. 
487
 
<li><a accesskey="5" href="#Installing%20the%20Binaries">Installing the Binaries</a>:      Installing the compiled binaries. 
488
 
<li><a accesskey="6" href="#Testing%20the%20Build">Testing the Build</a>:            Making sure Kerberos built correctly. 
489
 
<li><a accesskey="7" href="#Options%20to%20Configure">Options to Configure</a>:         Command-line options to Configure
490
 
<li><a accesskey="8" href="#osconf.h">osconf.h</a>:                     Header file-specific configurations
491
 
<li><a accesskey="9" href="#Shared%20Library%20Support">Shared Library Support</a>:       Building Shared Libraries for Kerberos V5
492
 
<li><a href="#OS%20Incompatibilities">OS Incompatibilities</a>:         Special cases to watch for. 
493
 
<li><a href="#Using%20Autoconf">Using Autoconf</a>:               Modifying Kerberos V5's
 
509
<li><a accesskey="3" href="#Unpacking-the-Sources">Unpacking the Sources</a>:        Preparing the source tree. 
 
510
<li><a accesskey="4" href="#Doing-the-Build">Doing the Build</a>:              Compiling Kerberos. 
 
511
<li><a accesskey="5" href="#Installing-the-Binaries">Installing the Binaries</a>:      Installing the compiled binaries. 
 
512
<li><a accesskey="6" href="#Testing-the-Build">Testing the Build</a>:            Making sure Kerberos built correctly. 
 
513
<li><a accesskey="7" href="#Options-to-Configure">Options to Configure</a>:         Command-line options to Configure
 
514
<li><a accesskey="8" href="#osconf_002eh">osconf.h</a>:                     Header file-specific configurations
 
515
<li><a accesskey="9" href="#Shared-Library-Support">Shared Library Support</a>:       Building Shared Libraries for Kerberos V5
 
516
<li><a href="#OS-Incompatibilities">OS Incompatibilities</a>:         Special cases to watch for. 
 
517
<li><a href="#Using-Autoconf">Using Autoconf</a>:               Modifying Kerberos V5's
494
518
                                            configuration scripts. 
495
519
</ul>
496
520
 
497
521
<div class="node">
 
522
<a name="Organization-of-the-Source-Directory"></a>
498
523
<p><hr>
499
 
Node:<a name="Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>,
500
 
Next:<a rel="next" accesskey="n" href="#Build%20Requirements">Build Requirements</a>,
501
 
Previous:<a rel="previous" accesskey="p" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>,
502
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
503
 
<br>
 
524
Next:&nbsp;<a rel="next" accesskey="n" href="#Build-Requirements">Build Requirements</a>,
 
525
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Building-Kerberos-V5">Building Kerberos V5</a>,
 
526
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
527
 
504
528
</div>
505
529
 
506
 
<h3 class="section">Organization of the Source Directory</h3>
 
530
<h3 class="section">3.1 Organization of the Source Directory</h3>
507
531
 
508
532
<p>Below is a brief overview of the organization of the complete source
509
533
directory.  More detailed descriptions follow.
510
534
 
511
535
     <dl>
512
 
<dt><b>appl</b>
513
 
     <dd>applications with Kerberos V5 extensions
514
 
<dt><b>clients</b>
515
 
     <dd>Kerberos V5 user programs
516
 
<dt><b>gen-manpages</b>
517
 
     <dd>manpages for Kerberos V5 and the Kerberos V5 login program
518
 
<dt><b>include</b>
519
 
     <dd>include files
520
 
<dt><b>kadmin</b>
521
 
     <dd>administrative interface to the Kerberos master database
522
 
<dt><b>kdc</b>
523
 
     <dd>the Kerberos V5 Authentication Service and Key Distribution Center
524
 
<dt><b>krb524</b>
525
 
     <dd>utilities for converting between Kerberos 4 and Kerberos 5
526
 
<dt><b>lib</b>
527
 
     <dd>libraries for use with/by Kerberos V5
528
 
<dt><b>mac</b>
529
 
     <dd>source code for building Kerberos V5 on MacOS
530
 
<dt><b>prototype</b>
531
 
     <dd>templates for source code files
532
 
<dt><b>slave</b>
533
 
     <dd>utilities for propagating the database to slave KDCs
534
 
<dt><b>tests</b>
535
 
     <dd>test suite
536
 
<dt><b>util</b>
537
 
     <dd>various utilities for building/configuring the code, sending bug reports, etc. 
538
 
<dt><b>windows</b>
539
 
     <dd>source code for building Kerberos V5 on Windows (see windows/README)
 
536
<dt><b>appl</b><dd>applications with Kerberos V5 extensions
 
537
<dt><b>clients</b><dd>Kerberos V5 user programs
 
538
<dt><b>gen-manpages</b><dd>manpages for Kerberos V5 and the Kerberos V5 login program
 
539
<dt><b>include</b><dd>include files
 
540
<dt><b>kadmin</b><dd>administrative interface to the Kerberos master database
 
541
<dt><b>kdc</b><dd>the Kerberos V5 Authentication Service and Key Distribution Center
 
542
<dt><b>krb524</b><dd>utilities for converting between Kerberos 4 and Kerberos 5
 
543
<dt><b>lib</b><dd>libraries for use with/by Kerberos V5
 
544
<dt><b>mac</b><dd>source code for building Kerberos V5 on MacOS
 
545
<dt><b>prototype</b><dd>templates for source code files
 
546
<dt><b>slave</b><dd>utilities for propagating the database to slave KDCs
 
547
<dt><b>tests</b><dd>test suite
 
548
<dt><b>util</b><dd>various utilities for building/configuring the code, sending bug reports, etc. 
 
549
<dt><b>windows</b><dd>source code for building Kerberos V5 on Windows (see windows/README)
540
550
</dl>
541
551
 
542
552
<ul class="menu">
543
 
<li><a accesskey="1" href="#The%20appl%20Directory">The appl Directory</a>: 
544
 
<li><a accesskey="2" href="#The%20clients%20Directory">The clients Directory</a>: 
545
 
<li><a accesskey="3" href="#The%20gen-manpages%20Directory">The gen-manpages Directory</a>: 
546
 
<li><a accesskey="4" href="#The%20include%20Directory">The include Directory</a>: 
547
 
<li><a accesskey="5" href="#The%20kadmin%20Directory">The kadmin Directory</a>: 
548
 
<li><a accesskey="6" href="#The%20kdc%20Directory">The kdc Directory</a>: 
549
 
<li><a accesskey="7" href="#The%20krb524%20Directory">The krb524 Directory</a>: 
550
 
<li><a accesskey="8" href="#The%20lib%20Directory">The lib Directory</a>: 
551
 
<li><a accesskey="9" href="#The%20prototype%20Directory">The prototype Directory</a>: 
552
 
<li><a href="#The%20slave%20Directory">The slave Directory</a>: 
553
 
<li><a href="#The%20util%20Directory">The util Directory</a>: 
 
553
<li><a accesskey="1" href="#The-appl-Directory">The appl Directory</a>
 
554
<li><a accesskey="2" href="#The-clients-Directory">The clients Directory</a>
 
555
<li><a accesskey="3" href="#The-gen_002dmanpages-Directory">The gen-manpages Directory</a>
 
556
<li><a accesskey="4" href="#The-include-Directory">The include Directory</a>
 
557
<li><a accesskey="5" href="#The-kadmin-Directory">The kadmin Directory</a>
 
558
<li><a accesskey="6" href="#The-kdc-Directory">The kdc Directory</a>
 
559
<li><a accesskey="7" href="#The-krb524-Directory">The krb524 Directory</a>
 
560
<li><a accesskey="8" href="#The-lib-Directory">The lib Directory</a>
 
561
<li><a accesskey="9" href="#The-prototype-Directory">The prototype Directory</a>
 
562
<li><a href="#The-slave-Directory">The slave Directory</a>
 
563
<li><a href="#The-util-Directory">The util Directory</a>
554
564
</ul>
555
565
 
556
566
<div class="node">
 
567
<a name="The-appl-Directory"></a>
557
568
<p><hr>
558
 
Node:<a name="The%20appl%20Directory">The appl Directory</a>,
559
 
Next:<a rel="next" accesskey="n" href="#The%20clients%20Directory">The clients Directory</a>,
560
 
Previous:<a rel="previous" accesskey="p" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>,
561
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
562
 
<br>
 
569
Next:&nbsp;<a rel="next" accesskey="n" href="#The-clients-Directory">The clients Directory</a>,
 
570
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>,
 
571
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
572
 
563
573
</div>
564
574
 
565
 
<h4 class="subsection">The appl Directory</h4>
 
575
<h4 class="subsection">3.1.1 The appl Directory</h4>
566
576
 
567
577
<p>The <i>appl</i> directory contains sample Kerberos application client and
568
578
server programs.  In previous releases, it contained Kerberized versions
570
580
project.
571
581
 
572
582
<div class="node">
 
583
<a name="The-clients-Directory"></a>
573
584
<p><hr>
574
 
Node:<a name="The%20clients%20Directory">The clients Directory</a>,
575
 
Next:<a rel="next" accesskey="n" href="#The%20gen-manpages%20Directory">The gen-manpages Directory</a>,
576
 
Previous:<a rel="previous" accesskey="p" href="#The%20appl%20Directory">The appl Directory</a>,
577
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
578
 
<br>
 
585
Next:&nbsp;<a rel="next" accesskey="n" href="#The-gen_002dmanpages-Directory">The gen-manpages Directory</a>,
 
586
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-appl-Directory">The appl Directory</a>,
 
587
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
588
 
579
589
</div>
580
590
 
581
 
<h4 class="subsection">The clients Directory</h4>
 
591
<h4 class="subsection">3.1.2 The clients Directory</h4>
582
592
 
583
593
<p>This directory contains the code for several user-oriented programs.
584
594
 
585
595
     <dl>
586
 
<dt><b>kdestroy</b>
587
 
     <dd>This program destroys the user's active Kerberos authorization tickets. 
 
596
<dt><b>kdestroy</b><dd>This program destroys the user's active Kerberos authorization tickets. 
588
597
MIT recommends that users <code>kdestroy</code> before logging out.
589
598
 
590
 
     <dt><b>kinit</b>
591
 
     <dd>This program prompts users for their Kerberos principal name and password,
 
599
     <dt><b>kinit</b><dd>This program prompts users for their Kerberos principal name and password,
592
600
and attempts to get an initial ticket-granting-ticket for that principal.
593
601
 
594
 
     <dt><b>klist</b>
595
 
     <dd>This program lists the Kerberos principal and Kerberos tickets held in
 
602
     <dt><b>klist</b><dd>This program lists the Kerberos principal and Kerberos tickets held in
596
603
a credentials cache, or the keys held in a keytab file.
597
604
 
598
 
     <dt><b>kpasswd</b>
599
 
     <dd>This program changes a user's Kerberos password.
 
605
     <dt><b>kpasswd</b><dd>This program changes a user's Kerberos password.
600
606
 
601
 
     <dt><b>ksu</b>
602
 
     <dd>This program is a Kerberized version of the <code>su</code> program that is
 
607
     <dt><b>ksu</b><dd>This program is a Kerberized version of the <code>su</code> program that is
603
608
meant to securely change the real and effective user ID to that of the
604
609
target user and to create a new security context.
605
610
 
606
 
     <dt><b>kvno</b>
607
 
     <dd>This program acquires a service ticket for the specified Kerberos
 
611
     <dt><b>kvno</b><dd>This program acquires a service ticket for the specified Kerberos
608
612
principals and prints out the key version numbers of each. 
609
613
</dl>
610
614
 
611
615
<div class="node">
 
616
<a name="The-gen-manpages-Directory"></a>
 
617
<a name="The-gen_002dmanpages-Directory"></a>
612
618
<p><hr>
613
 
Node:<a name="The%20gen-manpages%20Directory">The gen-manpages Directory</a>,
614
 
Next:<a rel="next" accesskey="n" href="#The%20include%20Directory">The include Directory</a>,
615
 
Previous:<a rel="previous" accesskey="p" href="#The%20clients%20Directory">The clients Directory</a>,
616
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
617
 
<br>
 
619
Next:&nbsp;<a rel="next" accesskey="n" href="#The-include-Directory">The include Directory</a>,
 
620
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-clients-Directory">The clients Directory</a>,
 
621
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
622
 
618
623
</div>
619
624
 
620
 
<h4 class="subsection">The gen-manpages Directory</h4>
 
625
<h4 class="subsection">3.1.3 The gen-manpages Directory</h4>
621
626
 
622
627
<p>There are two manual pages in this directory.  One is an introduction
623
628
to the Kerberos system.  The other describes the <code>.k5login</code> file
625
630
authenticated by the Kerberos system.
626
631
 
627
632
<div class="node">
 
633
<a name="The-include-Directory"></a>
628
634
<p><hr>
629
 
Node:<a name="The%20include%20Directory">The include Directory</a>,
630
 
Next:<a rel="next" accesskey="n" href="#The%20kadmin%20Directory">The kadmin Directory</a>,
631
 
Previous:<a rel="previous" accesskey="p" href="#The%20gen-manpages%20Directory">The gen-manpages Directory</a>,
632
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
633
 
<br>
 
635
Next:&nbsp;<a rel="next" accesskey="n" href="#The-kadmin-Directory">The kadmin Directory</a>,
 
636
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-gen_002dmanpages-Directory">The gen-manpages Directory</a>,
 
637
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
638
 
634
639
</div>
635
640
 
636
 
<h4 class="subsection">The include Directory</h4>
 
641
<h4 class="subsection">3.1.4 The include Directory</h4>
637
642
 
638
643
<p>This directory contains the <i>include</i> files needed to build the
639
644
Kerberos system.
640
645
 
641
646
<div class="node">
 
647
<a name="The-kadmin-Directory"></a>
642
648
<p><hr>
643
 
Node:<a name="The%20kadmin%20Directory">The kadmin Directory</a>,
644
 
Next:<a rel="next" accesskey="n" href="#The%20kdc%20Directory">The kdc Directory</a>,
645
 
Previous:<a rel="previous" accesskey="p" href="#The%20include%20Directory">The include Directory</a>,
646
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
647
 
<br>
 
649
Next:&nbsp;<a rel="next" accesskey="n" href="#The-kdc-Directory">The kdc Directory</a>,
 
650
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-include-Directory">The include Directory</a>,
 
651
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
652
 
648
653
</div>
649
654
 
650
 
<h4 class="subsection">The kadmin Directory</h4>
 
655
<h4 class="subsection">3.1.5 The kadmin Directory</h4>
651
656
 
652
657
<p>In this directory is the code for the utilities <code>kadmin</code>,
653
658
<code>kadmin.local</code>, <code>kdb5_util</code>, and <code>ktutil</code>. 
666
671
used to create master key stash files.
667
672
 
668
673
<div class="node">
 
674
<a name="The-kdc-Directory"></a>
669
675
<p><hr>
670
 
Node:<a name="The%20kdc%20Directory">The kdc Directory</a>,
671
 
Next:<a rel="next" accesskey="n" href="#The%20krb524%20Directory">The krb524 Directory</a>,
672
 
Previous:<a rel="previous" accesskey="p" href="#The%20kadmin%20Directory">The kadmin Directory</a>,
673
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
674
 
<br>
 
676
Next:&nbsp;<a rel="next" accesskey="n" href="#The-krb524-Directory">The krb524 Directory</a>,
 
677
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-kadmin-Directory">The kadmin Directory</a>,
 
678
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
679
 
675
680
</div>
676
681
 
677
 
<h4 class="subsection">The kdc Directory</h4>
 
682
<h4 class="subsection">3.1.6 The kdc Directory</h4>
678
683
 
679
684
<p>This directory contains the code for the <code>krb5kdc</code> daemon, the
680
685
Kerberos Authentication Service and Key Distribution Center.
681
686
 
682
687
<div class="node">
 
688
<a name="The-krb524-Directory"></a>
683
689
<p><hr>
684
 
Node:<a name="The%20krb524%20Directory">The krb524 Directory</a>,
685
 
Next:<a rel="next" accesskey="n" href="#The%20lib%20Directory">The lib Directory</a>,
686
 
Previous:<a rel="previous" accesskey="p" href="#The%20kdc%20Directory">The kdc Directory</a>,
687
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
688
 
<br>
 
690
Next:&nbsp;<a rel="next" accesskey="n" href="#The-lib-Directory">The lib Directory</a>,
 
691
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-kdc-Directory">The kdc Directory</a>,
 
692
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
693
 
689
694
</div>
690
695
 
691
 
<h4 class="subsection">The krb524 Directory</h4>
 
696
<h4 class="subsection">3.1.7 The krb524 Directory</h4>
692
697
 
693
698
<p>This directory contains the code for <code>krb524</code>, a service that
694
699
converts Kerberos V5 credentials into Kerberos V4 credentials suitable
696
701
directly.
697
702
 
698
703
<div class="node">
 
704
<a name="The-lib-Directory"></a>
699
705
<p><hr>
700
 
Node:<a name="The%20lib%20Directory">The lib Directory</a>,
701
 
Next:<a rel="next" accesskey="n" href="#The%20prototype%20Directory">The prototype Directory</a>,
702
 
Previous:<a rel="previous" accesskey="p" href="#The%20krb524%20Directory">The krb524 Directory</a>,
703
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
704
 
<br>
 
706
Next:&nbsp;<a rel="next" accesskey="n" href="#The-prototype-Directory">The prototype Directory</a>,
 
707
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-krb524-Directory">The krb524 Directory</a>,
 
708
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
709
 
705
710
</div>
706
711
 
707
 
<h4 class="subsection">The lib Directory</h4>
 
712
<h4 class="subsection">3.1.8 The lib Directory</h4>
708
713
 
709
714
<p>The <i>lib</i> directory contain 10 subdirectories as well as some
710
715
definition and glue files.  The <i>crypto</i> subdirectory contains the
720
725
API for the Kerberos Remote Procedure Call protocol.
721
726
 
722
727
<div class="node">
 
728
<a name="The-prototype-Directory"></a>
723
729
<p><hr>
724
 
Node:<a name="The%20prototype%20Directory">The prototype Directory</a>,
725
 
Next:<a rel="next" accesskey="n" href="#The%20slave%20Directory">The slave Directory</a>,
726
 
Previous:<a rel="previous" accesskey="p" href="#The%20lib%20Directory">The lib Directory</a>,
727
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
728
 
<br>
 
730
Next:&nbsp;<a rel="next" accesskey="n" href="#The-slave-Directory">The slave Directory</a>,
 
731
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-lib-Directory">The lib Directory</a>,
 
732
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
733
 
729
734
</div>
730
735
 
731
 
<h4 class="subsection">The prototype Directory</h4>
 
736
<h4 class="subsection">3.1.9 The prototype Directory</h4>
732
737
 
733
738
<p>This directory contains several template files.  The <code>prototype.h</code>
734
739
and <code>prototype.c</code> files contain the MIT copyright message and a
739
744
which a program was called.
740
745
 
741
746
<div class="node">
 
747
<a name="The-slave-Directory"></a>
742
748
<p><hr>
743
 
Node:<a name="The%20slave%20Directory">The slave Directory</a>,
744
 
Next:<a rel="next" accesskey="n" href="#The%20util%20Directory">The util Directory</a>,
745
 
Previous:<a rel="previous" accesskey="p" href="#The%20prototype%20Directory">The prototype Directory</a>,
746
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
747
 
<br>
 
749
Next:&nbsp;<a rel="next" accesskey="n" href="#The-util-Directory">The util Directory</a>,
 
750
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-prototype-Directory">The prototype Directory</a>,
 
751
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
752
 
748
753
</div>
749
754
 
750
 
<h4 class="subsection">The slave Directory</h4>
 
755
<h4 class="subsection">3.1.10 The slave Directory</h4>
751
756
 
752
757
<p>This directory contains code which allows for the propagation of the
753
758
Kerberos principal database from the master KDC to slave KDCs over an
760
765
been dumped since the last propagation.
761
766
 
762
767
<div class="node">
 
768
<a name="The-util-Directory"></a>
763
769
<p><hr>
764
 
Node:<a name="The%20util%20Directory">The util Directory</a>,
765
 
Previous:<a rel="previous" accesskey="p" href="#The%20slave%20Directory">The slave Directory</a>,
766
 
Up:<a rel="up" accesskey="u" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
767
 
<br>
 
770
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-slave-Directory">The slave Directory</a>,
 
771
Up:&nbsp;<a rel="up" accesskey="u" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>
 
772
 
768
773
</div>
769
774
 
770
 
<h4 class="subsection">The util Directory</h4>
 
775
<h4 class="subsection">3.1.11 The util Directory</h4>
771
776
 
772
777
<p>This directory contains several utility programs and libraries.  The
773
778
programs used to configure and build the code, such as <code>autoconf</code>,
781
786
support library <code>support</code> used by several of our other libraries.
782
787
 
783
788
<div class="node">
 
789
<a name="Build-Requirements"></a>
784
790
<p><hr>
785
 
Node:<a name="Build%20Requirements">Build Requirements</a>,
786
 
Next:<a rel="next" accesskey="n" href="#Unpacking%20the%20Sources">Unpacking the Sources</a>,
787
 
Previous:<a rel="previous" accesskey="p" href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>,
788
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
789
 
<br>
 
791
Next:&nbsp;<a rel="next" accesskey="n" href="#Unpacking-the-Sources">Unpacking the Sources</a>,
 
792
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Organization-of-the-Source-Directory">Organization of the Source Directory</a>,
 
793
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
794
 
790
795
</div>
791
796
 
792
 
<h3 class="section">Build Requirements</h3>
 
797
<h3 class="section">3.2 Build Requirements</h3>
793
798
 
794
799
<p>In order to build Kerberos V5, you will need approximately 60-70
795
800
megabytes of disk space.  The exact amount will vary depending on the
796
801
platform and whether the distribution is compiled with debugging symbol
797
802
tables or not.
798
803
 
799
 
<p>Your C compiler must conform to ANSI C (ISO/IEC 9899:1990, "c89"). 
 
804
<p>Your C compiler must conform to ANSI C (ISO/IEC 9899:1990, &ldquo;c89&rdquo;). 
800
805
Some operating systems do not have an ANSI C compiler, or their
801
806
default compiler requires extra command-line options to enable ANSI C
802
807
conformance.
803
808
 
804
809
<p>If you wish to keep a separate <dfn>build tree</dfn>, which contains the compiled
805
 
<code>*.o</code> file and executables, separate from your source tree, you
806
 
will need a <code>make</code> program which supports <code>VPATH</code>, or
807
 
you will need to use a tool such as <code>lndir</code> to produce a symbolic
 
810
<samp><span class="file">*.o</span></samp> file and executables, separate from your source tree, you
 
811
will need a &lsquo;<samp><span class="samp">make</span></samp>&rsquo; program which supports &lsquo;<samp><span class="samp">VPATH</span></samp>&rsquo;, or
 
812
you will need to use a tool such as &lsquo;<samp><span class="samp">lndir</span></samp>&rsquo; to produce a symbolic
808
813
link tree for your build tree.
809
814
 
 
815
<!-- Library support... -->
810
816
<div class="node">
 
817
<a name="Unpacking-the-Sources"></a>
811
818
<p><hr>
812
 
Node:<a name="Unpacking%20the%20Sources">Unpacking the Sources</a>,
813
 
Next:<a rel="next" accesskey="n" href="#Doing%20the%20Build">Doing the Build</a>,
814
 
Previous:<a rel="previous" accesskey="p" href="#Build%20Requirements">Build Requirements</a>,
815
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
816
 
<br>
 
819
Next:&nbsp;<a rel="next" accesskey="n" href="#Doing-the-Build">Doing the Build</a>,
 
820
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Build-Requirements">Build Requirements</a>,
 
821
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
822
 
817
823
</div>
818
824
 
819
 
<h3 class="section">Unpacking the Sources</h3>
 
825
<h3 class="section">3.3 Unpacking the Sources</h3>
820
826
 
821
827
<p>The first step in each of these build procedures is to unpack the
822
828
source distribution.  The Kerberos V5 distribution comes in a tar file,
823
 
generally named <code>krb5-1.9.tar</code>, which contains a
 
829
generally named <samp><span class="file">krb5-1.10.tar</span></samp>, which contains a
824
830
compressed tar file consisting of the sources for all of Kerberos
825
 
(generally <code>krb5-1.9.tar.gz</code>) and a PGP signature for
826
 
this source tree (generally <code>krb5-1.9.tar.gz.asc</code>). 
 
831
(generally <samp><span class="file">krb5-1.10.tar.gz</span></samp>) and a PGP signature for
 
832
this source tree (generally <samp><span class="file">krb5-1.10.tar.gz.asc</span></samp>). 
827
833
MIT highly recommends that you verify the integrity of the
828
834
source code using this signature.
829
835
 
830
836
<p>Unpack the compressed tar file in some directory, such as
831
 
<code>/u1/krb5-1.9</code>.  (In the rest of this document, we
 
837
<samp><span class="file">/u1/krb5-1.10</span></samp>.  (In the rest of this document, we
832
838
will assume that you have chosen to unpack the Kerberos V5 source
833
839
distribution in this directory.  Note that the tarfiles will by default
834
 
all unpack into the <code>./krb5-1.9</code> directory, so that if
835
 
your current directory is <code>/u1</code> when you unpack the tarfiles, you
836
 
will get <code>/u1/krb5-1.9/src</code>, etc.)
 
840
all unpack into the <samp><span class="file">./krb5-1.10</span></samp> directory, so that if
 
841
your current directory is <samp><span class="file">/u1</span></samp> when you unpack the tarfiles, you
 
842
will get <samp><span class="file">/u1/krb5-1.10/src</span></samp>, etc.)
837
843
 
838
844
<div class="node">
 
845
<a name="Doing-the-Build"></a>
839
846
<p><hr>
840
 
Node:<a name="Doing%20the%20Build">Doing the Build</a>,
841
 
Next:<a rel="next" accesskey="n" href="#Installing%20the%20Binaries">Installing the Binaries</a>,
842
 
Previous:<a rel="previous" accesskey="p" href="#Unpacking%20the%20Sources">Unpacking the Sources</a>,
843
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
844
 
<br>
 
847
Next:&nbsp;<a rel="next" accesskey="n" href="#Installing-the-Binaries">Installing the Binaries</a>,
 
848
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Unpacking-the-Sources">Unpacking the Sources</a>,
 
849
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
850
 
845
851
</div>
846
852
 
847
 
<h3 class="section">Doing the Build</h3>
 
853
<h3 class="section">3.4 Doing the Build</h3>
848
854
 
849
855
<p>You have a number of different options in how to build Kerberos.  If you
850
856
only need to build Kerberos for one platform, using a single directory
851
857
tree which contains both the source files and the object files is the
852
858
simplest.  However, if you need to maintain Kerberos for a large number
853
859
of platforms, you will probably want to use separate build trees for
854
 
each platform. We recommend that you look at <a href="#OS%20Incompatibilities">OS Incompatibilities</a>, for notes that we have on particular operating
 
860
each platform. We recommend that you look at <a href="#OS-Incompatibilities">OS Incompatibilities</a>, for notes that we have on particular operating
855
861
systems.
856
862
 
857
863
<ul class="menu">
858
 
<li><a accesskey="1" href="#Building%20Within%20a%20Single%20Tree">Building Within a Single Tree</a>: 
859
 
<li><a accesskey="2" href="#Building%20with%20Separate%20Build%20Directories">Building with Separate Build Directories</a>: 
860
 
<li><a accesskey="3" href="#Building%20using%20lndir">Building using lndir</a>: 
 
864
<li><a accesskey="1" href="#Building-Within-a-Single-Tree">Building Within a Single Tree</a>
 
865
<li><a accesskey="2" href="#Building-with-Separate-Build-Directories">Building with Separate Build Directories</a>
 
866
<li><a accesskey="3" href="#Building-using-lndir">Building using lndir</a>
861
867
</ul>
862
868
 
863
869
<div class="node">
 
870
<a name="Building-Within-a-Single-Tree"></a>
864
871
<p><hr>
865
 
Node:<a name="Building%20Within%20a%20Single%20Tree">Building Within a Single Tree</a>,
866
 
Next:<a rel="next" accesskey="n" href="#Building%20with%20Separate%20Build%20Directories">Building with Separate Build Directories</a>,
867
 
Previous:<a rel="previous" accesskey="p" href="#Doing%20the%20Build">Doing the Build</a>,
868
 
Up:<a rel="up" accesskey="u" href="#Doing%20the%20Build">Doing the Build</a>
869
 
<br>
 
872
Next:&nbsp;<a rel="next" accesskey="n" href="#Building-with-Separate-Build-Directories">Building with Separate Build Directories</a>,
 
873
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Doing-the-Build">Doing the Build</a>,
 
874
Up:&nbsp;<a rel="up" accesskey="u" href="#Doing-the-Build">Doing the Build</a>
 
875
 
870
876
</div>
871
877
 
872
 
<h4 class="subsection">Building Within a Single Tree</h4>
 
878
<h4 class="subsection">3.4.1 Building Within a Single Tree</h4>
873
879
 
874
880
<p>If you don't want separate build trees for each architecture, then
875
881
use the following abbreviated procedure.
876
882
 
877
883
     <ol type=1 start=1>
878
 
<li> <code>cd /u1/krb5-1.9/src</code>
 
884
<li> <code>cd /u1/krb5-1.10/src</code>
879
885
<li> <code>./configure</code>
880
886
<li> <code>make</code>
881
887
     </ol>
883
889
<p>That's it!
884
890
 
885
891
<div class="node">
 
892
<a name="Building-with-Separate-Build-Directories"></a>
886
893
<p><hr>
887
 
Node:<a name="Building%20with%20Separate%20Build%20Directories">Building with Separate Build Directories</a>,
888
 
Next:<a rel="next" accesskey="n" href="#Building%20using%20lndir">Building using lndir</a>,
889
 
Previous:<a rel="previous" accesskey="p" href="#Building%20Within%20a%20Single%20Tree">Building Within a Single Tree</a>,
890
 
Up:<a rel="up" accesskey="u" href="#Doing%20the%20Build">Doing the Build</a>
891
 
<br>
 
894
Next:&nbsp;<a rel="next" accesskey="n" href="#Building-using-lndir">Building using lndir</a>,
 
895
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Building-Within-a-Single-Tree">Building Within a Single Tree</a>,
 
896
Up:&nbsp;<a rel="up" accesskey="u" href="#Doing-the-Build">Doing the Build</a>
 
897
 
892
898
</div>
893
899
 
894
 
<h4 class="subsection">Building with Separate Build Directories</h4>
 
900
<h4 class="subsection">3.4.2 Building with Separate Build Directories</h4>
895
901
 
896
902
<p>If you wish to keep separate build directories for each platform, you
897
903
can do so using the following procedure.  (Note, this requires that your
898
 
<code>make</code> program support <code>VPATH</code>.  GNU's make will provide this
899
 
functionality, for example.)  If your <code>make</code> program does not
 
904
&lsquo;<samp><span class="samp">make</span></samp>&rsquo; program support &lsquo;<samp><span class="samp">VPATH</span></samp>&rsquo;.  GNU's make will provide this
 
905
functionality, for example.)  If your &lsquo;<samp><span class="samp">make</span></samp>&rsquo; program does not
900
906
support this, see the next section.
901
907
 
902
908
<p>For example, if you wish to create a build directory for <code>pmax</code> binaries
903
909
you might use the following procedure:
904
910
 
905
911
     <ol type=1 start=1>
906
 
<li><code>mkdir /u1/krb5-1.9/pmax</code>
907
 
<li> <code>cd /u1/krb5-1.9/pmax</code>
 
912
<li><code>mkdir /u1/krb5-1.10/pmax</code>
 
913
<li> <code>cd /u1/krb5-1.10/pmax</code>
908
914
<li> <code>../src/configure</code>
909
915
<li> <code>make</code>
910
916
     </ol>
911
917
 
912
918
<div class="node">
 
919
<a name="Building-using-lndir"></a>
913
920
<p><hr>
914
 
Node:<a name="Building%20using%20lndir">Building using lndir</a>,
915
 
Previous:<a rel="previous" accesskey="p" href="#Building%20with%20Separate%20Build%20Directories">Building with Separate Build Directories</a>,
916
 
Up:<a rel="up" accesskey="u" href="#Doing%20the%20Build">Doing the Build</a>
917
 
<br>
 
921
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Building-with-Separate-Build-Directories">Building with Separate Build Directories</a>,
 
922
Up:&nbsp;<a rel="up" accesskey="u" href="#Doing-the-Build">Doing the Build</a>
 
923
 
918
924
</div>
919
925
 
920
 
<h4 class="subsection">Building Using <code>lndir</code></h4>
 
926
<h4 class="subsection">3.4.3 Building Using &lsquo;<samp><span class="samp">lndir</span></samp>&rsquo;</h4>
921
927
 
922
928
<p>If you wish to keep separate build directories for each platform, and
923
 
you do not have access to a <code>make</code> program which supports <code>VPATH</code>,
924
 
all is not lost.  You can use the <code>lndir</code> program to create
 
929
you do not have access to a &lsquo;<samp><span class="samp">make</span></samp>&rsquo; program which supports &lsquo;<samp><span class="samp">VPATH</span></samp>&rsquo;,
 
930
all is not lost.  You can use the &lsquo;<samp><span class="samp">lndir</span></samp>&rsquo; program to create
925
931
symbolic link trees in your build directory.
926
932
 
927
933
<p>For example, if you wish to create a build directory for solaris binaries
928
934
you might use the following procedure:
929
935
 
930
936
     <ol type=1 start=1>
931
 
<li> <code>mkdir /u1/krb5-1.9/solaris</code>
932
 
<li> <code>cd /u1/krb5-1.9/solaris</code>
933
 
<li> <code>/u1/krb5-1.9/src/util/lndir `pwd`/../src</code>
 
937
<li> <code>mkdir /u1/krb5-1.10/solaris</code>
 
938
<li> <code>cd /u1/krb5-1.10/solaris</code>
 
939
<li> <code>/u1/krb5-1.10/src/util/lndir `pwd`/../src</code>
934
940
<li> <code>./configure</code>
935
941
<li> <code>make</code>
936
942
     </ol>
937
943
 
938
 
<p>You must give an absolute pathname to <code>lndir</code> because it has a bug that
 
944
<p>You must give an absolute pathname to &lsquo;<samp><span class="samp">lndir</span></samp>&rsquo; because it has a bug that
939
945
makes it fail for relative pathnames. Note that this version differs
940
946
from the latest version as distributed and installed by the XConsortium
941
947
with X11R6. Either version should be acceptable.
942
948
 
943
949
<div class="node">
 
950
<a name="Installing-the-Binaries"></a>
944
951
<p><hr>
945
 
Node:<a name="Installing%20the%20Binaries">Installing the Binaries</a>,
946
 
Next:<a rel="next" accesskey="n" href="#Testing%20the%20Build">Testing the Build</a>,
947
 
Previous:<a rel="previous" accesskey="p" href="#Doing%20the%20Build">Doing the Build</a>,
948
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
949
 
<br>
 
952
Next:&nbsp;<a rel="next" accesskey="n" href="#Testing-the-Build">Testing the Build</a>,
 
953
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Doing-the-Build">Doing the Build</a>,
 
954
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
955
 
950
956
</div>
951
957
 
952
 
<h3 class="section">Installing the Binaries</h3>
 
958
<h3 class="section">3.5 Installing the Binaries</h3>
953
959
 
954
960
<p>Once you have built Kerberos, you should install the binaries.  You
955
961
can do this by running:
956
962
 
957
963
<pre class="example">     % make install
958
 
     </pre>
959
 
 
 
964
</pre>
960
965
<p>If you want to install the binaries into a destination directory that
961
966
is not their final destination, which may be convenient if you want to
962
967
build a binary distribution to be deployed on multiple hosts, you may
963
968
use:
964
969
 
965
970
<pre class="example">     % make install DESTDIR=/path/to/destdir
966
 
     </pre>
967
 
 
 
971
</pre>
968
972
<p>This will install the binaries under <code>DESTDIR/PREFIX</code>, e.g., the
969
973
user programs will install into <code>DESTDIR/PREFIX/bin</code>, the
970
974
libraries into <code>DESTDIR/PREFIX/lib</code>, etc.
971
975
 
972
 
<p>Note that if you want to test the build (see <a href="#Testing%20the%20Build">Testing the Build</a>),
 
976
<p>Note that if you want to test the build (see <a href="#Testing-the-Build">Testing the Build</a>),
973
977
you usually do not need to do a <code>make install</code> first.
974
978
 
975
 
<p>Some implementations of <code>make</code> allow multiple commands to be run in
 
979
<p>Some implementations of &lsquo;<samp><span class="samp">make</span></samp>&rsquo; allow multiple commands to be run in
976
980
parallel, for faster builds.  We test our Makefiles in parallel builds with
977
 
GNU <code>make</code> only; they may not be compatible with other parallel build
 
981
GNU &lsquo;<samp><span class="samp">make</span></samp>&rsquo; only; they may not be compatible with other parallel build
978
982
implementations.
979
983
 
980
984
<div class="node">
 
985
<a name="Testing-the-Build"></a>
981
986
<p><hr>
982
 
Node:<a name="Testing%20the%20Build">Testing the Build</a>,
983
 
Next:<a rel="next" accesskey="n" href="#Options%20to%20Configure">Options to Configure</a>,
984
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20the%20Binaries">Installing the Binaries</a>,
985
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
986
 
<br>
 
987
Next:&nbsp;<a rel="next" accesskey="n" href="#Options-to-Configure">Options to Configure</a>,
 
988
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-the-Binaries">Installing the Binaries</a>,
 
989
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
990
 
987
991
</div>
988
992
 
989
 
<h3 class="section">Testing the Build</h3>
 
993
<h3 class="section">3.6 Testing the Build</h3>
990
994
 
991
995
<p>The Kerberos V5 distribution comes with built-in regression tests.  To
992
996
run them, simply type the following command while in the top-level build
993
 
directory (i.e., the directory where you sent typed <code>make</code> to start
994
 
building Kerberos; see <a href="#Doing%20the%20Build">Doing the Build</a>.):
 
997
directory (i.e., the directory where you sent typed &lsquo;<samp><span class="samp">make</span></samp>&rsquo; to start
 
998
building Kerberos; see <a href="#Doing-the-Build">Doing the Build</a>.):
995
999
 
996
1000
<pre class="example">     % make check
997
 
     </pre>
998
 
 
 
1001
</pre>
999
1002
<p>However, there are several prerequisites that must be satisfied first:
1000
1003
 
1001
1004
     <ul>
1002
1005
<li>Configure and build Kerberos with Tcl support.  Tcl is used to drive the
1003
1006
test suite.  This often means passing <code>--with-tcl</code> to configure to
1004
1007
tell it the location of the Tcl configuration script.  (See
1005
 
See <a href="#Options%20to%20Configure">Options to Configure</a>.)
 
1008
See <a href="#Options-to-Configure">Options to Configure</a>.)
1006
1009
 
1007
 
     <li>On some operating systems, you have to run <code>make install</code> before
1008
 
running <code>make check</code>, or the test suite will pick up installed
 
1010
     <li>On some operating systems, you have to run &lsquo;<samp><span class="samp">make install</span></samp>&rsquo; before
 
1011
running &lsquo;<samp><span class="samp">make check</span></samp>&rsquo;, or the test suite will pick up installed
1009
1012
versions of Kerberos libraries rather than the newly built ones.  You
1010
1013
can install into a prefix that isn't in the system library search path,
1011
1014
though.  Alternatively, you can configure with <code>--disable-rpath</code>,
1013
1016
testing without interference from previously installed libraries.
1014
1017
 
1015
1018
     <li>In order to test the RPC layer, the local system has to be running the
1016
 
<code>portmap</code> daemon and it has to be listening to the regular
 
1019
<samp><span class="command">portmap</span></samp> daemon and it has to be listening to the regular
1017
1020
network interface (not just localhost). 
1018
1021
</ul>
1019
1022
 
1020
1023
<ul class="menu">
1021
 
<li><a accesskey="1" href="#The%20DejaGnu%20Tests">The DejaGnu Tests</a>: 
1022
 
<li><a accesskey="2" href="#The%20KADM5%20Tests">The KADM5 Tests</a>: 
 
1024
<li><a accesskey="1" href="#The-DejaGnu-Tests">The DejaGnu Tests</a>
 
1025
<li><a accesskey="2" href="#The-KADM5-Tests">The KADM5 Tests</a>
1023
1026
</ul>
1024
1027
 
1025
1028
<div class="node">
 
1029
<a name="The-DejaGnu-Tests"></a>
1026
1030
<p><hr>
1027
 
Node:<a name="The%20DejaGnu%20Tests">The DejaGnu Tests</a>,
1028
 
Next:<a rel="next" accesskey="n" href="#The%20KADM5%20Tests">The KADM5 Tests</a>,
1029
 
Previous:<a rel="previous" accesskey="p" href="#Testing%20the%20Build">Testing the Build</a>,
1030
 
Up:<a rel="up" accesskey="u" href="#Testing%20the%20Build">Testing the Build</a>
1031
 
<br>
 
1031
Next:&nbsp;<a rel="next" accesskey="n" href="#The-KADM5-Tests">The KADM5 Tests</a>,
 
1032
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Testing-the-Build">Testing the Build</a>,
 
1033
Up:&nbsp;<a rel="up" accesskey="u" href="#Testing-the-Build">Testing the Build</a>
 
1034
 
1032
1035
</div>
1033
1036
 
1034
 
<h4 class="subsection">The DejaGnu Tests</h4>
 
1037
<h4 class="subsection">3.6.1 The DejaGnu Tests</h4>
1035
1038
 
1036
1039
<p>Some of the built-in regression tests are setup to use the DejaGnu
1037
1040
framework for running tests. These tests tend to be more comprehensive
1041
1044
<p>DejaGnu may be found wherever GNU software is archived.
1042
1045
 
1043
1046
<div class="node">
 
1047
<a name="The-KADM5-Tests"></a>
1044
1048
<p><hr>
1045
 
Node:<a name="The%20KADM5%20Tests">The KADM5 Tests</a>,
1046
 
Previous:<a rel="previous" accesskey="p" href="#The%20DejaGnu%20Tests">The DejaGnu Tests</a>,
1047
 
Up:<a rel="up" accesskey="u" href="#Testing%20the%20Build">Testing the Build</a>
1048
 
<br>
 
1049
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-DejaGnu-Tests">The DejaGnu Tests</a>,
 
1050
Up:&nbsp;<a rel="up" accesskey="u" href="#Testing-the-Build">Testing the Build</a>
 
1051
 
1049
1052
</div>
1050
1053
 
1051
 
<h4 class="subsection">The KADM5 Tests</h4>
 
1054
<h4 class="subsection">3.6.2 The KADM5 Tests</h4>
1052
1055
 
1053
1056
<p>Regression tests for the KADM5 system, including the GSS-RPC, KADM5
1054
1057
client and server libraries, and kpasswd, are also included in this
1062
1065
require Perl in order to operate.  If all of these resources are not
1063
1066
available during configuration, the KADM5 tests will not run.  The TCL
1064
1067
installation directory can be specified with the <code>--with-tcl</code>
1065
 
configure option.  (See See <a href="#Options%20to%20Configure">Options to Configure</a>.)  The runtest and
 
1068
configure option.  (See See <a href="#Options-to-Configure">Options to Configure</a>.)  The runtest and
1066
1069
perl programs must be in the current execution path.
1067
1070
 
1068
1071
<p>If you install DejaGnu, TCL, or Perl after configuring and building
1073
1076
src/lib/rpc, src/lib/kadm5.
1074
1077
 
1075
1078
<div class="node">
 
1079
<a name="Options-to-Configure"></a>
1076
1080
<p><hr>
1077
 
Node:<a name="Options%20to%20Configure">Options to Configure</a>,
1078
 
Next:<a rel="next" accesskey="n" href="#osconf.h">osconf.h</a>,
1079
 
Previous:<a rel="previous" accesskey="p" href="#Testing%20the%20Build">Testing the Build</a>,
1080
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
1081
 
<br>
 
1081
Next:&nbsp;<a rel="next" accesskey="n" href="#osconf_002eh">osconf.h</a>,
 
1082
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Testing-the-Build">Testing the Build</a>,
 
1083
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
1084
 
1082
1085
</div>
1083
1086
 
1084
 
<h3 class="section">Options to Configure</h3>
 
1087
<h3 class="section">3.7 Options to Configure</h3>
1085
1088
 
1086
 
<p>There are a number of options to <code>configure</code> which you can use to
 
1089
<p>There are a number of options to &lsquo;<samp><span class="samp">configure</span></samp>&rsquo; which you can use to
1087
1090
control how the Kerberos distribution is built.  The following table
1088
 
lists the most commonly used options to Kerberos V5's <code>configure</code>
 
1091
lists the most commonly used options to Kerberos V5's &lsquo;<samp><span class="samp">configure</span></samp>&rsquo;
1089
1092
program.
1090
1093
 
1091
1094
     <dl>
1092
 
 
1093
 
     <br><dt><code>--help</code>
1094
 
     <dd>
 
1095
<dt><code>--help</code><dd>
1095
1096
Provides help to configure. This will list the set of commonly used
1096
1097
options for building Kerberos.
1097
1098
 
1098
 
     <br><dt><code>--prefix=PREFIX</code>
1099
 
     <dd>
 
1099
     <br><dt><code>--prefix=PREFIX</code><dd>
1100
1100
By default, Kerberos will install the package's files rooted at
1101
1101
`/usr/local' as in `/usr/local/bin', `/usr/local/sbin', etc. If you
1102
1102
desire a different location, use this option.
1103
1103
 
1104
 
     <br><dt><code>--exec-prefix=EXECPREFIX</code>
1105
 
     <dd>
 
1104
     <br><dt><code>--exec-prefix=EXECPREFIX</code><dd>
1106
1105
This option allows one to separate the architecture independent programs
1107
1106
from the configuration files and manual pages.
1108
1107
 
1109
 
     <br><dt><code>--localstatedir=LOCALSTATEDIR</code>
1110
 
     <dd>
 
1108
     <br><dt><code>--localstatedir=LOCALSTATEDIR</code><dd>
1111
1109
This option sets the directory for locally modifiable single-machine
1112
1110
data.  In Kerberos, this mostly is useful for setting a location for the
1113
1111
KDC data files, as they will be installed in
1114
1112
<code>LOCALSTATEDIR/krb5kdc</code>, which is by default
1115
1113
<code>PREFIX/var/krb5kdc</code>.
1116
1114
 
1117
 
     <br><dt><code>CC=COMPILER</code>
1118
 
     <dd>
 
1115
     <br><dt><code>CC=COMPILER</code><dd>
1119
1116
Use <code>COMPILER</code> as the C compiler.
1120
1117
 
1121
 
     <br><dt><code>CFLAGS=FLAGS</code>
1122
 
     <dd>
 
1118
     <br><dt><code>CFLAGS=FLAGS</code><dd>
1123
1119
Use <code>FLAGS</code> as the default set of C compiler flags.
1124
1120
 
1125
1121
     <p>Note that if you use the native Ultrix compiler on a
1126
1122
DECstation you are likely to lose if you pass no flags to cc; md4.c
1127
1123
takes an estimated 3,469 billion years to compile if you provide neither
1128
 
the <code>-g</code> flag nor the <code>-O</code> flag to <code>cc</code>.
 
1124
the &lsquo;<samp><span class="samp">-g</span></samp>&rsquo; flag nor the &lsquo;<samp><span class="samp">-O</span></samp>&rsquo; flag to &lsquo;<samp><span class="samp">cc</span></samp>&rsquo;.
1129
1125
 
1130
 
     <br><dt><code>CPPFLAGS=CPPOPTS</code>
1131
 
     <dd>
 
1126
     <br><dt><code>CPPFLAGS=CPPOPTS</code><dd>
1132
1127
Use <code>CPPOPTS</code> as the default set of C preprocessor flags.  The most
1133
1128
common use of this option is to select certain <code>#define</code>'s for use
1134
1129
with the operating system's include files.
1135
1130
 
1136
 
     <br><dt><code>LD=LINKER</code>
1137
 
     <dd>
 
1131
     <br><dt><code>LD=LINKER</code><dd>
1138
1132
Use <code>LINKER</code> as the default loader if it should be different from C
1139
1133
compiler as specified above.
1140
1134
 
1141
 
     <br><dt><code>LDFLAGS=LDOPTS</code>
1142
 
     <dd>
 
1135
     <br><dt><code>LDFLAGS=LDOPTS</code><dd>
1143
1136
This option allows one to specify optional arguments to be passed to the
1144
1137
linker. This might be used to specify optional library paths.
1145
1138
 
1146
 
     <br><dt><code>--with-krb4</code>
1147
 
     <dd>
 
1139
     <br><dt><code>--with-krb4</code><dd>
1148
1140
This option enables Kerberos V4 backwards compatibility using the
1149
1141
builtin Kerberos V4 library.
1150
1142
 
1151
 
     <br><dt><code>--with-krb4=KRB4DIR</code>
1152
 
     <dd>
 
1143
     <br><dt><code>--with-krb4=KRB4DIR</code><dd>
1153
1144
This option enables Kerberos V4 backwards compatibility using a
1154
1145
pre-existing Kerberos V4 installation.  The directory specified by
1155
1146
<code>KRB4DIR</code> specifies where the V4 header files should be found
1156
 
(<code>KRB4DIR/include</code>) as well as where the V4 Kerberos library should
1157
 
be found (<code>KRB4DIR/lib</code>).
 
1147
(<samp><span class="file">KRB4DIR/include</span></samp>) as well as where the V4 Kerberos library should
 
1148
be found (<samp><span class="file">KRB4DIR/lib</span></samp>).
1158
1149
 
1159
 
     <br><dt><code>--without-krb4</code>
1160
 
     <dd>
 
1150
     <br><dt><code>--without-krb4</code><dd>
1161
1151
Disables Kerberos V4 backwards compatibility. This prevents Kerberos V4
1162
1152
clients from using the V5 services including the KDC. This would be
1163
1153
useful if you know you will never install or need to interact with V4
1164
1154
clients.
1165
1155
 
1166
 
     <br><dt><code>--with-netlib[=libs]</code>
1167
 
     <dd>
 
1156
     <br><dt><code>--with-netlib[=libs]</code><dd>
1168
1157
Allows for suppression of or replacement of network libraries. By
1169
1158
default, Kerberos V5 configuration will look for <code>-lnsl</code> and
1170
1159
<code>-lsocket</code>. If your operating system has a broken resolver library
1171
 
(see <a href="#Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>) or fails to pass the tests in
1172
 
<code>src/tests/resolv</code> you will need to use this option.
 
1160
(see <a href="#Solaris-versions-2_002e0-through-2_002e3">Solaris versions 2.0 through 2.3</a>) or fails to pass the tests in
 
1161
<samp><span class="file">src/tests/resolv</span></samp> you will need to use this option.
1173
1162
 
1174
 
     <br><dt><code>--with-tcl=TCLPATH</code>
1175
 
     <dd>
 
1163
     <br><dt><code>--with-tcl=TCLPATH</code><dd>
1176
1164
Some of the unit-tests in the build tree rely upon using a program in
1177
1165
Tcl. The directory specified by <code>TCLPATH</code> specifies where the Tcl
1178
 
header file (<code>TCLPATH/include/tcl.h</code> as well as where the Tcl
1179
 
library should be found (<code>TCLPATH/lib</code>).
 
1166
header file (<samp><span class="file">TCLPATH/include/tcl.h</span></samp> as well as where the Tcl
 
1167
library should be found (<samp><span class="file">TCLPATH/lib</span></samp>).
1180
1168
 
1181
 
     <br><dt><code>--enable-shared</code>
1182
 
     <dd>
 
1169
     <br><dt><code>--enable-shared</code><dd>
1183
1170
This option will turn on the building and use of shared library objects
1184
1171
in the Kerberos build. This option is only supported on certain
1185
1172
platforms.
1186
1173
 
1187
 
     <br><dt><code>--enable-dns</code>
1188
 
     <dd><br><dt><code>--enable-dns-for-kdc</code>
1189
 
     <dd><br><dt><code>--enable-dns-for-realm</code>
1190
 
     <dd>
 
1174
     <br><dt><code>--enable-dns</code><br><dt><code>--enable-dns-for-kdc</code><br><dt><code>--enable-dns-for-realm</code><dd>
1191
1175
Enable the use of DNS to look up a host's Kerberos realm, or a realm's
1192
 
KDCs, if the information is not provided in krb5.conf. See <a href="#Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a> for information about using DNS to
1193
 
locate the KDCs, and <a href="#Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a> for
 
1176
KDCs, if the information is not provided in krb5.conf. See <a href="#Hostnames-for-the-Master-and-Slave-KDCs">Hostnames for the Master and Slave KDCs</a> for information about using DNS to
 
1177
locate the KDCs, and <a href="#Mapping-Hostnames-onto-Kerberos-Realms">Mapping Hostnames onto Kerberos Realms</a> for
1194
1178
information about using DNS to determine the default realm.  By default,
1195
1179
DNS lookups are enabled for the former but not for the latter.
1196
1180
 
1197
 
     <br><dt><code>--disable-kdc-lookaside-cache</code>
1198
 
     <dd>
 
1181
     <br><dt><code>--disable-kdc-lookaside-cache</code><dd>
1199
1182
Disables the cache in the KDC which detects retransmitted client
1200
1183
requests and resends the previous responses to them.
1201
1184
 
1202
 
     <br><dt><code>--with-system-et</code>
1203
 
     <dd>
 
1185
     <br><dt><code>--with-system-et</code><dd>
1204
1186
Use an installed version of the error-table support software, the
1205
 
<code>compile_et</code> program, the <code>com_err.h</code> header file and the
1206
 
<code>com_err</code> library.  If these are not in the default locations,
 
1187
&lsquo;<samp><span class="samp">compile_et</span></samp>&rsquo; program, the <samp><span class="file">com_err.h</span></samp> header file and the
 
1188
<samp><span class="file">com_err</span></samp> library.  If these are not in the default locations,
1207
1189
you may wish to specify <code>CPPFLAGS=-I/some/dir</code> and
1208
1190
<code>LDFLAGS=-L/some/other/dir</code> options at configuration time as
1209
1191
well.
1212
1194
sources will be built and installed along with the rest of the
1213
1195
Kerberos tree, for Kerberos applications to link against.
1214
1196
 
1215
 
     <br><dt><code>--with-system-ss</code>
1216
 
     <dd>
 
1197
     <br><dt><code>--with-system-ss</code><dd>
1217
1198
Use an installed version of the subsystem command-line interface
1218
 
software, the <code>mk_cmds</code> program, the <code>ss/ss.h</code> header file
1219
 
and the <code>ss</code> library.  If these are not in the default locations,
 
1199
software, the &lsquo;<samp><span class="samp">mk_cmds</span></samp>&rsquo; program, the <samp><span class="file">ss/ss.h</span></samp> header file
 
1200
and the <samp><span class="file">ss</span></samp> library.  If these are not in the default locations,
1220
1201
you may wish to specify <code>CPPFLAGS=-I/some/dir</code> and
1221
1202
<code>LDFLAGS=-L/some/other/dir</code> options at configuration time as
1222
 
well.  See also the <code>SS_LIB</code> option.
 
1203
well.  See also the &lsquo;<samp><span class="samp">SS_LIB</span></samp>&rsquo; option.
1223
1204
 
1224
 
     <p>If this option is not given, the <code>ss</code> library supplied with the
 
1205
     <p>If this option is not given, the <samp><span class="file">ss</span></samp> library supplied with the
1225
1206
Kerberos sources will be compiled and linked into those programs that
1226
1207
need it; it will not be installed separately.
1227
1208
 
1228
 
     <br><dt><code>SS_LIB=libs...</code>
1229
 
     <dd>
1230
 
If <code>-lss</code> is not the correct way to link in your installed
1231
 
<code>ss</code> library, for example if additional support libraries are
 
1209
     <br><dt><code>SS_LIB=libs...</code><dd>
 
1210
If &lsquo;<samp><span class="samp">-lss</span></samp>&rsquo; is not the correct way to link in your installed
 
1211
<samp><span class="file">ss</span></samp> library, for example if additional support libraries are
1232
1212
needed, specify the correct link options here.  Some variants of this
1233
1213
library are around which allow for Emacs-like line editing, but
1234
1214
different versions require different support libraries to be
1235
1215
explicitly specified.
1236
1216
 
1237
 
     <p>This option is ignored if <code>--with-system-ss</code> is not specified.
 
1217
     <p>This option is ignored if &lsquo;<samp><span class="samp">--with-system-ss</span></samp>&rsquo; is not specified.
1238
1218
 
1239
 
     <br><dt><code>--with-system-db</code>
1240
 
     <dd>
 
1219
     <br><dt><code>--with-system-db</code><dd>
1241
1220
Use an installed version of the Berkeley DB package, which must
1242
1221
provide an API compatible with version 1.85.  This option is
1243
1222
<em>unsupported</em> and untested.  In particular, we do not know if the
1249
1228
version at this time because of licensing issues with newer versions
1250
1229
that we haven't investigated sufficiently yet.)
1251
1230
 
1252
 
     <br><dt><code>DB_HEADER=headername.h</code>
1253
 
     <dd>
1254
 
If <code>db.h</code> is not the correct header file to include to compile
 
1231
     <br><dt><code>DB_HEADER=headername.h</code><dd>
 
1232
If &lsquo;<samp><span class="samp">db.h</span></samp>&rsquo; is not the correct header file to include to compile
1255
1233
against the Berkeley DB 1.85 API, specify the correct header file name
1256
 
with this option.  For example, <code>DB_HEADER=db3/db_185.h</code>.
 
1234
with this option.  For example, &lsquo;<samp><span class="samp">DB_HEADER=db3/db_185.h</span></samp>&rsquo;.
1257
1235
 
1258
 
     <br><dt><code>DB_LIB=libs...</code>
1259
 
     <dd>
1260
 
If <code>-ldb</code> is not the correct library specification for the
 
1236
     <br><dt><code>DB_LIB=libs...</code><dd>
 
1237
If &lsquo;<samp><span class="samp">-ldb</span></samp>&rsquo; is not the correct library specification for the
1261
1238
Berkeley DB library version to be used, override it with this option. 
1262
 
For example, <code>DB_LIB=-ldb-3.3</code>.
 
1239
For example, &lsquo;<samp><span class="samp">DB_LIB=-ldb-3.3</span></samp>&rsquo;.
1263
1240
 
1264
 
     <br><dt><code>--with-crypto-impl=IMPL</code>
1265
 
     <dd>
 
1241
     <br><dt><code>--with-crypto-impl=IMPL</code><dd>
1266
1242
Use specified crypto implementation in lieu of the default builtin. 
1267
1243
Currently only one alternative crypto-system openssl is available and
1268
1244
it requires version 1.0.0 or higher of OpenSSL.
1270
1246
</dl>
1271
1247
 
1272
1248
<p>For example, in order to configure Kerberos on a Solaris machine using
1273
 
the <code>suncc</code> compiler with the optimizer turned on, run the configure
 
1249
the &lsquo;<samp><span class="samp">suncc</span></samp>&rsquo; compiler with the optimizer turned on, run the configure
1274
1250
script with the following options:
1275
1251
 
1276
1252
<pre class="example">     % ./configure CC=suncc CFLAGS=-O
1277
 
     </pre>
1278
 
 
 
1253
</pre>
1279
1254
<p>For a slightly more complicated example, consider a system where
1280
1255
several packages to be used by Kerberos are installed in
1281
 
<code>/usr/foobar</code>, including Berkeley DB 3.3, and an <code>ss</code>
1282
 
library that needs to link against the <code>curses</code> library.  The
 
1256
&lsquo;<samp><span class="samp">/usr/foobar</span></samp>&rsquo;, including Berkeley DB 3.3, and an &lsquo;<samp><span class="samp">ss</span></samp>&rsquo;
 
1257
library that needs to link against the &lsquo;<samp><span class="samp">curses</span></samp>&rsquo; library.  The
1283
1258
configuration of Kerberos might be done thus:
1284
1259
 
1285
1260
<pre class="example">     % ./configure CPPFLAGS=-I/usr/foobar/include LDFLAGS=-L/usr/foobar/lib \
1286
1261
                   --with-system-et --with-system-ss --with-system-db \
1287
1262
                   SS_LIB='-lss -lcurses' \
1288
1263
                   DB_HEADER=db3/db_185.h DB_LIB=-ldb-3.3
1289
 
     </pre>
1290
 
 
 
1264
</pre>
1291
1265
<p>In previous releases, <code>--with-</code> options were used to specify the
1292
1266
compiler and linker and their options.
1293
1267
 
1294
1268
<div class="node">
 
1269
<a name="osconf.h"></a>
 
1270
<a name="osconf_002eh"></a>
1295
1271
<p><hr>
1296
 
Node:<a name="osconf.h">osconf.h</a>,
1297
 
Next:<a rel="next" accesskey="n" href="#Shared%20Library%20Support">Shared Library Support</a>,
1298
 
Previous:<a rel="previous" accesskey="p" href="#Options%20to%20Configure">Options to Configure</a>,
1299
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
1300
 
<br>
 
1272
Next:&nbsp;<a rel="next" accesskey="n" href="#Shared-Library-Support">Shared Library Support</a>,
 
1273
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Options-to-Configure">Options to Configure</a>,
 
1274
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
1275
 
1301
1276
</div>
1302
1277
 
1303
 
<h3 class="section"><code>osconf.h</code></h3>
 
1278
<h3 class="section">3.8 <samp><span class="file">osconf.h</span></samp></h3>
1304
1279
 
1305
1280
<p>There is one configuration file which you may wish to edit to control
1306
1281
various compile-time parameters in the Kerberos distribution:
1307
 
<code>include/stock/osconf.h</code>. The list that follows is by no means
 
1282
<samp><span class="file">include/stock/osconf.h</span></samp>. The list that follows is by no means
1308
1283
complete, just some of the more interesting variables.
1309
1284
 
1310
 
<p>Please note: The former configuration file <code>config.h</code> no longer
 
1285
<p>Please note: The former configuration file <samp><span class="file">config.h</span></samp> no longer
1311
1286
exists as its functionality has been merged into the auto-configuration
1312
 
process. See <a href="#Options%20to%20Configure">Options to Configure</a>.
 
1287
process. See <a href="#Options-to-Configure">Options to Configure</a>.
1313
1288
 
1314
1289
     <dl>
1315
 
 
1316
 
     <br><dt><code>DEFAULT_PROFILE_PATH</code>
1317
 
     <dd>
 
1290
<dt><code>DEFAULT_PROFILE_PATH</code><dd>
1318
1291
The pathname to the file which contains the profiles for the known realms,
1319
1292
their KDCs, etc.  The default value is /etc/krb5.conf.
1320
1293
 
1321
1294
     <p>The profile file format is no longer the same format as Kerberos V4's
1322
 
<code>krb.conf</code> file.
 
1295
<samp><span class="file">krb.conf</span></samp> file.
1323
1296
 
1324
 
     <br><dt><code>DEFAULT_KEYTAB_NAME</code>
1325
 
     <dd>
 
1297
     <br><dt><code>DEFAULT_KEYTAB_NAME</code><dd>
1326
1298
The type and pathname to the default server keytab file (the
1327
 
equivalent of Kerberos V4's <code>/etc/srvtab</code>).  The default is
 
1299
equivalent of Kerberos V4's <samp><span class="file">/etc/srvtab</span></samp>).  The default is
1328
1300
/etc/krb5.keytab.
1329
1301
 
1330
 
     <br><dt><code>DEFAULT_KDC_ENCTYPE</code>
1331
 
     <dd>
 
1302
     <br><dt><code>DEFAULT_KDC_ENCTYPE</code><dd>
1332
1303
The default encryption type for the KDC.  The default value is
1333
1304
des3-cbc-sha1.
1334
1305
 
1335
 
     <br><dt><code>KDCRCACHE</code>
1336
 
     <dd>
 
1306
     <br><dt><code>KDCRCACHE</code><dd>
1337
1307
The name of the replay cache used by the KDC.  The default value is
1338
1308
krb5kdc_rcache.
1339
1309
 
1340
 
     <br><dt><code>RCTMPDIR</code>
1341
 
     <dd>
 
1310
     <br><dt><code>RCTMPDIR</code><dd>
1342
1311
The directory which stores replay caches.  The default is to try
1343
1312
/var/tmp, /usr/tmp, /var/usr/tmp, and /tmp.
1344
1313
 
1345
 
     <br><dt><code>DEFAULT_KDB_FILE</code>
1346
 
     <dd>
 
1314
     <br><dt><code>DEFAULT_KDB_FILE</code><dd>
1347
1315
The location of the default database.  The default value is
1348
1316
/usr/local/var/krb5kdc/principal.
1349
1317
 
1350
1318
</dl>
1351
1319
 
1352
1320
<div class="node">
 
1321
<a name="Shared-Library-Support"></a>
1353
1322
<p><hr>
1354
 
Node:<a name="Shared%20Library%20Support">Shared Library Support</a>,
1355
 
Next:<a rel="next" accesskey="n" href="#OS%20Incompatibilities">OS Incompatibilities</a>,
1356
 
Previous:<a rel="previous" accesskey="p" href="#osconf.h">osconf.h</a>,
1357
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
1358
 
<br>
 
1323
Next:&nbsp;<a rel="next" accesskey="n" href="#OS-Incompatibilities">OS Incompatibilities</a>,
 
1324
Previous:&nbsp;<a rel="previous" accesskey="p" href="#osconf_002eh">osconf.h</a>,
 
1325
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
1326
 
1359
1327
</div>
1360
1328
 
1361
 
<h3 class="section">Shared Library Support</h3>
 
1329
<h3 class="section">3.9 Shared Library Support</h3>
1362
1330
 
1363
1331
<p>Shared library support is provided for a few operating systems. There
1364
1332
are restrictions as to which compiler to use when using shared
1383
1351
(i386).
1384
1352
 
1385
1353
<p>To enable shared libraries on the above platforms, run the configure
1386
 
script with the option <code>--enable-shared</code>.
 
1354
script with the option &lsquo;<samp><span class="samp">--enable-shared</span></samp>&rsquo;.
1387
1355
 
1388
1356
<div class="node">
 
1357
<a name="OS-Incompatibilities"></a>
1389
1358
<p><hr>
1390
 
Node:<a name="OS%20Incompatibilities">OS Incompatibilities</a>,
1391
 
Next:<a rel="next" accesskey="n" href="#Using%20Autoconf">Using Autoconf</a>,
1392
 
Previous:<a rel="previous" accesskey="p" href="#Shared%20Library%20Support">Shared Library Support</a>,
1393
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
1394
 
<br>
 
1359
Next:&nbsp;<a rel="next" accesskey="n" href="#Using-Autoconf">Using Autoconf</a>,
 
1360
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Shared-Library-Support">Shared Library Support</a>,
 
1361
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
1362
 
1395
1363
</div>
1396
1364
 
1397
 
<h3 class="section">Operating System Incompatibilities</h3>
 
1365
<h3 class="section">3.10 Operating System Incompatibilities</h3>
1398
1366
 
1399
1367
<p>This section details operating system incompatibilities with Kerberos V5
1400
1368
which have been reported to the developers at MIT.  If you find
1403
1371
Thanks!
1404
1372
 
1405
1373
<ul class="menu">
1406
 
<li><a accesskey="1" href="#AIX">AIX</a>: 
1407
 
<li><a accesskey="2" href="#Alpha%20OSF%2f1%20V1.3">Alpha OSF/1 V1.3</a>: 
1408
 
<li><a accesskey="3" href="#Alpha%20OSF%2f1%20V2.0">Alpha OSF/1 V2.0</a>: 
1409
 
<li><a accesskey="4" href="#Alpha%20OSF%2f1%20V4.0">Alpha OSF/1 V4.0</a>: 
1410
 
<li><a accesskey="5" href="#BSDI">BSDI</a>: 
1411
 
<li><a accesskey="6" href="#HPUX">HPUX</a>: 
1412
 
<li><a accesskey="7" href="#Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>: 
1413
 
<li><a accesskey="8" href="#Solaris%202.X">Solaris 2.X</a>: 
1414
 
<li><a accesskey="9" href="#Solaris%209">Solaris 9</a>: 
1415
 
<li><a href="#SGI%20Irix%205.X">SGI Irix 5.X</a>: 
1416
 
<li><a href="#Ultrix%204.2%2f3">Ultrix 4.2/3</a>: 
 
1374
<li><a accesskey="1" href="#AIX">AIX</a>
 
1375
<li><a accesskey="2" href="#Alpha-OSF_002f1-V1_002e3">Alpha OSF/1 V1.3</a>
 
1376
<li><a accesskey="3" href="#Alpha-OSF_002f1-V2_002e0">Alpha OSF/1 V2.0</a>
 
1377
<li><a accesskey="4" href="#Alpha-OSF_002f1-V4_002e0">Alpha OSF/1 V4.0</a>
 
1378
<li><a accesskey="5" href="#BSDI">BSDI</a>
 
1379
<li><a accesskey="6" href="#HPUX">HPUX</a>
 
1380
<li><a accesskey="7" href="#Solaris-versions-2_002e0-through-2_002e3">Solaris versions 2.0 through 2.3</a>
 
1381
<li><a accesskey="8" href="#Solaris-2_002eX">Solaris 2.X</a>
 
1382
<li><a accesskey="9" href="#Solaris-9">Solaris 9</a>
 
1383
<li><a href="#SGI-Irix-5_002eX">SGI Irix 5.X</a>
 
1384
<li><a href="#Ultrix-4_002e2_002f3">Ultrix 4.2/3</a>
1417
1385
</ul>
1418
1386
 
1419
1387
<div class="node">
 
1388
<a name="AIX"></a>
1420
1389
<p><hr>
1421
 
Node:<a name="AIX">AIX</a>,
1422
 
Next:<a rel="next" accesskey="n" href="#Alpha%20OSF%2f1%20V1.3">Alpha OSF/1 V1.3</a>,
1423
 
Previous:<a rel="previous" accesskey="p" href="#OS%20Incompatibilities">OS Incompatibilities</a>,
1424
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1425
 
<br>
 
1390
Next:&nbsp;<a rel="next" accesskey="n" href="#Alpha-OSF_002f1-V1_002e3">Alpha OSF/1 V1.3</a>,
 
1391
Previous:&nbsp;<a rel="previous" accesskey="p" href="#OS-Incompatibilities">OS Incompatibilities</a>,
 
1392
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1393
 
1426
1394
</div>
1427
1395
 
1428
 
<h4 class="subsection">AIX</h4>
 
1396
<h4 class="subsection">3.10.1 AIX</h4>
1429
1397
 
1430
1398
<p>The AIX 3.2.5 linker dumps core trying to build a shared
1431
 
<code>libkrb5.a</code> produced with the GNU C compiler.  The native AIX
 
1399
&lsquo;<samp><span class="samp">libkrb5.a</span></samp>&rsquo; produced with the GNU C compiler.  The native AIX
1432
1400
compiler works fine.  This problem is fixed using the AIX 4.1 linker.
1433
1401
 
1434
1402
<div class="node">
 
1403
<a name="Alpha-OSF%2f1-V1.3"></a>
 
1404
<a name="Alpha-OSF_002f1-V1_002e3"></a>
1435
1405
<p><hr>
1436
 
Node:<a name="Alpha%20OSF%2f1%20V1.3">Alpha OSF/1 V1.3</a>,
1437
 
Next:<a rel="next" accesskey="n" href="#Alpha%20OSF%2f1%20V2.0">Alpha OSF/1 V2.0</a>,
1438
 
Previous:<a rel="previous" accesskey="p" href="#AIX">AIX</a>,
1439
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1440
 
<br>
 
1406
Next:&nbsp;<a rel="next" accesskey="n" href="#Alpha-OSF_002f1-V2_002e0">Alpha OSF/1 V2.0</a>,
 
1407
Previous:&nbsp;<a rel="previous" accesskey="p" href="#AIX">AIX</a>,
 
1408
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1409
 
1441
1410
</div>
1442
1411
 
1443
 
<h4 class="subsection">Alpha OSF/1 V1.3</h4>
 
1412
<h4 class="subsection">3.10.2 Alpha OSF/1 V1.3</h4>
1444
1413
 
1445
 
<p>Using the native compiler, compiling with the <code>-O</code> compiler flag
 
1414
<p>Using the native compiler, compiling with the &lsquo;<samp><span class="samp">-O</span></samp>&rsquo; compiler flag
1446
1415
causes the <code>asn.1</code> library to be compiled incorrectly.
1447
1416
 
1448
1417
<p>Using GCC version 2.6.3 or later instead of the native compiler will also work
1449
1418
fine, both with or without optimization.
1450
1419
 
1451
1420
<div class="node">
 
1421
<a name="Alpha-OSF%2f1-V2.0"></a>
 
1422
<a name="Alpha-OSF_002f1-V2_002e0"></a>
1452
1423
<p><hr>
1453
 
Node:<a name="Alpha%20OSF%2f1%20V2.0">Alpha OSF/1 V2.0</a>,
1454
 
Next:<a rel="next" accesskey="n" href="#Alpha%20OSF%2f1%20V4.0">Alpha OSF/1 V4.0</a>,
1455
 
Previous:<a rel="previous" accesskey="p" href="#Alpha%20OSF%2f1%20V1.3">Alpha OSF/1 V1.3</a>,
1456
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1457
 
<br>
 
1424
Next:&nbsp;<a rel="next" accesskey="n" href="#Alpha-OSF_002f1-V4_002e0">Alpha OSF/1 V4.0</a>,
 
1425
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Alpha-OSF_002f1-V1_002e3">Alpha OSF/1 V1.3</a>,
 
1426
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1427
 
1458
1428
</div>
1459
1429
 
1460
 
<h4 class="subsection">Alpha OSF/1 V2.0</h4>
 
1430
<h4 class="subsection">3.10.3 Alpha OSF/1 V2.0</h4>
1461
1431
 
1462
1432
<p>There used to be a bug when using the native compiler in compiling
1463
 
<code>md4.c</code> when compiled without either the <code>-O</code> or <code>-g</code>
 
1433
<samp><span class="file">md4.c</span></samp> when compiled without either the &lsquo;<samp><span class="samp">-O</span></samp>&rsquo; or &lsquo;<samp><span class="samp">-g</span></samp>&rsquo;
1464
1434
compiler options.  We have changed the code and there is no problem
1465
1435
under V2.1, but we do not have access to V2.0 to test and see if the
1466
1436
problem would exist there. (We welcome feedback on this issue). There
1470
1440
this sort of problem with the native compiler.
1471
1441
 
1472
1442
<div class="node">
 
1443
<a name="Alpha-OSF%2f1-V4.0"></a>
 
1444
<a name="Alpha-OSF_002f1-V4_002e0"></a>
1473
1445
<p><hr>
1474
 
Node:<a name="Alpha%20OSF%2f1%20V4.0">Alpha OSF/1 V4.0</a>,
1475
 
Next:<a rel="next" accesskey="n" href="#BSDI">BSDI</a>,
1476
 
Previous:<a rel="previous" accesskey="p" href="#Alpha%20OSF%2f1%20V2.0">Alpha OSF/1 V2.0</a>,
1477
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1478
 
<br>
 
1446
Next:&nbsp;<a rel="next" accesskey="n" href="#BSDI">BSDI</a>,
 
1447
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Alpha-OSF_002f1-V2_002e0">Alpha OSF/1 V2.0</a>,
 
1448
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1449
 
1479
1450
</div>
1480
1451
 
1481
 
<h4 class="subsection">Alpha OSF/1 (Digital UNIX) V4.0</h4>
 
1452
<h4 class="subsection">3.10.4 Alpha OSF/1 (Digital UNIX) V4.0</h4>
1482
1453
 
1483
1454
<p>The C compiler provided with Alpha OSF/1 V4.0 (a.k.a. Digital UNIX)
1484
1455
defaults to an extended K&amp;R C mode, not ANSI C.  You need to provide
1485
 
the <code>-std</code> argument to the compiler (i.e., <code>./configure
1486
 
CC='cc -std'</code>) to enable extended ANSI C mode.  More recent versions
 
1456
the &lsquo;<samp><span class="samp">-std</span></samp>&rsquo; argument to the compiler (i.e., &lsquo;<samp><span class="samp">./configure
 
1457
CC='cc -std'</span></samp>&rsquo;) to enable extended ANSI C mode.  More recent versions
1487
1458
of the operating system, such as 5.0, seem to have C compilers which
1488
 
default to <code>-std</code>.
 
1459
default to &lsquo;<samp><span class="samp">-std</span></samp>&rsquo;.
1489
1460
 
 
1461
<!-- @node Alpha Tru64 UNIX 5.0 -->
 
1462
<!-- @subsection Alpha Tru64 UNIX 5.0 -->
 
1463
<!-- ... login.krb5 problems -->
1490
1464
<div class="node">
 
1465
<a name="BSDI"></a>
1491
1466
<p><hr>
1492
 
Node:<a name="BSDI">BSDI</a>,
1493
 
Next:<a rel="next" accesskey="n" href="#HPUX">HPUX</a>,
1494
 
Previous:<a rel="previous" accesskey="p" href="#Alpha%20OSF%2f1%20V4.0">Alpha OSF/1 V4.0</a>,
1495
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1496
 
<br>
 
1467
Next:&nbsp;<a rel="next" accesskey="n" href="#HPUX">HPUX</a>,
 
1468
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Alpha-OSF_002f1-V4_002e0">Alpha OSF/1 V4.0</a>,
 
1469
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1470
 
1497
1471
</div>
1498
1472
 
1499
 
<h4 class="subsection">BSDI</h4>
 
1473
<h4 class="subsection">3.10.5 BSDI</h4>
1500
1474
 
1501
 
<p>BSDI versions 1.0 and 1.1 reportedly has a bad <code>sed</code> which causes
 
1475
<p>BSDI versions 1.0 and 1.1 reportedly has a bad &lsquo;<samp><span class="samp">sed</span></samp>&rsquo; which causes
1502
1476
it to go into an infinite loop during the build.  The work around is
1503
 
to use a <code>sed</code> from somewhere else, such as GNU.  (This may be
 
1477
to use a &lsquo;<samp><span class="samp">sed</span></samp>&rsquo; from somewhere else, such as GNU.  (This may be
1504
1478
true for some versions of other systems derived from BSD 4.4, such as
1505
1479
NetBSD and FreeBSD.)
1506
1480
 
1507
1481
<div class="node">
 
1482
<a name="HPUX"></a>
1508
1483
<p><hr>
1509
 
Node:<a name="HPUX">HPUX</a>,
1510
 
Next:<a rel="next" accesskey="n" href="#Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>,
1511
 
Previous:<a rel="previous" accesskey="p" href="#BSDI">BSDI</a>,
1512
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1513
 
<br>
 
1484
Next:&nbsp;<a rel="next" accesskey="n" href="#Solaris-versions-2_002e0-through-2_002e3">Solaris versions 2.0 through 2.3</a>,
 
1485
Previous:&nbsp;<a rel="previous" accesskey="p" href="#BSDI">BSDI</a>,
 
1486
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1487
 
1514
1488
</div>
1515
1489
 
1516
 
<h4 class="subsection">HPUX</h4>
 
1490
<h4 class="subsection">3.10.6 HPUX</h4>
1517
1491
 
1518
1492
<p>The native (bundled) compiler for HPUX currently will not work,
1519
1493
because it is not a full ANSI C compiler.  The optional ANSI C
1520
 
compiler should work as long as you give it the <code>-Ae</code> flag
1521
 
(i.e. <code>./configure CC='cc -Ae'</code>).  This is equivalent to
1522
 
<code>./configure CC='c89 -D_HPUX_SOURCE'</code>, which was the previous
 
1494
compiler should work as long as you give it the &lsquo;<samp><span class="samp">-Ae</span></samp>&rsquo; flag
 
1495
(i.e. &lsquo;<samp><span class="samp">./configure CC='cc -Ae'</span></samp>&rsquo;).  This is equivalent to
 
1496
&lsquo;<samp><span class="samp">./configure CC='c89 -D_HPUX_SOURCE'</span></samp>&rsquo;, which was the previous
1523
1497
recommendation.  This has only been tested recently for HPUX 10.20.
1524
1498
 
1525
 
<p>You will need to configure with <code>--disable-shared
1526
 
--enable-static</code>, because as of 1.4 we don't have support for HPUX
 
1499
<p>You will need to configure with &lsquo;<samp><span class="samp">--disable-shared
 
1500
--enable-static</span></samp>&rsquo;, because as of 1.4 we don't have support for HPUX
1527
1501
shared library finalization routines, nor the option (yet) to ignore
1528
1502
that lack of support (which means repeated
1529
1503
<code>dlopen</code>/<code>dlclose</code> cycles on the Kerberos libraries may not
1530
1504
be safe) and build the shared libraries anyways.
1531
1505
 
1532
1506
<p>You will also need to configure the build tree with
1533
 
<code>--disable-thread-support</code> if you are on HPUX 10 and do not have
 
1507
&lsquo;<samp><span class="samp">--disable-thread-support</span></samp>&rsquo; if you are on HPUX 10 and do not have
1534
1508
the DCE development package installed, because that's where the
1535
1509
<code>pthread.h</code> header file is found.  (We don't know if our code
1536
1510
will work with such a package installed, because according to some HP
1542
1516
<code>__hpux</code>.
1543
1517
 
1544
1518
<div class="node">
 
1519
<a name="Solaris-versions-2.0-through-2.3"></a>
 
1520
<a name="Solaris-versions-2_002e0-through-2_002e3"></a>
1545
1521
<p><hr>
1546
 
Node:<a name="Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>,
1547
 
Next:<a rel="next" accesskey="n" href="#Solaris%202.X">Solaris 2.X</a>,
1548
 
Previous:<a rel="previous" accesskey="p" href="#HPUX">HPUX</a>,
1549
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1550
 
<br>
 
1522
Next:&nbsp;<a rel="next" accesskey="n" href="#Solaris-2_002eX">Solaris 2.X</a>,
 
1523
Previous:&nbsp;<a rel="previous" accesskey="p" href="#HPUX">HPUX</a>,
 
1524
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1525
 
1551
1526
</div>
1552
1527
 
1553
 
<h4 class="subsection">Solaris versions 2.0 through 2.3</h4>
 
1528
<h4 class="subsection">3.10.7 Solaris versions 2.0 through 2.3</h4>
1554
1529
 
1555
1530
<p>The <code>gethostbyname()</code> routine is broken; it does not return a fully
1556
1531
qualified domain name, even if you are using the Domain Name Service
1557
1532
routines.  Since Kerberos V5 uses the fully qualified domain name as the
1558
1533
second component of a service principal (i.e,
1559
 
<code>host/tsx-11.mit.edu@ATHENA.MIT.EDU</code>), this causes problems for servers
 
1534
&lsquo;<samp><span class="samp">host/tsx-11.mit.edu@ATHENA.MIT.EDU</span></samp>&rsquo;), this causes problems for servers
1560
1535
who try to figure out their own fully qualified domain name.
1561
1536
 
1562
1537
<p>Workarounds:
1571
1546
     <li>   Make sure your /etc/nsswitch.conf has `files' before `dns' like:
1572
1547
 
1573
1548
     <pre class="example">          hosts:      files dns
1574
 
          </pre>
1575
 
 
 
1549
</pre>
1576
1550
     <p>and then in /etc/hosts, make sure there is a line with your
1577
1551
workstation's IP address and hostname, with the fully qualified domain
1578
1552
name first.  Example:
1579
1553
 
1580
1554
     <pre class="example">          18.172.1.4      dcl.mit.edu dcl
1581
 
          </pre>
1582
 
 
 
1555
</pre>
1583
1556
     <p>Note that making this change may cause other programs in your
1584
1557
environment to break or behave differently.
1585
1558
 
1586
1559
     </ol>
1587
1560
 
1588
1561
<div class="node">
 
1562
<a name="Solaris-2.X"></a>
 
1563
<a name="Solaris-2_002eX"></a>
1589
1564
<p><hr>
1590
 
Node:<a name="Solaris%202.X">Solaris 2.X</a>,
1591
 
Next:<a rel="next" accesskey="n" href="#Solaris%209">Solaris 9</a>,
1592
 
Previous:<a rel="previous" accesskey="p" href="#Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>,
1593
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1594
 
<br>
 
1565
Next:&nbsp;<a rel="next" accesskey="n" href="#Solaris-9">Solaris 9</a>,
 
1566
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Solaris-versions-2_002e0-through-2_002e3">Solaris versions 2.0 through 2.3</a>,
 
1567
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1568
 
1595
1569
</div>
1596
1570
 
1597
 
<h4 class="subsection">Solaris 2.X</h4>
 
1571
<h4 class="subsection">3.10.8 Solaris 2.X</h4>
1598
1572
 
1599
1573
<p>You <b>must</b> compile Kerberos V5 without the UCB compatibility
1600
 
libraries.  This means that <code>/usr/ucblib</code> must not be in the
 
1574
libraries.  This means that <samp><span class="file">/usr/ucblib</span></samp> must not be in the
1601
1575
LD_LIBRARY_PATH environment variable when you compile it.  Alternatively
1602
 
you can use the <code>-i</code> option to <code>cc</code>, by using the specifying
1603
 
<code>CFLAGS=-i</code> option to <code>configure</code>.
 
1576
you can use the <code>-i</code> option to &lsquo;<samp><span class="samp">cc</span></samp>&rsquo;, by using the specifying
 
1577
<code>CFLAGS=-i</code> option to &lsquo;<samp><span class="samp">configure</span></samp>&rsquo;.
1604
1578
 
1605
1579
<p>If you are compiling for a 64-bit execution environment, you may need
1606
1580
to configure with the option <code>CFLAGS="-D_XOPEN_SOURCE=500
1608
1582
with the 32-bit execution environment.
1609
1583
 
1610
1584
<div class="node">
 
1585
<a name="Solaris-9"></a>
1611
1586
<p><hr>
1612
 
Node:<a name="Solaris%209">Solaris 9</a>,
1613
 
Next:<a rel="next" accesskey="n" href="#SGI%20Irix%205.X">SGI Irix 5.X</a>,
1614
 
Previous:<a rel="previous" accesskey="p" href="#Solaris%202.X">Solaris 2.X</a>,
1615
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1616
 
<br>
 
1587
Next:&nbsp;<a rel="next" accesskey="n" href="#SGI-Irix-5_002eX">SGI Irix 5.X</a>,
 
1588
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Solaris-2_002eX">Solaris 2.X</a>,
 
1589
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1590
 
1617
1591
</div>
1618
1592
 
1619
 
<h4 class="subsection">Solaris 9</h4>
 
1593
<h4 class="subsection">3.10.9 Solaris 9</h4>
1620
1594
 
1621
1595
<p>Solaris 9 has a kernel race condition which causes the final output
1622
1596
written to the slave side of a pty to be lost upon the final close()
1623
1597
of the slave device.  This causes the dejagnu-based tests to fail
1624
1598
intermittently.  A workaround exists, but requires some help from the
1625
 
scheduler, and the "make check" must be executed from a shell with
 
1599
scheduler, and the &ldquo;make check&rdquo; must be executed from a shell with
1626
1600
elevated priority limits.
1627
1601
 
1628
1602
<p>Run something like
1634
1608
 
1635
1609
<p>Sun has released kernel patches for this race condition.  Apply patch
1636
1610
117171-11 for sparc, or patch 117172-11 for x86.  Later revisions of
1637
 
the patches should also work.  It is not necessary to run "make
1638
 
check" from a shell with elevated priority limits once the patch has
 
1611
the patches should also work.  It is not necessary to run &ldquo;make
 
1612
check&rdquo; from a shell with elevated priority limits once the patch has
1639
1613
been applied.
1640
1614
 
1641
1615
<div class="node">
 
1616
<a name="SGI-Irix-5.X"></a>
 
1617
<a name="SGI-Irix-5_002eX"></a>
1642
1618
<p><hr>
1643
 
Node:<a name="SGI%20Irix%205.X">SGI Irix 5.X</a>,
1644
 
Next:<a rel="next" accesskey="n" href="#Ultrix%204.2%2f3">Ultrix 4.2/3</a>,
1645
 
Previous:<a rel="previous" accesskey="p" href="#Solaris%209">Solaris 9</a>,
1646
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1647
 
<br>
 
1619
Next:&nbsp;<a rel="next" accesskey="n" href="#Ultrix-4_002e2_002f3">Ultrix 4.2/3</a>,
 
1620
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Solaris-9">Solaris 9</a>,
 
1621
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1622
 
1648
1623
</div>
1649
1624
 
1650
 
<h4 class="subsection">SGI Irix 5.X</h4>
 
1625
<h4 class="subsection">3.10.10 SGI Irix 5.X</h4>
1651
1626
 
1652
1627
<p>If you are building in a tree separate from the source tree, the vendors
1653
1628
version of make does not work properly with regards to
1654
 
<code>VPATH</code>. It also has problems with standard inference rules in 5.2
 
1629
&lsquo;<samp><span class="samp">VPATH</span></samp>&rsquo;. It also has problems with standard inference rules in 5.2
1655
1630
(not tested yet in 5.3) so one needs to use GNU's make.
1656
1631
 
1657
1632
<p>Under 5.2, there is a bug in the optional System V <code>-lsocket</code>
1658
1633
library in which the routine <code>gethostbyname()</code> is broken. The
1659
1634
system supplied version in <code>-lc</code> appears to work though so one may
1660
 
simply specify <code>--with-netlib</code> option to <code>configure</code>.
 
1635
simply specify <code>--with-netlib</code> option to &lsquo;<samp><span class="samp">configure</span></samp>&rsquo;.
1661
1636
 
1662
1637
<p>In 5.3, <code>gethostbyname()</code> is no longer present in <code>-lsocket</code> and
1663
1638
is no longer an issue.
1664
1639
 
1665
1640
<div class="node">
 
1641
<a name="Ultrix-4.2%2f3"></a>
 
1642
<a name="Ultrix-4_002e2_002f3"></a>
1666
1643
<p><hr>
1667
 
Node:<a name="Ultrix%204.2%2f3">Ultrix 4.2/3</a>,
1668
 
Previous:<a rel="previous" accesskey="p" href="#SGI%20Irix%205.X">SGI Irix 5.X</a>,
1669
 
Up:<a rel="up" accesskey="u" href="#OS%20Incompatibilities">OS Incompatibilities</a>
1670
 
<br>
 
1644
Previous:&nbsp;<a rel="previous" accesskey="p" href="#SGI-Irix-5_002eX">SGI Irix 5.X</a>,
 
1645
Up:&nbsp;<a rel="up" accesskey="u" href="#OS-Incompatibilities">OS Incompatibilities</a>
 
1646
 
1671
1647
</div>
1672
1648
 
1673
 
<h4 class="subsection">Ultrix 4.2/3</h4>
 
1649
<h4 class="subsection">3.10.11 Ultrix 4.2/3</h4>
1674
1650
 
1675
1651
<p>The DEC MIPS platform currently will not support the native compiler,
1676
1652
since the Ultrix compiler is not a full ANSI C compiler.  You should use
1677
1653
GCC instead.
1678
1654
 
1679
1655
<div class="node">
 
1656
<a name="Using-Autoconf"></a>
1680
1657
<p><hr>
1681
 
Node:<a name="Using%20Autoconf">Using Autoconf</a>,
1682
 
Previous:<a rel="previous" accesskey="p" href="#OS%20Incompatibilities">OS Incompatibilities</a>,
1683
 
Up:<a rel="up" accesskey="u" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
1684
 
<br>
 
1658
Previous:&nbsp;<a rel="previous" accesskey="p" href="#OS-Incompatibilities">OS Incompatibilities</a>,
 
1659
Up:&nbsp;<a rel="up" accesskey="u" href="#Building-Kerberos-V5">Building Kerberos V5</a>
 
1660
 
1685
1661
</div>
1686
1662
 
1687
 
<h3 class="section">Using <code>Autoconf</code></h3>
 
1663
<h3 class="section">3.11 Using &lsquo;<samp><span class="samp">Autoconf</span></samp>&rsquo;</h3>
1688
1664
 
1689
1665
<p>(If you are not a developer, you can skip this section.)
1690
1666
 
1691
1667
<p>In most of the Kerberos V5 source directories, there is a
1692
 
<code>configure</code> script which automatically determines the compilation
 
1668
<samp><span class="file">configure</span></samp> script which automatically determines the compilation
1693
1669
environment and creates the proper Makefiles for a particular
1694
 
platform.  These <code>configure</code> files are generated using
1695
 
<code>autoconf</code>, which can be found in the <code>src/util/autoconf</code>
 
1670
platform.  These <samp><span class="file">configure</span></samp> files are generated using
 
1671
&lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo;, which can be found in the <samp><span class="file">src/util/autoconf</span></samp>
1696
1672
directory in the distribution.
1697
1673
 
1698
 
<p>Normal users will not need to worry about running <code>autoconf</code>; the
1699
 
distribution comes with the <code>configure</code> files already prebuilt. 
1700
 
Developers who wish to modify the <code>configure.in</code> files should see
 
1674
<p>Normal users will not need to worry about running &lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo;; the
 
1675
distribution comes with the <samp><span class="file">configure</span></samp> files already prebuilt. 
 
1676
Developers who wish to modify the <samp><span class="file">configure.in</span></samp> files should see
1701
1677
<a href="autoconf.html#Top">Overview</a>.
1702
1678
 
1703
 
<p>Note that in order to run <code>autoconf</code>, you must have GNU <code>m4</code>
1704
 
in your path.  Before you use the <code>autoconf</code> in the Kerberos V5
1705
 
source tree, you may also need to run <code>configure</code>, and then run
1706
 
<code>make</code> in the <code>src/util/autoconf</code> directory in order to
1707
 
properly set up <code>autoconf</code>.
 
1679
<p>Note that in order to run &lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo;, you must have GNU &lsquo;<samp><span class="samp">m4</span></samp>&rsquo;
 
1680
in your path.  Before you use the &lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo; in the Kerberos V5
 
1681
source tree, you may also need to run &lsquo;<samp><span class="samp">configure</span></samp>&rsquo;, and then run
 
1682
&lsquo;<samp><span class="samp">make</span></samp>&rsquo; in the <samp><span class="file">src/util/autoconf</span></samp> directory in order to
 
1683
properly set up &lsquo;<samp><span class="samp">autoconf</span></samp>&rsquo;.
1708
1684
 
1709
1685
<p>One tool which is provided for the convenience of developers can be
1710
 
found in <code>src/util/reconf</code>.  This program should be run while the
 
1686
found in <samp><span class="file">src/util/reconf</span></samp>.  This program should be run while the
1711
1687
current directory is the top source directory.  It will automatically
1712
 
rebuild any <code>configure</code> files which need rebuilding.  If you know
 
1688
rebuild any <samp><span class="file">configure</span></samp> files which need rebuilding.  If you know
1713
1689
that you have made a change that will require that all the
1714
 
<code>configure</code> files need to be rebuilt from scratch, specify the
 
1690
<samp><span class="file">configure</span></samp> files need to be rebuilt from scratch, specify the
1715
1691
<code>--force</code> option:
1716
1692
 
1717
 
<pre class="example">     % cd /u1/krb5-1.9/src
 
1693
<pre class="example">     % cd /u1/krb5-1.10/src
1718
1694
     % ./util/reconf --force
1719
 
     </pre>
1720
 
 
 
1695
</pre>
1721
1696
<p>The developmental sources are a raw source tree (before it's been packaged
1722
 
for public release), without the pre-built <code>configure</code> files. 
 
1697
for public release), without the pre-built <samp><span class="file">configure</span></samp> files. 
1723
1698
In order to build from such a source tree, you must do:
1724
1699
 
1725
1700
<pre class="example">     % cd krb5/util/autoconf
1727
1702
     % make
1728
1703
     % cd ../..
1729
1704
     % util/reconf
1730
 
     </pre>
1731
 
 
 
1705
</pre>
1732
1706
<p>Then follow the instructions for building packaged source trees (above). 
1733
1707
To install the binaries into a binary tree, do:
1734
1708
 
1735
 
<pre class="example">     % cd /u1/krb5-1.9/src
 
1709
<pre class="example">     % cd /u1/krb5-1.10/src
1736
1710
     % make all
1737
1711
     % make install DESTDIR=somewhere-else
1738
 
     </pre>
1739
 
 
 
1712
</pre>
1740
1713
<div class="node">
 
1714
<a name="Installing-Kerberos-V5"></a>
1741
1715
<p><hr>
1742
 
Node:<a name="Installing%20Kerberos%20V5">Installing Kerberos V5</a>,
1743
 
Next:<a rel="next" accesskey="n" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>,
1744
 
Previous:<a rel="previous" accesskey="p" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>,
1745
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
1746
 
<br>
 
1716
Next:&nbsp;<a rel="next" accesskey="n" href="#Upgrading-Existing-Kerberos-V5-Installations">Upgrading Existing Kerberos V5 Installations</a>,
 
1717
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Building-Kerberos-V5">Building Kerberos V5</a>,
 
1718
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
1719
 
1747
1720
</div>
1748
1721
 
1749
 
<h2 class="chapter">Installing Kerberos V5</h2>
 
1722
<h2 class="chapter">4 Installing Kerberos V5</h2>
1750
1723
 
1751
1724
<p>The sections of this chapter describe procedures for installing
1752
1725
Kerberos V5 on:
1760
1733
     </ol>
1761
1734
 
1762
1735
<ul class="menu">
1763
 
<li><a accesskey="1" href="#Installing%20KDCs">Installing KDCs</a>: 
1764
 
<li><a accesskey="2" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>: 
1765
 
<li><a accesskey="3" href="#UNIX%20Application%20Servers">UNIX Application Servers</a>: 
 
1736
<li><a accesskey="1" href="#Installing-KDCs">Installing KDCs</a>
 
1737
<li><a accesskey="2" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>
 
1738
<li><a accesskey="3" href="#UNIX-Application-Servers">UNIX Application Servers</a>
1766
1739
</ul>
1767
1740
 
1768
1741
<div class="node">
 
1742
<a name="Installing-KDCs"></a>
1769
1743
<p><hr>
1770
 
Node:<a name="Installing%20KDCs">Installing KDCs</a>,
1771
 
Next:<a rel="next" accesskey="n" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>,
1772
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>,
1773
 
Up:<a rel="up" accesskey="u" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>
1774
 
<br>
 
1744
Next:&nbsp;<a rel="next" accesskey="n" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>,
 
1745
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>,
 
1746
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>
 
1747
 
1775
1748
</div>
1776
1749
 
1777
 
<h3 class="section">Installing KDCs</h3>
 
1750
<h3 class="section">4.1 Installing KDCs</h3>
1778
1751
 
1779
1752
<p>The Key Distribution Centers (KDCs) issue Kerberos tickets.  Each KDC
1780
1753
contains a copy of the Kerberos database.  The master KDC contains the
1786
1759
administration.  This allows clients to continue to obtain tickets when
1787
1760
the master KDC is unavailable.
1788
1761
 
1789
 
MIT recommends that you install all of your KDCs to be able
 
1762
<p>MIT recommends that you install all of your KDCs to be able
1790
1763
to function as either the master or one of the slaves.  This will enable
1791
1764
you to easily switch your master KDC with one of the slaves if
1792
 
necessary.  (See <a href="#Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>.)  This installation
 
1765
necessary.  (See <a href="#Switching-Master-and-Slave-KDCs">Switching Master and Slave KDCs</a>.)  This installation
1793
1766
procedure is based on that recommendation.
1794
1767
 
1795
1768
<ul class="menu">
1796
 
<li><a accesskey="1" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>: 
1797
 
<li><a accesskey="2" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>: 
1798
 
<li><a accesskey="3" href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>: 
1799
 
<li><a accesskey="4" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>: 
1800
 
<li><a accesskey="5" href="#Add%20Kerberos%20Principals%20to%20the%20Database">Add Kerberos Principals to the Database</a>: 
1801
 
<li><a accesskey="6" href="#Limit%20Access%20to%20the%20KDCs">Limit Access to the KDCs</a>: 
1802
 
<li><a accesskey="7" href="#Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>: 
1803
 
<li><a accesskey="8" href="#Incremental%20Database%20Propagation">Incremental Database Propagation</a>: 
 
1769
<li><a accesskey="1" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
1770
<li><a accesskey="2" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>
 
1771
<li><a accesskey="3" href="#Back-on-the-Master-KDC">Back on the Master KDC</a>
 
1772
<li><a accesskey="4" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>
 
1773
<li><a accesskey="5" href="#Add-Kerberos-Principals-to-the-Database">Add Kerberos Principals to the Database</a>
 
1774
<li><a accesskey="6" href="#Limit-Access-to-the-KDCs">Limit Access to the KDCs</a>
 
1775
<li><a accesskey="7" href="#Switching-Master-and-Slave-KDCs">Switching Master and Slave KDCs</a>
 
1776
<li><a accesskey="8" href="#Incremental-Database-Propagation">Incremental Database Propagation</a>
1804
1777
</ul>
1805
1778
 
1806
1779
<div class="node">
 
1780
<a name="Install-the-Master-KDC"></a>
1807
1781
<p><hr>
1808
 
Node:<a name="Install%20the%20Master%20KDC">Install the Master KDC</a>,
1809
 
Next:<a rel="next" accesskey="n" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>,
1810
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20KDCs">Installing KDCs</a>,
1811
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
1812
 
<br>
 
1782
Next:&nbsp;<a rel="next" accesskey="n" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>,
 
1783
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-KDCs">Installing KDCs</a>,
 
1784
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
1785
 
1813
1786
</div>
1814
1787
 
1815
 
<h4 class="subsection">Install the Master KDC</h4>
 
1788
<h4 class="subsection">4.1.1 Install the Master KDC</h4>
1816
1789
 
1817
1790
<p>This installation procedure will require you to go back and forth a
1818
1791
couple of times between the master KDC and each of the slave KDCs.  The
1819
1792
first few steps must be done on the master KDC.
1820
1793
 
1821
1794
<ul class="menu">
1822
 
<li><a accesskey="1" href="#Edit%20the%20Configuration%20Files">Edit the Configuration Files</a>: 
1823
 
<li><a accesskey="2" href="#krb5.conf">krb5.conf</a>: 
1824
 
<li><a accesskey="3" href="#kdc.conf">kdc.conf</a>: 
1825
 
<li><a accesskey="4" href="#Create%20the%20Database">Create the Database</a>: 
1826
 
<li><a accesskey="5" href="#Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>: 
1827
 
<li><a accesskey="6" href="#Add%20Administrators%20to%20the%20Kerberos%20Database">Add Administrators to the Kerberos Database</a>: 
1828
 
<li><a accesskey="7" href="#Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>: 
1829
 
<li><a accesskey="8" href="#Start%20the%20Kerberos%20Daemons">Start the Kerberos Daemons</a>: 
 
1795
<li><a accesskey="1" href="#Edit-the-Configuration-Files">Edit the Configuration Files</a>
 
1796
<li><a accesskey="2" href="#krb5_002econf">krb5.conf</a>
 
1797
<li><a accesskey="3" href="#kdc_002econf">kdc.conf</a>
 
1798
<li><a accesskey="4" href="#Create-the-Database">Create the Database</a>
 
1799
<li><a accesskey="5" href="#Add-Administrators-to-the-Acl-File">Add Administrators to the Acl File</a>
 
1800
<li><a accesskey="6" href="#Add-Administrators-to-the-Kerberos-Database">Add Administrators to the Kerberos Database</a>
 
1801
<li><a accesskey="7" href="#Create-a-kadmind-Keytab-_0028optional_0029">Create a kadmind Keytab (optional)</a>
 
1802
<li><a accesskey="8" href="#Start-the-Kerberos-Daemons">Start the Kerberos Daemons</a>
1830
1803
</ul>
1831
1804
 
1832
1805
<div class="node">
 
1806
<a name="Edit-the-Configuration-Files"></a>
1833
1807
<p><hr>
1834
 
Node:<a name="Edit%20the%20Configuration%20Files">Edit the Configuration Files</a>,
1835
 
Next:<a rel="next" accesskey="n" href="#krb5.conf">krb5.conf</a>,
1836
 
Previous:<a rel="previous" accesskey="p" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>,
1837
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
1838
 
<br>
 
1808
Next:&nbsp;<a rel="next" accesskey="n" href="#krb5_002econf">krb5.conf</a>,
 
1809
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Install-the-Master-KDC">Install the Master KDC</a>,
 
1810
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
1811
 
1839
1812
</div>
1840
1813
 
1841
 
<h5 class="subsubsection">Edit the Configuration Files</h5>
 
1814
<h5 class="subsubsection">4.1.1.1 Edit the Configuration Files</h5>
1842
1815
 
1843
1816
<p>Modify the configuration files, <code>/etc/krb5.conf</code> and
1844
1817
<code>/usr/local/var/krb5kdc/kdc.conf</code> to reflect the correct
1854
1827
Guide sections on configuration files.
1855
1828
 
1856
1829
<div class="node">
 
1830
<a name="krb5.conf"></a>
 
1831
<a name="krb5_002econf"></a>
1857
1832
<p><hr>
1858
 
Node:<a name="krb5.conf">krb5.conf</a>,
1859
 
Next:<a rel="next" accesskey="n" href="#kdc.conf">kdc.conf</a>,
1860
 
Previous:<a rel="previous" accesskey="p" href="#Edit%20the%20Configuration%20Files">Edit the Configuration Files</a>,
1861
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
1862
 
<br>
 
1833
Next:&nbsp;<a rel="next" accesskey="n" href="#kdc_002econf">kdc.conf</a>,
 
1834
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Edit-the-Configuration-Files">Edit the Configuration Files</a>,
 
1835
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
1836
 
1863
1837
</div>
1864
1838
 
1865
 
<h5 class="subsubsection">krb5.conf</h5>
 
1839
<h5 class="subsubsection">4.1.1.2 krb5.conf</h5>
1866
1840
 
1867
1841
<p>The <code>krb5.conf</code> file contains Kerberos configuration information,
1868
1842
including the locations of KDCs and admin servers for the Kerberos
1870
1844
applications, and mappings of hostnames onto Kerberos realms.  Normally,
1871
1845
you should install your <code>krb5.conf</code> file in the directory
1872
1846
<code>/etc</code>.  You can override the default location by setting the
1873
 
environment variable <code>KRB5_CONFIG</code>.
 
1847
environment variable &lsquo;<samp><span class="samp">KRB5_CONFIG</span></samp>&rsquo;.
1874
1848
 
1875
1849
<p>The <code>krb5.conf</code> file is set up in the style of a Windows INI file. 
1876
1850
Sections are headed by the section name, in square brackets.  Each
1877
1851
section may contain zero or more relations, of the form:
1878
1852
 
1879
1853
<pre class="smallexample">     foo = bar
1880
 
     </pre>
1881
 
 
1882
 
<p>or
 
1854
</pre>
 
1855
<p class="noindent">or
1883
1856
 
1884
1857
<pre class="smallexample">     fubar = {
1885
1858
             foo = bar
1886
1859
             baz = quux
1887
1860
     }
1888
 
     </pre>
1889
 
 
 
1861
</pre>
1890
1862
<p>Placing a `*' at the end of a line indicates that this is the
1891
1863
<dfn>final</dfn> value for the tag.  This means that neither the remainder
1892
1864
of this configuration file nor any other configuration file will be
1896
1868
 
1897
1869
<pre class="smallexample">     foo = bar*
1898
1870
     foo = baz
1899
 
     </pre>
1900
 
 
 
1871
</pre>
1901
1872
<p>then the second value of foo (baz) would never be read.
1902
1873
 
1903
1874
<p>The <code>krb5.conf</code> file can include other files using either of the
1905
1876
 
1906
1877
<pre class="smallexample">     include <var>FILENAME</var>
1907
1878
     includedir <var>DIRNAME</var>
1908
 
     </pre>
1909
 
 
 
1879
</pre>
1910
1880
<p><var>FILENAME</var> or <var>DIRNAME</var> should be an absolute path.  The named
1911
1881
file or directory must exist and be readable.  Including a directory
1912
1882
includes all files within the directory whose names consist solely of
1918
1888
sections:
1919
1889
 
1920
1890
     <dl>
1921
 
<dt><b>libdefaults</b>
1922
 
     <dd>Contains default values used by the Kerberos V5 library.
1923
 
 
1924
 
     <dt><b>login</b>
1925
 
     <dd>Contains default values used by the Kerberos V5 login program.
1926
 
 
1927
 
     <dt><b>appdefaults</b>
1928
 
     <dd>Contains default values that can be used by Kerberos V5 applications.
1929
 
 
1930
 
     <dt><b>realms</b>
1931
 
     <dd>Contains subsections keyed by Kerberos realm names.  Each subsection
 
1891
<dt><b>libdefaults</b><dd>Contains default values used by the Kerberos V5 library.
 
1892
 
 
1893
     <dt><b>login</b><dd>Contains default values used by the Kerberos V5 login program.
 
1894
 
 
1895
     <dt><b>appdefaults</b><dd>Contains default values that can be used by Kerberos V5 applications.
 
1896
 
 
1897
     <dt><b>realms</b><dd>Contains subsections keyed by Kerberos realm names.  Each subsection
1932
1898
describes realm-specific information, including where to find the
1933
1899
Kerberos servers for that realm.
1934
1900
 
1935
 
     <dt><b>domain_realm</b>
1936
 
     <dd>Contains relations which map domain names and subdomains onto Kerberos
 
1901
     <dt><b>domain_realm</b><dd>Contains relations which map domain names and subdomains onto Kerberos
1937
1902
realm names.  This is used by programs to determine what realm a host
1938
1903
should be in, given its fully qualified domain name.
1939
1904
 
1940
 
     <dt><b>logging</b>
1941
 
     <dd>Contains relations which determine how Kerberos programs are to perform
 
1905
     <dt><b>logging</b><dd>Contains relations which determine how Kerberos programs are to perform
1942
1906
logging.
1943
1907
 
1944
 
     <dt><b>capaths</b>
1945
 
     <dd>Contains the authentication paths used with direct (nonhierarchical)
 
1908
     <dt><b>capaths</b><dd>Contains the authentication paths used with direct (nonhierarchical)
1946
1909
cross-realm authentication.  Entries in this section are used by the
1947
1910
client to determine the intermediate realms which may be used in
1948
1911
cross-realm authentication.  It is also used by the end-service when
1949
1912
checking the transited field for trusted intermediate realms.
1950
1913
 
1951
 
     <dt><b>plugins</b>
1952
 
     <dd>Contains tags to register dynamic plugin modules and to turn modules on
 
1914
     <dt><b>plugins</b><dd>Contains tags to register dynamic plugin modules and to turn modules on
1953
1915
and off.
1954
1916
 
1955
1917
</dl>
1982
1944
         kdc = FILE:/var/log/krb5kdc.log
1983
1945
         admin_server = FILE:/var/log/kadmin.log
1984
1946
         default = FILE:/var/log/krb5lib.log
1985
 
     </pre>
1986
 
 
 
1947
</pre>
1987
1948
<div class="node">
 
1949
<a name="kdc.conf"></a>
 
1950
<a name="kdc_002econf"></a>
1988
1951
<p><hr>
1989
 
Node:<a name="kdc.conf">kdc.conf</a>,
1990
 
Next:<a rel="next" accesskey="n" href="#Create%20the%20Database">Create the Database</a>,
1991
 
Previous:<a rel="previous" accesskey="p" href="#krb5.conf">krb5.conf</a>,
1992
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
1993
 
<br>
 
1952
Next:&nbsp;<a rel="next" accesskey="n" href="#Create-the-Database">Create the Database</a>,
 
1953
Previous:&nbsp;<a rel="previous" accesskey="p" href="#krb5_002econf">krb5.conf</a>,
 
1954
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
1955
 
1994
1956
</div>
1995
1957
 
1996
 
<h5 class="subsubsection">kdc.conf</h5>
 
1958
<h5 class="subsubsection">4.1.1.3 kdc.conf</h5>
1997
1959
 
1998
1960
<p>The <code>kdc.conf</code> file contains KDC configuration information,
1999
1961
including defaults used when issuing Kerberos tickets.  Normally, you
2000
1962
should install your <code>kdc.conf</code> file in the directory
2001
1963
<code>/usr/local/var/krb5kdc</code>.  You can override the default
2002
 
location by setting the environment variable <code>KRB5_KDC_PROFILE</code>.
 
1964
location by setting the environment variable &lsquo;<samp><span class="samp">KRB5_KDC_PROFILE</span></samp>&rsquo;.
2003
1965
 
2004
1966
<p>The <code>kdc.conf</code> file is set up in the same format as the
2005
 
<code>krb5.conf</code> file.  (See <a href="#krb5.conf">krb5.conf</a>.)  The <code>kdc.conf</code> file
 
1967
<code>krb5.conf</code> file.  (See <a href="#krb5_002econf">krb5.conf</a>.)  The <code>kdc.conf</code> file
2006
1968
may contain any or all of the following three sections:
2007
1969
 
2008
1970
     <dl>
2009
 
<dt><b>kdcdefaults</b>
2010
 
     <dd>Contains default values for overall behavior of the KDC.
 
1971
<dt><b>kdcdefaults</b><dd>Contains default values for overall behavior of the KDC.
2011
1972
 
2012
 
     <br><dt><b>realms</b>
2013
 
     <dd>Contains subsections keyed by Kerberos realm names.  Each subsection
 
1973
     <br><dt><b>realms</b><dd>Contains subsections keyed by Kerberos realm names.  Each subsection
2014
1974
describes realm-specific information, including where to find the
2015
1975
Kerberos servers for that realm.
2016
1976
 
2017
 
     <br><dt><b>logging</b>
2018
 
     <dd>Contains relations which determine how Kerberos programs are to perform
 
1977
     <br><dt><b>logging</b><dd>Contains relations which determine how Kerberos programs are to perform
2019
1978
logging. 
2020
1979
</dl>
2021
1980
 
2022
1981
<div class="node">
 
1982
<a name="Create-the-Database"></a>
2023
1983
<p><hr>
2024
 
Node:<a name="Create%20the%20Database">Create the Database</a>,
2025
 
Next:<a rel="next" accesskey="n" href="#Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>,
2026
 
Previous:<a rel="previous" accesskey="p" href="#kdc.conf">kdc.conf</a>,
2027
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
2028
 
<br>
 
1984
Next:&nbsp;<a rel="next" accesskey="n" href="#Add-Administrators-to-the-Acl-File">Add Administrators to the Acl File</a>,
 
1985
Previous:&nbsp;<a rel="previous" accesskey="p" href="#kdc_002econf">kdc.conf</a>,
 
1986
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
1987
 
2029
1988
</div>
2030
1989
 
2031
 
<h5 class="subsubsection">Create the Database</h5>
 
1990
<h5 class="subsubsection">4.1.1.4 Create the Database</h5>
2032
1991
 
2033
1992
<p>You will use the <code>kdb5_util</code> command <em>on the Master KDC</em> to
2034
1993
create the Kerberos database and the optional stash file.  The
2037
1996
authenticate the KDC to itself automatically before starting the
2038
1997
<code>kadmind</code> and <code>krb5kdc</code> daemons (<i>e.g.,</i> as part of the
2039
1998
machine's boot sequence).  The stash file, like the keytab file
2040
 
(see See <a href="#The%20Keytab%20File">The Keytab File</a>, for more information) is a potential
 
1999
(see See <a href="#The-Keytab-File">The Keytab File</a>, for more information) is a potential
2041
2000
point-of-entry for a break-in,
2042
2001
and if compromised, would allow unrestricted access to the Kerberos
2043
2002
database.  If you choose to install a stash file, it should be readable
2057
2016
especially a famous person (or cartoon character), your username in any
2058
2017
form (<i>e.g.</i>, forward, backward, repeated twice, <i>etc.</i>), and any of
2059
2018
the sample keys that appear in this manual.  One example of a key which
2060
 
might be good if it did not appear in this manual is "MITiys4K5!",
2061
 
which represents the sentence "MIT is your source for Kerberos 5!" 
2062
 
(It's the first letter of each word, substituting the numeral "4" for
2063
 
the word "for", and includes the punctuation mark at the end.)
 
2019
might be good if it did not appear in this manual is &ldquo;MITiys4K5!&rdquo;,
 
2020
which represents the sentence &ldquo;MIT is your source for Kerberos 5!&rdquo;
 
2021
(It's the first letter of each word, substituting the numeral &ldquo;4&rdquo; for
 
2022
the word &ldquo;for&rdquo;, and includes the punctuation mark at the end.)
2064
2023
 
2065
2024
<p>The following is an example of how to create a Kerberos database and
2066
2025
stash file on the master KDC, using the <code>kdb5_util</code> command.  (The
2067
 
line that begins with =&gt; is a continuation of the previous line.) 
 
2026
line that begins with &rArr; is a continuation of the previous line.) 
2068
2027
Replace <i>ATHENA.MIT.EDU</i> with the name of your Kerberos realm.
2069
2028
 
2070
2029
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/kdb5_util create -r ATHENA.MIT.EDU -s
2071
2030
     <b>Initializing database '/usr/local/var/krb5kdc/principal' for
2072
 
     =&gt; realm 'ATHENA.MIT.EDU',
 
2031
     &rArr; realm 'ATHENA.MIT.EDU',
2073
2032
     master key name 'K/M@ATHENA.MIT.EDU'
2074
2033
     You will be prompted for the database Master Password.
2075
2034
     It is important that you NOT FORGET this password.</b>
2076
2035
     <b>Enter KDC database master key:</b>  <i>&lt;= Type the master password.</i>
2077
2036
     <b>Re-enter KDC database master key to verify:</b>  <i>&lt;= Type it again.</i>
2078
2037
     <b>shell%</b>
2079
 
     </pre>
2080
 
 
 
2038
</pre>
2081
2039
<p>This will create five files in the directory specified in your
2082
2040
<code>kdc.conf</code> file:  two Kerberos database files, <code>principal.db</code>,
2083
2041
and <code>principal.ok</code>; the Kerberos administrative database file,
2087
2045
want a stash file, run the above command without the <code>-s</code> option.
2088
2046
 
2089
2047
<div class="node">
 
2048
<a name="Add-Administrators-to-the-Acl-File"></a>
2090
2049
<p><hr>
2091
 
Node:<a name="Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>,
2092
 
Next:<a rel="next" accesskey="n" href="#Add%20Administrators%20to%20the%20Kerberos%20Database">Add Administrators to the Kerberos Database</a>,
2093
 
Previous:<a rel="previous" accesskey="p" href="#Create%20the%20Database">Create the Database</a>,
2094
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
2095
 
<br>
 
2050
Next:&nbsp;<a rel="next" accesskey="n" href="#Add-Administrators-to-the-Kerberos-Database">Add Administrators to the Kerberos Database</a>,
 
2051
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Create-the-Database">Create the Database</a>,
 
2052
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
2053
 
2096
2054
</div>
2097
2055
 
2098
 
<h5 class="subsubsection">Add Administrators to the Acl File</h5>
 
2056
<h5 class="subsubsection">4.1.1.5 Add Administrators to the Acl File</h5>
2099
2057
 
2100
2058
<p>Next, you need create an Access Control List (acl) file, and put the
2101
2059
Kerberos principal of at least one of the administrators into it.  This
2102
2060
file is used by the <code>kadmind</code> daemon to control which principals
2103
2061
may view and make privileged modifications to the Kerberos database
2104
2062
files.  The filename should match the value you have set for
2105
 
"acl_file" in your <code>kdc.conf</code> file.  The default file name is
2106
 
<code>/usr/local/var/krb5kdc/kadm5.acl</code>.
 
2063
&ldquo;acl_file&rdquo; in your <code>kdc.conf</code> file.  The default file name is
 
2064
&lsquo;<samp><span class="samp">/usr/local/var/krb5kdc/kadm5.acl</span></samp>&rsquo;.
2107
2065
 
2108
2066
<p>The format of the file is:
2109
2067
 
2110
2068
<pre class="smallexample">     Kerberos_principal      permissions     [target_principal]       [restrictions]
2111
 
     </pre>
2112
 
 
 
2069
</pre>
2113
2070
<p>The Kerberos principal (and optional target principal) can include the
2114
 
"<b>*</b>" wildcard, so if you want any principal with the instance
2115
 
"admin" to have full permissions on the database, you could use the
2116
 
principal "<code>*/admin@REALM</code>" where "REALM" is your Kerberos
 
2071
&ldquo;<b>*</b>&rdquo; wildcard, so if you want any principal with the instance
 
2072
&ldquo;admin&rdquo; to have full permissions on the database, you could use the
 
2073
principal &ldquo;<code>*/admin@REALM</code>&rdquo; where &ldquo;REALM&rdquo; is your Kerberos
2117
2074
realm.  <code>target_principal</code> can also include backreferences to
2118
 
<code>Kerberos_principal</code>, in which "<b>*</b><i>number</i><b></b>" matches the
 
2075
<code>Kerberos_principal</code>, in which "<b>*</b><i>number</i>" matches the
2119
2076
component <i>number</i> in the <code>Kerberos_principal</code>.
2120
2077
 
2121
2078
<p>Note:  a common use of an <i>admin</i> instance is so you can grant
2130
2087
represent negative permissions.  The permissions are:
2131
2088
 
2132
2089
     <dl>
2133
 
<dt><b>a</b>
2134
 
     <dd>allows the addition of principals or policies in the database. 
2135
 
<dt><b>A</b>
2136
 
     <dd>disallows the addition of principals or policies in the database. 
2137
 
<dt><b>d</b>
2138
 
     <dd>allows the deletion of principals or policies in the database. 
2139
 
<dt><b>D</b>
2140
 
     <dd>disallows the deletion of principals or policies in the database. 
2141
 
<dt><b>m</b>
2142
 
     <dd>allows the modification of principals or policies in the database. 
2143
 
<dt><b>M</b>
2144
 
     <dd>disallows the modification of principals or policies in the database. 
2145
 
<dt><b>c</b>
2146
 
     <dd>allows the changing of passwords for principals in the database. 
2147
 
<dt><b>C</b>
2148
 
     <dd>disallows the changing of passwords for principals in the database. 
2149
 
<dt><b>i</b>
2150
 
     <dd>allows inquiries to the database. 
2151
 
<dt><b>I</b>
2152
 
     <dd>disallows inquiries to the database. 
2153
 
<dt><b>l</b>
2154
 
     <dd>allows the listing of principals or policies in the database. 
2155
 
<dt><b>L</b>
2156
 
     <dd>disallows the listing of principals or policies in the database. 
2157
 
<dt><b>s</b>
2158
 
     <dd>allows the explicit setting of the key for a principal
2159
 
<dt><b>S</b>
2160
 
     <dd>disallows the explicit setting of the key for a principal
2161
 
<dt><b>*</b>
2162
 
     <dd>All privileges (admcil). 
2163
 
<dt><b>x</b>
2164
 
     <dd>All privileges (admcil); identical to "*". 
 
2090
<dt><b>a</b><dd>allows the addition of principals or policies in the database. 
 
2091
<dt><b>A</b><dd>disallows the addition of principals or policies in the database. 
 
2092
<dt><b>d</b><dd>allows the deletion of principals or policies in the database. 
 
2093
<dt><b>D</b><dd>disallows the deletion of principals or policies in the database. 
 
2094
<dt><b>m</b><dd>allows the modification of principals or policies in the database. 
 
2095
<dt><b>M</b><dd>disallows the modification of principals or policies in the database. 
 
2096
<dt><b>c</b><dd>allows the changing of passwords for principals in the database. 
 
2097
<dt><b>C</b><dd>disallows the changing of passwords for principals in the database. 
 
2098
<dt><b>i</b><dd>allows inquiries to the database. 
 
2099
<dt><b>I</b><dd>disallows inquiries to the database. 
 
2100
<dt><b>l</b><dd>allows the listing of principals or policies in the database. 
 
2101
<dt><b>L</b><dd>disallows the listing of principals or policies in the database. 
 
2102
<dt><b>s</b><dd>allows the explicit setting of the key for a principal
 
2103
<dt><b>S</b><dd>disallows the explicit setting of the key for a principal
 
2104
<dt><b>*</b><dd>All privileges (admcil). 
 
2105
<dt><b>x</b><dd>All privileges (admcil); identical to &ldquo;*&rdquo;. 
2165
2106
</dl>
2166
2107
 
2167
2108
<p>The restrictions are a string of flags.  Allowed restrictions are:
2168
2109
 
2169
2110
     <dl>
2170
 
<dt><b>[+ -]</b><i>flagname</i><b></b>
2171
 
     <dd>flag is forced to indicated value.  The permissible flags are the same
 
2111
<dt><b>[+ -]</b><i>flagname</i><dd>flag is forced to indicated value.  The permissible flags are the same
2172
2112
as the <code>+</code> and <code>-</code> flags for the <code>kadmin addprinc</code> and
2173
2113
<code>modprinc</code> commands. 
2174
 
<dt><b>-clearpolicy</b>
2175
 
     <dd>policy is forced to clear
2176
 
<dt><b>-policy </b><i>pol</i><b></b>
2177
 
     <dd>policy is forced to be <i>pol</i>
2178
 
<dt><b>expire </b><i>time</i><b></b>
2179
 
     <dd><dt><b>pwexpire </b><i>time</i><b></b>
2180
 
     <dd><dt><b>maxlife </b><i>time</i><b></b>
2181
 
     <dd><dt><b>maxrenewlife </b><i>time</i><b></b>
2182
 
     <dd>associated value will be forced to MIN(<i>time</i>, requested value)
 
2114
<dt><b>-clearpolicy</b><dd>policy is forced to clear
 
2115
<dt><b>-policy </b><i>pol</i><dd>policy is forced to be <i>pol</i>
 
2116
<dt><b>expire </b><i>time</i><dt><b>pwexpire </b><i>time</i><dt><b>maxlife </b><i>time</i><dt><b>maxrenewlife </b><i>time</i><dd>associated value will be forced to MIN(<i>time</i>, requested value)
2183
2117
</dl>
2184
2118
 
2185
2119
<p>The above flags act as restrictions on any add or modify operation
2194
2128
     *@ATHENA.MIT.EDU cil *1/admin@ATHENA.MIT.EDU
2195
2129
     */*@ATHENA.MIT.EDU  i
2196
2130
     */admin@EXAMPLE.COM * -maxlife 9h -postdateable
2197
 
     </pre>
2198
 
 
2199
 
<p>In the above file, any principal in the
 
2131
</pre>
 
2132
<p class="noindent">In the above file, any principal in the
2200
2133
ATHENA.MIT.EDU realm with an <code>admin</code> instance has all
2201
2134
administrative privileges.  The user <code>joeadmin</code>
2202
2135
has all permissions with his <code>admin</code> instance,
2215
2148
with a life of longer than 9 hours.
2216
2149
 
2217
2150
<div class="node">
 
2151
<a name="Add-Administrators-to-the-Kerberos-Database"></a>
2218
2152
<p><hr>
2219
 
Node:<a name="Add%20Administrators%20to%20the%20Kerberos%20Database">Add Administrators to the Kerberos Database</a>,
2220
 
Next:<a rel="next" accesskey="n" href="#Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>,
2221
 
Previous:<a rel="previous" accesskey="p" href="#Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>,
2222
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
2223
 
<br>
 
2153
Next:&nbsp;<a rel="next" accesskey="n" href="#Create-a-kadmind-Keytab-_0028optional_0029">Create a kadmind Keytab (optional)</a>,
 
2154
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Add-Administrators-to-the-Acl-File">Add Administrators to the Acl File</a>,
 
2155
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
2156
 
2224
2157
</div>
2225
2158
 
2226
 
<h5 class="subsubsection">Add Administrators to the Kerberos Database</h5>
 
2159
<h5 class="subsubsection">4.1.1.6 Add Administrators to the Kerberos Database</h5>
2227
2160
 
2228
2161
<p>Next you need to add administrative principals to the Kerberos database. 
2229
2162
(You must add at least one now.)  To do this, use <code>kadmin.local</code>
2230
2163
<em>on the master KDC</em>.  The administrative principals you create
2231
 
should be the ones you added to the ACL file.  (See See <a href="#Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>.)  In the following example, the
 
2164
should be the ones you added to the ACL file.  (See See <a href="#Add-Administrators-to-the-Acl-File">Add Administrators to the Acl File</a>.)  In the following example, the
2232
2165
administration principal <code>admin/admin</code> is created:
2233
2166
 
2234
2167
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/kadmin.local
2239
2172
     Re-enter password for principal admin/admin@ATHENA.MIT.EDU:  <i>&lt;= Type it again.</i>
2240
2173
     <b>Principal "admin/admin@ATHENA.MIT.EDU" created.
2241
2174
     kadmin.local:</b>
2242
 
     </pre>
2243
 
 
 
2175
</pre>
2244
2176
<div class="node">
 
2177
<a name="Create-a-kadmind-Keytab-(optional)"></a>
 
2178
<a name="Create-a-kadmind-Keytab-_0028optional_0029"></a>
2245
2179
<p><hr>
2246
 
Node:<a name="Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>,
2247
 
Next:<a rel="next" accesskey="n" href="#Start%20the%20Kerberos%20Daemons">Start the Kerberos Daemons</a>,
2248
 
Previous:<a rel="previous" accesskey="p" href="#Add%20Administrators%20to%20the%20Kerberos%20Database">Add Administrators to the Kerberos Database</a>,
2249
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
2250
 
<br>
 
2180
Next:&nbsp;<a rel="next" accesskey="n" href="#Start-the-Kerberos-Daemons">Start the Kerberos Daemons</a>,
 
2181
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Add-Administrators-to-the-Kerberos-Database">Add Administrators to the Kerberos Database</a>,
 
2182
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
2183
 
2251
2184
</div>
2252
2185
 
2253
 
<h5 class="subsubsection">Create a kadmind Keytab (optional)</h5>
 
2186
<h5 class="subsubsection">4.1.1.7 Create a kadmind Keytab (optional)</h5>
2254
2187
 
2255
2188
<p>The kadmind keytab is the key that the legacy admininstration daemons
2256
2189
<code>kadmind4</code> and <code>v5passwdd</code> will use to decrypt
2260
2193
<code>kadmin/changepw</code>.  (These principals are placed in the Kerberos
2261
2194
database automatically when you create it.)  To create the kadmin
2262
2195
keytab, run <code>kadmin.local</code> and use the <code>ktadd</code> command, as
2263
 
in the following example.  (The line beginning with =&gt; is a
 
2196
in the following example.  (The line beginning with &rArr; is a
2264
2197
continuation of the previous line.):
2265
2198
 
2266
2199
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/kadmin.local
2267
2200
     <b>kadmin.local:</b> ktadd -k /usr/local/var/krb5kdc/kadm5.keytab
2268
 
     =&gt; kadmin/admin kadmin/changepw
 
2201
     &rArr; kadmin/admin kadmin/changepw
2269
2202
     <b> Entry for principal kadmin/admin with kvno 5, encryption
2270
2203
        type Triple DES cbc mode with HMAC/sha1 added to keytab
2271
2204
        WRFILE:/usr/local/var/krb5kdc/kadm5.keytab.
2280
2213
        WRFILE:/usr/local/var/krb5kdc/kadm5.keytab.
2281
2214
     kadmin.local:</b> quit
2282
2215
     <b>shell%</b>
2283
 
     </pre>
2284
 
 
2285
 
<p>As specified in the <code>-k</code> argument, <code>ktadd</code> will save the
 
2216
</pre>
 
2217
<p class="noindent">As specified in the &lsquo;<samp><span class="samp">-k</span></samp>&rsquo; argument, <code>ktadd</code> will save the
2286
2218
extracted keytab as <br> <code>/usr/local/var/krb5kdc/kadm5.keytab</code>. 
2287
2219
The filename you use must be the one specified in your <code>kdc.conf</code>
2288
2220
file.
2289
2221
 
2290
2222
<div class="node">
 
2223
<a name="Start-the-Kerberos-Daemons"></a>
2291
2224
<p><hr>
2292
 
Node:<a name="Start%20the%20Kerberos%20Daemons">Start the Kerberos Daemons</a>,
2293
 
Previous:<a rel="previous" accesskey="p" href="#Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>,
2294
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
2295
 
<br>
 
2225
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Create-a-kadmind-Keytab-_0028optional_0029">Create a kadmind Keytab (optional)</a>,
 
2226
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Master-KDC">Install the Master KDC</a>
 
2227
 
2296
2228
</div>
2297
2229
 
2298
 
<h5 class="subsubsection">Start the Kerberos Daemons on the Master KDC</h5>
 
2230
<h5 class="subsubsection">4.1.1.8 Start the Kerberos Daemons on the Master KDC</h5>
2299
2231
 
2300
2232
<p>At this point, you are ready to start the Kerberos daemons on the Master
2301
2233
KDC.  To do so, type:
2302
2234
 
2303
2235
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/krb5kdc
2304
2236
     <b>shell%</b> /usr/local/sbin/kadmind
2305
 
     </pre>
2306
 
 
2307
 
<p>Each daemon will fork and run in the background.  Assuming you want
 
2237
</pre>
 
2238
<p class="noindent">Each daemon will fork and run in the background.  Assuming you want
2308
2239
these daemons to start up automatically at boot time, you can add them
2309
2240
to the KDC's <code>/etc/rc</code> or <code>/etc/inittab</code> file.  You need to
2310
2241
have a stash file in order to do this.
2311
2242
 
2312
2243
<p>You can verify that they started properly by checking for their startup
2313
2244
messages in the logging locations you defined in <code>/etc/krb5.conf</code>. 
2314
 
(See <a href="#Edit%20the%20Configuration%20Files">Edit the Configuration Files</a>.)  For example:
 
2245
(See <a href="#Edit-the-Configuration-Files">Edit the Configuration Files</a>.)  For example:
2315
2246
 
2316
2247
<pre class="smallexample">     <b>shell%</b> tail /var/log/krb5kdc.log
2317
2248
     Dec 02 12:35:47 beeblebrox krb5kdc[3187](info): commencing operation
2318
2249
     <b>shell%</b> tail /var/log/kadmin.log
2319
2250
     Dec 02 12:35:52 beeblebrox kadmind[3189](info): starting
2320
 
     </pre>
2321
 
 
 
2251
</pre>
2322
2252
<p>Any errors the daemons encounter while starting will also be listed in
2323
2253
the logging output.
2324
2254
 
2325
2255
<div class="node">
 
2256
<a name="Install-the-Slave-KDCs"></a>
2326
2257
<p><hr>
2327
 
Node:<a name="Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>,
2328
 
Next:<a rel="next" accesskey="n" href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>,
2329
 
Previous:<a rel="previous" accesskey="p" href="#Install%20the%20Master%20KDC">Install the Master KDC</a>,
2330
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2331
 
<br>
 
2258
Next:&nbsp;<a rel="next" accesskey="n" href="#Back-on-the-Master-KDC">Back on the Master KDC</a>,
 
2259
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Install-the-Master-KDC">Install the Master KDC</a>,
 
2260
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2261
 
2332
2262
</div>
2333
2263
 
2334
 
<h4 class="subsection">Install the Slave KDCs</h4>
 
2264
<h4 class="subsection">4.1.2 Install the Slave KDCs</h4>
2335
2265
 
2336
2266
<p>You are now ready to start configuring the slave KDCs.  Assuming you are
2337
2267
setting the KDCs up so that you can easily switch the master KDC with
2340
2270
otherwise.
2341
2271
 
2342
2272
<ul class="menu">
2343
 
<li><a accesskey="1" href="#Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>: 
2344
 
<li><a accesskey="2" href="#Extract%20Host%20Keytabs%20for%20the%20KDCs">Extract Host Keytabs for the KDCs</a>: 
2345
 
<li><a accesskey="3" href="#Set%20Up%20the%20Slave%20KDCs%20for%20Database%20Propagation">Set Up the Slave KDCs for Database Propagation</a>: 
 
2273
<li><a accesskey="1" href="#Create-Host-Keys-for-the-Slave-KDCs">Create Host Keys for the Slave KDCs</a>
 
2274
<li><a accesskey="2" href="#Extract-Host-Keytabs-for-the-KDCs">Extract Host Keytabs for the KDCs</a>
 
2275
<li><a accesskey="3" href="#Set-Up-the-Slave-KDCs-for-Database-Propagation">Set Up the Slave KDCs for Database Propagation</a>
2346
2276
</ul>
2347
2277
 
2348
2278
<div class="node">
 
2279
<a name="Create-Host-Keys-for-the-Slave-KDCs"></a>
2349
2280
<p><hr>
2350
 
Node:<a name="Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>,
2351
 
Next:<a rel="next" accesskey="n" href="#Extract%20Host%20Keytabs%20for%20the%20KDCs">Extract Host Keytabs for the KDCs</a>,
2352
 
Previous:<a rel="previous" accesskey="p" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>,
2353
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>
2354
 
<br>
 
2281
Next:&nbsp;<a rel="next" accesskey="n" href="#Extract-Host-Keytabs-for-the-KDCs">Extract Host Keytabs for the KDCs</a>,
 
2282
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>,
 
2283
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>
 
2284
 
2355
2285
</div>
2356
2286
 
2357
 
<h5 class="subsubsection">Create Host Keys for the Slave KDCs</h5>
 
2287
<h5 class="subsubsection">4.1.2.1 Create Host Keys for the Slave KDCs</h5>
2358
2288
 
2359
2289
<p>Each KDC needs a host principal in the Kerberos database.  You can enter
2360
2290
these from any host, once the <code>kadmind</code> daemon is running.  For
2377
2307
     assigning "default"
2378
2308
     Principal "host/kerberos-2.mit.edu@ATHENA.MIT.EDU" created.
2379
2309
     kadmin:</b>
2380
 
     </pre>
2381
 
 
2382
 
<p>It is not actually necessary to have the master KDC server in the
 
2310
</pre>
 
2311
<p class="noindent">It is not actually necessary to have the master KDC server in the
2383
2312
Kerberos database, but it can be handy if:
2384
2313
 
2385
2314
     <ul>
2390
2319
</ul>
2391
2320
 
2392
2321
<div class="node">
 
2322
<a name="Extract-Host-Keytabs-for-the-KDCs"></a>
2393
2323
<p><hr>
2394
 
Node:<a name="Extract%20Host%20Keytabs%20for%20the%20KDCs">Extract Host Keytabs for the KDCs</a>,
2395
 
Next:<a rel="next" accesskey="n" href="#Set%20Up%20the%20Slave%20KDCs%20for%20Database%20Propagation">Set Up the Slave KDCs for Database Propagation</a>,
2396
 
Previous:<a rel="previous" accesskey="p" href="#Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>,
2397
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>
2398
 
<br>
 
2324
Next:&nbsp;<a rel="next" accesskey="n" href="#Set-Up-the-Slave-KDCs-for-Database-Propagation">Set Up the Slave KDCs for Database Propagation</a>,
 
2325
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Create-Host-Keys-for-the-Slave-KDCs">Create Host Keys for the Slave KDCs</a>,
 
2326
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>
 
2327
 
2399
2328
</div>
2400
2329
 
2401
 
<h5 class="subsubsection">Extract Host Keytabs for the KDCs</h5>
 
2330
<h5 class="subsubsection">4.1.2.2 Extract Host Keytabs for the KDCs</h5>
2402
2331
 
2403
2332
<p>Each KDC (including the master) needs a keytab to decrypt tickets. 
2404
2333
Ideally, you should extract each keytab locally on its own KDC.  If this
2412
2341
          kvno 1, encryption type DES-CBC-CRC added to keytab
2413
2342
          WRFILE:/etc/krb5.keytab.
2414
2343
     kadmin:</b>
2415
 
     </pre>
2416
 
 
2417
 
<p>Note that the principal must exist in the Kerberos database in order to
 
2344
</pre>
 
2345
<p class="noindent">Note that the principal must exist in the Kerberos database in order to
2418
2346
extract the keytab.
2419
2347
 
2420
2348
<div class="node">
 
2349
<a name="Set-Up-the-Slave-KDCs-for-Database-Propagation"></a>
2421
2350
<p><hr>
2422
 
Node:<a name="Set%20Up%20the%20Slave%20KDCs%20for%20Database%20Propagation">Set Up the Slave KDCs for Database Propagation</a>,
2423
 
Previous:<a rel="previous" accesskey="p" href="#Extract%20Host%20Keytabs%20for%20the%20KDCs">Extract Host Keytabs for the KDCs</a>,
2424
 
Up:<a rel="up" accesskey="u" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>
2425
 
<br>
 
2351
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Extract-Host-Keytabs-for-the-KDCs">Extract Host Keytabs for the KDCs</a>,
 
2352
Up:&nbsp;<a rel="up" accesskey="u" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>
 
2353
 
2426
2354
</div>
2427
2355
 
2428
 
<h5 class="subsubsection">Set Up the Slave KDCs for Database Propagation</h5>
 
2356
<h5 class="subsubsection">4.1.2.3 Set Up the Slave KDCs for Database Propagation</h5>
2429
2357
 
2430
2358
<p>The database is propagated from the master KDC to the slave KDCs via the
2431
2359
<code>kpropd</code> daemon.  To set up propagation, create a file on each KDC,
2440
2368
<pre class="smallexample">     host/kerberos.mit.edu@ATHENA.MIT.EDU
2441
2369
     host/kerberos-1.mit.edu@ATHENA.MIT.EDU
2442
2370
     host/kerberos-2.mit.edu@ATHENA.MIT.EDU
2443
 
     </pre>
2444
 
 
 
2371
</pre>
2445
2372
<p>Then, add the following line to <code>/etc/inetd.conf</code> file on each KDC:
2446
2373
 
2447
2374
<pre class="smallexample">     krb5_prop stream tcp nowait root /usr/local/sbin/kpropd kpropd
2448
 
     </pre>
2449
 
 
2450
 
<p>You also need to add the following lines to <code>/etc/services</code> on each
 
2375
</pre>
 
2376
<p class="noindent">You also need to add the following lines to <code>/etc/services</code> on each
2451
2377
KDC:
2452
2378
 
2453
2379
<pre class="smallexample">     kerberos        88/udp      kdc       # Kerberos authentication (udp)
2455
2381
     krb5_prop       754/tcp               # Kerberos slave propagation
2456
2382
     kerberos-adm    749/tcp               # Kerberos 5 admin/changepw (tcp)
2457
2383
     kerberos-adm    749/udp               # Kerberos 5 admin/changepw (udp)
2458
 
     </pre>
2459
 
 
 
2384
</pre>
2460
2385
<div class="node">
 
2386
<a name="Back-on-the-Master-KDC"></a>
2461
2387
<p><hr>
2462
 
Node:<a name="Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>,
2463
 
Next:<a rel="next" accesskey="n" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>,
2464
 
Previous:<a rel="previous" accesskey="p" href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>,
2465
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2466
 
<br>
 
2388
Next:&nbsp;<a rel="next" accesskey="n" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>,
 
2389
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Install-the-Slave-KDCs">Install the Slave KDCs</a>,
 
2390
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2391
 
2467
2392
</div>
2468
2393
 
2469
 
<h4 class="subsection">Back on the Master KDC</h4>
 
2394
<h4 class="subsection">4.1.3 Back on the Master KDC</h4>
2470
2395
 
2471
2396
<p>Now that the slave KDCs are able to accept database propagation, you'll
2472
2397
need to propagate the database to each of them.
2473
2398
 
2474
2399
<ul class="menu">
2475
 
<li><a accesskey="1" href="#Propagate%20the%20Database%20to%20Each%20Slave%20KDC">Propagate the Database to Each Slave KDC</a>: 
 
2400
<li><a accesskey="1" href="#Propagate-the-Database-to-Each-Slave-KDC">Propagate the Database to Each Slave KDC</a>
2476
2401
</ul>
2477
2402
 
2478
2403
<div class="node">
 
2404
<a name="Propagate-the-Database-to-Each-Slave-KDC"></a>
2479
2405
<p><hr>
2480
 
Node:<a name="Propagate%20the%20Database%20to%20Each%20Slave%20KDC">Propagate the Database to Each Slave KDC</a>,
2481
 
Previous:<a rel="previous" accesskey="p" href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>,
2482
 
Up:<a rel="up" accesskey="u" href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>
2483
 
<br>
 
2406
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Back-on-the-Master-KDC">Back on the Master KDC</a>,
 
2407
Up:&nbsp;<a rel="up" accesskey="u" href="#Back-on-the-Master-KDC">Back on the Master KDC</a>
 
2408
 
2484
2409
</div>
2485
2410
 
2486
 
<h5 class="subsubsection">Propagate the Database to Each Slave KDC</h5>
 
2411
<h5 class="subsubsection">4.1.3.1 Propagate the Database to Each Slave KDC</h5>
2487
2412
 
2488
2413
<p>First, create a dump of the database on the master KDC, as follows:
2489
2414
 
2490
2415
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/kdb5_util dump /usr/local/var/krb5kdc/slave_datatrans
2491
2416
     <b>shell%</b>
2492
 
     </pre>
2493
 
 
 
2417
</pre>
2494
2418
<p>Next, you need to manually propagate the database to each slave KDC, as
2495
 
in the following example.  (The lines beginning with =&gt; are
 
2419
in the following example.  (The lines beginning with &rArr; are
2496
2420
continuations of the previous line.):
2497
2421
 
2498
2422
<pre class="smallexample">     /usr/local/sbin/kprop -f /usr/local/var/krb5kdc/slave_datatrans
2499
 
     =&gt; kerberos-1.mit.edu
 
2423
     &rArr; kerberos-1.mit.edu
2500
2424
     /usr/local/sbin/kprop -f /usr/local/var/krb5kdc/slave_datatrans
2501
 
     =&gt; kerberos-2.mit.edu
2502
 
     </pre>
2503
 
 
 
2425
     &rArr; kerberos-2.mit.edu
 
2426
</pre>
2504
2427
<p>You will need a script to dump and propagate the database.  The
2505
2428
following is an example of a bourne shell script that will do this. 
2506
 
(Note that the line that begins with =&gt; is a continuation of the
 
2429
(Note that the line that begins with &rArr; is a continuation of the
2507
2430
previous line.  Remember that you need to replace /usr/local with
2508
2431
the name of the directory in which you installed Kerberos V5.)
2509
2432
 
2512
2435
     kdclist = "kerberos-1.mit.edu kerberos-2.mit.edu"
2513
2436
     
2514
2437
     /usr/local/sbin/kdb5_util "dump
2515
 
     =&gt; /usr/local/var/krb5kdc/slave_datatrans"
 
2438
     &rArr; /usr/local/var/krb5kdc/slave_datatrans"
2516
2439
     
2517
2440
     for kdc in $kdclist
2518
2441
     do
2519
2442
     /usr/local/sbin/kprop -f /usr/local/var/krb5kdc/slave_datatrans $kdc
2520
2443
     done
2521
 
     </pre>
2522
 
 
2523
 
<p>You will need to set up a cron job to run this script at the intervals
2524
 
you decided on earlier (See <a href="#Database%20Propagation">Database Propagation</a>.)
 
2444
</pre>
 
2445
<p class="noindent">You will need to set up a cron job to run this script at the intervals
 
2446
you decided on earlier (See <a href="#Database-Propagation">Database Propagation</a>.)
2525
2447
 
2526
2448
<div class="node">
 
2449
<a name="Finish-Installing-the-Slave-KDCs"></a>
2527
2450
<p><hr>
2528
 
Node:<a name="Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>,
2529
 
Next:<a rel="next" accesskey="n" href="#Add%20Kerberos%20Principals%20to%20the%20Database">Add Kerberos Principals to the Database</a>,
2530
 
Previous:<a rel="previous" accesskey="p" href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>,
2531
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2532
 
<br>
 
2451
Next:&nbsp;<a rel="next" accesskey="n" href="#Add-Kerberos-Principals-to-the-Database">Add Kerberos Principals to the Database</a>,
 
2452
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Back-on-the-Master-KDC">Back on the Master KDC</a>,
 
2453
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2454
 
2533
2455
</div>
2534
2456
 
2535
 
<h4 class="subsection">Finish Installing the Slave KDCs</h4>
 
2457
<h4 class="subsection">4.1.4 Finish Installing the Slave KDCs</h4>
2536
2458
 
2537
2459
<p>Now that the slave KDCs have copies of the Kerberos database, you can
2538
2460
create stash files for them and start the <code>krb5kdc</code> daemon.
2539
2461
 
2540
2462
<ul class="menu">
2541
 
<li><a accesskey="1" href="#Create%20Stash%20Files%20on%20the%20Slave%20KDCs">Create Stash Files on the Slave KDCs</a>: 
2542
 
<li><a accesskey="2" href="#Start%20the%20krb5kdc%20Daemon%20on%20Each%20KDC">Start the krb5kdc Daemon on Each KDC</a>: 
 
2463
<li><a accesskey="1" href="#Create-Stash-Files-on-the-Slave-KDCs">Create Stash Files on the Slave KDCs</a>
 
2464
<li><a accesskey="2" href="#Start-the-krb5kdc-Daemon-on-Each-KDC">Start the krb5kdc Daemon on Each KDC</a>
2543
2465
</ul>
2544
2466
 
2545
2467
<div class="node">
 
2468
<a name="Create-Stash-Files-on-the-Slave-KDCs"></a>
2546
2469
<p><hr>
2547
 
Node:<a name="Create%20Stash%20Files%20on%20the%20Slave%20KDCs">Create Stash Files on the Slave KDCs</a>,
2548
 
Next:<a rel="next" accesskey="n" href="#Start%20the%20krb5kdc%20Daemon%20on%20Each%20KDC">Start the krb5kdc Daemon on Each KDC</a>,
2549
 
Previous:<a rel="previous" accesskey="p" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>,
2550
 
Up:<a rel="up" accesskey="u" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>
2551
 
<br>
 
2470
Next:&nbsp;<a rel="next" accesskey="n" href="#Start-the-krb5kdc-Daemon-on-Each-KDC">Start the krb5kdc Daemon on Each KDC</a>,
 
2471
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>,
 
2472
Up:&nbsp;<a rel="up" accesskey="u" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>
 
2473
 
2552
2474
</div>
2553
2475
 
2554
 
<h5 class="subsubsection">Create Stash Files on the Slave KDCs</h5>
 
2476
<h5 class="subsubsection">4.1.4.1 Create Stash Files on the Slave KDCs</h5>
2555
2477
 
2556
2478
<p>Create stash files, by issuing the following commands on each slave KDC:
2557
2479
 
2560
2482
     kdb5_util: Warning: proceeding without master key</b>
2561
2483
     <b>Enter KDC database master key:</b>  <i>&lt;= Enter the database master key.</i>
2562
2484
     <b>shell%</b>
2563
 
     </pre>
2564
 
 
 
2485
</pre>
2565
2486
<p>As mentioned above, the stash file is necessary for your KDCs to be able
2566
2487
authenticate to themselves, such as when they reboot.  You could run
2567
2488
your KDCs without stash files, but you would then need to type in the
2568
2489
Kerberos database master key by hand every time you start a KDC daemon.
2569
2490
 
2570
2491
<div class="node">
 
2492
<a name="Start-the-krb5kdc-Daemon-on-Each-KDC"></a>
2571
2493
<p><hr>
2572
 
Node:<a name="Start%20the%20krb5kdc%20Daemon%20on%20Each%20KDC">Start the krb5kdc Daemon on Each KDC</a>,
2573
 
Previous:<a rel="previous" accesskey="p" href="#Create%20Stash%20Files%20on%20the%20Slave%20KDCs">Create Stash Files on the Slave KDCs</a>,
2574
 
Up:<a rel="up" accesskey="u" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>
2575
 
<br>
 
2494
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Create-Stash-Files-on-the-Slave-KDCs">Create Stash Files on the Slave KDCs</a>,
 
2495
Up:&nbsp;<a rel="up" accesskey="u" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>
 
2496
 
2576
2497
</div>
2577
2498
 
2578
 
<h5 class="subsubsection">Start the krb5kdc Daemon on Each KDC</h5>
 
2499
<h5 class="subsubsection">4.1.4.2 Start the krb5kdc Daemon on Each KDC</h5>
2579
2500
 
2580
2501
<p>The final step in configuing your slave KDCs is to run the KDC daemon:
2581
2502
 
2582
2503
<pre class="smallexample">     <b>shell%</b> /usr/local/sbin/krb5kdc
2583
 
     </pre>
2584
 
 
 
2504
</pre>
2585
2505
<p>As with the master KDC, you will probably want to add this command to
2586
2506
the KDCs' <code>/etc/rc</code> or <code>/etc/inittab</code> files, so they will
2587
2507
start the krb5kdc daemon automatically at boot time.
2588
2508
 
2589
2509
<div class="node">
 
2510
<a name="Add-Kerberos-Principals-to-the-Database"></a>
2590
2511
<p><hr>
2591
 
Node:<a name="Add%20Kerberos%20Principals%20to%20the%20Database">Add Kerberos Principals to the Database</a>,
2592
 
Next:<a rel="next" accesskey="n" href="#Limit%20Access%20to%20the%20KDCs">Limit Access to the KDCs</a>,
2593
 
Previous:<a rel="previous" accesskey="p" href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>,
2594
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2595
 
<br>
 
2512
Next:&nbsp;<a rel="next" accesskey="n" href="#Limit-Access-to-the-KDCs">Limit Access to the KDCs</a>,
 
2513
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Finish-Installing-the-Slave-KDCs">Finish Installing the Slave KDCs</a>,
 
2514
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2515
 
2596
2516
</div>
2597
2517
 
2598
 
<h4 class="subsection">Add Kerberos Principals to the Database</h4>
 
2518
<h4 class="subsection">4.1.5 Add Kerberos Principals to the Database</h4>
2599
2519
 
2600
2520
<p>Once your KDCs are set up and running, you are ready to use
2601
2521
<code>kadmin</code> to load principals for your users, hosts, and other
2602
2522
services into the Kerberos database.  This procedure is described fully in the
2603
 
"Adding or Modifying Principals" section of the Kerberos V5 System
2604
 
Administrator's Guide.  (See <a href="#Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>, for a
 
2523
&ldquo;Adding or Modifying Principals&rdquo; section of the Kerberos V5 System
 
2524
Administrator's Guide.  (See <a href="#Create-Host-Keys-for-the-Slave-KDCs">Create Host Keys for the Slave KDCs</a>, for a
2605
2525
brief description.)  The keytab is generated by running <code>kadmin</code>
2606
2526
and issuing the <code>ktadd</code> command.
2607
2527
 
2608
2528
<div class="node">
 
2529
<a name="Limit-Access-to-the-KDCs"></a>
2609
2530
<p><hr>
2610
 
Node:<a name="Limit%20Access%20to%20the%20KDCs">Limit Access to the KDCs</a>,
2611
 
Next:<a rel="next" accesskey="n" href="#Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>,
2612
 
Previous:<a rel="previous" accesskey="p" href="#Add%20Kerberos%20Principals%20to%20the%20Database">Add Kerberos Principals to the Database</a>,
2613
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2614
 
<br>
 
2531
Next:&nbsp;<a rel="next" accesskey="n" href="#Switching-Master-and-Slave-KDCs">Switching Master and Slave KDCs</a>,
 
2532
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Add-Kerberos-Principals-to-the-Database">Add Kerberos Principals to the Database</a>,
 
2533
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2534
 
2615
2535
</div>
2616
2536
 
2617
 
<h4 class="subsection">Limit Access to the KDCs</h4>
 
2537
<h4 class="subsection">4.1.6 Limit Access to the KDCs</h4>
2618
2538
 
2619
2539
<p>To limit the possibility that your Kerberos database could be
2620
2540
compromised, MIT recommends that each KDC be a dedicated
2624
2544
access to the Kerberos database.
2625
2545
 
2626
2546
<div class="node">
 
2547
<a name="Switching-Master-and-Slave-KDCs"></a>
2627
2548
<p><hr>
2628
 
Node:<a name="Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>,
2629
 
Next:<a rel="next" accesskey="n" href="#Incremental%20Database%20Propagation">Incremental Database Propagation</a>,
2630
 
Previous:<a rel="previous" accesskey="p" href="#Limit%20Access%20to%20the%20KDCs">Limit Access to the KDCs</a>,
2631
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2632
 
<br>
 
2549
Next:&nbsp;<a rel="next" accesskey="n" href="#Incremental-Database-Propagation">Incremental Database Propagation</a>,
 
2550
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Limit-Access-to-the-KDCs">Limit Access to the KDCs</a>,
 
2551
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2552
 
2633
2553
</div>
2634
2554
 
2635
 
<h4 class="subsection">Switching Master and Slave KDCs</h4>
 
2555
<h4 class="subsection">4.1.7 Switching Master and Slave KDCs</h4>
2636
2556
 
2637
2557
<p>You may occasionally want to use one of your slave KDCs as the master. 
2638
2558
This might happen if you are upgrading the master KDC, or if your master
2651
2571
     <li>Disable the cron job that propagates the database.
2652
2572
 
2653
2573
     <li>Run your database propagation script manually, to ensure that the slaves
2654
 
all have the latest copy of the database.  (See <a href="#Propagate%20the%20Database%20to%20Each%20Slave%20KDC">Propagate the Database to Each Slave KDC</a>.)  If there is a need to preserve per-principal
2655
 
policy information from the database, you should do a "kdb5_util dump
2656
 
-ov" in order to preserve that information and propogate that dump file
 
2574
all have the latest copy of the database.  (See <a href="#Propagate-the-Database-to-Each-Slave-KDC">Propagate the Database to Each Slave KDC</a>.)  If there is a need to preserve per-principal
 
2575
policy information from the database, you should do a &ldquo;kdb5_util dump
 
2576
-ov&rdquo; in order to preserve that information and propogate that dump file
2657
2577
securely by some means to the slave so that its database has the correct
2658
2578
state of the per-principal policy information.
2659
2579
     </ol>
2661
2581
<p>On the <em>new</em> master KDC:
2662
2582
 
2663
2583
     <ol type=1 start=1>
2664
 
<li>Create a database keytab.  (See <a href="#Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>.)
2665
 
 
2666
 
     <li>Start the <code>kadmind</code> daemon.  (See <a href="#Start%20the%20Kerberos%20Daemons">Start the Kerberos Daemons</a>.)
2667
 
 
2668
 
     <li>Set up the cron job to propagate the database.  (See <a href="#Propagate%20the%20Database%20to%20Each%20Slave%20KDC">Propagate the Database to Each Slave KDC</a>.)
 
2584
<li>Create a database keytab.  (See <a href="#Create-a-kadmind-Keytab-_0028optional_0029">Create a kadmind Keytab (optional)</a>.)
 
2585
 
 
2586
     <li>Start the <code>kadmind</code> daemon.  (See <a href="#Start-the-Kerberos-Daemons">Start the Kerberos Daemons</a>.)
 
2587
 
 
2588
     <li>Set up the cron job to propagate the database.  (See <a href="#Propagate-the-Database-to-Each-Slave-KDC">Propagate the Database to Each Slave KDC</a>.)
2669
2589
 
2670
2590
     <li>Switch the CNAMEs of the old and new master KDCs.  (If you don't do
2671
2591
this, you'll need to change the <code>krb5.conf</code> file on every client
2674
2594
     </ol>
2675
2595
 
2676
2596
<div class="node">
 
2597
<a name="Incremental-Database-Propagation"></a>
2677
2598
<p><hr>
2678
 
Node:<a name="Incremental%20Database%20Propagation">Incremental Database Propagation</a>,
2679
 
Previous:<a rel="previous" accesskey="p" href="#Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>,
2680
 
Up:<a rel="up" accesskey="u" href="#Installing%20KDCs">Installing KDCs</a>
2681
 
<br>
 
2599
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Switching-Master-and-Slave-KDCs">Switching Master and Slave KDCs</a>,
 
2600
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-KDCs">Installing KDCs</a>
 
2601
 
2682
2602
</div>
2683
2603
 
2684
 
<h4 class="subsection">Incremental Database Propagation</h4>
 
2604
<h4 class="subsection">4.1.8 Incremental Database Propagation</h4>
2685
2605
 
2686
2606
<p>At some very large sites, dumping and transmitting the database can
2687
2607
take more time than is desirable for changes to propagate from the
2690
2610
 
2691
2611
<p>With incremental propagation enabled, all programs on the master KDC
2692
2612
that change the database also write information about the changes to
2693
 
an "update log" file, maintained as a circular buffer of a certain
 
2613
an &ldquo;update log&rdquo; file, maintained as a circular buffer of a certain
2694
2614
size.  A process on each slave KDC connects to a service on the master
2695
 
KDC (currently implmented in the <code>kadmind</code> server) and
 
2615
KDC (currently implemented in the <code>kadmind</code> server) and
2696
2616
periodically requests the changes that have been made since the last
2697
2617
check.  By default, this check is done every two minutes.  If the
2698
2618
database has just been modified in the previous several seconds
2706
2626
data in the KDC config file:
2707
2627
 
2708
2628
     <dl>
2709
 
<dt><code>iprop_enable</code> (boolean)
2710
 
     <dd>If this is set to <code>true</code>, then incremental propagation is
 
2629
<dt><code>iprop_enable</code> (boolean)<dd>If this is set to <code>true</code>, then incremental propagation is
2711
2630
enabled, and (as noted below) normal <code>kprop</code> propagation is
2712
2631
disabled.  The default is <code>false</code>.
2713
2632
 
2714
 
     <br><dt><code>iprop_master_ulogsize</code> (integer)
2715
 
     <dd>This indicates the number of entries that should be retained in the
 
2633
     <br><dt><code>iprop_master_ulogsize</code> (integer)<dd>This indicates the number of entries that should be retained in the
2716
2634
update log.  The default is 1000; the maximum number is 2500.
2717
2635
 
2718
 
     <br><dt><code>iprop_slave_poll</code> (time interval)
2719
 
     <dd>This indicates how often the slave should poll the master KDC for
 
2636
     <br><dt><code>iprop_slave_poll</code> (time interval)<dd>This indicates how often the slave should poll the master KDC for
2720
2637
changes to the database.  The default is two minutes.
2721
2638
 
2722
 
     <br><dt><code>iprop_port</code> (integer)
2723
 
     <dd>This specifies the port number to be used for incremental
 
2639
     <br><dt><code>iprop_port</code> (integer)<dd>This specifies the port number to be used for incremental
2724
2640
propagation.  This is required in both master and slave configuration
2725
2641
files.
2726
2642
 
2727
 
     <br><dt><code>iprop_logfile</code> (file name)
2728
 
     <dd>This specifies where the update log file for the realm database is to
 
2643
     <br><dt><code>iprop_logfile</code> (file name)<dd>This specifies where the update log file for the realm database is to
2729
2644
be stored.  The default is to use the <code>database_name</code> entry from
2730
 
the <code>realms</code> section of the config file, with <code>.ulog</code> appended. 
 
2645
the <code>realms</code> section of the config file, with <samp><span class="file">.ulog</span></samp> appended. 
2731
2646
(NOTE: If <code>database_name</code> isn't specified in the <code>realms</code>
2732
2647
section, perhaps because the LDAP database back end is being used, or
2733
2648
the file name is specified in the <code>dbmodules</code> section, then the
2737
2652
</dl>
2738
2653
 
2739
2654
<p>Both master and slave sides must have principals named
2740
 
<code>kiprop/</code><var>hostname</var><code></code> (where <var>hostname</var> is, as usual, the
 
2655
<code>kiprop/</code><var>hostname</var> (where <var>hostname</var> is, as usual, the
2741
2656
lower-case, fully-qualified, canonical name for the host) registered
2742
 
and keys stored in the default keytab file (<code>/etc/krb5.keytab</code>).
 
2657
and keys stored in the default keytab file (<samp><span class="file">/etc/krb5.keytab</span></samp>). 
 
2658
<!-- XXX: I think the master side, at least, might be able to read the -->
 
2659
<!-- key out of the database.  Test and document this. -->
2743
2660
 
2744
 
<p>On the master KDC side, the <code>kiprop/</code><var>hostname</var><code></code> principal
 
2661
<p>On the master KDC side, the <code>kiprop/</code><var>hostname</var> principal
2745
2662
must be listed in the <code>kadmind</code> ACL file <code>kadm5.acl</code>, and
2746
2663
given the <code>p</code> privilege.
2747
2664
 
2761
2678
ACL setup previously described for <code>kprop</code> propagation is still
2762
2679
needed.
2763
2680
 
2764
 
<p>There are several known bugs and restrictions in the current
2765
 
implementation:
 
2681
<p>There are several restrictions in the current implementation:
 
2682
 
2766
2683
     <ul>
2767
 
<li>The "call out to <code>kprop</code>" mechanism is a bit fragile; if the
2768
 
<code>kprop</code> propagation fails to connect for some reason, the process
2769
 
on the slave may hang waiting for it, and will need to be restarted. 
 
2684
<li>Changes to password policy objects are not propagated incrementally. 
 
2685
Changes to which policy applies to a principal are propagated. 
2770
2686
<li>The master and slave must be able to initiate TCP connections in both
2771
 
directions, without an intervening NAT.  They must also be able to
2772
 
communicate over IPv4, since MIT's kprop and RPC code does not
2773
 
currently support IPv6. 
 
2687
directions, without an intervening NAT. 
 
2688
<li>If the slave has an IPv6 interface address but needs to accept
 
2689
connections over IPv4, the operating system needs &ldquo;dual stack&rdquo; support
 
2690
(i.e. the ability to accept IPv6 and IPv4 connections on a single IPv6
 
2691
listener socket).  At this time, all modern Unix-like operating systems
 
2692
have dual stack support except OpenBSD. 
2774
2693
</ul>
2775
2694
 
2776
2695
<ul class="menu">
2777
 
<li><a accesskey="1" href="#Sun%2fMIT%20Incremental%20Propagation%20Differences">Sun/MIT Incremental Propagation Differences</a>: 
 
2696
<li><a accesskey="1" href="#Sun_002fMIT-Incremental-Propagation-Differences">Sun/MIT Incremental Propagation Differences</a>
2778
2697
</ul>
2779
2698
 
2780
2699
<div class="node">
 
2700
<a name="Sun%2fMIT-Incremental-Propagation-Differences"></a>
 
2701
<a name="Sun_002fMIT-Incremental-Propagation-Differences"></a>
2781
2702
<p><hr>
2782
 
Node:<a name="Sun%2fMIT%20Incremental%20Propagation%20Differences">Sun/MIT Incremental Propagation Differences</a>,
2783
 
Previous:<a rel="previous" accesskey="p" href="#Incremental%20Database%20Propagation">Incremental Database Propagation</a>,
2784
 
Up:<a rel="up" accesskey="u" href="#Incremental%20Database%20Propagation">Incremental Database Propagation</a>
2785
 
<br>
 
2703
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Incremental-Database-Propagation">Incremental Database Propagation</a>,
 
2704
Up:&nbsp;<a rel="up" accesskey="u" href="#Incremental-Database-Propagation">Incremental Database Propagation</a>
 
2705
 
2786
2706
</div>
2787
2707
 
2788
 
<h5 class="subsubsection">Sun/MIT Incremental Propagation Differences</h5>
 
2708
<h5 class="subsubsection">4.1.8.1 Sun/MIT Incremental Propagation Differences</h5>
2789
2709
 
2790
2710
<p>Sun donated the original code for supporting incremental database
2791
2711
propagation to MIT.  Some changes have been made in the MIT source
2804
2724
work well, the port number must be specified in the config file on
2805
2725
both the master and slave sides.
2806
2726
 
2807
 
<p>The Sun implementation hard-codes pathnames in <code>/var/krb5</code> for
 
2727
<p>The Sun implementation hard-codes pathnames in <samp><span class="file">/var/krb5</span></samp> for
2808
2728
the update log and the per-slave <code>kprop</code> dump files.  In the MIT
2809
2729
implementation, the pathname for the update log is specified in the
2810
2730
config file, and the per-slave dump files are stored in
2811
 
<code>/usr/local/var/krb5kdc/slave_datatrans_</code><var>hostname</var><code></code>.
 
2731
<code>/usr/local/var/krb5kdc/slave_datatrans_</code><var>hostname</var>.
2812
2732
 
2813
2733
<div class="node">
 
2734
<a name="Installing-and-Configuring-UNIX-Client-Machines"></a>
2814
2735
<p><hr>
2815
 
Node:<a name="Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>,
2816
 
Next:<a rel="next" accesskey="n" href="#UNIX%20Application%20Servers">UNIX Application Servers</a>,
2817
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20KDCs">Installing KDCs</a>,
2818
 
Up:<a rel="up" accesskey="u" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>
2819
 
<br>
 
2736
Next:&nbsp;<a rel="next" accesskey="n" href="#UNIX-Application-Servers">UNIX Application Servers</a>,
 
2737
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-KDCs">Installing KDCs</a>,
 
2738
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>
 
2739
 
2820
2740
</div>
2821
2741
 
2822
 
<h3 class="section">Installing and Configuring UNIX Client Machines</h3>
 
2742
<h3 class="section">4.2 Installing and Configuring UNIX Client Machines</h3>
2823
2743
 
2824
2744
<p>Client machine installation is much more straightforward than
2825
2745
installation of the KDCs.
2826
2746
 
2827
2747
<ul class="menu">
2828
 
<li><a accesskey="1" href="#Client%20Programs">Client Programs</a>: 
2829
 
<li><a accesskey="2" href="#Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>: 
 
2748
<li><a accesskey="1" href="#Client-Programs">Client Programs</a>
 
2749
<li><a accesskey="2" href="#Client-Machine-Configuration-Files">Client Machine Configuration Files</a>
2830
2750
</ul>
2831
2751
 
2832
2752
<div class="node">
 
2753
<a name="Client-Programs"></a>
2833
2754
<p><hr>
2834
 
Node:<a name="Client%20Programs">Client Programs</a>,
2835
 
Next:<a rel="next" accesskey="n" href="#Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>,
2836
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>,
2837
 
Up:<a rel="up" accesskey="u" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>
2838
 
<br>
 
2755
Next:&nbsp;<a rel="next" accesskey="n" href="#Client-Machine-Configuration-Files">Client Machine Configuration Files</a>,
 
2756
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>,
 
2757
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>
 
2758
 
2839
2759
</div>
2840
2760
 
2841
 
<h4 class="subsection">Client Programs</h4>
 
2761
<h4 class="subsection">4.2.1 Client Programs</h4>
2842
2762
 
2843
2763
<p>The Kerberized client programs are <code>kinit</code>, <code>klist</code>,
2844
2764
<code>kdestroy</code>, <code>kpasswd</code>, and <code>ksu</code>.  All of these programs
2845
2765
are in the directory <code>/usr/local/bin</code>.
2846
2766
 
2847
 
MIT recommends that you use <code>login.krb5</code> in place of
 
2767
<p>MIT recommends that you use <code>login.krb5</code> in place of
2848
2768
<code>/bin/login</code> to give your users a single-sign-on system.  You will
2849
2769
need to make sure your users know to use their Kerberos passwords when
2850
2770
they log in.
2855
2775
non-Kerberos counterparts <code>su</code> and <code>passwd</code>.
2856
2776
 
2857
2777
<div class="node">
 
2778
<a name="Client-Machine-Configuration-Files"></a>
2858
2779
<p><hr>
2859
 
Node:<a name="Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>,
2860
 
Previous:<a rel="previous" accesskey="p" href="#Client%20Programs">Client Programs</a>,
2861
 
Up:<a rel="up" accesskey="u" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>
2862
 
<br>
 
2780
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Client-Programs">Client Programs</a>,
 
2781
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>
 
2782
 
2863
2783
</div>
2864
2784
 
2865
 
<h4 class="subsection">Client Machine Configuration Files</h4>
 
2785
<h4 class="subsection">4.2.2 Client Machine Configuration Files</h4>
2866
2786
 
2867
2787
<p>Each machine running Kerberos must have a <code>/etc/krb5.conf</code> file. 
2868
 
(See <a href="#krb5.conf">krb5.conf</a>.)
 
2788
(See <a href="#krb5_002econf">krb5.conf</a>.)
2869
2789
 
2870
2790
<p>Also, for most UNIX systems, you must add the appropriate Kerberos
2871
2791
services to each client machine's <code>/etc/services</code> file.  If you are
2878
2798
     kerberos-adm  749/udp          # Kerberos 5 admin/changepw
2879
2799
     krb5_prop     754/tcp          # Kerberos slave propagation
2880
2800
     krb524        4444/tcp         # Kerberos 5 to 4 ticket translator
2881
 
     </pre>
2882
 
 
 
2801
</pre>
2883
2802
<ul class="menu">
2884
 
<li><a accesskey="1" href="#Mac%20OS%20X%20Configuration">Mac OS X Configuration</a>: 
 
2803
<li><a accesskey="1" href="#Mac-OS-X-Configuration">Mac OS X Configuration</a>
2885
2804
</ul>
2886
2805
 
2887
2806
<div class="node">
 
2807
<a name="Mac-OS-X-Configuration"></a>
2888
2808
<p><hr>
2889
 
Node:<a name="Mac%20OS%20X%20Configuration">Mac OS X Configuration</a>,
2890
 
Previous:<a rel="previous" accesskey="p" href="#Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>,
2891
 
Up:<a rel="up" accesskey="u" href="#Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>
2892
 
<br>
 
2809
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Client-Machine-Configuration-Files">Client Machine Configuration Files</a>,
 
2810
Up:&nbsp;<a rel="up" accesskey="u" href="#Client-Machine-Configuration-Files">Client Machine Configuration Files</a>
 
2811
 
2893
2812
</div>
2894
2813
 
2895
 
<h5 class="subsubsection">Mac OS X Configuration</h5>
 
2814
<h5 class="subsubsection">4.2.2.1 Mac OS X Configuration</h5>
2896
2815
 
2897
2816
<p>To install Kerberos V5 on Mac OS X and Mac OS X Server, follow the
2898
2817
directions for generic Unix-based OS's, except for the
2925
2844
     $ niutil -createprop . /services/kshell name kshell krcmd
2926
2845
     $ niutil -createprop . /services/kshell port 544
2927
2846
     $ niutil -createprop . /services/kshell protocol tcp
2928
 
     </pre>
2929
 
 
 
2847
</pre>
2930
2848
<p>In addition to adding services to NetInfo, you must also modify the
2931
2849
resolver configuration in NetInfo so that the machine resolves its own
2932
2850
hostname as a FQDN (fully qualified domain name).  By default, Mac OS X
2942
2860
<pre class="smallexample">     $ niutil -create . /locations/lookupd/hosts
2943
2861
     $ niutil -createprop . /locations/lookupd/hosts LookupOrder CacheAgent DNSAgent
2944
2862
      NIAgent NILAgent
2945
 
     </pre>
2946
 
 
 
2863
</pre>
2947
2864
<p>Once you have rebooted, you can verify that the resolver now behaves
2948
2865
correctly.  Compile the Kerberos 5 distribution and run:
2949
2866
 
2950
2867
<pre class="smallexample">     $ cd .../src/tests/resolve
2951
2868
     $ ./resolve
2952
 
     </pre>
2953
 
 
 
2869
</pre>
2954
2870
<p>This will tell you whether or not your machine returns FQDNs on name
2955
2871
lookups.  If the test still fails, you can also try turning off DNS
2956
2872
caching.  Run the following commands and reboot:
2958
2874
<pre class="smallexample">     $ niutil -create . /locations/lookupd/hosts
2959
2875
     $ niutil -createprop . /locations/lookupd/hosts LookupOrder DNSAgent
2960
2876
      CacheAgent NIAgent NILAgent
2961
 
     </pre>
2962
 
 
 
2877
</pre>
2963
2878
<p>The remainder of the setup of a Mac OS X client machine or application
2964
2879
server should be the same as for other UNIX-based systems.
2965
2880
 
2966
2881
<div class="node">
 
2882
<a name="UNIX-Application-Servers"></a>
2967
2883
<p><hr>
2968
 
Node:<a name="UNIX%20Application%20Servers">UNIX Application Servers</a>,
2969
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>,
2970
 
Up:<a rel="up" accesskey="u" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>
2971
 
<br>
 
2884
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-and-Configuring-UNIX-Client-Machines">Installing and Configuring UNIX Client Machines</a>,
 
2885
Up:&nbsp;<a rel="up" accesskey="u" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>
 
2886
 
2972
2887
</div>
2973
2888
 
2974
 
<h3 class="section">UNIX Application Servers</h3>
 
2889
<h3 class="section">4.3 UNIX Application Servers</h3>
2975
2890
 
2976
2891
<p>An application server is a host that provides one or more services over
2977
 
the network.  Application servers can be "secure" or "insecure."  A
2978
 
"secure" host is set up to require authentication from every client
2979
 
connecting to it.  An "insecure" host will still provide Kerberos
 
2892
the network.  Application servers can be &ldquo;secure&rdquo; or &ldquo;insecure.&rdquo;  A
 
2893
&ldquo;secure&rdquo; host is set up to require authentication from every client
 
2894
connecting to it.  An &ldquo;insecure&rdquo; host will still provide Kerberos
2980
2895
authentication, but will also allow unauthenticated clients to connect.
2981
2896
 
2982
2897
<p>If you have Kerberos V5 installed on all of your client machines,
2987
2902
Kerberos V5's single sign-on capability.
2988
2903
 
2989
2904
<ul class="menu">
2990
 
<li><a accesskey="1" href="#The%20Keytab%20File">The Keytab File</a>: 
2991
 
<li><a accesskey="2" href="#Some%20Advice%20about%20Secure%20Hosts">Some Advice about Secure Hosts</a>: 
 
2905
<li><a accesskey="1" href="#The-Keytab-File">The Keytab File</a>
 
2906
<li><a accesskey="2" href="#Some-Advice-about-Secure-Hosts">Some Advice about Secure Hosts</a>
2992
2907
</ul>
2993
2908
 
2994
2909
<div class="node">
 
2910
<a name="The-Keytab-File"></a>
2995
2911
<p><hr>
2996
 
Node:<a name="The%20Keytab%20File">The Keytab File</a>,
2997
 
Next:<a rel="next" accesskey="n" href="#Some%20Advice%20about%20Secure%20Hosts">Some Advice about Secure Hosts</a>,
2998
 
Previous:<a rel="previous" accesskey="p" href="#UNIX%20Application%20Servers">UNIX Application Servers</a>,
2999
 
Up:<a rel="up" accesskey="u" href="#UNIX%20Application%20Servers">UNIX Application Servers</a>
3000
 
<br>
 
2912
Next:&nbsp;<a rel="next" accesskey="n" href="#Some-Advice-about-Secure-Hosts">Some Advice about Secure Hosts</a>,
 
2913
Previous:&nbsp;<a rel="previous" accesskey="p" href="#UNIX-Application-Servers">UNIX Application Servers</a>,
 
2914
Up:&nbsp;<a rel="up" accesskey="u" href="#UNIX-Application-Servers">UNIX Application Servers</a>
 
2915
 
3001
2916
</div>
3002
2917
 
3003
 
<h4 class="subsection">The Keytab File</h4>
 
2918
<h4 class="subsection">4.3.1 The Keytab File</h4>
3004
2919
 
3005
2920
<p>All Kerberos server machines need a <dfn>keytab</dfn> file, called
3006
2921
<code>/etc/krb5.keytab</code>, to authenticate to the KDC.  The keytab file is
3007
2922
an encrypted, local, on-disk copy of the host's key.  The keytab file,
3008
 
like the stash file (<a href="#Create%20the%20Database">Create the Database</a>) is a potential
 
2923
like the stash file (<a href="#Create-the-Database">Create the Database</a>) is a potential
3009
2924
point-of-entry for a break-in, and if compromised, would allow
3010
2925
unrestricted access to its host.  The keytab file should be readable
3011
2926
only by root, and should exist only on the machine's local disk.  The
3015
2930
 
3016
2931
<p>In order to generate a keytab for a host, the host must have a principal
3017
2932
in the Kerberos database.  The procedure for adding hosts to the
3018
 
database is described fully in the "Adding or Modifying Principals"
 
2933
database is described fully in the &ldquo;Adding or Modifying Principals&rdquo;
3019
2934
section of the <cite>Kerberos V5 System Administrator's Guide</cite>. 
3020
 
See <a href="#Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>. for a brief description.) 
 
2935
See <a href="#Create-Host-Keys-for-the-Slave-KDCs">Create Host Keys for the Slave KDCs</a>. for a brief description.) 
3021
2936
The keytab is generated by running <code>kadmin</code> and issuing the
3022
2937
<code>ktadd</code> command.
3023
2938
 
3029
2944
 
3030
2945
<pre class="smallexample">     <b>trillium%</b> /usr/local/sbin/kadmin
3031
2946
     <b>kadmin5:</b> ktadd host/trillium.mit.edu ftp/trillium.mit.edu
3032
 
     =&gt; pop/trillium.mit.edu
 
2947
     &rArr; pop/trillium.mit.edu
3033
2948
     <b>kadmin: Entry for principal host/trillium.mit.edu@ATHENA.MIT.EDU with
3034
2949
     kvno 3, encryption type DES-CBC-CRC added to keytab
3035
2950
     WRFILE:/etc/krb5.keytab.
3041
2956
     WRFILE:/etc/krb5.keytab.
3042
2957
     kadmin5:</b> quit
3043
2958
     <b>trillium%</b>
3044
 
     </pre>
3045
 
 
 
2959
</pre>
3046
2960
<p>If you generate the keytab file on another host, you need to get a copy
3047
2961
of the keytab file onto the destination host (<code>trillium</code>, in the
3048
2962
above example) without sending it unencrypted over the network.
3049
2963
 
3050
2964
<div class="node">
 
2965
<a name="Some-Advice-about-Secure-Hosts"></a>
3051
2966
<p><hr>
3052
 
Node:<a name="Some%20Advice%20about%20Secure%20Hosts">Some Advice about Secure Hosts</a>,
3053
 
Previous:<a rel="previous" accesskey="p" href="#The%20Keytab%20File">The Keytab File</a>,
3054
 
Up:<a rel="up" accesskey="u" href="#UNIX%20Application%20Servers">UNIX Application Servers</a>
3055
 
<br>
 
2967
Previous:&nbsp;<a rel="previous" accesskey="p" href="#The-Keytab-File">The Keytab File</a>,
 
2968
Up:&nbsp;<a rel="up" accesskey="u" href="#UNIX-Application-Servers">UNIX Application Servers</a>
 
2969
 
3056
2970
</div>
3057
2971
 
3058
 
<h4 class="subsection">Some Advice about Secure Hosts</h4>
 
2972
<h4 class="subsection">4.3.2 Some Advice about Secure Hosts</h4>
3059
2973
 
3060
 
Kerberos V5 can protect your host from certain types of break-ins,
 
2974
<p>Kerberos V5 can protect your host from certain types of break-ins,
3061
2975
but it is possible to install Kerberos V5 and still leave your host
3062
2976
vulnerable to attack.  Obviously an installation guide is not the place
3063
2977
to try to include an exhaustive list of countermeasures for every
3074
2988
should be readable only by root.
3075
2989
 
3076
2990
<div class="node">
 
2991
<a name="Upgrading-Existing-Kerberos-V5-Installations"></a>
3077
2992
<p><hr>
3078
 
Node:<a name="Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>,
3079
 
Next:<a rel="next" accesskey="n" href="#Bug%20Reports%20for%20Kerberos%20V5">Bug Reports for Kerberos V5</a>,
3080
 
Previous:<a rel="previous" accesskey="p" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>,
3081
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
3082
 
<br>
 
2993
Next:&nbsp;<a rel="next" accesskey="n" href="#Bug-Reports-for-Kerberos-V5">Bug Reports for Kerberos V5</a>,
 
2994
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installing-Kerberos-V5">Installing Kerberos V5</a>,
 
2995
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
2996
 
3083
2997
</div>
3084
2998
 
3085
 
<h2 class="chapter">Upgrading Existing Kerberos V5 Installations</h2>
 
2999
<h2 class="chapter">5 Upgrading Existing Kerberos V5 Installations</h2>
3086
3000
 
3087
3001
<p>If you already have an existing Kerberos database that you created with
3088
3002
a prior release of Kerberos 5, you can upgrade it to work with the
3099
3013
server processes, if any.
3100
3014
 
3101
3015
     <li>Dump your existing Kerberos database to an ASCII file with
3102
 
<code>kdb5_util</code>'s "dump" command:
 
3016
<code>kdb5_util</code>'s &ldquo;dump&rdquo; command:
3103
3017
 
3104
3018
     <pre class="smallexample">          <b>shell%</b> cd /usr/local/var/krb5kdc
3105
3019
          <b>shell%</b> kdb5_util dump old-kdb-dump
3106
3020
          <b>shell%</b> kdb5_util dump -ov old-kdb-dump.ov
3107
3021
          <b>shell%</b>
3108
 
          </pre>
3109
 
 
3110
 
     <li>Create a new Master KDC installation (See <a href="#Install%20the%20Master%20KDC">Install the Master KDC</a>.).  If you have a stash file for your current database, choose any
 
3022
</pre>
 
3023
     <li>Create a new Master KDC installation (See <a href="#Install-the-Master-KDC">Install the Master KDC</a>.).  If you have a stash file for your current database, choose any
3111
3024
new master password but then copy your existing stash file to the
3112
3025
location specified by your kdc.conf; if you do not have a stash file for
3113
3026
your current database, you must choose the same master password.
3114
3027
 
3115
3028
     <li>Load your old Kerberos database into the new system with
3116
 
<code>kdb5_util</code>'s "load" command:
 
3029
<code>kdb5_util</code>'s &ldquo;load&rdquo; command:
3117
3030
 
3118
3031
     <pre class="smallexample">          <b>shell%</b> cd /usr/local/var/krb5kdc
3119
3032
          <b>shell%</b> kdb5_util load old-kdb-dump
3120
3033
          <b>shell%</b> kdb5_util load -update old-kdb-dump.ov
3121
3034
          <b>shell%</b>
3122
 
          </pre>
3123
 
 
 
3035
</pre>
3124
3036
     </ol>
3125
3037
 
3126
 
<p>The "dump -ov" and "load -update" commands are necessary in order to
 
3038
<p>The &ldquo;dump -ov&rdquo; and &ldquo;load -update&rdquo; commands are necessary in order to
3127
3039
preserve per-principal policy information, since the default dump format
3128
3040
filters out that information.  If you omit those steps, the loaded
3129
3041
database database will lose the policy information for each principal
3134
3046
dump file, and re-start the server processes.
3135
3047
 
3136
3048
<ul class="menu">
3137
 
<li><a accesskey="1" href="#Upgrading%20to%20Triple-DES%20and%20RC4%20Encryption%20Keys">Upgrading to Triple-DES and RC4 Encryption Keys</a>: 
 
3049
<li><a accesskey="1" href="#Upgrading-to-Triple_002dDES-and-RC4-Encryption-Keys">Upgrading to Triple-DES and RC4 Encryption Keys</a>
3138
3050
</ul>
3139
3051
 
3140
3052
<div class="node">
 
3053
<a name="Upgrading-to-Triple-DES-and-RC4-Encryption-Keys"></a>
 
3054
<a name="Upgrading-to-Triple_002dDES-and-RC4-Encryption-Keys"></a>
3141
3055
<p><hr>
3142
 
Node:<a name="Upgrading%20to%20Triple-DES%20and%20RC4%20Encryption%20Keys">Upgrading to Triple-DES and RC4 Encryption Keys</a>,
3143
 
Previous:<a rel="previous" accesskey="p" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>,
3144
 
Up:<a rel="up" accesskey="u" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>
3145
 
<br>
 
3056
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Upgrading-Existing-Kerberos-V5-Installations">Upgrading Existing Kerberos V5 Installations</a>,
 
3057
Up:&nbsp;<a rel="up" accesskey="u" href="#Upgrading-Existing-Kerberos-V5-Installations">Upgrading Existing Kerberos V5 Installations</a>
 
3058
 
3146
3059
</div>
3147
3060
 
3148
 
<h3 class="section">Upgrading to Triple-DES Encryption Keys</h3>
 
3061
<h3 class="section">5.1 Upgrading to Triple-DES Encryption Keys</h3>
3149
3062
 
3150
3063
<p>Beginning with the 1.2 release from MIT, Kerberos includes
3151
 
a stronger encryption algorithm called "triple DES" - essentially,
 
3064
a stronger encryption algorithm called &ldquo;triple DES&rdquo; &ndash; essentially,
3152
3065
three applications of the basic DES encryption algorithm, greatly
3153
3066
increasing the resistance to a brute-force search for the key by an
3154
3067
attacker.  This algorithm is more secure, but encryption is much
3185
3098
<code>des-cbc-crc</code> in the default list.
3186
3099
 
3187
3100
<div class="node">
 
3101
<a name="Bug-Reports-for-Kerberos-V5"></a>
3188
3102
<p><hr>
3189
 
Node:<a name="Bug%20Reports%20for%20Kerberos%20V5">Bug Reports for Kerberos V5</a>,
3190
 
Next:<a rel="next" accesskey="n" href="#Copyright">Copyright</a>,
3191
 
Previous:<a rel="previous" accesskey="p" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>,
3192
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
3193
 
<br>
 
3103
Next:&nbsp;<a rel="next" accesskey="n" href="#Copyright">Copyright</a>,
 
3104
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Upgrading-Existing-Kerberos-V5-Installations">Upgrading Existing Kerberos V5 Installations</a>,
 
3105
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
3106
 
3194
3107
</div>
3195
3108
 
3196
 
<h2 class="chapter">Bug Reports for Kerberos V5</h2>
 
3109
<h2 class="chapter">6 Bug Reports for Kerberos V5</h2>
3197
3110
 
3198
3111
<p>In any complex software, there will be bugs.  If you have successfully
3199
3112
built and installed Kerberos V5, please use the <code>krb5-send-pr</code>
3202
3115
 
3203
3116
<p>Bug reports that include proposed fixes are especially welcome.  If you
3204
3117
do include fixes, please send them using either context diffs or unified
3205
 
diffs (using <code>diff -c</code> or <code>diff -u</code>, respectively).  Please be
3206
 
careful when using "cut and paste" or other such means to copy a patch
 
3118
diffs (using &lsquo;<samp><span class="samp">diff -c</span></samp>&rsquo; or &lsquo;<samp><span class="samp">diff -u</span></samp>&rsquo;, respectively).  Please be
 
3119
careful when using &ldquo;cut and paste&rdquo; or other such means to copy a patch
3207
3120
into a bug report; depending on the system being used, that can result
3208
3121
in converting TAB characters into spaces, which makes applying the
3209
3122
patches more difficult.
3226
3139
<pre class="smallexample">     krb5-admin   krb5-appl    krb5-build   krb5-clients
3227
3140
     krb5-doc     krb5-kdc     krb5-libs    krb5-misc
3228
3141
     pty          telnet       test
3229
 
     </pre>
3230
 
 
3231
 
<p>Choose the category that best describes the area under which your
 
3142
</pre>
 
3143
<p class="noindent">Choose the category that best describes the area under which your
3232
3144
problem falls.
3233
3145
 
3234
3146
<p>The <b>class</b> can be <dfn>sw-bug</dfn>, <dfn>doc-bug</dfn>, <dfn>change-request</dfn>,
3270
3182
<p>It is important that you fill in the <i>release</i> field and tell us
3271
3183
what changes you have made, if any.
3272
3184
 
3273
 
<p>A sample filled-out form from a company named "Toasters, Inc." might
 
3185
<p>A sample filled-out form from a company named &ldquo;Toasters, Inc.&rdquo; might
3274
3186
look like this:
3275
3187
 
3276
3188
<pre class="smallexample">     To: krb5-bugs@mit.edu
3302
3214
             N/A
3303
3215
     &gt;Fix:
3304
3216
             Correct the spelling.
3305
 
     </pre>
3306
 
 
 
3217
</pre>
3307
3218
<p>If the <code>krb5-send-pr</code> program does not work for you, or if you did
3308
3219
not get far enough in the process to have an installed and working
3309
3220
<code>krb5-send-pr</code>, you can generate your own form, using the above as
3310
3221
an example.
3311
3222
 
3312
3223
<div class="node">
 
3224
<a name="Copyright"></a>
3313
3225
<p><hr>
3314
 
Node:<a name="Copyright">Copyright</a>,
3315
 
Previous:<a rel="previous" accesskey="p" href="#Bug%20Reports%20for%20Kerberos%20V5">Bug Reports for Kerberos V5</a>,
3316
 
Up:<a rel="up" accesskey="u" href="#Top">Top</a>
3317
 
<br>
 
3226
Previous:&nbsp;<a rel="previous" accesskey="p" href="#Bug-Reports-for-Kerberos-V5">Bug Reports for Kerberos V5</a>,
 
3227
Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
 
3228
 
3318
3229
</div>
3319
3230
 
3320
 
<h2 class="appendix">Copyright</h2>
 
3231
<h2 class="appendix">Appendix A Copyright</h2>
3321
3232
 
3322
3233
<p>Copyright &copy; 1985-2011 by the Massachusetts Institute of Technology.
3323
3234
 
3340
3251
modify this software you must label your software as modified software
3341
3252
and not distribute it in such a fashion that it might be confused with
3342
3253
the original MIT software.  M.I.T. makes no representations about the
3343
 
suitability of this software for any purpose.  It is provided "as is"
 
3254
suitability of this software for any purpose.  It is provided &ldquo;as is&rdquo;
3344
3255
without express or implied warranty.
3345
3256
 
3346
3257
<p>Individual source code files are copyright MIT, Cygnus Support,
3352
3263
(MIT).  No commercial use of these trademarks may be made without
3353
3264
prior written permission of MIT.
3354
3265
 
3355
 
<p>"Commercial use" means use of a name in a product or other for-profit
 
3266
<p>&ldquo;Commercial use&rdquo; means use of a name in a product or other for-profit
3356
3267
manner.  It does NOT prevent a commercial firm from referring to the
3357
3268
MIT trademarks in order to convey information (although in doing so,
3358
3269
recognition of their trademark status should be given).
3359
3270
 
3360
 
<hr>
 
3271
<p><hr>
3361
3272
 
3362
3273
<p>The following copyright and permission notice applies to the
3363
3274
OpenVision Kerberos Administration system located in
3368
3279
<blockquote>
3369
3280
Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights Reserved
3370
3281
 
3371
 
     <p>WARNING:  Retrieving the OpenVision Kerberos Administration system source
 
3282
<p>WARNING:  Retrieving the OpenVision Kerberos Administration system source
3372
3283
code, as described below, indicates your acceptance of the following
3373
3284
terms.  If you do not agree to the following terms, do not retrieve the
3374
3285
OpenVision Kerberos administration system.
3375
3286
 
3376
 
     <p>You may freely use and distribute the Source Code and Object Code
 
3287
<p>You may freely use and distribute the Source Code and Object Code
3377
3288
compiled from it, with or without modification, but this Source Code is
3378
 
provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT
 
3289
provided to you &ldquo;AS IS&rdquo; EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT
3379
3290
LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
3380
3291
PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. 
3381
3292
IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS,
3385
3296
OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR
3386
3297
ANY OTHER REASON.
3387
3298
 
3388
 
     <p>OpenVision retains all copyrights in the donated Source Code. OpenVision
 
3299
<p>OpenVision retains all copyrights in the donated Source Code. OpenVision
3389
3300
also retains copyright to derivative works of the Source Code, whether
3390
3301
created by OpenVision or by a third party. The OpenVision copyright
3391
3302
notice must be preserved if derivative works are made based on the
3392
3303
donated Source Code.
3393
3304
 
3394
 
     <p>OpenVision Technologies, Inc. has donated this Kerberos Administration
 
3305
<p>OpenVision Technologies, Inc. has donated this Kerberos Administration
3395
3306
system to MIT for inclusion in the standard Kerberos 5 distribution. 
3396
3307
This donation underscores our commitment to continuing Kerberos
3397
3308
technology development and our gratitude for the valuable work which has
3398
3309
been performed by MIT and the Kerberos community. 
3399
3310
</blockquote>
3400
3311
 
3401
 
<hr>
 
3312
<p><hr>
3402
3313
 
3403
3314
<blockquote>
3404
3315
Portions contributed by Matt Crawford <code>&lt;crawdad@fnal.gov&gt;</code> were work
3407
3318
DE-AC02-76CHO3000 with the U.S. Department of Energy. 
3408
3319
</blockquote>
3409
3320
 
3410
 
<hr>
 
3321
<p><hr>
3411
3322
 
3412
3323
<p>Portions of <code>src/lib/crypto</code> have the following copyright:
3413
3324
 
3414
3325
<blockquote>
3415
3326
Copyright &copy; 1998 by the FundsXpress, INC.
3416
3327
 
3417
 
     <p>All rights reserved.
 
3328
<p>All rights reserved.
3418
3329
 
3419
 
     <blockquote>
 
3330
<blockquote>
3420
3331
Export of this software from the United States of America may require
3421
3332
a specific license from the United States Government.  It is the
3422
3333
responsibility of any person or organization contemplating export to
3423
3334
obtain such a license before exporting. 
3424
3335
</blockquote>
3425
3336
 
3426
 
     <p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
 
3337
<p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
3427
3338
distribute this software and its documentation for any purpose and
3428
3339
without fee is hereby granted, provided that the above copyright
3429
3340
notice appear in all copies and that both that copyright notice and
3431
3342
the name of FundsXpress. not be used in advertising or publicity pertaining
3432
3343
to distribution of the software without specific, written prior
3433
3344
permission.  FundsXpress makes no representations about the suitability of
3434
 
this software for any purpose.  It is provided "as is" without express
 
3345
this software for any purpose.  It is provided &ldquo;as is&rdquo; without express
3435
3346
or implied warranty.
3436
3347
 
3437
 
     <p>THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 
3348
<p>THIS SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo; AND WITHOUT ANY EXPRESS OR
3438
3349
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
3439
3350
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
3440
3351
</blockquote>
3441
3352
 
3442
 
<hr>
3443
 
 
3444
 
<p>The implementation of the Yarrow pseudo-random number generator
3445
 
in <code>src/lib/crypto/krb/prng/yarrow</code> has the following copyright:
3446
 
 
3447
 
<blockquote>
3448
 
Copyright 2000 by Zero-Knowledge Systems, Inc.
3449
 
 
3450
 
     <p>Permission to use, copy, modify, distribute, and sell this software
3451
 
and its documentation for any purpose is hereby granted without fee,
3452
 
provided that the above copyright notice appear in all copies and that
3453
 
both that copyright notice and this permission notice appear in
3454
 
supporting documentation, and that the name of Zero-Knowledge Systems,
3455
 
Inc. not be used in advertising or publicity pertaining to
3456
 
distribution of the software without specific, written prior
3457
 
permission.  Zero-Knowledge Systems, Inc. makes no representations
3458
 
about the suitability of this software for any purpose.  It is
3459
 
provided "as is" without express or implied warranty.
3460
 
 
3461
 
     <p>ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO
3462
 
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
3463
 
FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR
3464
 
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3465
 
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3466
 
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT
3467
 
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
3468
 
</blockquote>
3469
 
 
3470
 
<hr>
 
3353
<p><hr>
3471
3354
 
3472
3355
<p>The implementation of the AES encryption algorithm in
3473
3356
<code>src/lib/crypto/builtin/aes</code> has the following copyright:
3477
3360
Worcester, UK.<br>
3478
3361
All rights reserved.
3479
3362
 
3480
 
     <p>LICENSE TERMS
 
3363
<p>LICENSE TERMS
3481
3364
 
3482
 
     <p>The free distribution and use of this software in both source and binary
 
3365
<p>The free distribution and use of this software in both source and binary
3483
3366
form is allowed (with or without changes) provided that:
3484
3367
 
3485
 
          <ol type=1 start=1>
 
3368
     <ol type=1 start=1>
3486
3369
<li>distributions of this source code include the above copyright
3487
3370
notice, this list of conditions and the following disclaimer;
3488
3371
<li>distributions in binary form include the above copyright
3490
3373
in the documentation and/or other associated materials;
3491
3374
<li>the copyright holder's name is not used to endorse products
3492
3375
built using this software without specific written permission.
3493
 
          </ol>
3494
 
 
3495
 
     <p>DISCLAIMER
3496
 
 
3497
 
     <p>This software is provided 'as is' with no explcit or implied warranties
 
3376
     </ol>
 
3377
 
 
3378
<p>DISCLAIMER
 
3379
 
 
3380
<p>This software is provided 'as is' with no explcit or implied warranties
3498
3381
in respect of any properties, including, but not limited to, correctness
3499
3382
and fitness for purpose. 
3500
3383
</blockquote>
3501
3384
 
3502
 
<hr>
 
3385
<p><hr>
3503
3386
 
3504
3387
<p>Portions contributed by Red Hat, including the pre-authentication
3505
3388
plug-in framework and the NSS crypto implementation, contain the
3510
3393
Portions copyright &copy; 2006 Massachusetts Institute of Technology<br>
3511
3394
All Rights Reserved.<br>
3512
3395
 
3513
 
     <p>Redistribution and use in source and binary forms, with or without
 
3396
<p>Redistribution and use in source and binary forms, with or without
3514
3397
modification, are permitted provided that the following conditions are
3515
3398
met:
3516
3399
 
3517
 
          <ul>
 
3400
     <ul>
3518
3401
<li>Redistributions of source code must retain the above copyright
3519
3402
notice, this list of conditions and the following disclaimer. 
3520
3403
<li>Redistributions in binary form must reproduce the above copyright
3525
3408
without specific prior written permission. 
3526
3409
</ul>
3527
3410
 
3528
 
     <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
3529
 
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 
3411
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &ldquo;AS
 
3412
IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
3530
3413
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
3531
3414
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
3532
3415
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
3538
3421
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
3539
3422
</blockquote>
3540
3423
 
3541
 
<hr>
 
3424
<p><hr>
3542
3425
 
3543
3426
<p>The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in
3544
3427
<code>src/lib/gssapi</code>, including the following files:
3580
3463
     lib/gssapi/mechglue/oid_ops.c
3581
3464
     lib/gssapi/spnego/gssapiP_spnego.h
3582
3465
     lib/gssapi/spnego/spnego_mech.c
3583
 
     </pre>
3584
 
 
 
3466
</pre>
3585
3467
<p>and the initial implementation of incremental propagation, including
3586
3468
the following new or changed files:
3587
3469
 
3594
3476
     lib/krb5/error_tables/kdb5_err.et
3595
3477
     slave/kpropd_rpc.c
3596
3478
     slave/kproplog.c
3597
 
     </pre>
3598
 
 
 
3479
</pre>
3599
3480
<p>are subject to the following license:
3600
3481
 
3601
3482
<blockquote>
3602
3483
Copyright &copy; 2004 Sun Microsystems, Inc.
3603
3484
 
3604
 
     <p>Permission is hereby granted, free of charge, to any person obtaining a
 
3485
<p>Permission is hereby granted, free of charge, to any person obtaining a
3605
3486
copy of this software and associated documentation files (the
3606
 
"Software"), to deal in the Software without restriction, including
 
3487
&ldquo;Software&rdquo;), to deal in the Software without restriction, including
3607
3488
without limitation the rights to use, copy, modify, merge, publish,
3608
3489
distribute, sublicense, and/or sell copies of the Software, and to
3609
3490
permit persons to whom the Software is furnished to do so, subject to
3610
3491
the following conditions:
3611
3492
 
3612
 
     <p>The above copyright notice and this permission notice shall be included
 
3493
<p>The above copyright notice and this permission notice shall be included
3613
3494
in all copies or substantial portions of the Software.
3614
3495
 
3615
 
     <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
3496
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND, EXPRESS
3616
3497
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3617
3498
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
3618
3499
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3621
3502
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
3622
3503
</blockquote>
3623
3504
 
3624
 
<hr>
 
3505
<p><hr>
3625
3506
 
3626
 
Kerberos V5 includes documentation and software developed at the
 
3507
<p>Kerberos V5 includes documentation and software developed at the
3627
3508
University of California at Berkeley, which includes this copyright
3628
3509
notice:
3629
3510
 
3631
3512
Copyright &copy; 1983 Regents of the University of California.<br>
3632
3513
All rights reserved.
3633
3514
 
3634
 
     <p>Redistribution and use in source and binary forms, with or without
 
3515
<p>Redistribution and use in source and binary forms, with or without
3635
3516
modification, are permitted provided that the following conditions are
3636
3517
met:
3637
3518
 
3638
 
          <ol type=1 start=1>
 
3519
     <ol type=1 start=1>
3639
3520
<li>Redistributions of source code must retain the above copyright
3640
3521
notice, this list of conditions and the following disclaimer. 
3641
3522
<li>Redistributions in binary form must reproduce the above copyright
3644
3525
<li>Neither the name of the University nor the names of its contributors
3645
3526
may be used to endorse or promote products derived from this software
3646
3527
without specific prior written permission.
3647
 
          </ol>
 
3528
     </ol>
3648
3529
 
3649
 
     <p>THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
 
3530
<p>THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS &ldquo;AS IS&rdquo; AND
3650
3531
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3651
3532
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3652
3533
ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
3659
3540
SUCH DAMAGE. 
3660
3541
</blockquote>
3661
3542
 
3662
 
<hr>
 
3543
<p><hr>
3663
3544
 
3664
3545
<p>Portions contributed by Novell, Inc., including the LDAP database
3665
3546
backend, are subject to the following license:
3668
3549
Copyright &copy; 2004-2005, Novell, Inc.<br>
3669
3550
All rights reserved.
3670
3551
 
3671
 
     <p>Redistribution and use in source and binary forms, with or without
 
3552
<p>Redistribution and use in source and binary forms, with or without
3672
3553
modification, are permitted provided that the following conditions are met:
3673
3554
 
3674
 
          <ul>
 
3555
     <ul>
3675
3556
<li>Redistributions of source code must retain the above copyright notice,
3676
3557
this list of conditions and the following disclaimer. 
3677
3558
<li>Redistributions in binary form must reproduce the above copyright
3681
3562
derived from this software without specific prior written permission. 
3682
3563
</ul>
3683
3564
 
3684
 
     <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
3565
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &ldquo;AS IS&rdquo;
3685
3566
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3686
3567
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3687
3568
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
3694
3575
POSSIBILITY OF SUCH DAMAGE. 
3695
3576
</blockquote>
3696
3577
 
3697
 
<hr>
 
3578
<p><hr>
3698
3579
 
3699
3580
<p>Portions funded by Sandia National Laboratory
3700
3581
and developed by the University of Michigan's
3707
3588
THE REGENTS OF THE UNIVERSITY OF MICHIGAN<br>
3708
3589
ALL RIGHTS RESERVED
3709
3590
 
3710
 
     <p>Permission is granted to use, copy, create derivative works
 
3591
<p>Permission is granted to use, copy, create derivative works
3711
3592
and redistribute this software and such derivative works
3712
3593
for any purpose, so long as the name of The University of
3713
3594
Michigan is not used in any advertising or publicity
3718
3599
portion of this software, then the disclaimer below must
3719
3600
also be included.
3720
3601
 
3721
 
     <p>THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION
 
3602
<p>THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION
3722
3603
FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY
3723
3604
PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF
3724
3605
MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
3732
3613
SUCH DAMAGES. 
3733
3614
</blockquote>
3734
3615
 
3735
 
<hr>
 
3616
<p><hr>
3736
3617
 
3737
3618
<p>The pkcs11.h file included in the PKINIT code has the
3738
3619
following license:
3741
3622
Copyright 2006 g10 Code GmbH<br>
3742
3623
Copyright 2006 Andreas Jellinghaus
3743
3624
 
3744
 
     <p>This file is free software; as a special exception the author gives
 
3625
<p>This file is free software; as a special exception the author gives
3745
3626
unlimited permission to copy and/or distribute it, with or without
3746
3627
modifications, as long as this notice is preserved.
3747
3628
 
3748
 
     <p>This file is distributed in the hope that it will be useful, but
 
3629
<p>This file is distributed in the hope that it will be useful, but
3749
3630
WITHOUT ANY WARRANTY, to the extent permitted by law; without even
3750
3631
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
3751
3632
PURPOSE. 
3752
3633
</blockquote>
3753
3634
 
3754
 
<hr>
 
3635
<p><hr>
3755
3636
 
3756
3637
<p>Portions contributed by Apple Inc. are subject to the following license:
3757
3638
 
3758
3639
<blockquote>
3759
3640
Copyright 2004-2008 Apple Inc.  All Rights Reserved.
3760
3641
 
3761
 
     <blockquote>
 
3642
<blockquote>
3762
3643
Export of this software from the United States of America may require
3763
3644
a specific license from the United States Government.  It is the
3764
3645
responsibility of any person or organization contemplating export to
3765
3646
obtain such a license before exporting. 
3766
3647
</blockquote>
3767
3648
 
3768
 
     <p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
 
3649
<p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
3769
3650
distribute this software and its documentation for any purpose and
3770
3651
without fee is hereby granted, provided that the above copyright
3771
3652
notice appear in all copies and that both that copyright notice and
3773
3654
the name of Apple Inc. not be used in advertising or publicity pertaining
3774
3655
to distribution of the software without specific, written prior
3775
3656
permission.  Apple Inc. makes no representations about the suitability of
3776
 
this software for any purpose.  It is provided "as is" without express
 
3657
this software for any purpose.  It is provided &ldquo;as is&rdquo; without express
3777
3658
or implied warranty.
3778
3659
 
3779
 
     <p>THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 
3660
<p>THIS SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo; AND WITHOUT ANY EXPRESS OR
3780
3661
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
3781
3662
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
3782
3663
</blockquote>
3783
3664
 
3784
 
<hr>
 
3665
<p><hr>
3785
3666
 
3786
3667
<p>The implementations of UTF-8 string handling in src/util/support and
3787
3668
src/lib/krb5/unicode are subject to the following copyright and
3791
3672
The OpenLDAP Public License<br>
3792
3673
Version 2.8, 17 August 2003
3793
3674
 
3794
 
     <p>Redistribution and use of this software and associated documentation
3795
 
("Software"), with or without modification, are permitted provided
 
3675
<p>Redistribution and use of this software and associated documentation
 
3676
(&ldquo;Software&rdquo;), with or without modification, are permitted provided
3796
3677
that the following conditions are met:
3797
3678
 
3798
 
          <ol type=1 start=1>
 
3679
     <ol type=1 start=1>
3799
3680
<li>Redistributions in source form must retain copyright statements
3800
3681
and notices,
3801
3682
<li>Redistributions in binary form must reproduce applicable copyright
3803
3684
disclaimer in the documentation and/or other materials provided
3804
3685
with the distribution, and
3805
3686
<li>Redistributions must contain a verbatim copy of this document.
3806
 
          </ol>
 
3687
     </ol>
3807
3688
 
3808
 
     <p>The OpenLDAP Foundation may revise this license from time to time. 
 
3689
<p>The OpenLDAP Foundation may revise this license from time to time. 
3809
3690
Each revision is distinguished by a version number.  You may use
3810
3691
this Software under terms of this license revision or under the
3811
3692
terms of any subsequent revision of the license.
3812
3693
 
3813
 
     <p>THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
3814
 
CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 
3694
<p>THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
 
3695
CONTRIBUTORS &ldquo;AS IS&rdquo; AND ANY EXPRESSED OR IMPLIED WARRANTIES,
3815
3696
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
3816
3697
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
3817
3698
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
3824
3705
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3825
3706
POSSIBILITY OF SUCH DAMAGE.
3826
3707
 
3827
 
     <p>The names of the authors and copyright holders must not be used in
 
3708
<p>The names of the authors and copyright holders must not be used in
3828
3709
advertising or otherwise to promote the sale, use or other dealing
3829
3710
in this Software without specific, written prior permission.  Title
3830
3711
to copyright in this Software shall at all times remain with copyright
3831
3712
holders.
3832
3713
 
3833
 
     <p>OpenLDAP is a registered trademark of the OpenLDAP Foundation.
 
3714
<p>OpenLDAP is a registered trademark of the OpenLDAP Foundation.
3834
3715
 
3835
 
     <p>Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
 
3716
<p>Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
3836
3717
California, USA.  All Rights Reserved.  Permission to copy and
3837
3718
distribute verbatim copies of this document is granted. 
3838
3719
</blockquote>
3839
3720
 
3840
 
<hr>
 
3721
<p><hr>
3841
3722
 
3842
3723
<p>Marked test programs in src/lib/krb5/krb have the following copyright:
3843
3724
 
3846
3727
(Royal Institute of Technology, Stockholm, Sweden).<br>
3847
3728
All rights reserved.
3848
3729
 
3849
 
     <p>Redistribution and use in source and binary forms, with or without
 
3730
<p>Redistribution and use in source and binary forms, with or without
3850
3731
modification, are permitted provided that the following conditions
3851
3732
are met:
3852
3733
 
3853
 
          <ol type=1 start=1>
 
3734
     <ol type=1 start=1>
3854
3735
<li>Redistributions of source code must retain the above copyright
3855
3736
notice, this list of conditions and the following disclaimer. 
3856
3737
<li>Redistributions in binary form must reproduce the above copyright
3859
3740
<li>Neither the name of KTH nor the names of its contributors may be
3860
3741
used to endorse or promote products derived from this software without
3861
3742
specific prior written permission.
3862
 
          </ol>
 
3743
     </ol>
3863
3744
 
3864
 
     <p>THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS "AS IS" AND ANY
 
3745
<p>THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS &ldquo;AS IS&rdquo; AND ANY
3865
3746
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3866
3747
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
3867
3748
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE
3874
3755
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
3875
3756
</blockquote>
3876
3757
 
3877
 
<hr>
 
3758
<p><hr>
3878
3759
 
3879
3760
<p>Portions of the RPC implementation in src/lib/rpc and src/include/gssrpc
3880
3761
have the following copyright and permission notice:
3882
3763
<blockquote>
3883
3764
Copyright &copy; 2010, Oracle America, Inc.
3884
3765
 
3885
 
     <p>All rights reserved.
 
3766
<p>All rights reserved.
3886
3767
 
3887
 
     <p>Redistribution and use in source and binary forms, with or without
 
3768
<p>Redistribution and use in source and binary forms, with or without
3888
3769
modification, are permitted provided that the following conditions are met:
3889
3770
 
3890
 
          <ol type=1 start=1>
 
3771
     <ol type=1 start=1>
3891
3772
<li>Redistributions of source code must retain the above copyright
3892
3773
notice, this list of conditions and the following disclaimer. 
3893
3774
<li>Redistributions in binary form must reproduce the above copyright
3894
3775
notice, this list of conditions and the following disclaimer in
3895
3776
the documentation and/or other materials provided with the
3896
3777
distribution. 
3897
 
<li>Neither the name of the "Oracle America, Inc." nor the names of
 
3778
<li>Neither the name of the &ldquo;Oracle America, Inc.&rdquo; nor the names of
3898
3779
its contributors may be used to endorse or promote products
3899
3780
derived from this software without specific prior written permission.
3900
 
          </ol>
 
3781
     </ol>
3901
3782
 
3902
 
     <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
3903
 
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 
3783
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &ldquo;AS
 
3784
IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
3904
3785
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
3905
3786
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3906
3787
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
3912
3793
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
3913
3794
</blockquote>
3914
3795
 
3915
 
<hr>
 
3796
<p><hr>
3916
3797
 
3917
3798
<blockquote>
3918
3799
Copyright &copy; 2006,2007,2009
3919
3800
NTT (Nippon Telegraph and Telephone Corporation).  All rights reserved.
3920
3801
 
3921
 
     <p>Redistribution and use in source and binary forms, with or without
 
3802
<p>Redistribution and use in source and binary forms, with or without
3922
3803
modification, are permitted provided that the following conditions
3923
3804
are met:
3924
3805
 
3925
 
          <ol type=1 start=1>
 
3806
     <ol type=1 start=1>
3926
3807
<li>Redistributions of source code must retain the above copyright
3927
3808
notice, this list of conditions and the following disclaimer as
3928
3809
the first lines of this file unmodified. 
3929
3810
<li>Redistributions in binary form must reproduce the above copyright
3930
3811
notice, this list of conditions and the following disclaimer in the
3931
3812
documentation and/or other materials provided with the distribution.
3932
 
          </ol>
 
3813
     </ol>
3933
3814
 
3934
 
     <p>THIS SOFTWARE IS PROVIDED BY NTT "AS IS" AND ANY EXPRESS OR
 
3815
<p>THIS SOFTWARE IS PROVIDED BY NTT &ldquo;AS IS&rdquo; AND ANY EXPRESS OR
3935
3816
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
3936
3817
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
3937
3818
IN NO EVENT SHALL NTT BE LIABLE FOR ANY DIRECT, INDIRECT,
3943
3824
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
3944
3825
</blockquote>
3945
3826
 
3946
 
<hr>
 
3827
<p><hr>
3947
3828
 
3948
3829
<blockquote>
3949
3830
Copyright 2000 by Carnegie Mellon University
3950
3831
 
3951
 
     <p>All Rights Reserved
 
3832
<p>All Rights Reserved
3952
3833
 
3953
 
     <p>Permission to use, copy, modify, and distribute this software and its
 
3834
<p>Permission to use, copy, modify, and distribute this software and its
3954
3835
documentation for any purpose and without fee is hereby granted,
3955
3836
provided that the above copyright notice appear in all copies and that
3956
3837
both that copyright notice and this permission notice appear in
3959
3840
distribution of the software without specific, written prior
3960
3841
permission.
3961
3842
 
3962
 
     <p>CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
 
3843
<p>CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
3963
3844
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
3964
3845
FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR
3965
3846
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3968
3849
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
3969
3850
</blockquote>
3970
3851
 
3971
 
<hr>
 
3852
<p><hr>
3972
3853
 
3973
3854
<blockquote>
3974
3855
Copyright &copy; 2002 Naval Research Laboratory (NRL/CCS)
3975
3856
 
3976
 
     <p>Permission to use, copy, modify and distribute this software and its
 
3857
<p>Permission to use, copy, modify and distribute this software and its
3977
3858
documentation is hereby granted, provided that both the copyright
3978
3859
notice and this permission notice appear in all copies of the software,
3979
3860
derivative works or modified versions, and any portions thereof.
3980
3861
 
3981
 
     <p>NRL ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
 
3862
<p>NRL ALLOWS FREE USE OF THIS SOFTWARE IN ITS &ldquo;AS IS&rdquo; CONDITION AND
3982
3863
DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
3983
3864
RESULTING FROM THE USE OF THIS SOFTWARE. 
3984
3865
</blockquote>
3985
3866
 
3986
 
<hr>
 
3867
<p><hr>
3987
3868
 
3988
3869
<p>Portions extracted from Internet RFCs have the following copyright
3989
3870
notice:
3991
3872
<blockquote>
3992
3873
Copyright &copy; The Internet Society (2006).
3993
3874
 
3994
 
     <p>This document is subject to the rights, licenses and restrictions
 
3875
<p>This document is subject to the rights, licenses and restrictions
3995
3876
contained in BCP 78, and except as set forth therein, the authors
3996
3877
retain all their rights.
3997
3878
 
3998
 
     <p>This document and the information contained herein are provided on an
3999
 
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 
3879
<p>This document and the information contained herein are provided on an
 
3880
&ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
4000
3881
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
4001
3882
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
4002
3883
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
4004
3885
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
4005
3886
</blockquote>
4006
3887
 
4007
 
<hr>
 
3888
<p><hr>
4008
3889
 
4009
3890
<blockquote>
4010
3891
Copyright &copy; 1991, 1992, 1994 by Cygnus Support.
4011
3892
 
4012
 
     <p>Permission to use, copy, modify, and
 
3893
<p>Permission to use, copy, modify, and
4013
3894
distribute this software and its documentation for any purpose and
4014
3895
without fee is hereby granted, provided that the above copyright
4015
3896
notice appear in all copies and that both that copyright notice and
4016
3897
this permission notice appear in supporting documentation. 
4017
3898
Cygnus Support makes no representations about the suitability of
4018
 
this software for any purpose.  It is provided "as is" without express
 
3899
this software for any purpose.  It is provided &ldquo;as is&rdquo; without express
4019
3900
or implied warranty. 
4020
3901
</blockquote>
4021
3902
 
4022
 
<hr>
 
3903
<p><hr>
4023
3904
 
4024
3905
<blockquote>
4025
3906
Copyright &copy; 2006 Secure Endpoints Inc.
4026
3907
 
4027
 
     <p>Permission is hereby granted, free of charge, to any person
 
3908
<p>Permission is hereby granted, free of charge, to any person
4028
3909
obtaining a copy of this software and associated documentation
4029
 
files (the "Software"), to deal in the Software without
 
3910
files (the &ldquo;Software&rdquo;), to deal in the Software without
4030
3911
restriction, including without limitation the rights to use, copy,
4031
3912
modify, merge, publish, distribute, sublicense, and/or sell copies
4032
3913
of the Software, and to permit persons to whom the Software is
4033
3914
furnished to do so, subject to the following conditions:
4034
3915
 
4035
 
     <p>The above copyright notice and this permission notice shall be
 
3916
<p>The above copyright notice and this permission notice shall be
4036
3917
included in all copies or substantial portions of the Software.
4037
3918
 
4038
 
     <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
3919
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND,
4039
3920
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4040
3921
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4041
3922
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
4045
3926
SOFTWARE. 
4046
3927
</blockquote>
4047
3928
 
4048
 
<hr>
 
3929
<p><hr>
4049
3930
 
4050
3931
<p>Portions of the implementation of the Fortuna-like PRNG are subject to
4051
3932
the following notice:
4054
3935
Copyright &copy; 2005 Marko Kreen<br>
4055
3936
All rights reserved.
4056
3937
 
4057
 
     <p>Redistribution and use in source and binary forms, with or without
 
3938
<p>Redistribution and use in source and binary forms, with or without
4058
3939
modification, are permitted provided that the following conditions
4059
3940
are met:
4060
3941
 
4061
 
          <ol type=1 start=1>
 
3942
     <ol type=1 start=1>
4062
3943
<li>Redistributions of source code must retain the above copyright
4063
3944
notice, this list of conditions and the following disclaimer. 
4064
3945
<li>Redistributions in binary form must reproduce the above copyright
4065
3946
notice, this list of conditions and the following disclaimer in the
4066
3947
documentation and/or other materials provided with the distribution.
4067
 
          </ol>
 
3948
     </ol>
4068
3949
 
4069
 
     <p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
 
3950
<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS &ldquo;AS IS&rdquo; AND
4070
3951
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4071
3952
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4072
3953
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
4082
3963
<blockquote>
4083
3964
Copyright &copy; 1994 by the University of Southern California
4084
3965
 
4085
 
     <blockquote>
 
3966
<blockquote>
4086
3967
EXPORT OF THIS SOFTWARE from the United States of America may
4087
3968
require a specific license from the United States Government. 
4088
3969
It is the responsibility of any person or organization contemplating
4089
3970
export to obtain such a license before exporting. 
4090
3971
</blockquote>
4091
3972
 
4092
 
     <p>WITHIN THAT CONSTRAINT, permission to copy, modify, and distribute
 
3973
<p>WITHIN THAT CONSTRAINT, permission to copy, modify, and distribute
4093
3974
this software and its documentation in source and binary forms is
4094
3975
hereby granted, provided that any documentation or other materials
4095
3976
related to such distribution or use acknowledge that the software
4096
3977
was developed by the University of Southern California.
4097
3978
 
4098
 
     <p>DISCLAIMER OF WARRANTY.  THIS SOFTWARE IS PROVIDED "AS IS".  The
 
3979
<p>DISCLAIMER OF WARRANTY.  THIS SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;.  The
4099
3980
University of Southern California MAKES NO REPRESENTATIONS OR
4100
3981
WARRANTIES, EXPRESS OR IMPLIED.  By way of example, but not
4101
3982
limitation, the University of Southern California MAKES NO
4106
3987
claim by the user or distributor of the ksu software. 
4107
3988
</blockquote>
4108
3989
 
4109
 
<hr>
 
3990
<p><hr>
4110
3991
 
4111
3992
<blockquote>
4112
3993
Copyright &copy; 1995<br>
4113
3994
The President and Fellows of Harvard University
4114
3995
 
4115
 
     <p>This code is derived from software contributed to Harvard by
 
3996
<p>This code is derived from software contributed to Harvard by
4116
3997
Jeremy Rassen.
4117
3998
 
4118
 
     <p>Redistribution and use in source and binary forms, with or without
 
3999
<p>Redistribution and use in source and binary forms, with or without
4119
4000
modification, are permitted provided that the following conditions
4120
4001
are met:
4121
4002
 
4122
 
          <ol type=1 start=1>
 
4003
     <ol type=1 start=1>
4123
4004
<li>Redistributions of source code must retain the above copyright
4124
4005
notice, this list of conditions and the following disclaimer. 
4125
4006
<li>Redistributions in binary form must reproduce the above copyright
4131
4012
This product includes software developed by the University of
4132
4013
California, Berkeley and its contributors. 
4133
4014
</blockquote>
4134
 
          <li>Neither the name of the University nor the names of its contributors
 
4015
     <li>Neither the name of the University nor the names of its contributors
4135
4016
may be used to endorse or promote products derived from this software
4136
4017
without specific prior written permission.
4137
 
          </ol>
 
4018
     </ol>
4138
4019
 
4139
 
     <p>THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
 
4020
<p>THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS &ldquo;AS IS&rdquo; AND
4140
4021
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4141
4022
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4142
4023
ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
4149
4030
SUCH DAMAGE. 
4150
4031
</blockquote>
4151
4032
 
4152
 
<hr>
 
4033
<p><hr>
4153
4034
 
4154
4035
<blockquote>
4155
4036
Copyright &copy; 2008 by the Massachusetts Institute of Technology.<br>
4156
4037
Copyright 1995 by Richard P. Basch.  All Rights Reserved.<br>
4157
4038
Copyright 1995 by Lehman Brothers, Inc.  All Rights Reserved.<br>
4158
4039
 
4159
 
     <blockquote>
 
4040
<blockquote>
4160
4041
Export of this software from the United States of America may
4161
4042
require a specific license from the United States Government. 
4162
4043
It is the responsibility of any person or organization contemplating
4163
4044
export to obtain such a license before exporting. 
4164
4045
</blockquote>
4165
4046
 
4166
 
     <p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
 
4047
<p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
4167
4048
distribute this software and its documentation for any purpose and
4168
4049
without fee is hereby granted, provided that the above copyright
4169
4050
notice appear in all copies and that both that copyright notice and
4172
4053
in advertising or publicity pertaining to distribution of the software
4173
4054
without specific, written prior permission.  Richard P. Basch,
4174
4055
Lehman Brothers and M.I.T. make no representations about the suitability
4175
 
of this software for any purpose.  It is provided "as is" without
 
4056
of this software for any purpose.  It is provided &ldquo;as is&rdquo; without
4176
4057
express or implied warranty. 
4177
4058
</blockquote>
4178
4059
 
4179
 
<hr>
 
4060
<p><hr>
4180
4061
 
4181
4062
<p>The following notice applies to <code>src/lib/krb5/krb/strptime.c</code>:
4182
4063
 
4184
4065
Copyright &copy; 1997, 1998 The NetBSD Foundation, Inc.<br>
4185
4066
All rights reserved.
4186
4067
 
4187
 
     <p>This code was contributed to The NetBSD Foundation by Klaus Klein.
 
4068
<p>This code was contributed to The NetBSD Foundation by Klaus Klein.
4188
4069
 
4189
 
     <p>Redistribution and use in source and binary forms, with or without
 
4070
<p>Redistribution and use in source and binary forms, with or without
4190
4071
modification, are permitted provided that the following conditions
4191
4072
are met:
4192
4073
 
4193
 
          <ol type=1 start=1>
 
4074
     <ol type=1 start=1>
4194
4075
<li>Redistributions of source code must retain the above copyright
4195
4076
notice, this list of conditions and the following disclaimer. 
4196
4077
<li>Redistributions in binary form must reproduce the above copyright
4202
4083
This product includes software developed by the NetBSD
4203
4084
Foundation, Inc. and its contributors. 
4204
4085
</blockquote>
4205
 
          <li>Neither the name of The NetBSD Foundation nor the names of its
 
4086
     <li>Neither the name of The NetBSD Foundation nor the names of its
4206
4087
contributors may be used to endorse or promote products derived
4207
4088
from this software without specific prior written permission.
4208
 
          </ol>
 
4089
     </ol>
4209
4090
 
4210
 
     <p>THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
4211
 
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 
4091
<p>THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 
4092
&ldquo;AS IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
4212
4093
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
4213
4094
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
4214
4095
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
4220
4101
POSSIBILITY OF SUCH DAMAGE. 
4221
4102
</blockquote>
4222
4103
 
4223
 
<hr>
 
4104
<p><hr>
4224
4105
 
4225
4106
<p>The following notice applies to Unicode library files in
4226
4107
<code>src/lib/krb5/unicode</code>:
4229
4110
Copyright 1997, 1998, 1999 Computing Research Labs,<br>
4230
4111
New Mexico State University
4231
4112
 
4232
 
     <p>Permission is hereby granted, free of charge, to any person obtaining a
4233
 
copy of this software and associated documentation files (the "Software"),
 
4113
<p>Permission is hereby granted, free of charge, to any person obtaining a
 
4114
copy of this software and associated documentation files (the &ldquo;Software&rdquo;),
4234
4115
to deal in the Software without restriction, including without limitation
4235
4116
the rights to use, copy, modify, merge, publish, distribute, sublicense,
4236
4117
and/or sell copies of the Software, and to permit persons to whom the
4237
4118
Software is furnished to do so, subject to the following conditions:
4238
4119
 
4239
 
     <p>The above copyright notice and this permission notice shall be included in
 
4120
<p>The above copyright notice and this permission notice shall be included in
4240
4121
all copies or substantial portions of the Software.
4241
4122
 
4242
 
     <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
4123
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4243
4124
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4244
4125
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
4245
4126
THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
4248
4129
THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
4249
4130
</blockquote>
4250
4131
 
4251
 
<hr>
 
4132
<p><hr>
4252
4133
 
4253
4134
<p>The following notice applies to <code>src/util/support/strlcpy.c</code>:
4254
4135
 
4255
4136
<blockquote>
4256
4137
Copyright &copy; 1998 Todd C. Miller &lt;Todd.Miller@courtesan.com&gt;
4257
4138
 
4258
 
     <p>Permission to use, copy, modify, and distribute this software for any
 
4139
<p>Permission to use, copy, modify, and distribute this software for any
4259
4140
purpose with or without fee is hereby granted, provided that the above
4260
4141
copyright notice and this permission notice appear in all copies.
4261
4142
 
4262
 
     <p>THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 
4143
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo; AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4263
4144
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4264
4145
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4265
4146
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4268
4149
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
4269
4150
</blockquote>
4270
4151
 
4271
 
<hr>
 
4152
<p><hr>
4272
4153
 
4273
4154
<p>The following notice applies to <code>src/util/profile/argv_parse.c</code> and
4274
4155
<code>src/util/profile/argv_parse.h</code>:
4276
4157
<blockquote>
4277
4158
Copyright 1999 by Theodore Ts'o.
4278
4159
 
4279
 
     <p>Permission to use, copy, modify, and distribute this software for
 
4160
<p>Permission to use, copy, modify, and distribute this software for
4280
4161
any purpose with or without fee is hereby granted, provided that
4281
4162
the above copyright notice and this permission notice appear in all
4282
 
copies.  THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (THE
 
4163
copies.  THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo; AND THEODORE TS'O (THE
4283
4164
AUTHOR) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
4284
4165
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. 
4285
4166
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
4291
4172
this kind of disclaimer?) 
4292
4173
</blockquote>
4293
4174
 
4294
 
<hr>
 
4175
<p><hr>
4295
4176
 
4296
4177
<p>The following notice applies to SWIG-generated code in
4297
4178
<code>src/util/profile/profile_tcl.c</code>:
4299
4180
<blockquote>
4300
4181
Copyright &copy; 1999-2000, The University of Chicago
4301
4182
 
4302
 
     <p>This file may be freely redistributed without license or fee provided
 
4183
<p>This file may be freely redistributed without license or fee provided
4303
4184
this copyright message remains intact. 
4304
4185
</blockquote>
4305
4186
 
4306
 
<hr>
 
4187
<p><hr>
4307
4188
 
4308
4189
<p>The following notice applies to portiions of <code>src/lib/rpc</code> and
4309
4190
<code>src/include/gssrpc</code>:
4312
4193
Copyright &copy; 2000 The Regents of the University of Michigan. 
4313
4194
All rights reserved.
4314
4195
 
4315
 
     <p>Copyright &copy; 2000 Dug Song &lt;dugsong@UMICH.EDU&gt;. 
 
4196
<p>Copyright &copy; 2000 Dug Song &lt;dugsong@UMICH.EDU&gt;. 
4316
4197
All rights reserved, all wrongs reversed.
4317
4198
 
4318
 
     <p>Redistribution and use in source and binary forms, with or without
 
4199
<p>Redistribution and use in source and binary forms, with or without
4319
4200
modification, are permitted provided that the following conditions
4320
4201
are met:
4321
4202
 
4322
 
          <ol type=1 start=1>
 
4203
     <ol type=1 start=1>
4323
4204
<li>Redistributions of source code must retain the above copyright
4324
4205
notice, this list of conditions and the following disclaimer. 
4325
4206
<li>Redistributions in binary form must reproduce the above copyright
4328
4209
<li>Neither the name of the University nor the names of its
4329
4210
contributors may be used to endorse or promote products derived
4330
4211
from this software without specific prior written permission.
4331
 
          </ol>
 
4212
     </ol>
4332
4213
 
4333
 
     <p>THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 
4214
<p>THIS SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo; AND ANY EXPRESS OR IMPLIED
4334
4215
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
4335
4216
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
4336
4217
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
4343
4224
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
4344
4225
</blockquote>
4345
4226
 
4346
 
<hr>
 
4227
<p><hr>
4347
4228
 
4348
4229
<p>Implementations of the MD4 algorithm are subject to the following
4349
4230
notice:
4351
4232
<blockquote>
4352
4233
Copyright &copy; 1990, RSA Data Security, Inc. All rights reserved.
4353
4234
 
4354
 
     <p>License to copy and use this software is granted provided that
4355
 
it is identified as the "RSA Data Security, Inc. MD4 Message
4356
 
Digest Algorithm" in all material mentioning or referencing this
 
4235
<p>License to copy and use this software is granted provided that
 
4236
it is identified as the &ldquo;RSA Data Security, Inc. MD4 Message
 
4237
Digest Algorithm&rdquo; in all material mentioning or referencing this
4357
4238
software or this function.
4358
4239
 
4359
 
     <p>License is also granted to make and use derivative works
4360
 
provided that such works are identified as "derived from the RSA
4361
 
Data Security, Inc. MD4 Message Digest Algorithm" in all
 
4240
<p>License is also granted to make and use derivative works
 
4241
provided that such works are identified as &ldquo;derived from the RSA
 
4242
Data Security, Inc. MD4 Message Digest Algorithm&rdquo; in all
4362
4243
material mentioning or referencing the derived work.
4363
4244
 
4364
 
     <p>RSA Data Security, Inc. makes no representations concerning
 
4245
<p>RSA Data Security, Inc. makes no representations concerning
4365
4246
either the merchantability of this software or the suitability
4366
 
of this software for any particular purpose.  It is provided "as
4367
 
is" without express or implied warranty of any kind.
 
4247
of this software for any particular purpose.  It is provided &ldquo;as
 
4248
is&rdquo; without express or implied warranty of any kind.
4368
4249
 
4369
 
     <p>These notices must be retained in any copies of any part of this
 
4250
<p>These notices must be retained in any copies of any part of this
4370
4251
documentation and/or software. 
4371
4252
</blockquote>
4372
4253
 
4373
 
<hr>
 
4254
<p><hr>
4374
4255
 
4375
4256
<p>Implementations of the MD5 algorithm are subject to the following
4376
4257
notice:
4378
4259
<blockquote>
4379
4260
Copyright &copy; 1990, RSA Data Security, Inc. All rights reserved.
4380
4261
 
4381
 
     <p>License to copy and use this software is granted provided that
4382
 
it is identified as the "RSA Data Security, Inc. MD5 Message-
4383
 
Digest Algorithm" in all material mentioning or referencing this
 
4262
<p>License to copy and use this software is granted provided that
 
4263
it is identified as the &ldquo;RSA Data Security, Inc. MD5 Message-
 
4264
Digest Algorithm&rdquo; in all material mentioning or referencing this
4384
4265
software or this function.
4385
4266
 
4386
 
     <p>License is also granted to make and use derivative works
4387
 
provided that such works are identified as "derived from the RSA
4388
 
Data Security, Inc. MD5 Message-Digest Algorithm" in all
 
4267
<p>License is also granted to make and use derivative works
 
4268
provided that such works are identified as &ldquo;derived from the RSA
 
4269
Data Security, Inc. MD5 Message-Digest Algorithm&rdquo; in all
4389
4270
material mentioning or referencing the derived work.
4390
4271
 
4391
 
     <p>RSA Data Security, Inc. makes no representations concerning
 
4272
<p>RSA Data Security, Inc. makes no representations concerning
4392
4273
either the merchantability of this software or the suitability
4393
 
of this software for any particular purpose.  It is provided "as
4394
 
is" without express or implied warranty of any kind.
 
4274
of this software for any particular purpose.  It is provided &ldquo;as
 
4275
is&rdquo; without express or implied warranty of any kind.
4395
4276
 
4396
 
     <p>These notices must be retained in any copies of any part of this
 
4277
<p>These notices must be retained in any copies of any part of this
4397
4278
documentation and/or software. 
4398
4279
</blockquote>
4399
4280
 
4400
 
<hr>
 
4281
<p><hr>
4401
4282
 
4402
4283
<p>The following notice applies to <code>src/lib/crypto/crypto_tests/t_mddriver.c</code>:
4403
4284
 
4405
4286
Copyright &copy; 1990-2, RSA Data Security, Inc. Created 1990. All
4406
4287
rights reserved.
4407
4288
 
4408
 
     <p>RSA Data Security, Inc. makes no representations concerning either
 
4289
<p>RSA Data Security, Inc. makes no representations concerning either
4409
4290
the merchantability of this software or the suitability of this
4410
 
software for any particular purpose. It is provided "as is"
 
4291
software for any particular purpose. It is provided &ldquo;as is&rdquo;
4411
4292
without express or implied warranty of any kind.
4412
4293
 
4413
 
     <p>These notices must be retained in any copies of any part of this
 
4294
<p>These notices must be retained in any copies of any part of this
4414
4295
documentation and/or software. 
4415
4296
</blockquote>
4416
4297
 
4417
 
<hr>
 
4298
<p><hr>
4418
4299
 
4419
4300
<p>Portions of <code>src/lib/krb5</code> are subject to the following notice:
4420
4301
 
4423
4304
Copyright 1990,1991,2007,2008 by the Massachusetts Institute of Technology.<br>
4424
4305
All Rights Reserved.
4425
4306
 
4426
 
     <blockquote>
 
4307
<blockquote>
4427
4308
Export of this software from the United States of America may
4428
4309
require a specific license from the United States Government. 
4429
4310
It is the responsibility of any person or organization contemplating
4430
4311
export to obtain such a license before exporting. 
4431
4312
</blockquote>
4432
4313
 
4433
 
     <p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
 
4314
<p>WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
4434
4315
distribute this software and its documentation for any purpose and
4435
4316
without fee is hereby granted, provided that the above copyright
4436
4317
notice appear in all copies and that both that copyright notice and
4442
4323
fashion that it might be confused with the original M.I.T. software. 
4443
4324
Neither M.I.T., the Open Computing Security Group, nor
4444
4325
CyberSAFE Corporation make any representations about the suitability of
4445
 
this software for any purpose.  It is provided "as is" without express
 
4326
this software for any purpose.  It is provided &ldquo;as is&rdquo; without express
4446
4327
or implied warranty. 
4447
4328
</blockquote>
4448
4329
 
4449
 
<hr>
 
4330
<p><hr>
 
4331
 
 
4332
<p>Portions contributed by PADL Software are subject to the following
 
4333
license:
 
4334
 
 
4335
<blockquote>
 
4336
Copyright (c) 2011, PADL Software Pty Ltd. 
 
4337
All rights reserved.
 
4338
 
 
4339
<p>Redistribution and use in source and binary forms, with or without
 
4340
modification, are permitted provided that the following conditions
 
4341
are met:
 
4342
 
 
4343
<p>1. Redistributions of source code must retain the above copyright
 
4344
   notice, this list of conditions and the following disclaimer.
 
4345
 
 
4346
<p>2. Redistributions in binary form must reproduce the above copyright
 
4347
   notice, this list of conditions and the following disclaimer in the
 
4348
   documentation and/or other materials provided with the distribution.
 
4349
 
 
4350
<p>3. Neither the name of PADL Software nor the names of its contributors
 
4351
   may be used to endorse or promote products derived from this software
 
4352
   without specific prior written permission.
 
4353
 
 
4354
<p>THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS &ldquo;AS IS&rdquo; AND
 
4355
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
4356
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
4357
ARE DISCLAIMED.  IN NO EVENT SHALL PADL SOFTWARE OR CONTRIBUTORS BE LIABLE
 
4358
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
4359
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
4360
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
4361
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
4362
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
4363
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
4364
SUCH DAMAGE. 
 
4365
</blockquote>
 
4366
 
 
4367
<p><hr>
 
4368
 
 
4369
<p>The bundled libev source code is subject to the following license:
 
4370
 
 
4371
<blockquote>
 
4372
All files in libev are Copyright (C)2007,2008,2009 Marc Alexander Lehmann.
 
4373
 
 
4374
<p>Redistribution and use in source and binary forms, with or without
 
4375
modification, are permitted provided that the following conditions are
 
4376
met:
 
4377
 
 
4378
     <ul>
 
4379
<li>Redistributions of source code must retain the above copyright
 
4380
notice, this list of conditions and the following disclaimer. 
 
4381
<li>Redistributions in binary form must reproduce the above
 
4382
copyright notice, this list of conditions and the following
 
4383
disclaimer in the documentation and/or other materials provided
 
4384
with the distribution. 
 
4385
</ul>
 
4386
 
 
4387
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 
4388
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 
4389
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 
4390
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
4391
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
4392
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
4393
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
4394
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
4395
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
4396
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
4397
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
4398
 
 
4399
<p>Alternatively, the contents of this package may be used under the terms
 
4400
of the GNU General Public License ("GPL") version 2 or any later version,
 
4401
in which case the provisions of the GPL are applicable instead of the
 
4402
above. If you wish to allow the use of your version of this package only
 
4403
under the terms of the GPL and not to allow others to use your version of
 
4404
this file under the BSD license, indicate your decision by deleting the
 
4405
provisions above and replace them with the notice and other provisions
 
4406
required by the GPL in this and the other files of this package. If you do
 
4407
not delete the provisions above, a recipient may use your version of this
 
4408
file under either the BSD or the GPL. 
 
4409
</blockquote>
 
4410
 
 
4411
<p><hr>
4450
4412
 
4451
4413
<p>Permission is granted to make and distribute verbatim copies of this
4452
4414
manual provided the copyright notices and this permission notice are
4460
4422
<p>Permission is granted to copy and distribute translations of this manual
4461
4423
into another language, under the above conditions for modified versions.
4462
4424
 
4463
 
 
4464
4425
<div class="contents">
4465
4426
<h2>Table of Contents</h2>
4466
4427
<ul>
4467
 
<li><a name="toc_Introduction" href="#Introduction">Introduction</a>
4468
 
<ul>
4469
 
<li><a href="#What%20is%20Kerberos%20and%20How%20Does%20it%20Work%3f">What is Kerberos and How Does it Work?</a>
4470
 
<li><a href="#Why%20Should%20I%20use%20Kerberos%3f">Why Should I use Kerberos?</a>
4471
 
<li><a href="#Please%20Read%20the%20Documentation">Please Read the Documentation</a>
4472
 
<li><a href="#Overview%20of%20This%20Guide">Overview of This Guide</a>
4473
 
</li></ul>
4474
 
<li><a name="toc_Realm%20Configuration%20Decisions" href="#Realm%20Configuration%20Decisions">Realm Configuration Decisions</a>
4475
 
<ul>
4476
 
<li><a href="#Kerberos%20Realms">Kerberos Realms</a>
4477
 
<li><a href="#Mapping%20Hostnames%20onto%20Kerberos%20Realms">Mapping Hostnames onto Kerberos Realms</a>
4478
 
<li><a href="#Ports%20for%20the%20KDC%20and%20Admin%20Services">Ports for the KDC and Admin Services</a>
4479
 
<li><a href="#Slave%20KDCs">Slave KDCs</a>
4480
 
<li><a href="#Hostnames%20for%20the%20Master%20and%20Slave%20KDCs">Hostnames for the Master and Slave KDCs</a>
4481
 
<li><a href="#Database%20Propagation">Database Propagation</a>
4482
 
</li></ul>
4483
 
<li><a name="toc_Building%20Kerberos%20V5" href="#Building%20Kerberos%20V5">Building Kerberos V5</a>
4484
 
<ul>
4485
 
<li><a href="#Organization%20of%20the%20Source%20Directory">Organization of the Source Directory</a>
4486
 
<ul>
4487
 
<li><a href="#The%20appl%20Directory">The appl Directory</a>
4488
 
<li><a href="#The%20clients%20Directory">The clients Directory</a>
4489
 
<li><a href="#The%20gen-manpages%20Directory">The gen-manpages Directory</a>
4490
 
<li><a href="#The%20include%20Directory">The include Directory</a>
4491
 
<li><a href="#The%20kadmin%20Directory">The kadmin Directory</a>
4492
 
<li><a href="#The%20kdc%20Directory">The kdc Directory</a>
4493
 
<li><a href="#The%20krb524%20Directory">The krb524 Directory</a>
4494
 
<li><a href="#The%20lib%20Directory">The lib Directory</a>
4495
 
<li><a href="#The%20prototype%20Directory">The prototype Directory</a>
4496
 
<li><a href="#The%20slave%20Directory">The slave Directory</a>
4497
 
<li><a href="#The%20util%20Directory">The util Directory</a>
4498
 
</li></ul>
4499
 
<li><a href="#Build%20Requirements">Build Requirements</a>
4500
 
<li><a href="#Unpacking%20the%20Sources">Unpacking the Sources</a>
4501
 
<li><a href="#Doing%20the%20Build">Doing the Build</a>
4502
 
<ul>
4503
 
<li><a href="#Building%20Within%20a%20Single%20Tree">Building Within a Single Tree</a>
4504
 
<li><a href="#Building%20with%20Separate%20Build%20Directories">Building with Separate Build Directories</a>
4505
 
<li><a href="#Building%20using%20lndir">Building Using <code>lndir</code></a>
4506
 
</li></ul>
4507
 
<li><a href="#Installing%20the%20Binaries">Installing the Binaries</a>
4508
 
<li><a href="#Testing%20the%20Build">Testing the Build</a>
4509
 
<ul>
4510
 
<li><a href="#The%20DejaGnu%20Tests">The DejaGnu Tests</a>
4511
 
<li><a href="#The%20KADM5%20Tests">The KADM5 Tests</a>
4512
 
</li></ul>
4513
 
<li><a href="#Options%20to%20Configure">Options to Configure</a>
4514
 
<li><a href="#osconf.h"><code>osconf.h</code></a>
4515
 
<li><a href="#Shared%20Library%20Support">Shared Library Support</a>
4516
 
<li><a href="#OS%20Incompatibilities">Operating System Incompatibilities</a>
4517
 
<ul>
4518
 
<li><a href="#AIX">AIX</a>
4519
 
<li><a href="#Alpha%20OSF%2f1%20V1.3">Alpha OSF/1 V1.3</a>
4520
 
<li><a href="#Alpha%20OSF%2f1%20V2.0">Alpha OSF/1 V2.0</a>
4521
 
<li><a href="#Alpha%20OSF%2f1%20V4.0">Alpha OSF/1 (Digital UNIX) V4.0</a>
4522
 
<li><a href="#BSDI">BSDI</a>
4523
 
<li><a href="#HPUX">HPUX</a>
4524
 
<li><a href="#Solaris%20versions%202.0%20through%202.3">Solaris versions 2.0 through 2.3</a>
4525
 
<li><a href="#Solaris%202.X">Solaris 2.X</a>
4526
 
<li><a href="#Solaris%209">Solaris 9</a>
4527
 
<li><a href="#SGI%20Irix%205.X">SGI Irix 5.X</a>
4528
 
<li><a href="#Ultrix%204.2%2f3">Ultrix 4.2/3</a>
4529
 
</li></ul>
4530
 
<li><a href="#Using%20Autoconf">Using <code>Autoconf</code></a>
4531
 
</li></ul>
4532
 
<li><a name="toc_Installing%20Kerberos%20V5" href="#Installing%20Kerberos%20V5">Installing Kerberos V5</a>
4533
 
<ul>
4534
 
<li><a href="#Installing%20KDCs">Installing KDCs</a>
4535
 
<ul>
4536
 
<li><a href="#Install%20the%20Master%20KDC">Install the Master KDC</a>
4537
 
<ul>
4538
 
<li><a href="#Edit%20the%20Configuration%20Files">Edit the Configuration Files</a>
4539
 
<li><a href="#krb5.conf">krb5.conf</a>
4540
 
<li><a href="#kdc.conf">kdc.conf</a>
4541
 
<li><a href="#Create%20the%20Database">Create the Database</a>
4542
 
<li><a href="#Add%20Administrators%20to%20the%20Acl%20File">Add Administrators to the Acl File</a>
4543
 
<li><a href="#Add%20Administrators%20to%20the%20Kerberos%20Database">Add Administrators to the Kerberos Database</a>
4544
 
<li><a href="#Create%20a%20kadmind%20Keytab%20(optional)">Create a kadmind Keytab (optional)</a>
4545
 
<li><a href="#Start%20the%20Kerberos%20Daemons">Start the Kerberos Daemons on the Master KDC</a>
4546
 
</li></ul>
4547
 
<li><a href="#Install%20the%20Slave%20KDCs">Install the Slave KDCs</a>
4548
 
<ul>
4549
 
<li><a href="#Create%20Host%20Keys%20for%20the%20Slave%20KDCs">Create Host Keys for the Slave KDCs</a>
4550
 
<li><a href="#Extract%20Host%20Keytabs%20for%20the%20KDCs">Extract Host Keytabs for the KDCs</a>
4551
 
<li><a href="#Set%20Up%20the%20Slave%20KDCs%20for%20Database%20Propagation">Set Up the Slave KDCs for Database Propagation</a>
4552
 
</li></ul>
4553
 
<li><a href="#Back%20on%20the%20Master%20KDC">Back on the Master KDC</a>
4554
 
<ul>
4555
 
<li><a href="#Propagate%20the%20Database%20to%20Each%20Slave%20KDC">Propagate the Database to Each Slave KDC</a>
4556
 
</li></ul>
4557
 
<li><a href="#Finish%20Installing%20the%20Slave%20KDCs">Finish Installing the Slave KDCs</a>
4558
 
<ul>
4559
 
<li><a href="#Create%20Stash%20Files%20on%20the%20Slave%20KDCs">Create Stash Files on the Slave KDCs</a>
4560
 
<li><a href="#Start%20the%20krb5kdc%20Daemon%20on%20Each%20KDC">Start the krb5kdc Daemon on Each KDC</a>
4561
 
</li></ul>
4562
 
<li><a href="#Add%20Kerberos%20Principals%20to%20the%20Database">Add Kerberos Principals to the Database</a>
4563
 
<li><a href="#Limit%20Access%20to%20the%20KDCs">Limit Access to the KDCs</a>
4564
 
<li><a href="#Switching%20Master%20and%20Slave%20KDCs">Switching Master and Slave KDCs</a>
4565
 
<li><a href="#Incremental%20Database%20Propagation">Incremental Database Propagation</a>
4566
 
<ul>
4567
 
<li><a href="#Sun%2fMIT%20Incremental%20Propagation%20Differences">Sun/MIT Incremental Propagation Differences</a>
4568
 
</li></ul>
4569
 
</li></ul>
4570
 
<li><a href="#Installing%20and%20Configuring%20UNIX%20Client%20Machines">Installing and Configuring UNIX Client Machines</a>
4571
 
<ul>
4572
 
<li><a href="#Client%20Programs">Client Programs</a>
4573
 
<li><a href="#Client%20Machine%20Configuration%20Files">Client Machine Configuration Files</a>
4574
 
<ul>
4575
 
<li><a href="#Mac%20OS%20X%20Configuration">Mac OS X Configuration</a>
4576
 
</li></ul>
4577
 
</li></ul>
4578
 
<li><a href="#UNIX%20Application%20Servers">UNIX Application Servers</a>
4579
 
<ul>
4580
 
<li><a href="#The%20Keytab%20File">The Keytab File</a>
4581
 
<li><a href="#Some%20Advice%20about%20Secure%20Hosts">Some Advice about Secure Hosts</a>
4582
 
</li></ul>
4583
 
</li></ul>
4584
 
<li><a name="toc_Upgrading%20Existing%20Kerberos%20V5%20Installations" href="#Upgrading%20Existing%20Kerberos%20V5%20Installations">Upgrading Existing Kerberos V5 Installations</a>
4585
 
<ul>
4586
 
<li><a href="#Upgrading%20to%20Triple-DES%20and%20RC4%20Encryption%20Keys">Upgrading to Triple-DES Encryption Keys</a>
4587
 
</li></ul>
4588
 
<li><a name="toc_Bug%20Reports%20for%20Kerberos%20V5" href="#Bug%20Reports%20for%20Kerberos%20V5">Bug Reports for Kerberos V5</a>
4589
 
<li><a name="toc_Copyright" href="#Copyright">Copyright</a>
 
4428
<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a>
 
4429
<ul>
 
4430
<li><a href="#What-is-Kerberos-and-How-Does-it-Work_003f">1.1 What is Kerberos and How Does it Work?</a>
 
4431
<li><a href="#Why-Should-I-use-Kerberos_003f">1.2 Why Should I use Kerberos?</a>
 
4432
<li><a href="#Please-Read-the-Documentation">1.3 Please Read the Documentation</a>
 
4433
<li><a href="#Overview-of-This-Guide">1.4 Overview of This Guide</a>
 
4434
</li></ul>
 
4435
<li><a name="toc_Realm-Configuration-Decisions" href="#Realm-Configuration-Decisions">2 Realm Configuration Decisions</a>
 
4436
<ul>
 
4437
<li><a href="#Kerberos-Realms">2.1 Kerberos Realms</a>
 
4438
<li><a href="#Mapping-Hostnames-onto-Kerberos-Realms">2.2 Mapping Hostnames onto Kerberos Realms</a>
 
4439
<li><a href="#Ports-for-the-KDC-and-Admin-Services">2.3 Ports for the KDC and Admin Services</a>
 
4440
<li><a href="#Slave-KDCs">2.4 Slave KDCs</a>
 
4441
<li><a href="#Hostnames-for-the-Master-and-Slave-KDCs">2.5 Hostnames for the Master and Slave KDCs</a>
 
4442
<li><a href="#Database-Propagation">2.6 Database Propagation</a>
 
4443
</li></ul>
 
4444
<li><a name="toc_Building-Kerberos-V5" href="#Building-Kerberos-V5">3 Building Kerberos V5</a>
 
4445
<ul>
 
4446
<li><a href="#Organization-of-the-Source-Directory">3.1 Organization of the Source Directory</a>
 
4447
<ul>
 
4448
<li><a href="#The-appl-Directory">3.1.1 The appl Directory</a>
 
4449
<li><a href="#The-clients-Directory">3.1.2 The clients Directory</a>
 
4450
<li><a href="#The-gen_002dmanpages-Directory">3.1.3 The gen-manpages Directory</a>
 
4451
<li><a href="#The-include-Directory">3.1.4 The include Directory</a>
 
4452
<li><a href="#The-kadmin-Directory">3.1.5 The kadmin Directory</a>
 
4453
<li><a href="#The-kdc-Directory">3.1.6 The kdc Directory</a>
 
4454
<li><a href="#The-krb524-Directory">3.1.7 The krb524 Directory</a>
 
4455
<li><a href="#The-lib-Directory">3.1.8 The lib Directory</a>
 
4456
<li><a href="#The-prototype-Directory">3.1.9 The prototype Directory</a>
 
4457
<li><a href="#The-slave-Directory">3.1.10 The slave Directory</a>
 
4458
<li><a href="#The-util-Directory">3.1.11 The util Directory</a>
 
4459
</li></ul>
 
4460
<li><a href="#Build-Requirements">3.2 Build Requirements</a>
 
4461
<li><a href="#Unpacking-the-Sources">3.3 Unpacking the Sources</a>
 
4462
<li><a href="#Doing-the-Build">3.4 Doing the Build</a>
 
4463
<ul>
 
4464
<li><a href="#Building-Within-a-Single-Tree">3.4.1 Building Within a Single Tree</a>
 
4465
<li><a href="#Building-with-Separate-Build-Directories">3.4.2 Building with Separate Build Directories</a>
 
4466
<li><a href="#Building-using-lndir">3.4.3 Building Using &lsquo;<samp><span class="samp">lndir</span></samp>&rsquo;</a>
 
4467
</li></ul>
 
4468
<li><a href="#Installing-the-Binaries">3.5 Installing the Binaries</a>
 
4469
<li><a href="#Testing-the-Build">3.6 Testing the Build</a>
 
4470
<ul>
 
4471
<li><a href="#The-DejaGnu-Tests">3.6.1 The DejaGnu Tests</a>
 
4472
<li><a href="#The-KADM5-Tests">3.6.2 The KADM5 Tests</a>
 
4473
</li></ul>
 
4474
<li><a href="#Options-to-Configure">3.7 Options to Configure</a>
 
4475
<li><a href="#osconf_002eh">3.8 <samp><span class="file">osconf.h</span></samp></a>
 
4476
<li><a href="#Shared-Library-Support">3.9 Shared Library Support</a>
 
4477
<li><a href="#OS-Incompatibilities">3.10 Operating System Incompatibilities</a>
 
4478
<ul>
 
4479
<li><a href="#AIX">3.10.1 AIX</a>
 
4480
<li><a href="#Alpha-OSF_002f1-V1_002e3">3.10.2 Alpha OSF/1 V1.3</a>
 
4481
<li><a href="#Alpha-OSF_002f1-V2_002e0">3.10.3 Alpha OSF/1 V2.0</a>
 
4482
<li><a href="#Alpha-OSF_002f1-V4_002e0">3.10.4 Alpha OSF/1 (Digital UNIX) V4.0</a>
 
4483
<li><a href="#BSDI">3.10.5 BSDI</a>
 
4484
<li><a href="#HPUX">3.10.6 HPUX</a>
 
4485
<li><a href="#Solaris-versions-2_002e0-through-2_002e3">3.10.7 Solaris versions 2.0 through 2.3</a>
 
4486
<li><a href="#Solaris-2_002eX">3.10.8 Solaris 2.X</a>
 
4487
<li><a href="#Solaris-9">3.10.9 Solaris 9</a>
 
4488
<li><a href="#SGI-Irix-5_002eX">3.10.10 SGI Irix 5.X</a>
 
4489
<li><a href="#Ultrix-4_002e2_002f3">3.10.11 Ultrix 4.2/3</a>
 
4490
</li></ul>
 
4491
<li><a href="#Using-Autoconf">3.11 Using &lsquo;<samp><span class="samp">Autoconf</span></samp>&rsquo;</a>
 
4492
</li></ul>
 
4493
<li><a name="toc_Installing-Kerberos-V5" href="#Installing-Kerberos-V5">4 Installing Kerberos V5</a>
 
4494
<ul>
 
4495
<li><a href="#Installing-KDCs">4.1 Installing KDCs</a>
 
4496
<ul>
 
4497
<li><a href="#Install-the-Master-KDC">4.1.1 Install the Master KDC</a>
 
4498
<ul>
 
4499
<li><a href="#Edit-the-Configuration-Files">4.1.1.1 Edit the Configuration Files</a>
 
4500
<li><a href="#krb5_002econf">4.1.1.2 krb5.conf</a>
 
4501
<li><a href="#kdc_002econf">4.1.1.3 kdc.conf</a>
 
4502
<li><a href="#Create-the-Database">4.1.1.4 Create the Database</a>
 
4503
<li><a href="#Add-Administrators-to-the-Acl-File">4.1.1.5 Add Administrators to the Acl File</a>
 
4504
<li><a href="#Add-Administrators-to-the-Kerberos-Database">4.1.1.6 Add Administrators to the Kerberos Database</a>
 
4505
<li><a href="#Create-a-kadmind-Keytab-_0028optional_0029">4.1.1.7 Create a kadmind Keytab (optional)</a>
 
4506
<li><a href="#Start-the-Kerberos-Daemons">4.1.1.8 Start the Kerberos Daemons on the Master KDC</a>
 
4507
</li></ul>
 
4508
<li><a href="#Install-the-Slave-KDCs">4.1.2 Install the Slave KDCs</a>
 
4509
<ul>
 
4510
<li><a href="#Create-Host-Keys-for-the-Slave-KDCs">4.1.2.1 Create Host Keys for the Slave KDCs</a>
 
4511
<li><a href="#Extract-Host-Keytabs-for-the-KDCs">4.1.2.2 Extract Host Keytabs for the KDCs</a>
 
4512
<li><a href="#Set-Up-the-Slave-KDCs-for-Database-Propagation">4.1.2.3 Set Up the Slave KDCs for Database Propagation</a>
 
4513
</li></ul>
 
4514
<li><a href="#Back-on-the-Master-KDC">4.1.3 Back on the Master KDC</a>
 
4515
<ul>
 
4516
<li><a href="#Propagate-the-Database-to-Each-Slave-KDC">4.1.3.1 Propagate the Database to Each Slave KDC</a>
 
4517
</li></ul>
 
4518
<li><a href="#Finish-Installing-the-Slave-KDCs">4.1.4 Finish Installing the Slave KDCs</a>
 
4519
<ul>
 
4520
<li><a href="#Create-Stash-Files-on-the-Slave-KDCs">4.1.4.1 Create Stash Files on the Slave KDCs</a>
 
4521
<li><a href="#Start-the-krb5kdc-Daemon-on-Each-KDC">4.1.4.2 Start the krb5kdc Daemon on Each KDC</a>
 
4522
</li></ul>
 
4523
<li><a href="#Add-Kerberos-Principals-to-the-Database">4.1.5 Add Kerberos Principals to the Database</a>
 
4524
<li><a href="#Limit-Access-to-the-KDCs">4.1.6 Limit Access to the KDCs</a>
 
4525
<li><a href="#Switching-Master-and-Slave-KDCs">4.1.7 Switching Master and Slave KDCs</a>
 
4526
<li><a href="#Incremental-Database-Propagation">4.1.8 Incremental Database Propagation</a>
 
4527
<ul>
 
4528
<li><a href="#Sun_002fMIT-Incremental-Propagation-Differences">4.1.8.1 Sun/MIT Incremental Propagation Differences</a>
 
4529
</li></ul>
 
4530
</li></ul>
 
4531
<li><a href="#Installing-and-Configuring-UNIX-Client-Machines">4.2 Installing and Configuring UNIX Client Machines</a>
 
4532
<ul>
 
4533
<li><a href="#Client-Programs">4.2.1 Client Programs</a>
 
4534
<li><a href="#Client-Machine-Configuration-Files">4.2.2 Client Machine Configuration Files</a>
 
4535
<ul>
 
4536
<li><a href="#Mac-OS-X-Configuration">4.2.2.1 Mac OS X Configuration</a>
 
4537
</li></ul>
 
4538
</li></ul>
 
4539
<li><a href="#UNIX-Application-Servers">4.3 UNIX Application Servers</a>
 
4540
<ul>
 
4541
<li><a href="#The-Keytab-File">4.3.1 The Keytab File</a>
 
4542
<li><a href="#Some-Advice-about-Secure-Hosts">4.3.2 Some Advice about Secure Hosts</a>
 
4543
</li></ul>
 
4544
</li></ul>
 
4545
<li><a name="toc_Upgrading-Existing-Kerberos-V5-Installations" href="#Upgrading-Existing-Kerberos-V5-Installations">5 Upgrading Existing Kerberos V5 Installations</a>
 
4546
<ul>
 
4547
<li><a href="#Upgrading-to-Triple_002dDES-and-RC4-Encryption-Keys">5.1 Upgrading to Triple-DES Encryption Keys</a>
 
4548
</li></ul>
 
4549
<li><a name="toc_Bug-Reports-for-Kerberos-V5" href="#Bug-Reports-for-Kerberos-V5">6 Bug Reports for Kerberos V5</a>
 
4550
<li><a name="toc_Copyright" href="#Copyright">Appendix A Copyright</a>
4590
4551
</li></ul>
4591
4552
</div>
4592
4553
 
4593
4554
<div class="footnote">
4594
4555
<hr>
4595
 
<h4>Footnotes</h4>
4596
 
<ol type="1">
4597
 
<li><a name="fn-1"></a>
4598
 
<p>Kerberos V4 used port 750.  If
 
4556
<a name="texinfo-footnotes-in-document"></a><h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> Kerberos V4 used port 750.  If
4599
4557
necessary, you can run on both ports for backward compatibility.</p>
4600
4558
 
4601
 
</ol><hr></div>
 
4559
<hr></div>
4602
4560
 
4603
4561
</body></html>
4604
4562
 
 
4563
<!--
 
4564
 
 
4565
Local Variables:
 
4566
coding: utf-8
 
4567
End:
 
4568
 
 
4569
-->