Udiff alt_prof.c
--- /net/etna.eng/build7/semery/mit2/webrev/usr/src/lib/krb5/kadm5/alt_prof.c-  Wed Sep  8 17:00:01 2004
+++ alt_prof.c  Wed Sep  8 13:40:43 2004
@@ -1,11 +1,11 @@
 /*
- * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident  "@(#)alt_prof.c 1.13    04/09/08 SMI"
+#pragma ident  "@(#)alt_prof.c 1.12    04/03/19 SMI"
 
 /*
  * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  *
  *     Openvision retains the copyright to derivative works of
@@ -54,10 +54,11 @@
 #include <kadm5/admin.h>
 #include <adm_proto.h>
 #include <stdio.h>
 #include <ctype.h>
 #include <os-proto.h>
+#include <kdb/kdb_log.h>
 
 krb5_error_code kadm5_free_config_params();
 
 #define        DEFAULT_ENCTYPE_LIST \
        "aes256-cts-hmac-sha1-96:normal " \
@@ -817,10 +818,69 @@
                        params.kpasswd_port = DEFAULT_KPASSWD_PORT;
                }
                params.mask |= KADM5_CONFIG_KPASSWD_PORT;
        }
 
+       hierarchy[2] = "sunw_dbprop_enable";
+
+       params.iprop_enabled = FALSE;
+       params.mask |= KADM5_CONFIG_IPROP_ENABLED;
+
+       if (params_in->mask & KADM5_CONFIG_IPROP_ENABLED) {
+               params.mask |= KADM5_CONFIG_IPROP_ENABLED;
+               params.iprop_enabled = params_in->iprop_enabled;
+       } else {
+               if (aprofile && !krb5_aprof_get_string(aprofile, hierarchy,
+                   TRUE, &svalue)) {
+                       if (strncasecmp(svalue, "Y", 1) == 0)
+                               params.iprop_enabled = TRUE;
+                       if (strncasecmp(svalue, "true", 4) == 0)
+                               params.iprop_enabled = TRUE;
+                       params.mask |= KADM5_CONFIG_IPROP_ENABLED;
+                       krb5_xfree(svalue);
+               }
+       }
+
+       hierarchy[2] = "sunw_dbprop_master_ulogsize";
+
+       params.iprop_ulogsize = DEF_ULOGENTRIES;
+       params.mask |= KADM5_CONFIG_ULOG_SIZE;
+
+       if (params_in->mask & KADM5_CONFIG_ULOG_SIZE) {
+               params.mask |= KADM5_CONFIG_ULOG_SIZE;
+               params.iprop_ulogsize = params_in->iprop_ulogsize;
+       } else {
+               if (aprofile && !krb5_aprof_get_int32(aprofile, hierarchy,
+                   TRUE, &ivalue)) {
+                       if (ivalue > MAX_ULOGENTRIES)
+                               params.iprop_ulogsize = MAX_ULOGENTRIES;
+                       else if (ivalue <= 0)
+                               params.iprop_ulogsize = DEF_ULOGENTRIES;
+                       else
+                               params.iprop_ulogsize = ivalue;
+                       params.mask |= KADM5_CONFIG_ULOG_SIZE;
+               }
+       }
+
+       hierarchy[2] = "sunw_dbprop_slave_poll";
+
+       params.iprop_polltime = "2m";
+       params.mask |= KADM5_CONFIG_POLL_TIME;
+
+       if (params_in->mask & KADM5_CONFIG_POLL_TIME) {
+               params.iprop_polltime = strdup(params_in->iprop_polltime);
+               if (params.iprop_polltime)
+                       params.mask |= KADM5_CONFIG_POLL_TIME;
+       } else {
+               if (aprofile && !krb5_aprof_get_string(aprofile, hierarchy,
+                   TRUE, &svalue)) {
+                       params.iprop_polltime = strdup(svalue);
+                       params.mask |= KADM5_CONFIG_POLL_TIME;
+                       krb5_xfree(svalue);
+               }
+       }
+
        *params_out = params;
 
 cleanup:
        if (aprofile)
                krb5_aprof_finish(aprofile);