trunks: move FTDI support from client to daemon

It is necessary to be able to send the TPM multiple commands while it
maintains its state. To achieve that this patch moves SPI over FTDI
TPM support from the client into the daemon.

CQ-DEPEND=CL:285534
BUG=chromium:498861

TEST=as follows:
   . build and install Chrome OS test image on Samus (don't forget
     USE='tpm2 ftdi_tpm').
   . connect TPM2 assembly to the device
   . start the daemon in a terminal:
     localhost ~ # trunksd  --ftdi --v=2
   . in a different terminal run the client:
     localhost ~ # trunks_client --startup
     localhost ~ # echo $?
     0
     localhost ~ #

Change-Id: I2e2fb7bebbaa3d579a70b61cbd15d38050248730
Reviewed-on: https://chromium-review.googlesource.com/285316
Tested-by: Vadim Bendebury <vbendeb@google.com>
Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@google.com>
4 files changed
tree: 04ff0c1ad5961f34a3b69679103870c8241e8e42
  1. ftdi/
  2. generator/
  3. authorization_delegate.h
  4. background_command_transceiver.cc
  5. background_command_transceiver.h
  6. background_command_transceiver_test.cc
  7. command_transceiver.h
  8. CPPLINT.cfg
  9. dbus_interface.h
  10. dbus_interface.proto
  11. error_codes.cc
  12. error_codes.h
  13. hmac_authorization_delegate.cc
  14. hmac_authorization_delegate.h
  15. hmac_authorization_delegate_unittest.cc
  16. hmac_session.h
  17. hmac_session_impl.cc
  18. hmac_session_impl.h
  19. hmac_session_test.cc
  20. Makefile
  21. mock_authorization_delegate.cc
  22. mock_authorization_delegate.h
  23. mock_command_transceiver.cc
  24. mock_command_transceiver.h
  25. mock_hmac_session.cc
  26. mock_hmac_session.h
  27. mock_policy_session.cc
  28. mock_policy_session.h
  29. mock_session_manager.cc
  30. mock_session_manager.h
  31. mock_tpm.cc
  32. mock_tpm.h
  33. mock_tpm_state.cc
  34. mock_tpm_state.h
  35. mock_tpm_utility.cc
  36. mock_tpm_utility.h
  37. org.chromium.Trunks.conf
  38. OWNERS
  39. password_authorization_delegate.cc
  40. password_authorization_delegate.h
  41. password_authorization_delegate_unittest.cc
  42. policy_session.h
  43. policy_session_impl.cc
  44. policy_session_impl.h
  45. policy_session_test.cc
  46. README
  47. resource_manager.cc
  48. resource_manager.h
  49. resource_manager_test.cc
  50. scoped_key_handle.cc
  51. scoped_key_handle.h
  52. scoped_key_handle_test.cc
  53. session_manager.h
  54. session_manager_impl.cc
  55. session_manager_impl.h
  56. session_manager_test.cc
  57. tpm_constants.h
  58. tpm_generated.cc
  59. tpm_generated.h
  60. tpm_generated_test.cc
  61. tpm_handle.cc
  62. tpm_handle.h
  63. tpm_state.h
  64. tpm_state_impl.cc
  65. tpm_state_impl.h
  66. tpm_state_test.cc
  67. tpm_utility.h
  68. tpm_utility_impl.cc
  69. tpm_utility_impl.h
  70. tpm_utility_test.cc
  71. trunks.gyp
  72. trunks_client.cc
  73. trunks_client_test.cc
  74. trunks_client_test.h
  75. trunks_export.h
  76. trunks_factory.h
  77. trunks_factory_for_test.cc
  78. trunks_factory_for_test.h
  79. trunks_factory_impl.cc
  80. trunks_factory_impl.h
  81. trunks_ftdi_spi.cc
  82. trunks_ftdi_spi.h
  83. trunks_proxy.cc
  84. trunks_proxy.h
  85. trunks_service.cc
  86. trunks_service.h
  87. trunks_testrunner.cc
  88. trunksd-seccomp-amd64.policy
  89. trunksd-seccomp-arm.policy
  90. trunksd-seccomp-x86.policy
  91. trunksd.cc
  92. trunksd.conf