]> git.saurik.com Git - apple/security.git/blobdiff - Security/libsecurity_keychain/lib/DLDBListCFPref.h
Security-57336.1.9.tar.gz
[apple/security.git] / Security / libsecurity_keychain / lib / DLDBListCFPref.h
diff --git a/Security/libsecurity_keychain/lib/DLDBListCFPref.h b/Security/libsecurity_keychain/lib/DLDBListCFPref.h
deleted file mode 100644 (file)
index 966f75f..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (c) 2000-2004,2011,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@
- */
-
-
-/*
- *  DLDBListCFPref.h
- */
-#ifndef _SECURITY_DLDBLISTCFPREF_H_
-#define _SECURITY_DLDBLISTCFPREF_H_
-
-#include <Security/SecKeychain.h>
-#include <security_utilities/cfutilities.h>
-#include <CoreFoundation/CFDictionary.h>
-#include <security_cdsa_client/DLDBList.h>
-#include <security_cdsa_utilities/cssmdb.h>
-#include <stdexcept>
-#include <CoreFoundation/CFNumber.h>
-#include <CoreFoundation/CFDate.h>
-
-namespace Security
-{
-
-class PasswordDBLookup
-{
-protected:
-    string mDirectory;
-    string mName;
-    bool mValid;
-    uid_t mCurrent;
-    time_t mTime;
-
-public:
-    PasswordDBLookup ();
-    
-    void lookupInfoOnUID (uid_t uid);
-    const string& getDirectory () {return mDirectory;}
-    const string& getName () {return mName;}
-};
-
-class DLDbListCFPref
-{
-public:
-    DLDbListCFPref(SecPreferencesDomain domain = kSecPreferencesDomainUser);
-    ~DLDbListCFPref();
-       
-       void set(SecPreferencesDomain domain);
-    
-    void save();
-    vector<DLDbIdentifier>& list() { return mSearchList; }
-
-    static DLDbIdentifier makeDLDbIdentifier (const CSSM_GUID &guid, const CSSM_VERSION &version,
-                                                                                         uint32 subserviceId, CSSM_SERVICE_TYPE subserviceType,
-                                                                                         const char* dbName, CSSM_NET_ADDRESS *dbLocation);
-
-       static DLDbIdentifier cfDictionaryRefToDLDbIdentifier(CFDictionaryRef theDict);
-    static CFDictionaryRef dlDbIdentifierToCFDictionaryRef(const DLDbIdentifier& dldbIdentifier);
-       bool revert(bool force);
-
-       void add(const DLDbIdentifier &);
-       void remove(const DLDbIdentifier &);
-       void rename(const DLDbIdentifier &oldId, const DLDbIdentifier &newId);
-       bool member(const DLDbIdentifier &);
-       const vector<DLDbIdentifier> &searchList();
-       void searchList(const vector<DLDbIdentifier> &);
-       void defaultDLDbIdentifier(const DLDbIdentifier &);
-       const DLDbIdentifier &defaultDLDbIdentifier();
-       void loginDLDbIdentifier(const DLDbIdentifier &);
-       const DLDbIdentifier &loginDLDbIdentifier();
-       void forceUserSearchListReread ();
-
-    DLDbIdentifier LoginDLDbIdentifier();
-    DLDbIdentifier JaguarLoginDLDbIdentifier();
-
-    static string ExpandTildesInPath(const string &inPath);
-       static string StripPathStuff(const string &inPath);
-    static string AbbreviatedPath(const string &inPath);
-
-protected:
-       SecPreferencesDomain mDomain;
-    bool hasChanged() const { return mChanged; }
-    void changed(bool hasChanged) { mChanged = hasChanged; }
-
-       enum PwInfoType
-       {
-               kHomeDir,
-               kUsername
-       };
-    
-    static PasswordDBLookup *mPdbLookup;
-       static string getPwInfo(PwInfoType type);
-    static void clearPWInfo ();
-
-    void resetCachedValues();
-       bool loadPropertyList(bool force);
-       void writePropertyList();
-       int testAndFixPropertyList();
-       
-       enum ID_Direction
-       { 
-               UNPRIV,
-               PRIV
-       };
-       uid_t   savedEUID;
-       gid_t   savedEGID;
-       
-       void changeIdentity(ID_Direction);
-       
-
-private:
-       CFAbsoluteTime mPrefsTimeStamp;
-       struct timespec mTimespec;
-       CFMutableDictionaryRef mPropertyList;
-
-       string mPrefsPath, mHomeDir, mUserName;
-       vector<DLDbIdentifier> mSearchList;
-       DLDbIdentifier mDefaultDLDbIdentifier;
-       DLDbIdentifier mLoginDLDbIdentifier;
-    bool mChanged, mSearchListSet, mDefaultDLDbIdentifierSet, mLoginDLDbIdentifierSet;
-};
-
-class CCFValue
-{
-public:
-    template <class T>
-    T cfref() const { return reinterpret_cast<T>(CFTypeRef(mRef)); }
-
-       CCFValue() {}
-       CCFValue(CFTypeRef ref) : mRef(ref) {}
-       CCFValue &operator =(CFTypeRef ref) { mRef = ref; return *this; }
-
-    CCFValue &operator = (bool value)
-    {
-        mRef = value?kCFBooleanTrue:kCFBooleanFalse;
-        return *this;
-    }
-
-/*
-    CCFValue &operator = (const string &value) { string(value); return *this; }
-
-    void string(const string &value, CFStringEncoding encoding=kCFStringEncodingMacRoman)
-    {
-        mRef = CFStringCreate();
-CFStringRef CFStringCreateWithBytes(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex numBytes, CFStringEncoding encoding, Boolean isExternalRepresentation);
-        if (!mRef) throw std::bad_alloc;
-        CFRelease(mRef);
-    }
-*/
-
-    bool hasValue() const { return mRef; }
-
-    operator bool() const
-    {
-        if (!mRef) return false;
-        if (::CFGetTypeID(mRef) != ::CFBooleanGetTypeID())
-            throw std::logic_error("wrong type in property list");
-
-        return ::CFBooleanGetValue(cfref<CFBooleanRef>());
-    }
-
-    operator sint32() const
-    {
-        if (!mRef) return 0;
-        if (::CFGetTypeID(mRef) != ::CFNumberGetTypeID())
-            throw std::logic_error("wrong type in property list");
-        
-        sint32 val;
-        ::CFNumberGetValue(cfref<CFNumberRef>(),kCFNumberSInt32Type,&val);
-        return val;
-    }
-
-    operator uint32() const { return uint32(sint32(*this)); }
-
-    operator const string() const { return getString(); }
-
-    const string getString(CFStringEncoding encoding=kCFStringEncodingUTF8) const
-    {
-        if (!mRef)
-            throw std::logic_error("missing string in property list");
-        if (::CFGetTypeID(mRef) != ::CFStringGetTypeID())
-            throw std::logic_error("wrong type in property list");
-
-        const char *tmpStr=::CFStringGetCStringPtr(cfref<CFStringRef>(),encoding);
-        if (tmpStr == NULL)
-        {
-            CFIndex maxLen = CFStringGetMaximumSizeForEncoding(CFStringGetLength(cfref<CFStringRef>()), encoding);
-            auto_array<char> buffer(maxLen + 1);
-
-            if (!::CFStringGetCString(cfref<CFStringRef>(),buffer.get(),maxLen + 1,encoding))
-                throw std::logic_error("could not convert string from property list");
-
-            tmpStr=buffer.get();
-            return string(tmpStr?tmpStr:"");
-        }
-        return string(tmpStr?tmpStr:"");
-    }
-private:
-       CFCopyRef<CFTypeRef>mRef;
-};
-
-} // end namespace Security
-
-#endif /* !_SECURITY_DLDBLISTCFPREF_H_ */