]> git.saurik.com Git - apple/security.git/blobdiff - OSX/sec/SOSCircle/SecureObjectSync/SOSRingBasic.c
Security-58286.1.32.tar.gz
[apple/security.git] / OSX / sec / SOSCircle / SecureObjectSync / SOSRingBasic.c
diff --git a/OSX/sec/SOSCircle/SecureObjectSync/SOSRingBasic.c b/OSX/sec/SOSCircle/SecureObjectSync/SOSRingBasic.c
deleted file mode 100644 (file)
index 673edda..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-//
-//  SOSRingBasic.c
-//  sec
-//
-//  Created by Richard Murphy on 3/3/15.
-//
-//
-
-#include "SOSRingBasic.h"
-
-#include <AssertMacros.h>
-
-#include <Security/SecureObjectSync/SOSInternal.h>
-#include <Security/SecureObjectSync/SOSPeerInfoInternal.h>
-#include <Security/SecureObjectSync/SOSPeerInfoCollections.h>
-#include <Security/SecureObjectSync/SOSCircle.h>
-#include <Security/SecFramework.h>
-
-#include <Security/SecKey.h>
-#include <Security/SecKeyPriv.h>
-#include <CoreFoundation/CoreFoundation.h>
-
-#include <utilities/SecCFWrappers.h>
-
-#include <stdlib.h>
-#include <assert.h>
-
-#include "SOSRingUtils.h"
-#include "SOSRingTypes.h"
-
-// MARK: Basic Ring Ops
-
-SOSRingRef SOSRingCreate_Basic(CFStringRef name, CFStringRef myPeerID, CFErrorRef *error) {
-    return SOSRingCreate_ForType(name, kSOSRingBase, myPeerID, error);
-}
-
-bool SOSRingResetToEmpty_Basic(SOSRingRef ring, CFStringRef myPeerID, CFErrorRef *error) {
-    return SOSRingResetToEmpty_Internal(ring, error) && SOSRingSetLastModifier(ring, myPeerID);
-}
-
-bool SOSRingResetToOffering_Basic(SOSRingRef ring, SecKeyRef user_privkey, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    bool retval = priv && myPeerID &&
-    SOSRingResetToEmpty_Internal(ring, error) &&
-    SOSRingAddPeerID(ring, myPeerID) &&
-    SOSRingSetLastModifier(ring, myPeerID) &&
-    SOSRingGenerationSign_Internal(ring, priv, error);
-    if(user_privkey) SOSRingConcordanceSign_Internal(ring, user_privkey, error);
-    CFReleaseNull(priv);
-    return retval;
-}
-
-SOSRingStatus SOSRingDeviceIsInRing_Basic(SOSRingRef ring, CFStringRef peerID) {
-    if(SOSRingHasPeerID(ring, peerID)) return kSOSRingMember;
-    if(SOSRingHasApplicant(ring, peerID)) return kSOSRingApplicant;
-    if(SOSRingHasRejection(ring, peerID)) return kSOSRingReject;
-    return kSOSRingNotInRing;
-}
-
-bool SOSRingApply_Basic(SOSRingRef ring, SecKeyRef user_pubkey, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    bool retval = false;
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    require_action_quiet(SOSRingDeviceIsInRing_Basic(ring, myPeerID) == kSOSRingNotInRing, errOut, secnotice("ring", "Already associated with ring"));
-    retval = priv && myPeerID &&
-        SOSRingAddPeerID(ring, myPeerID) &&
-        SOSRingSetLastModifier(ring, myPeerID) &&
-        SOSRingGenerationSign_Internal(ring, priv, error);
-    CFReleaseNull(priv);
-errOut:
-    return retval;
-
-}
-
-bool SOSRingWithdraw_Basic(SOSRingRef ring, SecKeyRef user_privkey, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    if(SOSRingHasPeerID(ring, myPeerID)) {
-        SOSRingRemovePeerID(ring, myPeerID);
-    } else if(SOSRingHasApplicant(ring, myPeerID)) {
-        SOSRingRemoveApplicant(ring, myPeerID);
-    } else if(SOSRingHasRejection(ring, myPeerID)) {
-        SOSRingRemoveRejection(ring, myPeerID);
-    } else {
-        SOSCreateError(kSOSErrorPeerNotFound, CFSTR("Not associated with Ring"), NULL, error);
-        return false;
-    }
-    SOSRingSetLastModifier(ring, myPeerID);
-
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    SOSRingGenerationSign_Internal(ring, priv, error);
-    if(user_privkey) SOSRingConcordanceSign_Internal(ring, user_privkey, error);
-    CFReleaseNull(priv);
-    return true;
-}
-
-bool SOSRingGenerationSign_Basic(SOSRingRef ring, SecKeyRef user_privkey, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    bool retval = priv && myPeerID &&
-    SOSRingSetLastModifier(ring, myPeerID) &&
-    SOSRingGenerationSign_Internal(ring, priv, error);
-    if(user_privkey) SOSRingConcordanceSign_Internal(ring, user_privkey, error);
-    CFReleaseNull(priv);
-    return retval;
-}
-
-bool SOSRingConcordanceSign_Basic(SOSRingRef ring, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    bool retval = priv && myPeerID &&
-    SOSRingSetLastModifier(ring, myPeerID) &&
-    SOSRingConcordanceSign_Internal(ring, priv, error);
-    CFReleaseNull(priv);
-    return retval;
-}
-
-bool SOSRingSetPayload_Basic(SOSRingRef ring, SecKeyRef user_privkey, CFDataRef payload, SOSFullPeerInfoRef requestor, CFErrorRef *error) {
-    CFStringRef myPeerID = SOSPeerInfoGetPeerID(SOSFullPeerInfoGetPeerInfo(requestor));
-    SecKeyRef priv = SOSFullPeerInfoCopyDeviceKey(requestor, error);
-    bool retval = priv && myPeerID &&
-    SOSRingSetLastModifier(ring, myPeerID) &&
-    SOSRingSetPayload_Internal(ring, payload) &&
-    SOSRingGenerationSign_Internal(ring, priv, error);
-    if(user_privkey) SOSRingConcordanceSign_Internal(ring, user_privkey, error);
-    CFReleaseNull(priv);
-    return retval;
-}
-
-CFDataRef SOSRingGetPayload_Basic(SOSRingRef ring, CFErrorRef *error) {
-    return SOSRingGetPayload_Internal(ring);
-}
-
-
-ringFuncStruct basic = {
-    "Basic",
-    1,
-    SOSRingCreate_Basic,
-    SOSRingResetToEmpty_Basic,
-    SOSRingResetToOffering_Basic,
-    SOSRingDeviceIsInRing_Basic,
-    SOSRingApply_Basic,
-    SOSRingWithdraw_Basic,
-    SOSRingGenerationSign_Basic,
-    SOSRingConcordanceSign_Basic,
-    SOSRingPeerKeyConcordanceTrust,
-    NULL,
-    NULL,
-    SOSRingSetPayload_Basic,
-    SOSRingGetPayload_Basic,
-};