rho-tau-extensions 5.5.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (661) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2 -0
  3. data/LICENSE +21 -0
  4. data/README.md +6 -0
  5. data/Rakefile +90 -0
  6. data/libs/crosswalk.rb +2 -0
  7. data/libs/crosswalk/crosswalk.rb +2 -0
  8. data/libs/crosswalk/ext.yml +21 -0
  9. data/libs/crosswalk/ext/Crosswalk.xml +27 -0
  10. data/libs/crosswalk/ext/build +19 -0
  11. data/libs/crosswalk/ext/build.bat +29 -0
  12. data/libs/crosswalk/ext/platform/android/AndroidManifest.xml +9 -0
  13. data/libs/crosswalk/ext/platform/android/Rakefile +141 -0
  14. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkcore.so +0 -0
  15. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkdummy.so +0 -0
  16. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkcore.so +0 -0
  17. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkdummy.so +0 -0
  18. data/libs/crosswalk/ext/platform/android/adds/lib/xwalk_core_library_java.jar +0 -0
  19. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble.9.png +0 -0
  20. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble_arrow_up.png +0 -0
  21. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/color_picker_advanced_select_handle.png +0 -0
  22. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/crosswalk.png +0 -0
  23. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_down.9.png +0 -0
  24. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_up.9.png +0 -0
  25. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_menu_share_holo_light.png +0 -0
  26. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_search.png +0 -0
  27. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_warning.png +0 -0
  28. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ondemand_overlay.9.png +0 -0
  29. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/verify_checkmark.png +0 -0
  30. data/libs/crosswalk/ext/platform/android/adds/res/drawable-ldpi/crosswalk.png +0 -0
  31. data/libs/crosswalk/ext/platform/android/adds/res/drawable-mdpi/crosswalk.png +0 -0
  32. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_borderless_compat.xml +10 -0
  33. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_compat.xml +9 -0
  34. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble.9.png +0 -0
  35. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble_arrow_up.png +0 -0
  36. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/color_picker_advanced_select_handle.png +0 -0
  37. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/crosswalk.png +0 -0
  38. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_down.9.png +0 -0
  39. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_up.9.png +0 -0
  40. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_menu_share_holo_light.png +0 -0
  41. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_search.png +0 -0
  42. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_warning.png +0 -0
  43. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ondemand_overlay.9.png +0 -0
  44. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/verify_checkmark.png +0 -0
  45. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_menu_share_holo_light.png +0 -0
  46. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_search.png +0 -0
  47. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_warning.png +0 -0
  48. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/verify_checkmark.png +0 -0
  49. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_menu_share_holo_light.png +0 -0
  50. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_search.png +0 -0
  51. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_warning.png +0 -0
  52. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/verify_checkmark.png +0 -0
  53. data/libs/crosswalk/ext/platform/android/adds/res/drawable/autofill_chip_inset.xml +15 -0
  54. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble.9.png +0 -0
  55. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble_arrow_up.png +0 -0
  56. data/libs/crosswalk/ext/platform/android/adds/res/drawable/button_compat_shape.xml +9 -0
  57. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_button_background.xml +36 -0
  58. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_advanced_select_handle.png +0 -0
  59. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_border.xml +12 -0
  60. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_label_color.xml +11 -0
  61. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background.xml +13 -0
  62. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_down.9.png +0 -0
  63. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_up.9.png +0 -0
  64. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_menu_share_holo_light.png +0 -0
  65. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_search.png +0 -0
  66. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_warning.png +0 -0
  67. data/libs/crosswalk/ext/platform/android/adds/res/drawable/launchscreen_bg.xml +19 -0
  68. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ondemand_overlay.9.png +0 -0
  69. data/libs/crosswalk/ext/platform/android/adds/res/drawable/verify_checkmark.png +0 -0
  70. data/libs/crosswalk/ext/platform/android/adds/res/layout-land/date_time_picker_dialog.xml +42 -0
  71. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_keyboard_accessory_item.xml +40 -0
  72. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_suggestion_item.xml +18 -0
  73. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_advanced_component.xml +46 -0
  74. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_content.xml +51 -0
  75. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_title.xml +41 -0
  76. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/date_time_suggestion.xml +35 -0
  77. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/dropdown_item.xml +58 -0
  78. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/multi_field_time_picker_dialog.xml +122 -0
  79. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/two_field_date_picker.xml +38 -0
  80. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/validation_message_bubble.xml +72 -0
  81. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_icon.xml +13 -0
  82. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_item.xml +17 -0
  83. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_suggestion_item.xml +7 -0
  84. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_advanced_component.xml +30 -0
  85. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_content.xml +36 -0
  86. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_title.xml +25 -0
  87. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_picker_dialog.xml +42 -0
  88. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_suggestion.xml +16 -0
  89. data/libs/crosswalk/ext/platform/android/adds/res/layout/dropdown_item.xml +34 -0
  90. data/libs/crosswalk/ext/platform/android/adds/res/layout/multi_field_time_picker_dialog.xml +50 -0
  91. data/libs/crosswalk/ext/platform/android/adds/res/layout/two_field_date_picker.xml +26 -0
  92. data/libs/crosswalk/ext/platform/android/adds/res/layout/validation_message_bubble.xml +47 -0
  93. data/libs/crosswalk/ext/platform/android/adds/res/menu/select_action_menu.xml +54 -0
  94. data/libs/crosswalk/ext/platform/android/adds/res/raw/contacts_api.js +206 -0
  95. data/libs/crosswalk/ext/platform/android/adds/res/raw/device_capabilities_api.js +231 -0
  96. data/libs/crosswalk/ext/platform/android/adds/res/raw/empty.wav +0 -0
  97. data/libs/crosswalk/ext/platform/android/adds/res/raw/icudtl.dat +0 -0
  98. data/libs/crosswalk/ext/platform/android/adds/res/raw/launch_screen_api.js +9 -0
  99. data/libs/crosswalk/ext/platform/android/adds/res/raw/messaging_api.js +359 -0
  100. data/libs/crosswalk/ext/platform/android/adds/res/raw/presentation_api.js +144 -0
  101. data/libs/crosswalk/ext/platform/android/adds/res/raw/wifidirect_api.js +227 -0
  102. data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk.pak +0 -0
  103. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_content_strings.xml +15 -0
  104. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_ui_strings.xml +47 -0
  105. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_content_strings.xml +15 -0
  106. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_ui_strings.xml +47 -0
  107. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_content_strings.xml +15 -0
  108. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_ui_strings.xml +47 -0
  109. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_content_strings.xml +15 -0
  110. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_ui_strings.xml +47 -0
  111. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_content_strings.xml +15 -0
  112. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_ui_strings.xml +47 -0
  113. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_content_strings.xml +15 -0
  114. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_ui_strings.xml +47 -0
  115. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_content_strings.xml +15 -0
  116. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_ui_strings.xml +47 -0
  117. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_content_strings.xml +15 -0
  118. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_ui_strings.xml +47 -0
  119. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_content_strings.xml +15 -0
  120. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_ui_strings.xml +47 -0
  121. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_content_strings.xml +15 -0
  122. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_ui_strings.xml +47 -0
  123. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_content_strings.xml +15 -0
  124. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_ui_strings.xml +47 -0
  125. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_content_strings.xml +15 -0
  126. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_ui_strings.xml +47 -0
  127. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_content_strings.xml +15 -0
  128. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_ui_strings.xml +47 -0
  129. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_content_strings.xml +15 -0
  130. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_ui_strings.xml +47 -0
  131. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_content_strings.xml +15 -0
  132. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_ui_strings.xml +47 -0
  133. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_content_strings.xml +15 -0
  134. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_ui_strings.xml +47 -0
  135. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_content_strings.xml +15 -0
  136. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_ui_strings.xml +47 -0
  137. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_content_strings.xml +15 -0
  138. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_ui_strings.xml +47 -0
  139. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_content_strings.xml +15 -0
  140. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_ui_strings.xml +47 -0
  141. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_content_strings.xml +15 -0
  142. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_ui_strings.xml +47 -0
  143. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_content_strings.xml +15 -0
  144. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_ui_strings.xml +47 -0
  145. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_content_strings.xml +15 -0
  146. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_ui_strings.xml +47 -0
  147. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_content_strings.xml +15 -0
  148. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_ui_strings.xml +47 -0
  149. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_content_strings.xml +15 -0
  150. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_ui_strings.xml +47 -0
  151. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_content_strings.xml +15 -0
  152. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_ui_strings.xml +47 -0
  153. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_content_strings.xml +15 -0
  154. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_ui_strings.xml +47 -0
  155. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_content_strings.xml +15 -0
  156. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_ui_strings.xml +47 -0
  157. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_content_strings.xml +15 -0
  158. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_ui_strings.xml +47 -0
  159. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_content_strings.xml +15 -0
  160. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_ui_strings.xml +47 -0
  161. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_content_strings.xml +15 -0
  162. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_ui_strings.xml +47 -0
  163. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_content_strings.xml +15 -0
  164. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_ui_strings.xml +47 -0
  165. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_content_strings.xml +15 -0
  166. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_ui_strings.xml +47 -0
  167. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_content_strings.xml +15 -0
  168. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_ui_strings.xml +47 -0
  169. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_content_strings.xml +15 -0
  170. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_ui_strings.xml +47 -0
  171. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_content_strings.xml +15 -0
  172. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_ui_strings.xml +47 -0
  173. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_content_strings.xml +15 -0
  174. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_ui_strings.xml +47 -0
  175. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_content_strings.xml +15 -0
  176. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_ui_strings.xml +47 -0
  177. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_content_strings.xml +15 -0
  178. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_ui_strings.xml +47 -0
  179. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_content_strings.xml +15 -0
  180. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_ui_strings.xml +47 -0
  181. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_content_strings.xml +15 -0
  182. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_ui_strings.xml +47 -0
  183. data/libs/crosswalk/ext/platform/android/adds/res/values-v14/theme.xml +16 -0
  184. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/styles.xml +19 -0
  185. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/ui_java_styles.xml +41 -0
  186. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/styles.xml +14 -0
  187. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/ui_java_styles.xml +14 -0
  188. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_content_strings.xml +15 -0
  189. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_ui_strings.xml +47 -0
  190. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_content_strings.xml +15 -0
  191. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_ui_strings.xml +47 -0
  192. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_content_strings.xml +15 -0
  193. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_ui_strings.xml +47 -0
  194. data/libs/crosswalk/ext/platform/android/adds/res/values/android_content_strings.xml +15 -0
  195. data/libs/crosswalk/ext/platform/android/adds/res/values/android_ui_strings.xml +47 -0
  196. data/libs/crosswalk/ext/platform/android/adds/res/values/android_xwalk_strings.xml +17 -0
  197. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_attrs.xml +9 -0
  198. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_dimens.xml +31 -0
  199. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_strings.xml +16 -0
  200. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_styles.xml +101 -0
  201. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_app_strings.xml +28 -0
  202. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_attrs.xml +11 -0
  203. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_colors.xml +13 -0
  204. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_internal_java_strings.xml +16 -0
  205. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_java_strings.xml +16 -0
  206. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_dimens.xml +11 -0
  207. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_resources_list.xml +7 -0
  208. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_styles.xml +40 -0
  209. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_values.xml +10 -0
  210. data/libs/crosswalk/ext/platform/android/ext_java.files +14 -0
  211. data/libs/crosswalk/ext/platform/android/ext_native.files +7 -0
  212. data/libs/crosswalk/ext/platform/android/jni/Crosswalk_impl.cpp +61 -0
  213. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/Crosswalk.java +14 -0
  214. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkFactory.java +18 -0
  215. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkSingleton.java +24 -0
  216. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/CrosswalkExtension.java +16 -0
  217. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/RhodesListener.java +18 -0
  218. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWResourceClient.java +182 -0
  219. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWUIClient.java +125 -0
  220. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWalkWebView.java +368 -0
  221. data/libs/crosswalk/ext/platform/iphone/Crosswalk.xcodeproj/project.pbxproj +368 -0
  222. data/libs/crosswalk/ext/platform/iphone/Crosswalk_Prefix.pch +7 -0
  223. data/libs/crosswalk/ext/platform/iphone/Rakefile +73 -0
  224. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.h +14 -0
  225. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.m +24 -0
  226. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkFactorySingleton.m +16 -0
  227. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSetup.m +9 -0
  228. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.h +17 -0
  229. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.m +23 -0
  230. data/libs/crosswalk/ext/platform/iphone/impl/readme.txt +7 -0
  231. data/libs/crosswalk/ext/platform/qt/Crosswalk.pro +66 -0
  232. data/libs/crosswalk/ext/platform/qt/Rakefile +35 -0
  233. data/libs/crosswalk/ext/platform/qt/src/Crosswalk_impl.cpp +77 -0
  234. data/libs/crosswalk/ext/platform/wm/Crosswalk.sln +52 -0
  235. data/libs/crosswalk/ext/platform/wm/Crosswalk.vcproj +714 -0
  236. data/libs/crosswalk/ext/platform/wm/Crosswalk.vsprops +15 -0
  237. data/libs/crosswalk/ext/platform/wm/src/Crosswalk_impl.cpp +77 -0
  238. data/libs/crosswalk/ext/platform/wp8/Crosswalk.props +18 -0
  239. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj +170 -0
  240. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj.filters +50 -0
  241. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.csproj +119 -0
  242. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.props +8 -0
  243. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.targets +7 -0
  244. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.props +18 -0
  245. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj +185 -0
  246. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj.filters +58 -0
  247. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cpp +76 -0
  248. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cs +69 -0
  249. data/libs/crosswalk/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  250. data/libs/enterprise-barcode/ext.yml +13 -0
  251. data/libs/enterprise-barcode/ext/barcode.xml +2144 -0
  252. data/libs/enterprise-barcode/ext/build +17 -0
  253. data/libs/enterprise-barcode/ext/build.bat +29 -0
  254. data/libs/enterprise-barcode/ext/platform/android/AndroidManifest.xml +31 -0
  255. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/AUTHORS +58 -0
  256. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/CHANGES +266 -0
  257. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/COPYING +201 -0
  258. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/README +11 -0
  259. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/cancel_icon.png +0 -0
  260. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/ok_icon.png +0 -0
  261. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/retake_icon.png +0 -0
  262. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/cancel_icon.png +0 -0
  263. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/ok_icon.png +0 -0
  264. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/retake_icon.png +0 -0
  265. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/layout/capture.xml +122 -0
  266. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/raw/beep.ogg +0 -0
  267. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/attrs.xml +20 -0
  268. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/colors.xml +42 -0
  269. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/ids.xml +31 -0
  270. data/libs/enterprise-barcode/ext/platform/android/adds/lib/armeabi/liballbarcode.a +0 -0
  271. data/libs/enterprise-barcode/ext/platform/android/adds/lib/x86/liballbarcode.a +0 -0
  272. data/libs/enterprise-barcode/ext/platform/android/allbarcode.jar +0 -0
  273. data/libs/enterprise-barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +524 -0
  274. data/libs/enterprise-barcode/ext/platform/iphone/Barcode_Prefix.pch +7 -0
  275. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.h +27 -0
  276. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.mm +231 -0
  277. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.h +95 -0
  278. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.m +1017 -0
  279. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
  280. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
  281. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
  282. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.h +16 -0
  283. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
  284. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.cpp +25 -0
  285. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.h +15 -0
  286. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.mm +159 -0
  287. data/libs/enterprise-barcode/ext/platform/iphone/Classes/barcode.m +123 -0
  288. data/libs/enterprise-barcode/ext/platform/iphone/Rakefile +69 -0
  289. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/COPYING +27 -0
  290. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
  291. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +111 -0
  292. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  293. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  294. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  295. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  296. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +135 -0
  297. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +130 -0
  298. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +34 -0
  299. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  300. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1497 -0
  301. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +202 -0
  302. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  303. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  304. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  305. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  306. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  307. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +528 -0
  308. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  309. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  310. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/LICENSE +504 -0
  311. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/README +59 -0
  312. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  313. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  314. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  315. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  316. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/libzbar.a +0 -0
  317. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.h +21 -0
  318. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.m +132 -0
  319. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.h +10 -0
  320. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.m +16 -0
  321. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactorySingleton.m +16 -0
  322. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSetup.m +8 -0
  323. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.h +17 -0
  324. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.m +22 -0
  325. data/libs/enterprise-barcode/ext/platform/iphone/impl/readme.txt +7 -0
  326. data/libs/enterprise-barcode/ext/platform/wm/Barcode.sln +44 -0
  327. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vcproj +836 -0
  328. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vsprops +15 -0
  329. data/libs/enterprise-barcode/ext/platform/wm/readme.txt +0 -0
  330. data/libs/enterprise-barcode/ext/platform/wm/src/Barcode_impl.cpp +376 -0
  331. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.cpp +173 -0
  332. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.h +149 -0
  333. data/libs/enterprise-barcode/ext/platform/wm/src/EMDKInterfaceAbstraction.cpp +476 -0
  334. data/libs/enterprise-barcode/ext/platform/wm/src/GetDecoderProperties.cpp +1195 -0
  335. data/libs/enterprise-barcode/ext/platform/wm/src/GetScannerProperties.cpp +553 -0
  336. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.cpp +177 -0
  337. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.h +40 -0
  338. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.cpp +76 -0
  339. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.h +44 -0
  340. data/libs/enterprise-barcode/ext/platform/wm/src/RSM.cpp +1211 -0
  341. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.cpp +2609 -0
  342. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.h +1099 -0
  343. data/libs/enterprise-barcode/ext/platform/wm/src/ScannerDefines.h +322 -0
  344. data/libs/enterprise-barcode/ext/platform/wm/src/SetDecoderProperties.cpp +2106 -0
  345. data/libs/enterprise-barcode/ext/platform/wm/src/SetScannerProperties.cpp +1060 -0
  346. data/libs/enterprise-barcode/ext/platform/wm/src/Utilities.cpp +184 -0
  347. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.csproj +119 -0
  348. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.props +8 -0
  349. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.targets +35 -0
  350. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.props +18 -0
  351. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj +185 -0
  352. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj.filters +58 -0
  353. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.dll +0 -0
  354. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.winmd +0 -0
  355. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.xml +4813 -0
  356. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  357. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  358. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  359. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/OpticalReaderLib.dll +0 -0
  360. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.XML +68 -0
  361. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.dll +0 -0
  362. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.csproj +120 -0
  363. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.sln +34 -0
  364. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml +32 -0
  365. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml.cs +235 -0
  366. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/OpticalReaderTask.cs +182 -0
  367. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/Properties/AssemblyInfo.cs +37 -0
  368. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.dll +0 -0
  369. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.xml +341 -0
  370. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.dll +0 -0
  371. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.winmd +0 -0
  372. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.xml +4813 -0
  373. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  374. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  375. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  376. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/OpticalReaderLib.dll +0 -0
  377. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.XML +10324 -0
  378. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.dll +0 -0
  379. data/libs/enterprise-barcode/ext/platform/wp8/src/Barcode_impl.cs +630 -0
  380. data/libs/enterprise-barcode/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  381. data/libs/enterprise-barcode/public/api/generated/Rho.Barcode.js +772 -0
  382. data/libs/ie/rhobrowser.dll +0 -0
  383. data/libs/nodejs.rb +2 -0
  384. data/libs/nodejs/ext.yml +25 -0
  385. data/libs/nodejs/ext/Nodejs.xml +37 -0
  386. data/libs/nodejs/ext/build +19 -0
  387. data/libs/nodejs/ext/build.bat +29 -0
  388. data/libs/nodejs/ext/platform/android/Rakefile +161 -0
  389. data/libs/nodejs/ext/platform/android/ext_native.files +8 -0
  390. data/libs/nodejs/ext/platform/android/jxCore/jx.h +134 -0
  391. data/libs/nodejs/ext/platform/android/jxCore/jx_result.h +221 -0
  392. data/libs/nodejs/ext/platform/android/jxCore/libcares_arm.a +0 -0
  393. data/libs/nodejs/ext/platform/android/jxCore/libcares_ia32.a +0 -0
  394. data/libs/nodejs/ext/platform/android/jxCore/libcares_x64.a +0 -0
  395. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_arm.a +0 -0
  396. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_ia32.a +0 -0
  397. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_x64.a +0 -0
  398. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_arm.a +0 -0
  399. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_ia32.a +0 -0
  400. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_x64.a +0 -0
  401. data/libs/nodejs/ext/platform/android/jxCore/libjx_arm.a +0 -0
  402. data/libs/nodejs/ext/platform/android/jxCore/libjx_ia32.a +0 -0
  403. data/libs/nodejs/ext/platform/android/jxCore/libjx_x64.a +0 -0
  404. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_arm.a +0 -0
  405. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_ia32.a +0 -0
  406. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_x64.a +0 -0
  407. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_arm.a +0 -0
  408. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_ia32.a +0 -0
  409. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_x64.a +0 -0
  410. data/libs/nodejs/ext/platform/android/jxCore/libuv_arm.a +0 -0
  411. data/libs/nodejs/ext/platform/android/jxCore/libuv_ia32.a +0 -0
  412. data/libs/nodejs/ext/platform/android/jxCore/libuv_x64.a +0 -0
  413. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_arm.a +0 -0
  414. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_ia32.a +0 -0
  415. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_x64.a +0 -0
  416. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_arm.a +0 -0
  417. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_ia32.a +0 -0
  418. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_x64.a +0 -0
  419. data/libs/nodejs/ext/platform/iphone/Nodejs.xcodeproj/project.pbxproj +350 -0
  420. data/libs/nodejs/ext/platform/iphone/Nodejs_Prefix.pch +7 -0
  421. data/libs/nodejs/ext/platform/iphone/Rakefile +73 -0
  422. data/libs/nodejs/ext/platform/iphone/jxCore/jx.h +134 -0
  423. data/libs/nodejs/ext/platform/iphone/jxCore/jx_result.h +221 -0
  424. data/libs/nodejs/ext/platform/iphone/jxCore/libcares.a +0 -0
  425. data/libs/nodejs/ext/platform/iphone/jxCore/libchrome_zlib.a +0 -0
  426. data/libs/nodejs/ext/platform/iphone/jxCore/libhttp_parser.a +0 -0
  427. data/libs/nodejs/ext/platform/iphone/jxCore/libjx.a +0 -0
  428. data/libs/nodejs/ext/platform/iphone/jxCore/libmozjs.a +0 -0
  429. data/libs/nodejs/ext/platform/iphone/jxCore/libopenssl.a +0 -0
  430. data/libs/nodejs/ext/platform/iphone/jxCore/libsqlite3.a +0 -0
  431. data/libs/nodejs/ext/platform/iphone/jxCore/libuv.a +0 -0
  432. data/libs/nodejs/ext/shared/jxcore/jx.h +134 -0
  433. data/libs/nodejs/ext/shared/jxcore/jx_result.h +221 -0
  434. data/libs/nodejs/ext/shared/jxcoretau.cpp +454 -0
  435. data/libs/nodejs/ext/shared/jxcoretau.h +20 -0
  436. data/libs/nodejs/ext/shared/nodejs_impl.cpp +106 -0
  437. data/libs/nodejs/nodejs.rb +2 -0
  438. data/libs/openssl-edge.rb +2 -0
  439. data/libs/openssl-edge/ext.yml +4 -0
  440. data/libs/openssl-edge/ext/Rakefile +145 -0
  441. data/libs/openssl-edge/ext/android/Rakefile +107 -0
  442. data/libs/openssl-edge/ext/android/ext_native.files +32 -0
  443. data/libs/openssl-edge/ext/android/extconf.h +91 -0
  444. data/libs/openssl-edge/ext/build +12 -0
  445. data/libs/openssl-edge/ext/build.bat +5 -0
  446. data/libs/openssl-edge/ext/extconf.rb +141 -0
  447. data/libs/openssl-edge/ext/openssl.pro +109 -0
  448. data/libs/openssl-edge/ext/openssl.sln +52 -0
  449. data/libs/openssl-edge/ext/openssl.vcproj +1010 -0
  450. data/libs/openssl-edge/ext/openssl_missing.c +1163 -0
  451. data/libs/openssl-edge/ext/openssl_missing.h +537 -0
  452. data/libs/openssl-edge/ext/ossl.c +1203 -0
  453. data/libs/openssl-edge/ext/ossl.h +242 -0
  454. data/libs/openssl-edge/ext/ossl_asn1.c +2008 -0
  455. data/libs/openssl-edge/ext/ossl_asn1.h +66 -0
  456. data/libs/openssl-edge/ext/ossl_bio.c +118 -0
  457. data/libs/openssl-edge/ext/ossl_bio.h +19 -0
  458. data/libs/openssl-edge/ext/ossl_bn.c +1153 -0
  459. data/libs/openssl-edge/ext/ossl_bn.h +23 -0
  460. data/libs/openssl-edge/ext/ossl_cipher.c +1085 -0
  461. data/libs/openssl-edge/ext/ossl_cipher.h +20 -0
  462. data/libs/openssl-edge/ext/ossl_config.c +89 -0
  463. data/libs/openssl-edge/ext/ossl_config.h +19 -0
  464. data/libs/openssl-edge/ext/ossl_digest.c +453 -0
  465. data/libs/openssl-edge/ext/ossl_digest.h +20 -0
  466. data/libs/openssl-edge/ext/ossl_engine.c +580 -0
  467. data/libs/openssl-edge/ext/ossl_engine.h +19 -0
  468. data/libs/openssl-edge/ext/ossl_hmac.c +398 -0
  469. data/libs/openssl-edge/ext/ossl_hmac.h +18 -0
  470. data/libs/openssl-edge/ext/ossl_ns_spki.c +406 -0
  471. data/libs/openssl-edge/ext/ossl_ns_spki.h +19 -0
  472. data/libs/openssl-edge/ext/ossl_ocsp.c +2013 -0
  473. data/libs/openssl-edge/ext/ossl_ocsp.h +23 -0
  474. data/libs/openssl-edge/ext/ossl_pkcs12.c +261 -0
  475. data/libs/openssl-edge/ext/ossl_pkcs12.h +13 -0
  476. data/libs/openssl-edge/ext/ossl_pkcs5.c +180 -0
  477. data/libs/openssl-edge/ext/ossl_pkcs5.h +6 -0
  478. data/libs/openssl-edge/ext/ossl_pkcs7.c +1157 -0
  479. data/libs/openssl-edge/ext/ossl_pkcs7.h +20 -0
  480. data/libs/openssl-edge/ext/ossl_pkey.c +469 -0
  481. data/libs/openssl-edge/ext/ossl_pkey.h +245 -0
  482. data/libs/openssl-edge/ext/ossl_pkey_dh.c +650 -0
  483. data/libs/openssl-edge/ext/ossl_pkey_dsa.c +672 -0
  484. data/libs/openssl-edge/ext/ossl_pkey_ec.c +1806 -0
  485. data/libs/openssl-edge/ext/ossl_pkey_rsa.c +768 -0
  486. data/libs/openssl-edge/ext/ossl_rand.c +238 -0
  487. data/libs/openssl-edge/ext/ossl_rand.h +18 -0
  488. data/libs/openssl-edge/ext/ossl_ssl.c +2724 -0
  489. data/libs/openssl-edge/ext/ossl_ssl.h +41 -0
  490. data/libs/openssl-edge/ext/ossl_ssl_session.c +352 -0
  491. data/libs/openssl-edge/ext/ossl_version.h +15 -0
  492. data/libs/openssl-edge/ext/ossl_x509.c +186 -0
  493. data/libs/openssl-edge/ext/ossl_x509.h +119 -0
  494. data/libs/openssl-edge/ext/ossl_x509attr.c +328 -0
  495. data/libs/openssl-edge/ext/ossl_x509cert.c +863 -0
  496. data/libs/openssl-edge/ext/ossl_x509crl.c +565 -0
  497. data/libs/openssl-edge/ext/ossl_x509ext.c +480 -0
  498. data/libs/openssl-edge/ext/ossl_x509name.c +547 -0
  499. data/libs/openssl-edge/ext/ossl_x509req.c +492 -0
  500. data/libs/openssl-edge/ext/ossl_x509revoked.c +279 -0
  501. data/libs/openssl-edge/ext/ossl_x509store.c +846 -0
  502. data/libs/openssl-edge/ext/ruby_missing.h +32 -0
  503. data/libs/openssl-edge/openssl-edge.rb +2 -0
  504. data/libs/openssl-edge/openssl.rb +24 -0
  505. data/libs/openssl-edge/openssl/bn.rb +35 -0
  506. data/libs/openssl-edge/openssl/buffering.rb +341 -0
  507. data/libs/openssl-edge/openssl/cipher.rb +65 -0
  508. data/libs/openssl-edge/openssl/digest.rb +61 -0
  509. data/libs/openssl-edge/openssl/ssl-internal.rb +180 -0
  510. data/libs/openssl-edge/openssl/ssl.rb +1 -0
  511. data/libs/openssl-edge/openssl/x509-internal.rb +153 -0
  512. data/libs/openssl-edge/openssl/x509.rb +1 -0
  513. data/libs/openssl.so-edge.rb +2 -0
  514. data/libs/openssl.so-edge/ext.yml +8 -0
  515. data/libs/openssl.so-edge/ext/Rakefile +140 -0
  516. data/libs/openssl.so-edge/ext/android/armeabi/libcrypto.a +0 -0
  517. data/libs/openssl.so-edge/ext/android/armeabi/libssl.a +0 -0
  518. data/libs/openssl.so-edge/ext/android/x86/libcrypto.a +0 -0
  519. data/libs/openssl.so-edge/ext/android/x86/libssl.a +0 -0
  520. data/libs/openssl.so-edge/ext/build +12 -0
  521. data/libs/openssl.so-edge/ext/build.bat +1 -0
  522. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dh/dh_locl.h +56 -0
  523. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dsa/dsa_locl.h +76 -0
  524. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/evp/evp_locl.h +66 -0
  525. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/hmac/hmac_lcl.h +33 -0
  526. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/asn1_int.h +94 -0
  527. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/async.h +14 -0
  528. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_conf.h +28 -0
  529. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_dh.h +17 -0
  530. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_int.h +82 -0
  531. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_srp.h +32 -0
  532. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/chacha.h +49 -0
  533. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib.h +81 -0
  534. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib_int.h +31 -0
  535. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/dso_conf.h +16 -0
  536. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/engine.h +20 -0
  537. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/err_int.h +17 -0
  538. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/evp_int.h +382 -0
  539. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/md32_common.h +383 -0
  540. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/objects.h +12 -0
  541. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/poly1305.h +19 -0
  542. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/rand.h +20 -0
  543. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/x509_int.h +267 -0
  544. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/ocsp/ocsp_lcl.h +216 -0
  545. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/rsa/rsa_locl.h +96 -0
  546. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/x509/x509_lcl.h +142 -0
  547. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/e_os.h +520 -0
  548. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/bio.h +26 -0
  549. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/comp.h +12 -0
  550. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/conf.h +32 -0
  551. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/constant_time_locl.h +185 -0
  552. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dane.h +103 -0
  553. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dso.h +216 -0
  554. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/err.h +15 -0
  555. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/numbers.h +68 -0
  556. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_dir.h +63 -0
  557. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_str.h +17 -0
  558. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/thread_once.h +42 -0
  559. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_EPILOGUE.H +16 -0
  560. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_PROLOGUE.H +20 -0
  561. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/aes.h +92 -0
  562. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1.h +1096 -0
  563. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1_mac.h +10 -0
  564. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1t.h +924 -0
  565. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/async.h +98 -0
  566. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bio.h +854 -0
  567. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/blowfish.h +61 -0
  568. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bn.h +575 -0
  569. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/buffer.h +76 -0
  570. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/camellia.h +83 -0
  571. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cast.h +53 -0
  572. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cmac.h +41 -0
  573. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cms.h +512 -0
  574. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/comp.h +72 -0
  575. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf.h +216 -0
  576. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf_api.h +40 -0
  577. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/crypto.h +463 -0
  578. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ct.h +518 -0
  579. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/des.h +174 -0
  580. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dh.h +343 -0
  581. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dsa.h +282 -0
  582. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dtls1.h +56 -0
  583. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/e_os2.h +311 -0
  584. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ebcdic.h +33 -0
  585. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ec.h +1581 -0
  586. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdh.h +10 -0
  587. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdsa.h +10 -0
  588. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/engine.h +842 -0
  589. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/err.h +259 -0
  590. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/evp.h +1586 -0
  591. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/hmac.h +49 -0
  592. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/idea.h +64 -0
  593. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/kdf.h +75 -0
  594. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/lhash.h +204 -0
  595. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md2.h +44 -0
  596. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md4.h +51 -0
  597. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md5.h +50 -0
  598. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/mdc2.h +42 -0
  599. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/modes.h +203 -0
  600. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/obj_mac.h +4577 -0
  601. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/objects.h +1097 -0
  602. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ocsp.h +409 -0
  603. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h +169 -0
  604. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h.in +141 -0
  605. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslv.h +105 -0
  606. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ossl_typ.h +190 -0
  607. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem.h +501 -0
  608. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem2.h +20 -0
  609. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs12.h +282 -0
  610. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs7.h +404 -0
  611. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rand.h +89 -0
  612. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc2.h +51 -0
  613. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc4.h +36 -0
  614. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc5.h +63 -0
  615. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ripemd.h +47 -0
  616. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rsa.h +588 -0
  617. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/safestack.h +164 -0
  618. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/seed.h +98 -0
  619. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/sha.h +119 -0
  620. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srp.h +131 -0
  621. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srtp.h +50 -0
  622. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl.h +2527 -0
  623. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl2.h +24 -0
  624. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl3.h +307 -0
  625. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/stack.h +78 -0
  626. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/symhacks.h +52 -0
  627. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/tls1.h +972 -0
  628. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ts.h +643 -0
  629. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/txt_db.h +57 -0
  630. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ui.h +368 -0
  631. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/whrlpool.h +48 -0
  632. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509.h +1123 -0
  633. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509_vfy.h +539 -0
  634. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509v3.h +1005 -0
  635. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/packet_locl.h +555 -0
  636. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record.h +240 -0
  637. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record_locl.h +114 -0
  638. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/ssl_locl.h +2127 -0
  639. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem.h +123 -0
  640. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem_locl.h +124 -0
  641. data/libs/openssl.so-edge/openssl.so.rb +2 -0
  642. data/libs/webkit.rb +2 -0
  643. data/libs/webkit/ext.yml +4 -0
  644. data/libs/webkit/ext/build +12 -0
  645. data/libs/webkit/ext/build.bat +7 -0
  646. data/libs/webkit/ext/wm/Rakefile +61 -0
  647. data/libs/webkit/ext/wm/RhoMsgs.cpp +17 -0
  648. data/libs/webkit/ext/wm/RhoMsgs.h +14 -0
  649. data/libs/webkit/ext/wm/RhoWKBrowserEngine.cpp +736 -0
  650. data/libs/webkit/ext/wm/RhoWKBrowserEngine.h +105 -0
  651. data/libs/webkit/ext/wm/lib/npapi/rhobridge.dll +0 -0
  652. data/libs/webkit/ext/wm/lib/rhoengine_defs.h +80 -0
  653. data/libs/webkit/ext/wm/lib/rhowebkit.dll +0 -0
  654. data/libs/webkit/ext/wm/webkit.sln +36 -0
  655. data/libs/webkit/ext/wm/webkit.suo +0 -0
  656. data/libs/webkit/ext/wm/webkit.vcproj +800 -0
  657. data/libs/webkit/ext/wm/webkit.vsprops +20 -0
  658. data/libs/webkit/webkit.rb +2 -0
  659. data/rho-tau-extensions.gemspec +23 -0
  660. data/version +1 -0
  661. metadata +705 -0
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the OpenSSL license (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #include <openssl/ec.h>
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the OpenSSL license (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #include <openssl/ec.h>
@@ -0,0 +1,842 @@
1
+ /*
2
+ * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the OpenSSL license (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ /* ====================================================================
11
+ * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
12
+ * ECDH support in OpenSSL originally developed by
13
+ * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
14
+ */
15
+
16
+ #ifndef HEADER_ENGINE_H
17
+ # define HEADER_ENGINE_H
18
+
19
+ # include <openssl/opensslconf.h>
20
+
21
+ # ifndef OPENSSL_NO_ENGINE
22
+ # if OPENSSL_API_COMPAT < 0x10100000L
23
+ # include <openssl/bn.h>
24
+ # include <openssl/rsa.h>
25
+ # include <openssl/dsa.h>
26
+ # include <openssl/dh.h>
27
+ # include <openssl/ec.h>
28
+ # include <openssl/rand.h>
29
+ # include <openssl/ui.h>
30
+ # include <openssl/err.h>
31
+ # endif
32
+ # include <openssl/ossl_typ.h>
33
+ # include <openssl/symhacks.h>
34
+ # include <openssl/x509.h>
35
+ # ifdef __cplusplus
36
+ extern "C" {
37
+ # endif
38
+
39
+ /*
40
+ * These flags are used to control combinations of algorithm (methods) by
41
+ * bitwise "OR"ing.
42
+ */
43
+ # define ENGINE_METHOD_RSA (unsigned int)0x0001
44
+ # define ENGINE_METHOD_DSA (unsigned int)0x0002
45
+ # define ENGINE_METHOD_DH (unsigned int)0x0004
46
+ # define ENGINE_METHOD_RAND (unsigned int)0x0008
47
+ # define ENGINE_METHOD_CIPHERS (unsigned int)0x0040
48
+ # define ENGINE_METHOD_DIGESTS (unsigned int)0x0080
49
+ # define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200
50
+ # define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400
51
+ # define ENGINE_METHOD_EC (unsigned int)0x0800
52
+ /* Obvious all-or-nothing cases. */
53
+ # define ENGINE_METHOD_ALL (unsigned int)0xFFFF
54
+ # define ENGINE_METHOD_NONE (unsigned int)0x0000
55
+
56
+ /*
57
+ * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used
58
+ * internally to control registration of ENGINE implementations, and can be
59
+ * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to
60
+ * initialise registered ENGINEs if they are not already initialised.
61
+ */
62
+ # define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001
63
+
64
+ /* ENGINE flags that can be set by ENGINE_set_flags(). */
65
+ /* Not used */
66
+ /* #define ENGINE_FLAGS_MALLOCED 0x0001 */
67
+
68
+ /*
69
+ * This flag is for ENGINEs that wish to handle the various 'CMD'-related
70
+ * control commands on their own. Without this flag, ENGINE_ctrl() handles
71
+ * these control commands on behalf of the ENGINE using their "cmd_defns"
72
+ * data.
73
+ */
74
+ # define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002
75
+
76
+ /*
77
+ * This flag is for ENGINEs who return new duplicate structures when found
78
+ * via "ENGINE_by_id()". When an ENGINE must store state (eg. if
79
+ * ENGINE_ctrl() commands are called in sequence as part of some stateful
80
+ * process like key-generation setup and execution), it can set this flag -
81
+ * then each attempt to obtain the ENGINE will result in it being copied into
82
+ * a new structure. Normally, ENGINEs don't declare this flag so
83
+ * ENGINE_by_id() just increments the existing ENGINE's structural reference
84
+ * count.
85
+ */
86
+ # define ENGINE_FLAGS_BY_ID_COPY (int)0x0004
87
+
88
+ /*
89
+ * This flag if for an ENGINE that does not want its methods registered as
90
+ * part of ENGINE_register_all_complete() for example if the methods are not
91
+ * usable as default methods.
92
+ */
93
+
94
+ # define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008
95
+
96
+ /*
97
+ * ENGINEs can support their own command types, and these flags are used in
98
+ * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input
99
+ * each command expects. Currently only numeric and string input is
100
+ * supported. If a control command supports none of the _NUMERIC, _STRING, or
101
+ * _NO_INPUT options, then it is regarded as an "internal" control command -
102
+ * and not for use in config setting situations. As such, they're not
103
+ * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl()
104
+ * access. Changes to this list of 'command types' should be reflected
105
+ * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string().
106
+ */
107
+
108
+ /* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */
109
+ # define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001
110
+ /*
111
+ * accepts string input (cast from 'void*' to 'const char *', 4th parameter
112
+ * to ENGINE_ctrl)
113
+ */
114
+ # define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002
115
+ /*
116
+ * Indicates that the control command takes *no* input. Ie. the control
117
+ * command is unparameterised.
118
+ */
119
+ # define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004
120
+ /*
121
+ * Indicates that the control command is internal. This control command won't
122
+ * be shown in any output, and is only usable through the ENGINE_ctrl_cmd()
123
+ * function.
124
+ */
125
+ # define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008
126
+
127
+ /*
128
+ * NB: These 3 control commands are deprecated and should not be used.
129
+ * ENGINEs relying on these commands should compile conditional support for
130
+ * compatibility (eg. if these symbols are defined) but should also migrate
131
+ * the same functionality to their own ENGINE-specific control functions that
132
+ * can be "discovered" by calling applications. The fact these control
133
+ * commands wouldn't be "executable" (ie. usable by text-based config)
134
+ * doesn't change the fact that application code can find and use them
135
+ * without requiring per-ENGINE hacking.
136
+ */
137
+
138
+ /*
139
+ * These flags are used to tell the ctrl function what should be done. All
140
+ * command numbers are shared between all engines, even if some don't make
141
+ * sense to some engines. In such a case, they do nothing but return the
142
+ * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED.
143
+ */
144
+ # define ENGINE_CTRL_SET_LOGSTREAM 1
145
+ # define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2
146
+ # define ENGINE_CTRL_HUP 3/* Close and reinitialise
147
+ * any handles/connections
148
+ * etc. */
149
+ # define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */
150
+ # define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used
151
+ * when calling the password
152
+ * callback and the user
153
+ * interface */
154
+ # define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration,
155
+ * given a string that
156
+ * represents a file name
157
+ * or so */
158
+ # define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given
159
+ * section in the already
160
+ * loaded configuration */
161
+
162
+ /*
163
+ * These control commands allow an application to deal with an arbitrary
164
+ * engine in a dynamic way. Warn: Negative return values indicate errors FOR
165
+ * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other
166
+ * commands, including ENGINE-specific command types, return zero for an
167
+ * error. An ENGINE can choose to implement these ctrl functions, and can
168
+ * internally manage things however it chooses - it does so by setting the
169
+ * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise
170
+ * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the
171
+ * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's
172
+ * ctrl() handler need only implement its own commands - the above "meta"
173
+ * commands will be taken care of.
174
+ */
175
+
176
+ /*
177
+ * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not",
178
+ * then all the remaining control commands will return failure, so it is
179
+ * worth checking this first if the caller is trying to "discover" the
180
+ * engine's capabilities and doesn't want errors generated unnecessarily.
181
+ */
182
+ # define ENGINE_CTRL_HAS_CTRL_FUNCTION 10
183
+ /*
184
+ * Returns a positive command number for the first command supported by the
185
+ * engine. Returns zero if no ctrl commands are supported.
186
+ */
187
+ # define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11
188
+ /*
189
+ * The 'long' argument specifies a command implemented by the engine, and the
190
+ * return value is the next command supported, or zero if there are no more.
191
+ */
192
+ # define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12
193
+ /*
194
+ * The 'void*' argument is a command name (cast from 'const char *'), and the
195
+ * return value is the command that corresponds to it.
196
+ */
197
+ # define ENGINE_CTRL_GET_CMD_FROM_NAME 13
198
+ /*
199
+ * The next two allow a command to be converted into its corresponding string
200
+ * form. In each case, the 'long' argument supplies the command. In the
201
+ * NAME_LEN case, the return value is the length of the command name (not
202
+ * counting a trailing EOL). In the NAME case, the 'void*' argument must be a
203
+ * string buffer large enough, and it will be populated with the name of the
204
+ * command (WITH a trailing EOL).
205
+ */
206
+ # define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14
207
+ # define ENGINE_CTRL_GET_NAME_FROM_CMD 15
208
+ /* The next two are similar but give a "short description" of a command. */
209
+ # define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16
210
+ # define ENGINE_CTRL_GET_DESC_FROM_CMD 17
211
+ /*
212
+ * With this command, the return value is the OR'd combination of
213
+ * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given
214
+ * engine-specific ctrl command expects.
215
+ */
216
+ # define ENGINE_CTRL_GET_CMD_FLAGS 18
217
+
218
+ /*
219
+ * ENGINE implementations should start the numbering of their own control
220
+ * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc).
221
+ */
222
+ # define ENGINE_CMD_BASE 200
223
+
224
+ /*
225
+ * NB: These 2 nCipher "chil" control commands are deprecated, and their
226
+ * functionality is now available through ENGINE-specific control commands
227
+ * (exposed through the above-mentioned 'CMD'-handling). Code using these 2
228
+ * commands should be migrated to the more general command handling before
229
+ * these are removed.
230
+ */
231
+
232
+ /* Flags specific to the nCipher "chil" engine */
233
+ # define ENGINE_CTRL_CHIL_SET_FORKCHECK 100
234
+ /*
235
+ * Depending on the value of the (long)i argument, this sets or
236
+ * unsets the SimpleForkCheck flag in the CHIL API to enable or
237
+ * disable checking and workarounds for applications that fork().
238
+ */
239
+ # define ENGINE_CTRL_CHIL_NO_LOCKING 101
240
+ /*
241
+ * This prevents the initialisation function from providing mutex
242
+ * callbacks to the nCipher library.
243
+ */
244
+
245
+ /*
246
+ * If an ENGINE supports its own specific control commands and wishes the
247
+ * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on
248
+ * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN
249
+ * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl()
250
+ * handler that supports the stated commands (ie. the "cmd_num" entries as
251
+ * described by the array). NB: The array must be ordered in increasing order
252
+ * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element
253
+ * has cmd_num set to zero and/or cmd_name set to NULL.
254
+ */
255
+ typedef struct ENGINE_CMD_DEFN_st {
256
+ unsigned int cmd_num; /* The command number */
257
+ const char *cmd_name; /* The command name itself */
258
+ const char *cmd_desc; /* A short description of the command */
259
+ unsigned int cmd_flags; /* The input the command expects */
260
+ } ENGINE_CMD_DEFN;
261
+
262
+ /* Generic function pointer */
263
+ typedef int (*ENGINE_GEN_FUNC_PTR) (void);
264
+ /* Generic function pointer taking no arguments */
265
+ typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *);
266
+ /* Specific control function pointer */
267
+ typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *,
268
+ void (*f) (void));
269
+ /* Generic load_key function pointer */
270
+ typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *,
271
+ UI_METHOD *ui_method,
272
+ void *callback_data);
273
+ typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl,
274
+ STACK_OF(X509_NAME) *ca_dn,
275
+ X509 **pcert, EVP_PKEY **pkey,
276
+ STACK_OF(X509) **pother,
277
+ UI_METHOD *ui_method,
278
+ void *callback_data);
279
+ /*-
280
+ * These callback types are for an ENGINE's handler for cipher and digest logic.
281
+ * These handlers have these prototypes;
282
+ * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid);
283
+ * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid);
284
+ * Looking at how to implement these handlers in the case of cipher support, if
285
+ * the framework wants the EVP_CIPHER for 'nid', it will call;
286
+ * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure)
287
+ * If the framework wants a list of supported 'nid's, it will call;
288
+ * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error)
289
+ */
290
+ /*
291
+ * Returns to a pointer to the array of supported cipher 'nid's. If the
292
+ * second parameter is non-NULL it is set to the size of the returned array.
293
+ */
294
+ typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **,
295
+ const int **, int);
296
+ typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **,
297
+ int);
298
+ typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **,
299
+ const int **, int);
300
+ typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **,
301
+ const int **, int);
302
+ /*
303
+ * STRUCTURE functions ... all of these functions deal with pointers to
304
+ * ENGINE structures where the pointers have a "structural reference". This
305
+ * means that their reference is to allowed access to the structure but it
306
+ * does not imply that the structure is functional. To simply increment or
307
+ * decrement the structural reference count, use ENGINE_by_id and
308
+ * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next
309
+ * as it will automatically decrement the structural reference count of the
310
+ * "current" ENGINE and increment the structural reference count of the
311
+ * ENGINE it returns (unless it is NULL).
312
+ */
313
+
314
+ /* Get the first/last "ENGINE" type available. */
315
+ ENGINE *ENGINE_get_first(void);
316
+ ENGINE *ENGINE_get_last(void);
317
+ /* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */
318
+ ENGINE *ENGINE_get_next(ENGINE *e);
319
+ ENGINE *ENGINE_get_prev(ENGINE *e);
320
+ /* Add another "ENGINE" type into the array. */
321
+ int ENGINE_add(ENGINE *e);
322
+ /* Remove an existing "ENGINE" type from the array. */
323
+ int ENGINE_remove(ENGINE *e);
324
+ /* Retrieve an engine from the list by its unique "id" value. */
325
+ ENGINE *ENGINE_by_id(const char *id);
326
+
327
+ #if OPENSSL_API_COMPAT < 0x10100000L
328
+ # define ENGINE_load_openssl() \
329
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_OPENSSL, NULL)
330
+ # define ENGINE_load_dynamic() \
331
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DYNAMIC, NULL)
332
+ # ifndef OPENSSL_NO_STATIC_ENGINE
333
+ # define ENGINE_load_padlock() \
334
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_PADLOCK, NULL)
335
+ # define ENGINE_load_capi() \
336
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CAPI, NULL)
337
+ # define ENGINE_load_dasync() \
338
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DASYNC, NULL)
339
+ # define ENGINE_load_afalg() \
340
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_AFALG, NULL)
341
+ # endif
342
+ # define ENGINE_load_cryptodev() \
343
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CRYPTODEV, NULL)
344
+ # define ENGINE_load_rdrand() \
345
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_RDRAND, NULL)
346
+ #endif
347
+ void ENGINE_load_builtin_engines(void);
348
+
349
+ /*
350
+ * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation
351
+ * "registry" handling.
352
+ */
353
+ unsigned int ENGINE_get_table_flags(void);
354
+ void ENGINE_set_table_flags(unsigned int flags);
355
+
356
+ /*- Manage registration of ENGINEs per "table". For each type, there are 3
357
+ * functions;
358
+ * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one)
359
+ * ENGINE_unregister_***(e) - unregister the implementation from 'e'
360
+ * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list
361
+ * Cleanup is automatically registered from each table when required.
362
+ */
363
+
364
+ int ENGINE_register_RSA(ENGINE *e);
365
+ void ENGINE_unregister_RSA(ENGINE *e);
366
+ void ENGINE_register_all_RSA(void);
367
+
368
+ int ENGINE_register_DSA(ENGINE *e);
369
+ void ENGINE_unregister_DSA(ENGINE *e);
370
+ void ENGINE_register_all_DSA(void);
371
+
372
+ int ENGINE_register_EC(ENGINE *e);
373
+ void ENGINE_unregister_EC(ENGINE *e);
374
+ void ENGINE_register_all_EC(void);
375
+
376
+ int ENGINE_register_DH(ENGINE *e);
377
+ void ENGINE_unregister_DH(ENGINE *e);
378
+ void ENGINE_register_all_DH(void);
379
+
380
+ int ENGINE_register_RAND(ENGINE *e);
381
+ void ENGINE_unregister_RAND(ENGINE *e);
382
+ void ENGINE_register_all_RAND(void);
383
+
384
+ int ENGINE_register_ciphers(ENGINE *e);
385
+ void ENGINE_unregister_ciphers(ENGINE *e);
386
+ void ENGINE_register_all_ciphers(void);
387
+
388
+ int ENGINE_register_digests(ENGINE *e);
389
+ void ENGINE_unregister_digests(ENGINE *e);
390
+ void ENGINE_register_all_digests(void);
391
+
392
+ int ENGINE_register_pkey_meths(ENGINE *e);
393
+ void ENGINE_unregister_pkey_meths(ENGINE *e);
394
+ void ENGINE_register_all_pkey_meths(void);
395
+
396
+ int ENGINE_register_pkey_asn1_meths(ENGINE *e);
397
+ void ENGINE_unregister_pkey_asn1_meths(ENGINE *e);
398
+ void ENGINE_register_all_pkey_asn1_meths(void);
399
+
400
+ /*
401
+ * These functions register all support from the above categories. Note, use
402
+ * of these functions can result in static linkage of code your application
403
+ * may not need. If you only need a subset of functionality, consider using
404
+ * more selective initialisation.
405
+ */
406
+ int ENGINE_register_complete(ENGINE *e);
407
+ int ENGINE_register_all_complete(void);
408
+
409
+ /*
410
+ * Send parametrised control commands to the engine. The possibilities to
411
+ * send down an integer, a pointer to data or a function pointer are
412
+ * provided. Any of the parameters may or may not be NULL, depending on the
413
+ * command number. In actuality, this function only requires a structural
414
+ * (rather than functional) reference to an engine, but many control commands
415
+ * may require the engine be functional. The caller should be aware of trying
416
+ * commands that require an operational ENGINE, and only use functional
417
+ * references in such situations.
418
+ */
419
+ int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void));
420
+
421
+ /*
422
+ * This function tests if an ENGINE-specific command is usable as a
423
+ * "setting". Eg. in an application's config file that gets processed through
424
+ * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to
425
+ * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl().
426
+ */
427
+ int ENGINE_cmd_is_executable(ENGINE *e, int cmd);
428
+
429
+ /*
430
+ * This function works like ENGINE_ctrl() with the exception of taking a
431
+ * command name instead of a command number, and can handle optional
432
+ * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation
433
+ * on how to use the cmd_name and cmd_optional.
434
+ */
435
+ int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
436
+ long i, void *p, void (*f) (void), int cmd_optional);
437
+
438
+ /*
439
+ * This function passes a command-name and argument to an ENGINE. The
440
+ * cmd_name is converted to a command number and the control command is
441
+ * called using 'arg' as an argument (unless the ENGINE doesn't support such
442
+ * a command, in which case no control command is called). The command is
443
+ * checked for input flags, and if necessary the argument will be converted
444
+ * to a numeric value. If cmd_optional is non-zero, then if the ENGINE
445
+ * doesn't support the given cmd_name the return value will be success
446
+ * anyway. This function is intended for applications to use so that users
447
+ * (or config files) can supply engine-specific config data to the ENGINE at
448
+ * run-time to control behaviour of specific engines. As such, it shouldn't
449
+ * be used for calling ENGINE_ctrl() functions that return data, deal with
450
+ * binary data, or that are otherwise supposed to be used directly through
451
+ * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl()
452
+ * operation in this function will be lost - the return value is interpreted
453
+ * as failure if the return value is zero, success otherwise, and this
454
+ * function returns a boolean value as a result. In other words, vendors of
455
+ * 'ENGINE'-enabled devices should write ENGINE implementations with
456
+ * parameterisations that work in this scheme, so that compliant ENGINE-based
457
+ * applications can work consistently with the same configuration for the
458
+ * same ENGINE-enabled devices, across applications.
459
+ */
460
+ int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg,
461
+ int cmd_optional);
462
+
463
+ /*
464
+ * These functions are useful for manufacturing new ENGINE structures. They
465
+ * don't address reference counting at all - one uses them to populate an
466
+ * ENGINE structure with personalised implementations of things prior to
467
+ * using it directly or adding it to the builtin ENGINE list in OpenSSL.
468
+ * These are also here so that the ENGINE structure doesn't have to be
469
+ * exposed and break binary compatibility!
470
+ */
471
+ ENGINE *ENGINE_new(void);
472
+ int ENGINE_free(ENGINE *e);
473
+ int ENGINE_up_ref(ENGINE *e);
474
+ int ENGINE_set_id(ENGINE *e, const char *id);
475
+ int ENGINE_set_name(ENGINE *e, const char *name);
476
+ int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);
477
+ int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth);
478
+ int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth);
479
+ int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth);
480
+ int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth);
481
+ int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f);
482
+ int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f);
483
+ int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f);
484
+ int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f);
485
+ int ENGINE_set_load_privkey_function(ENGINE *e,
486
+ ENGINE_LOAD_KEY_PTR loadpriv_f);
487
+ int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f);
488
+ int ENGINE_set_load_ssl_client_cert_function(ENGINE *e,
489
+ ENGINE_SSL_CLIENT_CERT_PTR
490
+ loadssl_f);
491
+ int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f);
492
+ int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f);
493
+ int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f);
494
+ int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f);
495
+ int ENGINE_set_flags(ENGINE *e, int flags);
496
+ int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns);
497
+ /* These functions allow control over any per-structure ENGINE data. */
498
+ #define ENGINE_get_ex_new_index(l, p, newf, dupf, freef) \
499
+ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, l, p, newf, dupf, freef)
500
+ int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg);
501
+ void *ENGINE_get_ex_data(const ENGINE *e, int idx);
502
+
503
+ #if OPENSSL_API_COMPAT < 0x10100000L
504
+ /*
505
+ * This function previously cleaned up anything that needs it. Auto-deinit will
506
+ * now take care of it so it is no longer required to call this function.
507
+ */
508
+ # define ENGINE_cleanup() while(0) continue
509
+ #endif
510
+
511
+ /*
512
+ * These return values from within the ENGINE structure. These can be useful
513
+ * with functional references as well as structural references - it depends
514
+ * which you obtained. Using the result for functional purposes if you only
515
+ * obtained a structural reference may be problematic!
516
+ */
517
+ const char *ENGINE_get_id(const ENGINE *e);
518
+ const char *ENGINE_get_name(const ENGINE *e);
519
+ const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e);
520
+ const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e);
521
+ const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e);
522
+ const DH_METHOD *ENGINE_get_DH(const ENGINE *e);
523
+ const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e);
524
+ ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e);
525
+ ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e);
526
+ ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e);
527
+ ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e);
528
+ ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e);
529
+ ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e);
530
+ ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE
531
+ *e);
532
+ ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e);
533
+ ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e);
534
+ ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e);
535
+ ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e);
536
+ const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid);
537
+ const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid);
538
+ const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid);
539
+ const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid);
540
+ const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e,
541
+ const char *str,
542
+ int len);
543
+ const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe,
544
+ const char *str,
545
+ int len);
546
+ const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e);
547
+ int ENGINE_get_flags(const ENGINE *e);
548
+
549
+ /*
550
+ * FUNCTIONAL functions. These functions deal with ENGINE structures that
551
+ * have (or will) be initialised for use. Broadly speaking, the structural
552
+ * functions are useful for iterating the list of available engine types,
553
+ * creating new engine types, and other "list" operations. These functions
554
+ * actually deal with ENGINEs that are to be used. As such these functions
555
+ * can fail (if applicable) when particular engines are unavailable - eg. if
556
+ * a hardware accelerator is not attached or not functioning correctly. Each
557
+ * ENGINE has 2 reference counts; structural and functional. Every time a
558
+ * functional reference is obtained or released, a corresponding structural
559
+ * reference is automatically obtained or released too.
560
+ */
561
+
562
+ /*
563
+ * Initialise a engine type for use (or up its reference count if it's
564
+ * already in use). This will fail if the engine is not currently operational
565
+ * and cannot initialise.
566
+ */
567
+ int ENGINE_init(ENGINE *e);
568
+ /*
569
+ * Free a functional reference to a engine type. This does not require a
570
+ * corresponding call to ENGINE_free as it also releases a structural
571
+ * reference.
572
+ */
573
+ int ENGINE_finish(ENGINE *e);
574
+
575
+ /*
576
+ * The following functions handle keys that are stored in some secondary
577
+ * location, handled by the engine. The storage may be on a card or
578
+ * whatever.
579
+ */
580
+ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
581
+ UI_METHOD *ui_method, void *callback_data);
582
+ EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,
583
+ UI_METHOD *ui_method, void *callback_data);
584
+ int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s,
585
+ STACK_OF(X509_NAME) *ca_dn, X509 **pcert,
586
+ EVP_PKEY **ppkey, STACK_OF(X509) **pother,
587
+ UI_METHOD *ui_method, void *callback_data);
588
+
589
+ /*
590
+ * This returns a pointer for the current ENGINE structure that is (by
591
+ * default) performing any RSA operations. The value returned is an
592
+ * incremented reference, so it should be free'd (ENGINE_finish) before it is
593
+ * discarded.
594
+ */
595
+ ENGINE *ENGINE_get_default_RSA(void);
596
+ /* Same for the other "methods" */
597
+ ENGINE *ENGINE_get_default_DSA(void);
598
+ ENGINE *ENGINE_get_default_EC(void);
599
+ ENGINE *ENGINE_get_default_DH(void);
600
+ ENGINE *ENGINE_get_default_RAND(void);
601
+ /*
602
+ * These functions can be used to get a functional reference to perform
603
+ * ciphering or digesting corresponding to "nid".
604
+ */
605
+ ENGINE *ENGINE_get_cipher_engine(int nid);
606
+ ENGINE *ENGINE_get_digest_engine(int nid);
607
+ ENGINE *ENGINE_get_pkey_meth_engine(int nid);
608
+ ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid);
609
+
610
+ /*
611
+ * This sets a new default ENGINE structure for performing RSA operations. If
612
+ * the result is non-zero (success) then the ENGINE structure will have had
613
+ * its reference count up'd so the caller should still free their own
614
+ * reference 'e'.
615
+ */
616
+ int ENGINE_set_default_RSA(ENGINE *e);
617
+ int ENGINE_set_default_string(ENGINE *e, const char *def_list);
618
+ /* Same for the other "methods" */
619
+ int ENGINE_set_default_DSA(ENGINE *e);
620
+ int ENGINE_set_default_EC(ENGINE *e);
621
+ int ENGINE_set_default_DH(ENGINE *e);
622
+ int ENGINE_set_default_RAND(ENGINE *e);
623
+ int ENGINE_set_default_ciphers(ENGINE *e);
624
+ int ENGINE_set_default_digests(ENGINE *e);
625
+ int ENGINE_set_default_pkey_meths(ENGINE *e);
626
+ int ENGINE_set_default_pkey_asn1_meths(ENGINE *e);
627
+
628
+ /*
629
+ * The combination "set" - the flags are bitwise "OR"d from the
630
+ * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()"
631
+ * function, this function can result in unnecessary static linkage. If your
632
+ * application requires only specific functionality, consider using more
633
+ * selective functions.
634
+ */
635
+ int ENGINE_set_default(ENGINE *e, unsigned int flags);
636
+
637
+ void ENGINE_add_conf_module(void);
638
+
639
+ /* Deprecated functions ... */
640
+ /* int ENGINE_clear_defaults(void); */
641
+
642
+ /**************************/
643
+ /* DYNAMIC ENGINE SUPPORT */
644
+ /**************************/
645
+
646
+ /* Binary/behaviour compatibility levels */
647
+ # define OSSL_DYNAMIC_VERSION (unsigned long)0x00030000
648
+ /*
649
+ * Binary versions older than this are too old for us (whether we're a loader
650
+ * or a loadee)
651
+ */
652
+ # define OSSL_DYNAMIC_OLDEST (unsigned long)0x00030000
653
+
654
+ /*
655
+ * When compiling an ENGINE entirely as an external shared library, loadable
656
+ * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns'
657
+ * structure type provides the calling application's (or library's) error
658
+ * functionality and memory management function pointers to the loaded
659
+ * library. These should be used/set in the loaded library code so that the
660
+ * loading application's 'state' will be used/changed in all operations. The
661
+ * 'static_state' pointer allows the loaded library to know if it shares the
662
+ * same static data as the calling application (or library), and thus whether
663
+ * these callbacks need to be set or not.
664
+ */
665
+ typedef void *(*dyn_MEM_malloc_fn) (size_t, const char *, int);
666
+ typedef void *(*dyn_MEM_realloc_fn) (void *, size_t, const char *, int);
667
+ typedef void (*dyn_MEM_free_fn) (void *, const char *, int);
668
+ typedef struct st_dynamic_MEM_fns {
669
+ dyn_MEM_malloc_fn malloc_fn;
670
+ dyn_MEM_realloc_fn realloc_fn;
671
+ dyn_MEM_free_fn free_fn;
672
+ } dynamic_MEM_fns;
673
+ /*
674
+ * FIXME: Perhaps the memory and locking code (crypto.h) should declare and
675
+ * use these types so we (and any other dependent code) can simplify a bit??
676
+ */
677
+ /* The top-level structure */
678
+ typedef struct st_dynamic_fns {
679
+ void *static_state;
680
+ dynamic_MEM_fns mem_fns;
681
+ } dynamic_fns;
682
+
683
+ /*
684
+ * The version checking function should be of this prototype. NB: The
685
+ * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading
686
+ * code. If this function returns zero, it indicates a (potential) version
687
+ * incompatibility and the loaded library doesn't believe it can proceed.
688
+ * Otherwise, the returned value is the (latest) version supported by the
689
+ * loading library. The loader may still decide that the loaded code's
690
+ * version is unsatisfactory and could veto the load. The function is
691
+ * expected to be implemented with the symbol name "v_check", and a default
692
+ * implementation can be fully instantiated with
693
+ * IMPLEMENT_DYNAMIC_CHECK_FN().
694
+ */
695
+ typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version);
696
+ # define IMPLEMENT_DYNAMIC_CHECK_FN() \
697
+ OPENSSL_EXPORT unsigned long v_check(unsigned long v); \
698
+ OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \
699
+ if (v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \
700
+ return 0; }
701
+
702
+ /*
703
+ * This function is passed the ENGINE structure to initialise with its own
704
+ * function and command settings. It should not adjust the structural or
705
+ * functional reference counts. If this function returns zero, (a) the load
706
+ * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto
707
+ * the structure, and (c) the shared library will be unloaded. So
708
+ * implementations should do their own internal cleanup in failure
709
+ * circumstances otherwise they could leak. The 'id' parameter, if non-NULL,
710
+ * represents the ENGINE id that the loader is looking for. If this is NULL,
711
+ * the shared library can choose to return failure or to initialise a
712
+ * 'default' ENGINE. If non-NULL, the shared library must initialise only an
713
+ * ENGINE matching the passed 'id'. The function is expected to be
714
+ * implemented with the symbol name "bind_engine". A standard implementation
715
+ * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter
716
+ * 'fn' is a callback function that populates the ENGINE structure and
717
+ * returns an int value (zero for failure). 'fn' should have prototype;
718
+ * [static] int fn(ENGINE *e, const char *id);
719
+ */
720
+ typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id,
721
+ const dynamic_fns *fns);
722
+ # define IMPLEMENT_DYNAMIC_BIND_FN(fn) \
723
+ OPENSSL_EXPORT \
724
+ int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \
725
+ OPENSSL_EXPORT \
726
+ int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \
727
+ if (ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \
728
+ CRYPTO_set_mem_functions(fns->mem_fns.malloc_fn, \
729
+ fns->mem_fns.realloc_fn, \
730
+ fns->mem_fns.free_fn); \
731
+ skip_cbs: \
732
+ if (!fn(e, id)) return 0; \
733
+ return 1; }
734
+
735
+ /*
736
+ * If the loading application (or library) and the loaded ENGINE library
737
+ * share the same static data (eg. they're both dynamically linked to the
738
+ * same libcrypto.so) we need a way to avoid trying to set system callbacks -
739
+ * this would fail, and for the same reason that it's unnecessary to try. If
740
+ * the loaded ENGINE has (or gets from through the loader) its own copy of
741
+ * the libcrypto static data, we will need to set the callbacks. The easiest
742
+ * way to detect this is to have a function that returns a pointer to some
743
+ * static data and let the loading application and loaded ENGINE compare
744
+ * their respective values.
745
+ */
746
+ void *ENGINE_get_static_state(void);
747
+
748
+ # if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
749
+ DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void))
750
+ # endif
751
+
752
+ /* BEGIN ERROR CODES */
753
+ /*
754
+ * The following lines are auto generated by the script mkerr.pl. Any changes
755
+ * made after this point may be overwritten when the script is next run.
756
+ */
757
+
758
+ int ERR_load_ENGINE_strings(void);
759
+
760
+ /* Error codes for the ENGINE functions. */
761
+
762
+ /* Function codes. */
763
+ # define ENGINE_F_DYNAMIC_CTRL 180
764
+ # define ENGINE_F_DYNAMIC_GET_DATA_CTX 181
765
+ # define ENGINE_F_DYNAMIC_LOAD 182
766
+ # define ENGINE_F_DYNAMIC_SET_DATA_CTX 183
767
+ # define ENGINE_F_ENGINE_ADD 105
768
+ # define ENGINE_F_ENGINE_BY_ID 106
769
+ # define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170
770
+ # define ENGINE_F_ENGINE_CTRL 142
771
+ # define ENGINE_F_ENGINE_CTRL_CMD 178
772
+ # define ENGINE_F_ENGINE_CTRL_CMD_STRING 171
773
+ # define ENGINE_F_ENGINE_FINISH 107
774
+ # define ENGINE_F_ENGINE_GET_CIPHER 185
775
+ # define ENGINE_F_ENGINE_GET_DIGEST 186
776
+ # define ENGINE_F_ENGINE_GET_FIRST 195
777
+ # define ENGINE_F_ENGINE_GET_LAST 196
778
+ # define ENGINE_F_ENGINE_GET_NEXT 115
779
+ # define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193
780
+ # define ENGINE_F_ENGINE_GET_PKEY_METH 192
781
+ # define ENGINE_F_ENGINE_GET_PREV 116
782
+ # define ENGINE_F_ENGINE_INIT 119
783
+ # define ENGINE_F_ENGINE_LIST_ADD 120
784
+ # define ENGINE_F_ENGINE_LIST_REMOVE 121
785
+ # define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150
786
+ # define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151
787
+ # define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194
788
+ # define ENGINE_F_ENGINE_NEW 122
789
+ # define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 197
790
+ # define ENGINE_F_ENGINE_REMOVE 123
791
+ # define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189
792
+ # define ENGINE_F_ENGINE_SET_ID 129
793
+ # define ENGINE_F_ENGINE_SET_NAME 130
794
+ # define ENGINE_F_ENGINE_TABLE_REGISTER 184
795
+ # define ENGINE_F_ENGINE_UNLOCKED_FINISH 191
796
+ # define ENGINE_F_ENGINE_UP_REF 190
797
+ # define ENGINE_F_INT_CTRL_HELPER 172
798
+ # define ENGINE_F_INT_ENGINE_CONFIGURE 188
799
+ # define ENGINE_F_INT_ENGINE_MODULE_INIT 187
800
+
801
+ /* Reason codes. */
802
+ # define ENGINE_R_ALREADY_LOADED 100
803
+ # define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133
804
+ # define ENGINE_R_CMD_NOT_EXECUTABLE 134
805
+ # define ENGINE_R_COMMAND_TAKES_INPUT 135
806
+ # define ENGINE_R_COMMAND_TAKES_NO_INPUT 136
807
+ # define ENGINE_R_CONFLICTING_ENGINE_ID 103
808
+ # define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119
809
+ # define ENGINE_R_DSO_FAILURE 104
810
+ # define ENGINE_R_DSO_NOT_FOUND 132
811
+ # define ENGINE_R_ENGINES_SECTION_ERROR 148
812
+ # define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102
813
+ # define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105
814
+ # define ENGINE_R_ENGINE_SECTION_ERROR 149
815
+ # define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128
816
+ # define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129
817
+ # define ENGINE_R_FINISH_FAILED 106
818
+ # define ENGINE_R_ID_OR_NAME_MISSING 108
819
+ # define ENGINE_R_INIT_FAILED 109
820
+ # define ENGINE_R_INTERNAL_LIST_ERROR 110
821
+ # define ENGINE_R_INVALID_ARGUMENT 143
822
+ # define ENGINE_R_INVALID_CMD_NAME 137
823
+ # define ENGINE_R_INVALID_CMD_NUMBER 138
824
+ # define ENGINE_R_INVALID_INIT_VALUE 151
825
+ # define ENGINE_R_INVALID_STRING 150
826
+ # define ENGINE_R_NOT_INITIALISED 117
827
+ # define ENGINE_R_NOT_LOADED 112
828
+ # define ENGINE_R_NO_CONTROL_FUNCTION 120
829
+ # define ENGINE_R_NO_INDEX 144
830
+ # define ENGINE_R_NO_LOAD_FUNCTION 125
831
+ # define ENGINE_R_NO_REFERENCE 130
832
+ # define ENGINE_R_NO_SUCH_ENGINE 116
833
+ # define ENGINE_R_UNIMPLEMENTED_CIPHER 146
834
+ # define ENGINE_R_UNIMPLEMENTED_DIGEST 147
835
+ # define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101
836
+ # define ENGINE_R_VERSION_INCOMPATIBILITY 145
837
+
838
+ # ifdef __cplusplus
839
+ }
840
+ # endif
841
+ # endif
842
+ #endif