* create/kdb5_mkdums.c (set_dbname_help): Set default realm and construct an
authorKen Raeburn <raeburn@mit.edu>
Tue, 4 Oct 2005 20:24:14 +0000 (20:24 +0000)
committerKen Raeburn <raeburn@mit.edu>
Tue, 4 Oct 2005 20:24:14 +0000 (20:24 +0000)
argument vector describing the database pathname, before calling krb5_db_open.
* verify/kdb5_verify.c (set_dbname_help): Likewise.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17401 dc483132-0cff-0310-8789-dd5450dbe970

src/tests/create/ChangeLog
src/tests/create/kdb5_mkdums.c
src/tests/verify/ChangeLog
src/tests/verify/kdb5_verify.c

index 1d329dd454cfb1ca8baafb7f99a3f24109667a44..0d0395d00d8b27a625a5490015fcf7b32c0440a6 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-04  Ken Raeburn  <raeburn@mit.edu>
+
+       * kdb5_mkdums.c (set_dbname_help): Set default realm and construct
+       an argument vector describing the database pathname, before
+       calling krb5_db_open.
+
 2005-06-20  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (KDB5_DEP_LIB): Use DL_LIB and THREAD_LINKOPTS
index 9d1799cfcd7227f0c087cfcbf91aebc9da5813aa..aa5f487ac6d9296f29350399e407aea3d2523b89 100644 (file)
@@ -339,14 +339,8 @@ char *dbname;
     int nentries;
     krb5_boolean more;
     krb5_data pwd, scratch;
+    char *args[2];
 
-#if 0
-    if ((retval = krb5_db_set_name(test_context, dbname))) {
-       com_err(pname, retval, "while setting active database to '%s'",
-               dbname);
-       return(1);
-    }
-#endif
     /* assemble & parse the master key name */
 
     if ((retval = krb5_db_setup_mkey_name(test_context, mkey_name, cur_realm, 
@@ -380,10 +374,23 @@ char *dbname;
            return(1);
        }
     }
-#if 0
-    if ((retval = krb5_db_init(test_context))) {
-#endif
-    if ((retval = krb5_db_open(test_context, NULL, KRB5_KDB_OPEN_RO))) {
+
+    /* Ick!  Current DAL interface requires that the default_realm
+       field be set in the krb5_context.  */
+    if ((retval = krb5_set_default_realm(test_context, cur_realm))) {
+       com_err(pname, retval, "setting default realm");
+       return 1;
+    }
+    /* Pathname is passed to db2 via 'args' parameter.  */
+    args[1] = NULL;
+    args[0] = malloc(sizeof("dbname=") + strlen(dbname));
+    if (args[0] == NULL) {
+       com_err(pname, errno, "while setting up db parameters");
+       return 1;
+    }
+    sprintf(args[0], "dbname=%s", dbname);
+
+    if ((retval = krb5_db_open(test_context, args, KRB5_KDB_OPEN_RO))) {
        com_err(pname, retval, "while initializing database");
        return(1);
     }
index 0fec8083b9266226fda5239c42c9e43b109dffeb..039cd2fe252dbdae9e00257c30dc7b2e3736a4ff 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-04  Ken Raeburn  <raeburn@mit.edu>
+
+       * kdb5_verify.c (set_dbname_help): Set default realm and construct
+       argument vector describing database location, before calling
+       krb5_db_open.
+
 2005-06-20  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (KDB5_DEP_LIB): Use DL_LIB and THREAD_LINKOPTS
index 60c082f4663f132518fc0a037afec3f3c3b21218..10661edd54927bf288b917ef36eed7750c883874 100644 (file)
@@ -360,14 +360,7 @@ set_dbname_help(context, pname, dbname)
     int nentries;
     krb5_boolean more;
     krb5_data pwd, scratch;
-
-#if 0
-    if ((retval = krb5_db_set_name(context, dbname))) {
-       com_err(pname, retval, "while setting active database to '%s'",
-               dbname);
-       return(1);
-    }
-#endif
+    char *args[2];
 
     /* assemble & parse the master key name */
 
@@ -400,7 +393,23 @@ set_dbname_help(context, pname, dbname)
            return(1);
        }
     }
-    if ((retval = krb5_db_open(context, NULL, KRB5_KDB_OPEN_RO))) {
+
+    /* Ick!  Current DAL interface requires that the default_realm
+       field be set in the krb5_context.  */
+    if ((retval = krb5_set_default_realm(context, cur_realm))) {
+       com_err(pname, retval, "setting default realm");
+       return 1;
+    }
+    /* Pathname is passed to db2 via 'args' parameter.  */
+    args[1] = NULL;
+    args[0] = malloc(sizeof("dbname=") + strlen(dbname));
+    if (args[0] == NULL) {
+       com_err(pname, errno, "while setting up db parameters");
+       return 1;
+    }
+    sprintf(args[0], "dbname=%s", dbname);
+
+    if ((retval = krb5_db_open(context, args, KRB5_KDB_OPEN_RO))) {
        com_err(pname, retval, "while initializing database");
        return(1);
     }