\contentsline {section}{\numberline {1}Overview}{2}
\contentsline {section}{\numberline {2}API Handles}{3}
\contentsline {section}{\numberline {3}API Versioning}{4}
\contentsline {subsection}{\numberline {3.1}Designing for future compatibility}{5}
\contentsline {subsection}{\numberline {3.2}Header file declarations}{5}
\contentsline {subsection}{\numberline {3.3}Server library functions}{6}
\contentsline {subsection}{\numberline {3.4}XDR functions}{7}
\contentsline {subsection}{\numberline {3.5}Client library functions}{9}
\contentsline {subsection}{\numberline {3.6}Admin server stubs}{9}
\contentsline {subsection}{\numberline {3.7}KADM5 self-reference}{10}
\contentsline {section}{\numberline {4}Server Main}{12}
\contentsline {section}{\numberline {5}Remote Procedure Calls}{12}
\contentsline {section}{\numberline {6}Database Record Types}{12}
\contentsline {subsection}{\numberline {6.1}Admin Principal, osa\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax princ\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax ent\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax t}{12}
\contentsline {subsection}{\numberline {6.2}Policy, osa\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax policy\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax ent\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax t}{13}
\contentsline {subsection}{\numberline {6.3}Kerberos, krb5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax db\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax entry}{14}
\contentsline {section}{\numberline {7}Database Access Methods}{14}
\contentsline {subsection}{\numberline {7.1}Principal and Policy Databases}{14}
\contentsline {subsubsection}{\numberline {7.1.1}Error codes}{14}
\contentsline {subsubsection}{\numberline {7.1.2}Locking}{15}
\contentsline {subsubsection}{\numberline {7.1.3}Function descriptions}{16}
\contentsline {subsection}{\numberline {7.2}Kerberos Database}{18}
\contentsline {subsubsection}{\numberline {7.2.1}Initialization and Key Access}{18}
\contentsline {section}{\numberline {8}Admin Principal and Policy Database Implementation}{20}
\contentsline {section}{\numberline {9}ACLs, acl\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax check}{20}
\contentsline {section}{\numberline {10}Function Details}{20}
\contentsline {subsection}{\numberline {10.1}kadm5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax create\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal}{21}
\contentsline {subsection}{\numberline {10.2}kadm5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax delete\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal}{21}
\contentsline {subsection}{\numberline {10.3}kadm5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax modify\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal}{21}
\contentsline {subsection}{\numberline {10.4}kadm5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax chpass\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal, randkey\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal}{21}
\contentsline {subsection}{\numberline {10.5}kadm5\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax get\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em}\penalty 75\relax principal}{22}
