Initial documentation.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2247 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-07-13 05:53:10 +00:00
parent db74919cc6
commit a5128d7041
4 changed files with 419 additions and 0 deletions

171
doc/heimdal.texi Normal file
View 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
View 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
View 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
View 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.