1818
1919#include < iostream>
2020
21+ #include " app/src/log.h"
2122#include " app/src/secure/user_secure_data_handle.h"
2223
2324namespace firebase {
@@ -69,6 +70,8 @@ std::string UserSecureLinuxInternal::LoadUserData(const std::string& app_name) {
6970 /* value2= */ domain_.c_str (), nullptr );
7071 if (error) {
7172 g_error_free (error);
73+ LogWarning (" Secret lookup failed, please make sure libsecret is "
74+ " installed." );
7275 return empty_str;
7376 }
7477
@@ -86,34 +89,51 @@ void UserSecureLinuxInternal::SaveUserData(const std::string& app_name,
8689 if (key_namespace_.length () <= 0 ) {
8790 return ;
8891 }
92+ GError* error = nullptr ;
8993 secret_password_store_sync (
9094 &storage_schema_, SECRET_COLLECTION_DEFAULT, /* label= */ " UserSecure" ,
9195 /* password= */ user_data.c_str (), /* cancellable= */ nullptr ,
92- /* error= */ nullptr , /* key1= */ kAppNameKey ,
96+ /* error= */ &error , /* key1= */ kAppNameKey ,
9397 /* value1= */ app_name.c_str (),
9498 /* 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+ }
95104}
96105
97106void UserSecureLinuxInternal::DeleteUserData (const std::string& app_name) {
98107 if (key_namespace_.length () <= 0 ) {
99108 return ;
100109 }
110+ GError* error = nullptr ;
101111 secret_password_clear_sync (&storage_schema_,
102- /* cancellable= */ nullptr , /* error= */ nullptr ,
112+ /* cancellable= */ nullptr , /* error= */ &error ,
103113 /* key1= */ kAppNameKey ,
104114 /* value1= */ app_name.c_str (),
105115 /* key2= */ kStorageDomainKey ,
106116 /* 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+ }
107122}
108123
109124void UserSecureLinuxInternal::DeleteAllData () {
110125 if (key_namespace_.length () <= 0 ) {
111126 return ;
112127 }
128+ GError* error = nullptr ;
113129 secret_password_clear_sync (&storage_schema_, /* cancellable= */ nullptr ,
114- /* error= */ nullptr ,
130+ /* error= */ &error ,
115131 /* key2= */ kStorageDomainKey ,
116132 /* 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+ }
117137}
118138
119139} // namespace secure
0 commit comments