diff options
author | Christopher Wiley <wiley@chromium.org> | 2013-04-26 17:28:37 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-04-29 14:12:44 -0700 |
commit | b3e70d2ca1cfb02effd82c6f95f2869d22201860 (patch) | |
tree | 104a627fa9240a398e7d5a608c7ba3460dedf0b3 /crypto_util_proxy.h | |
parent | 967eaebb63aac3b9679dc4b2dca0565292e3af03 (diff) | |
download | shill-b3e70d2ca1cfb02effd82c6f95f2869d22201860.tar.gz |
shill: Only call shim result callback from clean shim state
Fix a bug where VerifyAndEncryptData fails when the Verify callback
cannot start an Encrypt operation because the shim is supposedly still
working. The shim has actually returned a complete result in this case,
but we're calling into the crypto_util_proxy before giving it a chance
to clean up the shim state.
While we're here, check the correct error in the Manager when we fail to
link Verify and Encrypt shim operations.
TEST=Unit tests.
BUG=chromium:236083
Change-Id: I00366d55afa1c3dd228d40662e2baacac7d79eb0
Reviewed-on: https://gerrit.chromium.org/gerrit/49490
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Diffstat (limited to 'crypto_util_proxy.h')
-rw-r--r-- | crypto_util_proxy.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto_util_proxy.h b/crypto_util_proxy.h index e8947662..b7a8edb5 100644 --- a/crypto_util_proxy.h +++ b/crypto_util_proxy.h @@ -79,6 +79,7 @@ class CryptoUtilProxy : public base::SupportsWeakPtr<CryptoUtilProxy> { FRIEND_TEST(CryptoUtilProxyTest, OnlyOneInstanceInFlightAtATime); FRIEND_TEST(CryptoUtilProxyTest, ShimLifeTime); FRIEND_TEST(CryptoUtilProxyTest, TimeoutsTriggerFailure); + FRIEND_TEST(CryptoUtilProxyTest, ShimCleanedBeforeCallback); static const char kDestinationVerificationUser[]; static const int kShimJobTimeoutMilliseconds; |