summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJon Rochlis <jon@mit.edu>1993-11-06 23:40:28 +0000
committerJon Rochlis <jon@mit.edu>1993-11-06 23:40:28 +0000
commitf897bbd58934c118bb4b143117873becabbea99a (patch)
treeba6b5cbea48cd3afb7007637c8d53efb5629fc2d /doc
parent603710741215a5777d2d67e4a3d46c87045abc2d (diff)
downloadkrb5-f897bbd58934c118bb4b143117873becabbea99a.tar.gz
krb5-f897bbd58934c118bb4b143117873becabbea99a.tar.xz
krb5-f897bbd58934c118bb4b143117873becabbea99a.zip
change ovsec_kadm_T into osa_, add pointers to include files and name the
libraries to link against. This could be done better, but it's a start git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2802 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'doc')
-rw-r--r--doc/kadm5/api-server-design.tex48
1 files changed, 32 insertions, 16 deletions
diff --git a/doc/kadm5/api-server-design.tex b/doc/kadm5/api-server-design.tex
index 919c216069..a0214d56de 100644
--- a/doc/kadm5/api-server-design.tex
+++ b/doc/kadm5/api-server-design.tex
@@ -93,10 +93,11 @@ for this reason.
\subsection{Admin Principal, osa_princ_ent_t}
The admin principal database stores records of the type
-osa_princ_ent_t, which is the subset of the ovsec_kadm_principal_ent_t
-structure that is not stored in the Kerberos database plus the
-necessary bookkeeping information. The records are keyed by the ASCII
-representation of the principal's name, including the trailing NULL.
+osa_princ_ent_t (declared in $<$ovsec_admin/adb.h$>$), which is the
+subset of the ovsec_kadm_principal_ent_t structure that is not stored
+in the Kerberos database plus the necessary bookkeeping information.
+The records are keyed by the ASCII representation of the principal's
+name, including the trailing NULL.
\begin{verbatim}
typedef struct _osa_princ_ent_t {
@@ -133,9 +134,10 @@ encrypted in the admin/history key. There are num_old_keys elements.
\subsection{Policy, osa_policy_ent_t}
-The policy database stores records of the type osa_policy_ent_t, which
-is all of ovsec_kadm_policy_ent_t plus necessary bookkeeping
-information. The records are keyed by the policy name.
+The policy database stores records of the type osa_policy_ent_t
+(declared in $<$ovsec_admin/adb.h$>$) , which is all of
+ovsec_kadm_policy_ent_t plus necessary bookkeeping information. The
+records are keyed by the policy name.
\begin{verbatim}
typedef struct _osa_policy_ent_t {
@@ -154,7 +156,7 @@ typedef struct _osa_policy_ent_t {
\subsection{Kerberos, krb5_db_entry}
The Kerberos database stores records of type krb5_db_entry, which is
-defined in the kdb.h header file.
+defined in the $<$krb5/kdb.h$>$ header file.
\begin{verbatim}
typedef struct _krb5_encrypted_keyblock {
@@ -207,15 +209,29 @@ it does not understand.
This section describes the database abstraction used for the admin
principal and policy databases. Since both databases export
equivalent functionality, the API is only described once. The
-character T is used to represent both ``princ'' and ``policy''.
+character T is used to represent both ``princ'' and ``policy''. The
+location of the principal database is defined by the \#define
+PRINCIPAL_DB (``/krb5/principal.db'') in $<$ovsec_admin/adb.h$>$. The
+location of the policy database is defined by the \#define POLICY_DB
+(``/krb5/policy.db'') in $<$ovsec_admin/adb.h$>$.
Note that this is {\it only} a database abstraction. All functional
intelligence, such as maintaining policy reference counts or sanity
checking, must be implemented above this layer.
+Prototypes for the osa functions are supplied in
+$<$ovsec_admin/adb.h$>$. The routines can be found (in the first
+relase) in ``stage/lib/libadb.a''. They require linking with the
+Berkely DB library (``stage/lib/libdb.a''). [Note: We needed to remove
+the dbm compatibility routines from libdb.a because we want to leave
+KDB library alone in case somebody wants to run a stock MIT KDC with
+our admin server.]
+
The database routines use com_err for error codes. The error code
-table name is ``kadb'' and the offsets are the same as the order
-presented here.
+table name is ``adb'' and the offsets are the same as the order
+presented here. The error table header file is
+$<$ovsec_admin/adb_err.h$>$. Callers of the OSA routines should first call
+init_adb_err_tbl() to initialize the database table.
\begin{description}
\item[OSA_ADB_OK] Operation successful.
@@ -247,7 +263,7 @@ Close an open database.
\begin{verbatim}
osa_adb_ret_t
-osa_adb_create_T(osa_adb_T_t db, ovsec_kadm_T_ent_t entry);
+osa_adb_create_T(osa_adb_T_t db, osa_T_ent_t entry);
\end{verbatim}
%
Adds the entry to the database. All fields are defined. Returns
@@ -255,7 +271,7 @@ OSA_ADB_DUP if it already exists.
\begin{verbatim}
osa_adb_ret_t
-osa_adb_destroy_T(osa_adb_T_t db, ovsec_kadm_T_t name);
+osa_adb_destroy_T(osa_adb_T_t db, osa_T_t name);
\end{verbatim}
Removes the named entry from the database. Returns OSA_ADB_NOENT if
@@ -263,7 +279,7 @@ it does not exist.
\begin{verbatim}
osa_adb_ret_t
-osa_adb_get_T(osa_adb_T_t db, ovsec_kadm_T_t name,
+osa_adb_get_T(osa_adb_T_t db, osa_T_t name,
ovsec_kadm_ent_T_t *entry);
\end{verbatim}
@@ -274,7 +290,7 @@ allocated.
\begin{verbatim}
osa_adb_ret_t
-osadb_adb_put_T(osa_adb_T_t db, ovsec_kadm_T_ent_t entry);
+osadb_adb_put_T(osa_adb_T_t db, osa_T_ent_t entry);
\end{verbatim}
Modifies the existing entry named in entry. All fields must be filled
@@ -291,7 +307,7 @@ osa_adb_get_T.
\begin{verbatim}
typedef void (*osa_adb_iter_T_func)(void *data,
- ovsec_kadm_T_ent_t entry);
+ osa_T_ent_t entry);
void osa_adb_iter_T(osa_adb_T_t db, osa_adb_iter_T_func func,
void *data);