## Bug Reports for Kerberos V5

In any complex software, there will be bugs. If you have successfully built and installed Kerberos V5, please use the `krb5-send-pr` program to fill out a Problem Report should you encounter any errors in our software.

Bug reports that include proposed fixes are especially welcome. If you do include fixes, please send them using either context diffs or unified diffs (using `diff -c` or `diff -u`, respectively). Please be careful when using "cut and paste" or other such means to copy a patch into a bug report; depending on the system being used, that can result in converting TAB characters into spaces, which makes applying the patches more difficult.

The `krb5-send-pr` program is installed in the directory `/usr/local/sbin`.

The `krb5-send-pr` program enters the problem report into our Problem Report Management System (PRMS), which automatically assigns it to the engineer best able to help you with problems in the assigned category.

The `krb5-send-pr` program will try to intelligently fill in as many fields as it can. You need to choose the category, class, severity, and priority of the problem, as well as giving us as much information as you can about its exact nature.

The PR category will be one of:

         krb5-admin   krb5-appl    krb5-build   krb5-clients
         krb5-doc     krb5-kdc     krb5-libs    krb5-misc
         pty          telnet       test

Choose the category that best describes the area under which your problem falls.

The class can be sw-bug, doc-bug, change-request, or support. The first two are exactly as their names imply. Use change-request when the software is behaving according to specifications, but you want to request changes in some feature or behavior. The support class is intended for more general questions about building or using Kerberos V5.

The severity of the problem indicates the problem's impact on the usability of Kerberos V5. If a problem is critical, that means the product, component or concept is completely non-operational, or some essential functionality is missing, and no workaround is known. A serious problem is one in which the product, component or concept is not working properly or significant functionality is missing. Problems that would otherwise be considered critical are rated serious when a workaround is known. A non-critical problem is one that is indeed a problem, but one that is having a minimal effect on your ability to use Kerberos V5. E.g., The product, component or concept is working in general, but lacks features, has irritating behavior, does something wrong, or doesn't match its documentation. The default severity is serious.

The priority indicates how urgent this particular problem is in relation to your work. Note that low priority does not imply low importance. A priority of high means a solution is needed as soon as possible. A priority of medium means the problem should be solved no later than the next release. A priority of low means the problem should be solved in a future release, but it is not important to your work how soon this happens. The default priority is medium.

Note that a given severity does not necessarily imply a given priority. For example, a non-critical problem might still have a high priority if you are faced with a hard deadline. Conversely, a serious problem might have a low priority if the feature it is disabling is one that you do not need.

It is important that you fill in the release field and tell us what changes you have made, if any.

A sample filled-out form from a company named "Toasters, Inc." might look like this:

         To: krb5-bugs@mit.edu
         Subject: misspelled "Kerberos" in title of installation guide
         From: jcb
         Reply-To: jcb
         Cc:
         X-send-pr-version: 3.99

         >Submitter-Id:	mit
         >Originator:	Jeffrey C. Gilman Bigler
         >Organization:
         mit
         >Confidential:	no
         >Synopsis:	Misspelled "Kerberos" in title of installation guide
         >Severity:	non-critical
         >Priority:	low
         >Category:	krb5-doc
         >Class:		doc-bug
         >Release:	1.0-development
         >Environment:
         	<machine, os, target, libraries (multiple lines)>
         System: ULTRIX imbrium 4.2 0 RISC
         Machine: mips
         >Description:
                 Misspelled "Kerberos" in title of "Kerboros V5 Installation Guide"
         >How-To-Repeat:
                 N/A
         >Fix:
                 Correct the spelling.

If the `krb5-send-pr` program does not work for you, or if you did not get far enough in the process to have an installed and working `krb5-send-pr`, you can generate your own form, using the above as an example.

## Table of Contents

- Copyright
- Introduction
  - What is Kerberos and How Does it Work?
  - Why Should I use Kerberos?
  - Please Read the Documentation
  - Overview of This Guide
- Realm Configuration Decisions
  - Kerberos Realms
  - Mapping Hostnames onto Kerberos Realms
  - Ports for the KDC and Admin Services
  - Slave KDCs
  - Hostnames for the Master and Slave KDCs
  - Database Propagation
- Building Kerberos V5
  - Organization of the Source Directory
    - The appl Directory
    - The clients Directory
    - The gen-manpages Directory
    - The include Directory
    - The kadmin Directory
    - The kdc Directory
    - The krb524 Directory
    - The lib Directory
    - The prototype Directory
    - The slave Directory
    - The util Directory
  - Build Requirements
  - Unpacking the Sources
  - Doing the Build
    - Building Within a Single Tree
    - Building with Separate Build Directories
    - Building Using `lndir`
  - Installing the Binaries
  - Testing the Build
    - The DejaGnu Tests
    - The KADM5 Tests
  - Options to Configure
  - `osconf.h`
  - Shared Library Support
  - Operating System Incompatibilities
    - AIX
    - Alpha OSF/1 V1.3
    - Alpha OSF/1 V2.0
    - Alpha OSF/1 (Digital UNIX) V4.0
    - BSDI
    - HPUX
    - Solaris versions 2.0 through 2.3
    - Solaris 2.X
    - Solaris 9
    - SGI Irix 5.X
    - Ultrix 4.2/3
  - Using `Autoconf`
- Installing Kerberos V5
  - Installing KDCs
    - Install the Master KDC
      - Edit the Configuration Files
      - krb5.conf
      - kdc.conf
      - Create the Database
      - Add Administrators to the Acl File
      - Add Administrators to the Kerberos Database
      - Create a kadmind Keytab (optional)
      - Start the Kerberos Daemons on the Master KDC
    - Install the Slave KDCs
      - Create Host Keys for the Slave KDCs
      - Extract Host Keytabs for the KDCs
      - Set Up the Slave KDCs for Database Propagation
    - Back on the Master KDC
      - Propagate the Database to Each Slave KDC
    - Finish Installing the Slave KDCs
      - Create Stash Files on the Slave KDCs
      - Start the krb5kdc Daemon on Each KDC
    - Add Kerberos Principals to the Database
    - Limit Access to the KDCs
    - Switching Master and Slave KDCs
  - Installing and Configuring UNIX Client Machines
    - Client Programs
    - Client Machine Configuration Files
      - Mac OS X Configuration
  - UNIX Application Servers
    - Server Programs
    - Server Configuration Files
    - The Keytab File
    - Some Advice about Secure Hosts
- Upgrading Existing Kerberos V5 Installations
  - Upgrading to Triple-DES Encryption Keys
- Bug Reports for Kerberos V5