Author: abartlet
Date: 2007-06-11 09:24:53 +0000 (Mon, 11 Jun 2007)
New Revision: 742

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=742

Log:
It is easier for Samba4 if we don't setup hdb in default_config.c

Andrew Bartlett

Modified:
   trunk/heimdal/kdc/config.c
   trunk/heimdal/kdc/default_config.c


Changeset:
Modified: trunk/heimdal/kdc/config.c
===================================================================
--- trunk/heimdal/kdc/config.c  2007-06-10 19:15:09 UTC (rev 741)
+++ trunk/heimdal/kdc/config.c  2007-06-11 09:24:53 UTC (rev 742)
@@ -145,6 +145,51 @@
     krb5_free_addresses (context, &tmp);
 }
 
+static void
+get_dbinfo(krb5_context context, struct krb5_kdc_configuration *c)
+{
+    struct hdb_dbinfo *info, *d;
+    krb5_error_code ret;
+
+    /* fetch the databases */
+    ret = hdb_get_dbinfo(context, &info);
+    if (ret)
+       krb5_err(context, 1, ret, "hdb_get_dbinfo");
+    
+    d = NULL;
+    while ((d = hdb_dbinfo_get_next(info, d)) != NULL) {
+       void *ptr;
+       
+       ptr = realloc(c->db, (c->num_db + 1) * sizeof(*c->db));
+       if (ptr == NULL)
+           krb5_err(context, 1, ret, "out of memory");
+       c->db = ptr;
+       
+       ret = hdb_create(context, &c->db[c->num_db], 
+                        hdb_dbinfo_get_dbname(context, d));
+       if(ret)
+           krb5_err(context, 1, ret, "hdb_create %s", 
+                    hdb_dbinfo_get_dbname(context, d));
+       
+       ret = hdb_set_master_keyfile(context, c->db[c->num_db], 
+                                    hdb_dbinfo_get_mkey_file(context, d));
+       if (ret)
+           krb5_err(context, 1, ret, "hdb_set_master_keyfile");
+       
+       c->num_db++;
+
+       kdc_log(context, c, 0, "label: %s\n",
+               hdb_dbinfo_get_label(context, d));
+       kdc_log(context, c, 0, "\trealm: %s\n",
+               hdb_dbinfo_get_realm(context, d));
+       kdc_log(context, c, 0, "\tdbname: %s\n",
+               hdb_dbinfo_get_dbname(context, d));
+       kdc_log(context, c, 0, "\tmkey_file: %s\n",
+               hdb_dbinfo_get_mkey_file(context, d));
+    }
+    hdb_free_dbinfo(context, &info);
+}
+
 krb5_kdc_configuration *
 configure(krb5_context context, int argc, char **argv)
 {
@@ -200,8 +245,10 @@
     if (ret)
        krb5_err(context, 1, ret, "krb5_kdc_default_config");
 
-    kdc_openlog(context, config);
+    get_dbinfo(context, config);
 
+   kdc_openlog(context, config);
+
     if(max_request_str)
        max_request = parse_bytes(max_request_str, NULL);
 

Modified: trunk/heimdal/kdc/default_config.c
===================================================================
--- trunk/heimdal/kdc/default_config.c  2007-06-10 19:15:09 UTC (rev 741)
+++ trunk/heimdal/kdc/default_config.c  2007-06-11 09:24:53 UTC (rev 742)
@@ -38,52 +38,7 @@
 
 RCSID("$Id: default_config.c 20532 2007-04-23 07:46:57Z lha $");
 
-static void
-get_dbinfo(krb5_context context, struct krb5_kdc_configuration *c)
-{
-    struct hdb_dbinfo *info, *d;
-    krb5_error_code ret;
 
-    /* fetch the databases */
-    ret = hdb_get_dbinfo(context, &info);
-    if (ret)
-       krb5_err(context, 1, ret, "hdb_get_dbinfo");
-    
-    d = NULL;
-    while ((d = hdb_dbinfo_get_next(info, d)) != NULL) {
-       void *ptr;
-       
-       ptr = realloc(c->db, (c->num_db + 1) * sizeof(*c->db));
-       if (ptr == NULL)
-           krb5_err(context, 1, ret, "out of memory");
-       c->db = ptr;
-       
-       ret = hdb_create(context, &c->db[c->num_db], 
-                        hdb_dbinfo_get_dbname(context, d));
-       if(ret)
-           krb5_err(context, 1, ret, "hdb_create %s", 
-                    hdb_dbinfo_get_dbname(context, d));
-       
-       ret = hdb_set_master_keyfile(context, c->db[c->num_db], 
-                                    hdb_dbinfo_get_mkey_file(context, d));
-       if (ret)
-           krb5_err(context, 1, ret, "hdb_set_master_keyfile");
-       
-       c->num_db++;
-
-       kdc_log(context, c, 0, "label: %s\n",
-               hdb_dbinfo_get_label(context, d));
-       kdc_log(context, c, 0, "\trealm: %s\n",
-               hdb_dbinfo_get_realm(context, d));
-       kdc_log(context, c, 0, "\tdbname: %s\n",
-               hdb_dbinfo_get_dbname(context, d));
-       kdc_log(context, c, 0, "\tmkey_file: %s\n",
-               hdb_dbinfo_get_mkey_file(context, d));
-    }
-    hdb_free_dbinfo(context, &info);
-}
-
-
 int
 krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
 {
@@ -112,8 +67,6 @@
     c->num_db = 0;
     c->logf = NULL;
 
-    get_dbinfo(context, c);
-
     c->require_preauth =
        krb5_config_get_bool_default(context, NULL, 
                                     c->require_preauth,

Reply via email to