OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <components/os_crypt/kwallet_dbus.h> | 5 #include <components/os_crypt/kwallet_dbus.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
335 return CANNOT_CONTACT; | 335 return CANNOT_CONTACT; |
336 } | 336 } |
337 dbus::MessageReader reader(response.get()); | 337 dbus::MessageReader reader(response.get()); |
338 if (!reader.PopBool(success_ptr)) { | 338 if (!reader.PopBool(success_ptr)) { |
339 LOG(ERROR) << "Error reading response from " << kwalletd_name_ | 339 LOG(ERROR) << "Error reading response from " << kwalletd_name_ |
340 << " (createFolder): " << response->ToString(); | 340 << " (createFolder): " << response->ToString(); |
341 return CANNOT_READ; | 341 return CANNOT_READ; |
342 } | 342 } |
343 return SUCCESS; | 343 return SUCCESS; |
344 } | 344 } |
345 | |
346 KWalletDBus::Error KWalletDBus::WritePassword(const int handle, | |
347 const std::string& folder_name, | |
348 const std::string& key, | |
349 const std::string& password, | |
350 const std::string& app_name, | |
351 bool* const write_success_ptr) { | |
352 dbus::MethodCall method_call(kKWalletInterface, "writePassword"); | |
353 dbus::MessageWriter builder(&method_call); | |
354 builder.AppendInt32(handle); | |
355 builder.AppendString(folder_name); | |
356 builder.AppendString(key); | |
357 builder.AppendString(password); | |
358 builder.AppendString(app_name); | |
359 std::unique_ptr<dbus::Response> response(kwallet_proxy_->CallMethodAndBlock( | |
360 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT)); | |
361 if (!response.get()) { | |
Lei Zhang
2016/07/20 01:08:26
No need for .get() here, ditto on line 390, and 41
cfroussios
2016/07/20 15:22:47
Done.
| |
362 LOG(ERROR) << "Error contacting << " << kwalletd_name_ | |
Lei Zhang
2016/07/20 01:08:26
did you want the extra "<< " in the string? Ditto
cfroussios
2016/07/20 15:22:47
Done.
| |
363 << " (writePassword)"; | |
364 return CANNOT_CONTACT; | |
365 } | |
366 dbus::MessageReader reader(response.get()); | |
367 int return_code; | |
368 if (!reader.PopInt32(&return_code)) { | |
369 LOG(ERROR) << "Error reading response from " << kwalletd_name_ | |
370 << " (writePassword): " << response->ToString(); | |
371 return CANNOT_READ; | |
372 } | |
373 *write_success_ptr = return_code == 0; | |
374 return SUCCESS; | |
375 } | |
376 | |
377 KWalletDBus::Error KWalletDBus::ReadPassword(const int handle, | |
378 const std::string& folder_name, | |
379 const std::string& key, | |
380 const std::string& app_name, | |
381 std::string* const password_ptr) { | |
382 dbus::MethodCall method_call(kKWalletInterface, "readPassword"); | |
383 dbus::MessageWriter builder(&method_call); | |
384 builder.AppendInt32(handle); | |
385 builder.AppendString(folder_name); | |
386 builder.AppendString(key); | |
387 builder.AppendString(app_name); | |
388 std::unique_ptr<dbus::Response> response(kwallet_proxy_->CallMethodAndBlock( | |
389 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT)); | |
390 if (!response.get()) { | |
391 LOG(ERROR) << "Error contacting << " << kwalletd_name_ << " (readPassword)"; | |
392 return CANNOT_CONTACT; | |
393 } | |
394 dbus::MessageReader reader(response.get()); | |
395 if (!reader.PopString(password_ptr)) { | |
396 LOG(ERROR) << "Error reading response from " << kwalletd_name_ | |
397 << " (readPassword): " << response->ToString(); | |
398 return CANNOT_READ; | |
399 } | |
400 return SUCCESS; | |
401 } | |
402 | |
403 KWalletDBus::Error KWalletDBus::Close(const int handle, | |
404 const bool force, | |
405 const std::string& app_name, | |
406 bool* success_ptr) { | |
407 dbus::MethodCall method_call(kKWalletInterface, "close"); | |
408 dbus::MessageWriter builder(&method_call); | |
409 builder.AppendInt32(handle); | |
410 builder.AppendBool(force); | |
411 builder.AppendString(app_name); | |
412 std::unique_ptr<dbus::Response> response(kwallet_proxy_->CallMethodAndBlock( | |
413 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT)); | |
414 if (!response.get()) { | |
415 LOG(ERROR) << "Error contacting << " << kwalletd_name_ << " (close)"; | |
416 return CANNOT_CONTACT; | |
417 } | |
418 dbus::MessageReader reader(response.get()); | |
419 int return_code = 1; | |
420 if (!reader.PopInt32(&return_code)) { | |
421 LOG(ERROR) << "Error reading response from " << kwalletd_name_ | |
422 << " (close): " << response->ToString(); | |
423 return CANNOT_READ; | |
424 } | |
425 *success_ptr = return_code == 0; | |
426 return SUCCESS; | |
427 } | |
OLD | NEW |