]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_keychain/lib/SecPassword.cpp
Security-59754.80.3.tar.gz
[apple/security.git] / OSX / libsecurity_keychain / lib / SecPassword.cpp
index 477c9bac0e9734937573b2ac8cfcc4f14120f9d6..f56197ae3bbfbb3b61cf2657d5d91707416a0ec5 100644 (file)
 #include <Security/Authorization.h>
 #include <Security/AuthorizationTagsPriv.h>
 
-#if 0
-static CFTypeID
-SecPasswordGetTypeID(void)
-{
-       BEGIN_SECAPI
-    
-       return gTypes().PasswordImpl.typeID;
-    
-       END_SECAPI1(_kCFRuntimeNotATypeID)
-}
-#endif
+#include <os/activity.h>
+
+#include "LegacyAPICounts.h"
 
 OSStatus
 SecGenericPasswordCreate(SecKeychainAttributeList *searchAttrList, SecKeychainAttributeList *itemAttrList, SecPasswordRef *itemRef)
 {
     BEGIN_SECAPI
+    os_activity_t activity = os_activity_create("SecGenericPasswordCreate", OS_ACTIVITY_CURRENT, OS_ACTIVITY_FLAG_IF_NONE_PRESENT);
+    os_activity_scope(activity);
+    os_release(activity);
     KCThrowParamErrIf_( (itemRef == NULL) );
     KCThrowParamErrIf_( (searchAttrList == NULL) ^ (itemAttrList == NULL) ); // Both or neither
     
@@ -60,6 +55,9 @@ OSStatus
 SecPasswordSetInitialAccess(SecPasswordRef itemRef, SecAccessRef accessRef)
 {
        BEGIN_SECAPI
+    os_activity_t activity = os_activity_create("SecPasswordSetInitialAccess", OS_ACTIVITY_CURRENT, OS_ACTIVITY_FLAG_IF_NONE_PRESENT);
+    os_activity_scope(activity);
+    os_release(activity);
        PasswordImpl::required(itemRef)->setAccess(Access::required(accessRef));
        END_SECAPI
 }
@@ -68,6 +66,9 @@ OSStatus
 SecPasswordAction(SecPasswordRef itemRef, CFTypeRef message, UInt32 flags, UInt32 *length, const void **data)
 {
     BEGIN_SECAPI
+    os_activity_t activity = os_activity_create("SecPasswordAction", OS_ACTIVITY_CURRENT, OS_ACTIVITY_FLAG_IF_NONE_PRESENT);
+    os_activity_scope(activity);
+    os_release(activity);
 
     Password passwordRef = PasswordImpl::required(itemRef);
     
@@ -235,13 +236,15 @@ SecPasswordAction(SecPasswordRef itemRef, CFTypeRef message, UInt32 flags, UInt3
                 }
             }
         }
-        
-        AuthorizationFreeItemSet(returnedInfo);
+
+        if(returnedInfo) {
+            AuthorizationFreeItemSet(returnedInfo);
+        }
         AuthorizationFree(authRef, 0);
         
     }
 
-    // If we're still here the use gave us his password, store it if keychain is in use
+    // If we're still here the user gave us their password, store it if keychain is in use
     if (passwordRef->useKeychain())
     {
         if (passwordRef->rememberInKeychain()) {