]> git.saurik.com Git - apple/security.git/blobdiff - cdsa/cssm/cssmmds.cpp
Security-222.tar.gz
[apple/security.git] / cdsa / cssm / cssmmds.cpp
diff --git a/cdsa/cssm/cssmmds.cpp b/cdsa/cssm/cssmmds.cpp
deleted file mode 100644 (file)
index f04b338..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
- * 
- * The contents of this file constitute Original Code as defined in and are
- * subject to the Apple Public Source License Version 1.2 (the 'License').
- * You may not use this file except in compliance with the License. Please obtain
- * a copy of the License at http://www.apple.com/publicsource and read it before
- * using this file.
- * 
- * This 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.
- */
-
-
-//
-// cssmmds - MDS interface for CSSM & friends  
-//
-#ifdef __MWERKS__
-#define _CPP_CSSMMDS
-#endif
-#include "cssmmds.h"
-#include <ctype.h>
-
-
-ModuleNexus<MdsComponent::MDS> MdsComponent::mds;
-
-
-MdsComponent::MdsComponent(const Guid &guid) : mMyGuid(guid)
-{
-    mIsValid = false;
-}
-
-MdsComponent::~MdsComponent()
-{
-}
-
-
-void MdsComponent::getInfo() const
-{
-    rewind(mds().config);
-    char buffer[1024];
-    while (fgets(buffer, sizeof(buffer), mds().config)) {
-               static const char space[] = " \t\f";
-               char *p = buffer + strspn(buffer, space);
-               if (*p == '#' || *p == '\0' || *p == '\n')
-                       continue;       // comment or blank line
-                       
-               // field 1: guid
-               const char *guid = p; p += strcspn(p, space);
-               if (!*p) CssmError::throwMe(CSSM_ERRCODE_MDS_ERROR);
-               *p++ = '\0';
-               try {
-                       if (Guid(guid) != mMyGuid)
-                               continue;       // no match this line
-               } catch (const CssmCommonError &error) {
-                       if (error.cssmError() == CSSM_ERRCODE_INVALID_GUID)
-                               CssmError::throwMe(CSSM_ERRCODE_MDS_ERROR);     // invalid file guid => MDS error
-                       throw;  // pass all other errors
-               }
-               
-               // field 2: flags/options
-               p += strspn(p, space);
-               mServices = 0;
-               mIsThreadSafe = false;
-               while (*p && !isspace(*p)) {
-                       switch (*p) {
-                       case 'a':       mServices |= CSSM_SERVICE_AC; break;
-                       case 'c':       mServices |= CSSM_SERVICE_CSP; break;
-                       case 'd':       mServices |= CSSM_SERVICE_DL; break;
-                       case 'C':       mServices |= CSSM_SERVICE_CL; break;
-                       case 't':       mServices |= CSSM_SERVICE_TP; break;
-                       case 'm':       mIsThreadSafe = true; break;
-                       default:
-                               CssmError::throwMe(CSSM_ERRCODE_MDS_ERROR);
-                       }
-                       p++;
-               }
-               if (!*p) CssmError::throwMe(CSSM_ERRCODE_MDS_ERROR);
-               p += strspn(p, space);  // skip space
-               p[strlen(p)-1] = '\0';  // remove trailing newline
-               mPath = p;                              // rest of line is pathname, uninterpreted
-        mIsValid = true;
-        return;
-    }
-    // not found in file
-    CssmError::throwMe(CSSM_ERRCODE_INVALID_GUID);     // @@@ should have "guid not found" error
-}
-
-
-#if !defined(_MDS_PATH)
-# define _MDS_PATH "/System/Library/Frameworks/Security.framework/Resources/MDS"
-#endif
-
-MdsComponent::MDS::MDS()
-{
-    const char *path = getenv("MDSPATH");
-       if (path == NULL)
-                       path = getenv("MDSFILE");
-    if (path == NULL)
-        path = _MDS_PATH;
-    if (!(config = fopen(path, "r")))
-        CssmError::throwMe(CSSM_ERRCODE_MDS_ERROR);
-}
-
-MdsComponent::MDS::~MDS()
-{
-    fclose(config);
-}