18
18
19
19
#include < iostream>
20
20
21
+ #include " app/src/log.h"
21
22
#include " app/src/secure/user_secure_data_handle.h"
22
23
23
24
namespace firebase {
@@ -69,6 +70,8 @@ std::string UserSecureLinuxInternal::LoadUserData(const std::string& app_name) {
69
70
/* value2= */ domain_.c_str (), nullptr );
70
71
if (error) {
71
72
g_error_free (error);
73
+ LogWarning (" Secret lookup failed, please make sure libsecret is "
74
+ " installed." );
72
75
return empty_str;
73
76
}
74
77
@@ -86,34 +89,51 @@ void UserSecureLinuxInternal::SaveUserData(const std::string& app_name,
86
89
if (key_namespace_.length () <= 0 ) {
87
90
return ;
88
91
}
92
+ GError* error = nullptr ;
89
93
secret_password_store_sync (
90
94
&storage_schema_, SECRET_COLLECTION_DEFAULT, /* label= */ " UserSecure" ,
91
95
/* password= */ user_data.c_str (), /* cancellable= */ nullptr ,
92
- /* error= */ nullptr , /* key1= */ kAppNameKey ,
96
+ /* error= */ &error , /* key1= */ kAppNameKey ,
93
97
/* value1= */ app_name.c_str (),
94
98
/* key2= */ kStorageDomainKey , /* value2= */ domain_.c_str (), nullptr );
99
+
100
+ if (error) {
101
+ g_error_free (error);
102
+ LogWarning (" Secret store failed, please make sure libsecret is installed." );
103
+ }
95
104
}
96
105
97
106
void UserSecureLinuxInternal::DeleteUserData (const std::string& app_name) {
98
107
if (key_namespace_.length () <= 0 ) {
99
108
return ;
100
109
}
110
+ GError* error = nullptr ;
101
111
secret_password_clear_sync (&storage_schema_,
102
- /* cancellable= */ nullptr , /* error= */ nullptr ,
112
+ /* cancellable= */ nullptr , /* error= */ &error ,
103
113
/* key1= */ kAppNameKey ,
104
114
/* value1= */ app_name.c_str (),
105
115
/* key2= */ kStorageDomainKey ,
106
116
/* value2= */ domain_.c_str (), nullptr );
117
+
118
+ if (error) {
119
+ g_error_free (error);
120
+ LogWarning (" Secret clear failed, please make sure libsecret is installed." );
121
+ }
107
122
}
108
123
109
124
void UserSecureLinuxInternal::DeleteAllData () {
110
125
if (key_namespace_.length () <= 0 ) {
111
126
return ;
112
127
}
128
+ GError* error = nullptr ;
113
129
secret_password_clear_sync (&storage_schema_, /* cancellable= */ nullptr ,
114
- /* error= */ nullptr ,
130
+ /* error= */ &error ,
115
131
/* key2= */ kStorageDomainKey ,
116
132
/* value2= */ domain_.c_str (), nullptr );
133
+ if (error) {
134
+ g_error_free (error);
135
+ LogWarning (" Secret clear failed, please make sure libsecret is installed." );
136
+ }
117
137
}
118
138
119
139
} // namespace secure
0 commit comments