Initial documentation.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2247 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
171
doc/heimdal.texi
Normal file
171
doc/heimdal.texi
Normal file
@@ -0,0 +1,171 @@
|
||||
\input texinfo @c -*- texinfo -*-
|
||||
@c %**start of header
|
||||
@c $Id$
|
||||
@setfilename heimdal.info
|
||||
@settitle HEIMDAL
|
||||
@iftex
|
||||
@afourpaper
|
||||
@end iftex
|
||||
@c some sensible characters, please?
|
||||
@tex
|
||||
\input latin1.tex
|
||||
@end tex
|
||||
@setchapternewpage on
|
||||
@syncodeindex pg cp
|
||||
@c %**end of header
|
||||
|
||||
@dircategory Kerberos
|
||||
@direntry
|
||||
* Heimdal: (heimdal). The Kerberos 5 distribution from KTH
|
||||
@end direntry
|
||||
|
||||
@c title page
|
||||
@titlepage
|
||||
@title Heimdal
|
||||
@subtitle Kerberos 5 from KTH
|
||||
@subtitle Edition 0.0, for version 0.0a
|
||||
@subtitle 1997
|
||||
@author Johan Danielsson
|
||||
@author Assar Westerlund
|
||||
@author last updated $Date$
|
||||
|
||||
@def@copynext{@vskip 20pt plus 1fil@penalty-1000}
|
||||
@def@copyrightstart{}
|
||||
@def@copyrightend{}
|
||||
@page
|
||||
@copyrightstart
|
||||
Copyright (c) 1997 Kungliga Tekniska H<>gskolan
|
||||
(Royal Institute of Technology, Stockholm, Sweden).
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by Kungliga Tekniska
|
||||
H<>gskolan and its contributors.
|
||||
|
||||
4. Neither the name of the Institute nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
@copynext
|
||||
|
||||
Copyright (C) 1995-1997 Eric Young (eay@@mincom.oz.au)
|
||||
All rights reserved.
|
||||
|
||||
This package is an DES implementation written by Eric Young (eay@@mincom.oz.au).
|
||||
The implementation was written so as to conform with MIT's libdes.
|
||||
|
||||
This library is free for commercial and non-commercial use as long as
|
||||
the following conditions are aheared to. The following conditions
|
||||
apply to all code found in this distribution.
|
||||
|
||||
Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
the code are not to be removed.
|
||||
If this package is used in a product, Eric Young should be given attribution
|
||||
as the author of that the SSL library. This can be in the form of a textual
|
||||
message at program startup or in documentation (online or textual) provided
|
||||
with the package.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by Eric Young (eay@@mincom.oz.au)
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
@copynext
|
||||
|
||||
Copyright 1992 Simmule Turner and Rich Salz. All rights reserved.
|
||||
|
||||
This software is not subject to any license of the American Telephone
|
||||
and Telegraph Company or of the Regents of the University of California.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose on
|
||||
any computer system, and to alter it and redistribute it freely, subject
|
||||
to the following restrictions:
|
||||
|
||||
1. The authors are not responsible for the consequences of use of this
|
||||
software, no matter how awful, even if they arise from flaws in it.
|
||||
|
||||
2. The origin of this software must not be misrepresented, either by
|
||||
explicit claim or by omission. Since few users ever read sources,
|
||||
credits must appear in the documentation.
|
||||
|
||||
3. Altered versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software. Since few users
|
||||
ever read sources, credits must appear in the documentation.
|
||||
|
||||
4. This notice may not be removed or altered.
|
||||
|
||||
@copyrightend
|
||||
@end titlepage
|
||||
|
||||
@c Less filling! Tastes great!
|
||||
@iftex
|
||||
@parindent=0pt
|
||||
@global@parskip 6pt plus 1pt
|
||||
@global@chapheadingskip = 15pt plus 4pt minus 2pt
|
||||
@global@secheadingskip = 12pt plus 3pt minus 2pt
|
||||
@global@subsecheadingskip = 9pt plus 2pt minus 2pt
|
||||
@end iftex
|
||||
@ifinfo
|
||||
@paragraphindent 0
|
||||
@end ifinfo
|
||||
|
||||
@ifinfo
|
||||
@node Top, Introduction, (dir), (dir)
|
||||
@top Heimdal
|
||||
@end ifinfo
|
||||
|
||||
@menu
|
||||
* Introduction::
|
||||
* Tutorial::
|
||||
@end menu
|
||||
|
||||
@include intro.texi
|
||||
@include tut.texi
|
||||
|
||||
@c @shortcontents
|
||||
@c @contents
|
||||
|
||||
@bye
|
69
doc/intro.texi
Normal file
69
doc/intro.texi
Normal file
@@ -0,0 +1,69 @@
|
||||
@node Introduction, Tutorial, Top, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Introduction
|
||||
|
||||
@quotation
|
||||
@strong{Caution:} this is beta quality software. If something doesn't
|
||||
work, it's probably because it doesn't. Don't be surprised if your
|
||||
computer suffers a melt-down.
|
||||
@end quotation
|
||||
|
||||
@heading What is Heimdal?
|
||||
|
||||
@sc{Heimdal} is a free implementation of Kerberos 5. The goals
|
||||
are to:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
have an implementation that can be freely used outside of the United
|
||||
States
|
||||
@item
|
||||
be protocol compatible with existing implementations and, if not in
|
||||
conflict, with RFC 1510 (and any future updated RFC)
|
||||
@item
|
||||
be somewhat compatible with the M.I.T Kerberos V5 API
|
||||
@end itemize
|
||||
|
||||
This initial pre-version is mostly compatible with the M.I.T
|
||||
implementation, as well as DCE secd. The library is at least not totally
|
||||
different from the M.I.T @code{libkrb5}.
|
||||
|
||||
@heading Status
|
||||
|
||||
Heimdal has the following features (this does not mean any of this
|
||||
works):
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
there is a complete library to encode/decode/whatever ASN.1 stuff
|
||||
@item
|
||||
a @code{libkrb5} library that should be possible to get to work with
|
||||
simple applications
|
||||
@item
|
||||
Eric Young's @file{libdes}
|
||||
@item
|
||||
@file{kinit}, @file{klist}, @file{kdestroy}
|
||||
@item
|
||||
@file{telnet}, @file{telnetd}
|
||||
@item
|
||||
@file{rsh}, @file{rshd}
|
||||
@item
|
||||
a simple KDC
|
||||
@item
|
||||
an even simpler @file{kdb_edit}
|
||||
@end itemize
|
||||
|
||||
@heading Bug reports
|
||||
|
||||
If you find bugs in this software, make sure it is a genuine bug and not
|
||||
just a part of the code that isn't implemented.
|
||||
|
||||
Bug reports should be sent to @code{<heimdal-bugs@@pdc.kth.se>}. Please
|
||||
include information on what machine and operating system (including
|
||||
version) you are running, what you are trying to do, what happens, what
|
||||
you think should have happened, an example for us to repeat, the output
|
||||
you get when trying the example, and a patch for the problem if you have
|
||||
one. Please make any patches with @code{diff -u} or @code{diff -c}.
|
||||
|
||||
Suggestions, comments and other non bug reports are welcome. Send them
|
||||
to @code{<heimdal@@pdc.kth.se>}.
|
95
doc/latin1.tex
Normal file
95
doc/latin1.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
% ISO Latin 1 (ISO 8859/1) encoding for Computer Modern fonts.
|
||||
% Jan Michael Rynning <jmr@nada.kth.se> 1990-10-12
|
||||
\def\inmathmode#1{\relax\ifmmode#1\else$#1$\fi}
|
||||
\global\catcode`\^^a0=\active \global\let^^a0=~ % no-break space
|
||||
\global\catcode`\^^a1=\active \global\def^^a1{!`} % inverted exclamation mark
|
||||
\global\catcode`\^^a2=\active \global\def^^a2{{\rm\rlap/c}} % cent sign
|
||||
\global\catcode`\^^a3=\active \global\def^^a3{{\it\$}} % pound sign
|
||||
% currency sign, yen sign, broken bar
|
||||
\global\catcode`\^^a7=\active \global\let^^a7=\S % section sign
|
||||
\global\catcode`\^^a8=\active \global\def^^a8{\"{}} % diaeresis
|
||||
\global\catcode`\^^a9=\active \global\let^^a9=\copyright % copyright sign
|
||||
% feminine ordinal indicator, left angle quotation mark
|
||||
\global\catcode`\^^ac=\active \global\def^^ac{\inmathmode\neg}% not sign
|
||||
\global\catcode`\^^ad=\active \global\let^^ad=\- % soft hyphen
|
||||
% registered trade mark sign
|
||||
\global\catcode`\^^af=\active \global\def^^af{\={}} % macron
|
||||
% ...
|
||||
\global\catcode`\^^b1=\active \global\def^^b1{\inmathmode\pm} % plus minus
|
||||
\global\catcode`\^^b2=\active \global\def^^b2{\inmathmode{{^2}}}
|
||||
\global\catcode`\^^b3=\active \global\def^^b3{\inmathmode{{^3}}}
|
||||
\global\catcode`\^^b4=\active \global\def^^b4{\'{}} % acute accent
|
||||
\global\catcode`\^^b5=\active \global\def^^b5{\inmathmode\mu} % mu
|
||||
\global\catcode`\^^b6=\active \global\let^^b6=\P % pilcroy
|
||||
\global\catcode`\^^b7=\active \global\def^^b7{\inmathmode{{\cdot}}}
|
||||
\global\catcode`\^^b8=\active \global\def^^b8{\c{}} % cedilla
|
||||
\global\catcode`\^^b9=\active \global\def^^b9{\inmathmode{{^1}}}
|
||||
% ...
|
||||
\global\catcode`\^^bc=\active \global\def^^bc{\inmathmode{{1\over4}}}
|
||||
\global\catcode`\^^bd=\active \global\def^^bd{\inmathmode{{1\over2}}}
|
||||
\global\catcode`\^^be=\active \global\def^^be{\inmathmode{{3\over4}}}
|
||||
\global\catcode`\^^bf=\active \global\def^^bf{?`} % inverted question mark
|
||||
\global\catcode`\^^c0=\active \global\def^^c0{\`A}
|
||||
\global\catcode`\^^c1=\active \global\def^^c1{\'A}
|
||||
\global\catcode`\^^c2=\active \global\def^^c2{\^A}
|
||||
\global\catcode`\^^c3=\active \global\def^^c3{\~A}
|
||||
\global\catcode`\^^c4=\active \global\def^^c4{\"A} % capital a with diaeresis
|
||||
\global\catcode`\^^c5=\active \global\let^^c5=\AA % capital a with ring above
|
||||
\global\catcode`\^^c6=\active \global\let^^c6=\AE
|
||||
\global\catcode`\^^c7=\active \global\def^^c7{\c C}
|
||||
\global\catcode`\^^c8=\active \global\def^^c8{\`E}
|
||||
\global\catcode`\^^c9=\active \global\def^^c9{\'E}
|
||||
\global\catcode`\^^ca=\active \global\def^^ca{\^E}
|
||||
\global\catcode`\^^cb=\active \global\def^^cb{\"E}
|
||||
\global\catcode`\^^cc=\active \global\def^^cc{\`I}
|
||||
\global\catcode`\^^cd=\active \global\def^^cd{\'I}
|
||||
\global\catcode`\^^ce=\active \global\def^^ce{\^I}
|
||||
\global\catcode`\^^cf=\active \global\def^^cf{\"I}
|
||||
% capital eth
|
||||
\global\catcode`\^^d1=\active \global\def^^d1{\~N}
|
||||
\global\catcode`\^^d2=\active \global\def^^d2{\`O}
|
||||
\global\catcode`\^^d3=\active \global\def^^d3{\'O}
|
||||
\global\catcode`\^^d4=\active \global\def^^d4{\^O}
|
||||
\global\catcode`\^^d5=\active \global\def^^d5{\~O}
|
||||
\global\catcode`\^^d6=\active \global\def^^d6{\"O} % capital o with diaeresis
|
||||
\global\catcode`\^^d7=\active \global\def^^d7{\inmathmode\times}% multiplication sign
|
||||
\global\catcode`\^^d8=\active \global\let^^d8=\O
|
||||
\global\catcode`\^^d9=\active \global\def^^d9{\`U}
|
||||
\global\catcode`\^^da=\active \global\def^^da{\'U}
|
||||
\global\catcode`\^^db=\active \global\def^^db{\^U}
|
||||
\global\catcode`\^^dc=\active \global\def^^dc{\"U}
|
||||
\global\catcode`\^^dd=\active \global\def^^dd{\'Y}
|
||||
% capital thorn
|
||||
\global\catcode`\^^df=\active \global\def^^df{\ss}
|
||||
\global\catcode`\^^e0=\active \global\def^^e0{\`a}
|
||||
\global\catcode`\^^e1=\active \global\def^^e1{\'a}
|
||||
\global\catcode`\^^e2=\active \global\def^^e2{\^a}
|
||||
\global\catcode`\^^e3=\active \global\def^^e3{\~a}
|
||||
\global\catcode`\^^e4=\active \global\def^^e4{\"a} % small a with diaeresis
|
||||
\global\catcode`\^^e5=\active \global\let^^e5=\aa % small a with ring above
|
||||
\global\catcode`\^^e6=\active \global\let^^e6=\ae
|
||||
\global\catcode`\^^e7=\active \global\def^^e7{\c c}
|
||||
\global\catcode`\^^e8=\active \global\def^^e8{\`e}
|
||||
\global\catcode`\^^e9=\active \global\def^^e9{\'e}
|
||||
\global\catcode`\^^ea=\active \global\def^^ea{\^e}
|
||||
\global\catcode`\^^eb=\active \global\def^^eb{\"e}
|
||||
\global\catcode`\^^ec=\active \global\def^^ec{\`\i}
|
||||
\global\catcode`\^^ed=\active \global\def^^ed{\'\i}
|
||||
\global\catcode`\^^ee=\active \global\def^^ee{\^\i}
|
||||
\global\catcode`\^^ef=\active \global\def^^ef{\"\i}
|
||||
% small eth
|
||||
\global\catcode`\^^f1=\active \global\def^^f1{\~n}
|
||||
\global\catcode`\^^f2=\active \global\def^^f2{\`o}
|
||||
\global\catcode`\^^f3=\active \global\def^^f3{\'o}
|
||||
\global\catcode`\^^f4=\active \global\def^^f4{\^o}
|
||||
\global\catcode`\^^f5=\active \global\def^^f5{\~o}
|
||||
\global\catcode`\^^f6=\active \global\def^^f6{\"o} % small o with diaeresis
|
||||
\global\catcode`\^^f7=\active \global\def^^f7{\inmathmode\div}% division sign
|
||||
\global\catcode`\^^f8=\active \global\let^^f8=\o
|
||||
\global\catcode`\^^f9=\active \global\def^^f9{\`u}
|
||||
\global\catcode`\^^fa=\active \global\def^^fa{\'u}
|
||||
\global\catcode`\^^fb=\active \global\def^^fb{\^u}
|
||||
\global\catcode`\^^fc=\active \global\def^^fc{\"u}
|
||||
\global\catcode`\^^fd=\active \global\def^^fd{\'y}
|
||||
% capital thorn
|
||||
\global\catcode`\^^ff=\active \global\def^^ff{\"y}
|
84
doc/tut.texi
Normal file
84
doc/tut.texi
Normal file
@@ -0,0 +1,84 @@
|
||||
@node Tutorial, , Introduction, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Tutorial
|
||||
|
||||
There currently isn't any documentation other than the source. To give
|
||||
some example how to you might try this code, we give you a quick
|
||||
`tutorial'.
|
||||
|
||||
After you have built everything (don't @samp{make install}) you could do
|
||||
the following to test the kdc.
|
||||
|
||||
@example
|
||||
$ cd kdc
|
||||
$ ../admin/kdb_edit
|
||||
kdb_edit> init MY.REALM
|
||||
Realm max ticket life: [infinite]
|
||||
Realm max renewable ticket life: [infinite]
|
||||
Default ticket life: [86400]
|
||||
Default renewable ticket life: [432000]
|
||||
@end example
|
||||
|
||||
This will create an initial database (in the current directory).
|
||||
|
||||
@example
|
||||
kdb_edit> add me@@MY.REALM
|
||||
Max ticket life [86400]:
|
||||
Max renewable ticket [432000]:
|
||||
Password:
|
||||
Verifying password - Password:
|
||||
@end example
|
||||
|
||||
This will add a principal for you. You have to specify the realm.
|
||||
|
||||
@example
|
||||
kdb_edit> add host/my.computer@@MY.REALM
|
||||
Max ticket life [86400]:
|
||||
Max renewable ticket [432000]:
|
||||
Password:
|
||||
Verifying password - Password:
|
||||
@end example
|
||||
|
||||
This creates a host entry for your computer (this could be anything, but
|
||||
a `host' principal is most useful).
|
||||
|
||||
Now start the KDC (press control-D to exit kdb_edit).
|
||||
|
||||
@example
|
||||
$ ./kdc &
|
||||
@end example
|
||||
|
||||
You will have to create a @file{/etc/krb5.conf} with the following contents:
|
||||
|
||||
@example
|
||||
[realms]
|
||||
MY.REALM = @{
|
||||
kdc = my.computer
|
||||
@}
|
||||
[domain_realm]
|
||||
my.computer = MY.REALM
|
||||
@end example
|
||||
|
||||
Now, try to get some credentials.
|
||||
|
||||
@example
|
||||
$ ../kuser/kinit me@@MY.REALM
|
||||
Password:
|
||||
$ ../kuser/klist
|
||||
Credentials cache: /tmp/krb5cc_3008
|
||||
Principal: me@@MY.REALM
|
||||
|
||||
Issued Expires Principal
|
||||
Jul 13 07:25:55 Jul 14 07:25:55 krbtgt/MY.REALM@@MY.REALM
|
||||
$ ../kuser/kfoo host/my.computer@@MY.REALM
|
||||
$ ../kuser/klist
|
||||
Credentials cache: /tmp/krb5cc_3008
|
||||
Principal: me@@MY.REALM
|
||||
|
||||
Issued Expires Principal
|
||||
Jul 13 07:25:55 Jul 14 07:25:55 krbtgt/MY.REALM@@MY.REALM
|
||||
Jul 13 07:25:55 Jul 14 07:25:55 host/my.computer@@MY.REALM
|
||||
@end example
|
||||
|
||||
Extending this example to do a full test of rsh or telnet is left as an
|
||||
exercise to the reader.
|
Reference in New Issue
Block a user