]> git.saurik.com Git - apple/security.git/blobdiff - SecurityTool/db_commands.cpp
Security-59306.11.20.tar.gz
[apple/security.git] / SecurityTool / db_commands.cpp
diff --git a/SecurityTool/db_commands.cpp b/SecurityTool/db_commands.cpp
deleted file mode 100644 (file)
index 381501f..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 2003-2005,2012,2014 Apple Inc. All Rights Reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- *
- * db_commands.cpp -- commands to directly manipulate Db's using the DL API.
- */
-
-#include "db_commands.h"
-
-#include "readline_cssm.h"
-#include "security_tool.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <security_cdsa_client/dlclient.h>
-
-using namespace CssmClient;
-
-static int
-do_db_create(const CSSM_GUID guid, const char *dbname, Boolean do_openparams, Boolean do_autocommit, Boolean do_mode, mode_t mode, Boolean do_version_0_params)
-{
-       int result = 0;
-
-       try
-       {
-               CSSM_APPLEDL_OPEN_PARAMETERS openParameters = { sizeof(CSSM_APPLEDL_OPEN_PARAMETERS),
-                       (do_version_0_params ? 0 : CSSM_APPLEDL_OPEN_PARAMETERS_VERSION) };
-               Cssm cssm;
-               Module module(guid, cssm);
-               DL dl(module);
-               Db db(dl, dbname);
-
-               if (do_openparams)
-               {
-                       openParameters.autoCommit = do_autocommit;
-                       if (!do_version_0_params && do_mode)
-                       {
-                               openParameters.mask |= kCSSM_APPLEDL_MASK_MODE;
-                               openParameters.mode = mode;
-                       }
-
-                       db->openParameters(&openParameters);
-               }
-
-               db->create();
-       }
-       catch (const CommonError &e)
-       {
-               OSStatus status = e.osStatus();
-               sec_error("CSSM_DbCreate %s: %s", dbname, sec_errstr(status));
-       }
-       catch (...)
-       {
-               result = 1;
-       }
-
-       return result;
-}
-
-static int
-parse_guid(const char *name, CSSM_GUID *guid)
-{
-       size_t len = strlen(name);
-
-       if (!strncmp("dl", name, len))
-               *guid = gGuidAppleFileDL;
-       else if (!strncmp("cspdl", name, len))
-               *guid = gGuidAppleCSPDL;
-       else
-       {
-               sec_error("Invalid guid: %s", name);
-               return SHOW_USAGE_MESSAGE;
-       }
-
-       return 0;
-}
-
-
-static int
-parse_mode(const char *name, mode_t *pmode)
-{
-       int result = 0;
-       mode_t mode = 0;
-       const char *p;
-
-       if (!name || !pmode || *name != '0')
-       {
-               result = 2;
-               goto loser;
-       }
-
-       for (p = name + 1; *p; ++p)
-       {
-               if (*p < '0' || *p > '7')
-               {
-                       result = 2;
-                       goto loser;
-               }
-
-               mode = (mode << 3) + *p - '0';
-       }
-
-       *pmode = mode;
-       return 0;
-
-loser:
-       sec_error("Invalid mode: %s", name);
-       return result;
-}
-
-int
-db_create(int argc, char * const *argv)
-{
-       int free_dbname = 0;
-       char *dbname = NULL;
-       int ch, result = 0;
-       bool do_autocommit = true, do_mode = false;
-       bool do_openparams = false, do_version_0_params = false;
-       mode_t mode = 0666;
-       CSSM_GUID guid = gGuidAppleFileDL;
-
-       while ((ch = getopt(argc, argv, "0ahg:m:o")) != -1)
-       {
-               switch  (ch)
-               {
-               case '0':
-                       do_version_0_params = true;
-                       do_openparams = true;
-                       break;
-               case 'a':
-                       do_autocommit = false;
-                       do_openparams = true;
-                       break;
-               case 'g':
-                       result = parse_guid(optarg, &guid);
-                       if (result)
-                               goto loser;
-                       break;
-               case 'm':
-                       result = parse_mode(optarg, &mode);
-                       if (result)
-                               goto loser;
-                       do_mode = true;
-                       do_openparams = true;
-                       break;
-               case 'o':
-                       do_openparams = true;
-                       break;
-               case '?':
-               default:
-                       return SHOW_USAGE_MESSAGE;
-               }
-       }
-
-       argc -= optind;
-       argv += optind;
-
-       if (argc > 0)
-               dbname = *argv;
-       else
-       {
-               fprintf(stderr, "db to create: ");
-               dbname = readline(NULL, 0);
-               if (!dbname)
-               {
-                       result = -1;
-                       goto loser;
-               }
-
-               free_dbname = 1;
-               if (*dbname == '\0')
-                       goto loser;
-       }
-
-       do
-       {
-               result = do_db_create(guid, dbname, do_openparams, do_autocommit, do_mode, mode, do_version_0_params);
-               if (result)
-                       goto loser;
-
-               argc--;
-               argv++;
-               dbname = *argv;
-       } while (argc > 0);
-
-loser:
-       if (free_dbname)
-               free(dbname);
-
-       return result;
-}