shill: Infrastucture for encrypting/decrypting/scrambling store values.

This adds a CryptoProvider that registers and provides access to different
prioritized crypto modules (currently DES-CBC and ROT47). Use the provider in
KeyFileStore to provide an API for getting and setting crypted string values.

BUG=chromium-os:16963
TEST=unit tests

Change-Id: I492516890eb3f527758d354cd8890088cb99dea4
Reviewed-on: http://gerrit.chromium.org/gerrit/3395
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
11 files changed
tree: 815a2f67646030392aa808aa6fbfd6f1e0c168a9
  1. accessor_interface.h
  2. adaptor_interfaces.h
  3. cellular.cc
  4. cellular.h
  5. cellular_service.cc
  6. cellular_service.h
  7. cellular_unittest.cc
  8. control_interface.h
  9. crypto_des_cbc.cc
  10. crypto_des_cbc.h
  11. crypto_des_cbc_unittest.cc
  12. crypto_interface.h
  13. crypto_provider.cc
  14. crypto_provider.h
  15. crypto_provider_unittest.cc
  16. crypto_rot47.cc
  17. crypto_rot47.h
  18. crypto_rot47_unittest.cc
  19. dbus_adaptor.cc
  20. dbus_adaptor.h
  21. dbus_adaptor_unittest.cc
  22. dbus_control.cc
  23. dbus_control.h
  24. device.cc
  25. device.h
  26. device_dbus_adaptor.cc
  27. device_dbus_adaptor.h
  28. device_info.cc
  29. device_info.h
  30. device_info_unittest.cc
  31. device_stub.h
  32. device_unittest.cc
  33. dhcp_config.cc
  34. dhcp_config.h
  35. dhcp_config_unittest.cc
  36. dhcp_provider.cc
  37. dhcp_provider.h
  38. dhcp_provider_unittest.cc
  39. dhcp_proxy_interface.h
  40. dhcpcd.xml
  41. dhcpcd_proxy.cc
  42. dhcpcd_proxy.h
  43. endpoint.cc
  44. endpoint.h
  45. error.cc
  46. error.h
  47. ethernet.cc
  48. ethernet.h
  49. ethernet_service.cc
  50. ethernet_service.h
  51. flimflam-device.xml
  52. flimflam-ipconfig.xml
  53. flimflam-manager.xml
  54. flimflam-profile.xml
  55. flimflam-service.xml
  56. glib.cc
  57. glib.h
  58. glib_io_handler.cc
  59. glib_io_handler.h
  60. inherit-review-settings-ok
  61. io_handler.h
  62. ipconfig.cc
  63. ipconfig.h
  64. ipconfig_unittest.cc
  65. key_file_store.cc
  66. key_file_store.h
  67. key_file_store_unittest.cc
  68. Makefile
  69. manager.cc
  70. manager.h
  71. manager_dbus_adaptor.cc
  72. manager_dbus_adaptor.h
  73. manager_unittest.cc
  74. mock_adaptors.h
  75. mock_control.cc
  76. mock_control.h
  77. mock_device.cc
  78. mock_device.h
  79. mock_dhcp_proxy.h
  80. mock_glib.h
  81. mock_property_store.h
  82. mock_service.cc
  83. mock_service.h
  84. property_accessor.h
  85. property_accessor_unittest.cc
  86. property_iterator.h
  87. property_store.cc
  88. property_store.h
  89. property_store_unittest.cc
  90. property_store_unittest.h
  91. refptr_types.h
  92. rtnl_handler.cc
  93. rtnl_handler.h
  94. rtnl_listener.cc
  95. rtnl_listener.h
  96. service.cc
  97. service.h
  98. service_dbus_adaptor.cc
  99. service_dbus_adaptor.h
  100. service_unittest.cc
  101. shill.conf
  102. shill_config.cc
  103. shill_config.h
  104. shill_daemon.cc
  105. shill_daemon.h
  106. shill_event.cc
  107. shill_event.h
  108. shill_main.cc
  109. shill_unittest.cc
  110. store_interface.h
  111. supplicant-bss.xml
  112. supplicant-interface.xml
  113. supplicant-network.xml
  114. supplicant-process.xml
  115. testrunner.cc
  116. WATCHLISTS
  117. wifi.cc
  118. wifi.h
  119. wifi_endpoint.cc
  120. wifi_endpoint.h
  121. wifi_service.cc
  122. wifi_service.h
  123. wifi_unittest.cc