Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: crypto/apple_keychain_mac.mm

Issue 1841863002: Update monet. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « crypto/apple_keychain_ios.mm ('k') | crypto/capi_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "crypto/apple_keychain.h"
6
7 #import <Foundation/Foundation.h>
8
9 #include "base/synchronization/lock.h"
10 #include "crypto/mac_security_services_lock.h"
11
12 namespace crypto {
13
14 AppleKeychain::AppleKeychain() {}
15
16 AppleKeychain::~AppleKeychain() {}
17
18 OSStatus AppleKeychain::ItemCopyAttributesAndData(
19 SecKeychainItemRef itemRef,
20 SecKeychainAttributeInfo* info,
21 SecItemClass* itemClass,
22 SecKeychainAttributeList** attrList,
23 UInt32* length,
24 void** outData) const {
25 base::AutoLock lock(GetMacSecurityServicesLock());
26 return SecKeychainItemCopyAttributesAndData(itemRef, info, itemClass,
27 attrList, length, outData);
28 }
29
30 OSStatus AppleKeychain::ItemModifyAttributesAndData(
31 SecKeychainItemRef itemRef,
32 const SecKeychainAttributeList* attrList,
33 UInt32 length,
34 const void* data) const {
35 base::AutoLock lock(GetMacSecurityServicesLock());
36 return SecKeychainItemModifyAttributesAndData(itemRef, attrList, length,
37 data);
38 }
39
40 OSStatus AppleKeychain::ItemFreeAttributesAndData(
41 SecKeychainAttributeList* attrList,
42 void* data) const {
43 base::AutoLock lock(GetMacSecurityServicesLock());
44 return SecKeychainItemFreeAttributesAndData(attrList, data);
45 }
46
47 OSStatus AppleKeychain::ItemDelete(SecKeychainItemRef itemRef) const {
48 base::AutoLock lock(GetMacSecurityServicesLock());
49 return SecKeychainItemDelete(itemRef);
50 }
51
52 OSStatus AppleKeychain::SearchCreateFromAttributes(
53 CFTypeRef keychainOrArray,
54 SecItemClass itemClass,
55 const SecKeychainAttributeList* attrList,
56 SecKeychainSearchRef* searchRef) const {
57 base::AutoLock lock(GetMacSecurityServicesLock());
58 return SecKeychainSearchCreateFromAttributes(keychainOrArray, itemClass,
59 attrList, searchRef);
60 }
61
62 OSStatus AppleKeychain::SearchCopyNext(SecKeychainSearchRef searchRef,
63 SecKeychainItemRef* itemRef) const {
64 base::AutoLock lock(GetMacSecurityServicesLock());
65 return SecKeychainSearchCopyNext(searchRef, itemRef);
66 }
67
68 OSStatus AppleKeychain::AddInternetPassword(
69 SecKeychainRef keychain,
70 UInt32 serverNameLength,
71 const char* serverName,
72 UInt32 securityDomainLength,
73 const char* securityDomain,
74 UInt32 accountNameLength,
75 const char* accountName,
76 UInt32 pathLength,
77 const char* path,
78 UInt16 port,
79 SecProtocolType protocol,
80 SecAuthenticationType authenticationType,
81 UInt32 passwordLength,
82 const void* passwordData,
83 SecKeychainItemRef* itemRef) const {
84 base::AutoLock lock(GetMacSecurityServicesLock());
85 return SecKeychainAddInternetPassword(keychain,
86 serverNameLength, serverName,
87 securityDomainLength, securityDomain,
88 accountNameLength, accountName,
89 pathLength, path,
90 port, protocol, authenticationType,
91 passwordLength, passwordData,
92 itemRef);
93 }
94
95 OSStatus AppleKeychain::FindGenericPassword(CFTypeRef keychainOrArray,
96 UInt32 serviceNameLength,
97 const char* serviceName,
98 UInt32 accountNameLength,
99 const char* accountName,
100 UInt32* passwordLength,
101 void** passwordData,
102 SecKeychainItemRef* itemRef) const {
103 base::AutoLock lock(GetMacSecurityServicesLock());
104 return SecKeychainFindGenericPassword(keychainOrArray,
105 serviceNameLength,
106 serviceName,
107 accountNameLength,
108 accountName,
109 passwordLength,
110 passwordData,
111 itemRef);
112 }
113
114 OSStatus AppleKeychain::ItemFreeContent(SecKeychainAttributeList* attrList,
115 void* data) const {
116 base::AutoLock lock(GetMacSecurityServicesLock());
117 return SecKeychainItemFreeContent(attrList, data);
118 }
119
120 OSStatus AppleKeychain::AddGenericPassword(SecKeychainRef keychain,
121 UInt32 serviceNameLength,
122 const char* serviceName,
123 UInt32 accountNameLength,
124 const char* accountName,
125 UInt32 passwordLength,
126 const void* passwordData,
127 SecKeychainItemRef* itemRef) const {
128 base::AutoLock lock(GetMacSecurityServicesLock());
129 return SecKeychainAddGenericPassword(keychain,
130 serviceNameLength,
131 serviceName,
132 accountNameLength,
133 accountName,
134 passwordLength,
135 passwordData,
136 itemRef);
137 }
138
139 void AppleKeychain::Free(CFTypeRef ref) const {
140 if (ref)
141 CFRelease(ref);
142 }
143
144 } // namespace crypto
OLDNEW
« no previous file with comments | « crypto/apple_keychain_ios.mm ('k') | crypto/capi_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698