zeroc-ice 3.7.10 → 3.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Connection.cpp +536 -0
  3. data/dist/IceRuby/Endpoint.cpp +344 -0
  4. data/dist/IceRuby/ImplicitContext.cpp +148 -0
  5. data/dist/IceRuby/Logger.cpp +151 -0
  6. data/dist/IceRuby/Operation.cpp +665 -0
  7. data/dist/IceRuby/Properties.cpp +369 -0
  8. data/dist/IceRuby/Types.cpp +3336 -0
  9. data/dist/IceRuby/Types.h +604 -0
  10. data/dist/IceRuby/ValueFactoryManager.cpp +445 -0
  11. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +74 -0
  12. data/dist/ice/cpp/include/Ice/Initialize.h +957 -0
  13. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +669 -0
  14. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +868 -0
  15. data/dist/ice/cpp/include/Ice/Proxy.h +5171 -0
  16. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +90 -0
  17. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +1889 -0
  18. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  19. data/dist/ice/cpp/include/IceUtil/Cond.h +317 -0
  20. data/dist/ice/cpp/include/IceUtil/Config.h +392 -0
  21. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +96 -0
  22. data/dist/ice/cpp/include/IceUtil/InputUtil.h +42 -0
  23. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +37 -0
  24. data/dist/ice/cpp/include/IceUtil/Timer.h +153 -0
  25. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +475 -0
  26. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +1430 -0
  27. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +147 -0
  28. data/dist/ice/cpp/include/generated/Glacier2/Router.h +3260 -0
  29. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +125 -0
  30. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +223 -0
  31. data/dist/ice/cpp/include/generated/Glacier2/Session.h +5894 -0
  32. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  33. data/dist/ice/cpp/include/generated/Ice/Communicator.h +1162 -0
  34. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +101 -0
  35. data/dist/ice/cpp/include/generated/Ice/Connection.h +1703 -0
  36. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  37. data/dist/ice/cpp/include/generated/Ice/Current.h +322 -0
  38. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +979 -0
  39. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  40. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  41. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +80 -0
  42. data/dist/ice/cpp/include/generated/Ice/Identity.h +264 -0
  43. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +284 -0
  44. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +101 -0
  45. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +1203 -0
  46. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  47. data/dist/ice/cpp/include/generated/Ice/LocalException.h +7437 -0
  48. data/dist/ice/cpp/include/generated/Ice/Locator.h +3898 -0
  49. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  50. data/dist/ice/cpp/include/generated/Ice/Logger.h +237 -0
  51. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +101 -0
  52. data/dist/ice/cpp/include/generated/Ice/Metrics.h +4769 -0
  53. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +1181 -0
  54. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +101 -0
  55. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +203 -0
  56. data/dist/ice/cpp/include/generated/Ice/Plugin.h +318 -0
  57. data/dist/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  58. data/dist/ice/cpp/include/generated/Ice/Process.h +977 -0
  59. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  60. data/dist/ice/cpp/include/generated/Ice/Properties.h +452 -0
  61. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1366 -0
  62. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  63. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +2707 -0
  64. data/dist/ice/cpp/include/generated/Ice/Router.h +1850 -0
  65. data/dist/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  66. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +305 -0
  67. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +101 -0
  68. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +84 -0
  69. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +330 -0
  70. data/dist/ice/cpp/include/generated/Ice/Version.h +357 -0
  71. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +3269 -0
  72. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +33773 -0
  73. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +5254 -0
  74. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +2834 -0
  75. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +824 -0
  76. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +635 -0
  77. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +5089 -0
  78. data/dist/ice/cpp/include/generated/IceGrid/Session.h +2240 -0
  79. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +800 -0
  80. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +325 -0
  81. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +2891 -0
  82. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +228 -0
  83. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  84. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +186 -0
  85. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +6627 -0
  86. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +665 -0
  87. data/dist/ice/cpp/src/Ice/Application.cpp +661 -0
  88. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +171 -0
  89. data/dist/ice/cpp/src/Ice/DLLMain.cpp +50 -0
  90. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +189 -0
  91. data/dist/ice/cpp/src/Ice/EndpointI.cpp +98 -0
  92. data/dist/ice/cpp/src/Ice/InputStream.cpp +2741 -0
  93. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +694 -0
  94. data/dist/ice/cpp/src/Ice/Network.cpp +2249 -0
  95. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1530 -0
  96. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1322 -0
  97. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
  98. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +1428 -0
  99. data/dist/ice/cpp/src/Ice/PropertyNames.h +78 -0
  100. data/dist/ice/cpp/src/Ice/Proxy.cpp +1604 -0
  101. data/dist/ice/cpp/src/Ice/Selector.cpp +1535 -0
  102. data/dist/ice/cpp/src/Ice/Service.cpp +1883 -0
  103. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1292 -0
  104. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +49 -0
  105. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +79 -0
  106. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +61 -0
  107. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +155 -0
  108. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +61 -0
  109. data/dist/ice/cpp/src/Ice/generated/Current.cpp +62 -0
  110. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +147 -0
  111. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +61 -0
  112. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +51 -0
  113. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +49 -0
  114. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +57 -0
  115. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +75 -0
  116. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +61 -0
  117. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +188 -0
  118. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +66 -0
  119. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +3262 -0
  120. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +2042 -0
  121. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +63 -0
  122. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +73 -0
  123. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +61 -0
  124. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +2352 -0
  125. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +79 -0
  126. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +61 -0
  127. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +75 -0
  128. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +87 -0
  129. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +61 -0
  130. data/dist/ice/cpp/src/Ice/generated/Process.cpp +471 -0
  131. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +63 -0
  132. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +78 -0
  133. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +603 -0
  134. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +63 -0
  135. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +1171 -0
  136. data/dist/ice/cpp/src/Ice/generated/Router.cpp +977 -0
  137. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +63 -0
  138. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +75 -0
  139. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +61 -0
  140. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +49 -0
  141. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +83 -0
  142. data/dist/ice/cpp/src/Ice/generated/Version.cpp +57 -0
  143. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +154 -0
  144. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +49 -0
  145. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +146 -0
  146. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +52 -0
  147. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +477 -0
  148. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +156 -0
  149. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +570 -0
  150. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +93 -0
  151. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +1889 -0
  152. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +915 -0
  153. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  154. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +730 -0
  155. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1092 -0
  156. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +246 -0
  157. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +719 -0
  158. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +868 -0
  159. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +75 -0
  160. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +61 -0
  161. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +75 -0
  162. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +690 -0
  163. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +5183 -0
  164. data/dist/ice/cpp/src/slice2rb/Main.cpp +35 -0
  165. data/dist/ice/mcpp/directive.c +1407 -0
  166. data/dist/ice/mcpp/internal.H +530 -0
  167. data/dist/ice/mcpp/mcpp_main.c +792 -0
  168. data/dist/ice/mcpp/support.c +1985 -0
  169. data/dist/ice/mcpp/system.c +2741 -0
  170. data/dist/ice/slice/Ice/Connection.ice +516 -0
  171. data/dist/ice/slice/Ice/Locator.ice +239 -0
  172. data/dist/ice/slice/Ice/Metrics.ice +436 -0
  173. data/dist/ice/slice/Ice/ObjectAdapter.ice +710 -0
  174. data/dist/ice/slice/Ice/Router.ice +103 -0
  175. data/dist/ice/slice/IceGrid/PluginFacade.ice +329 -0
  176. data/dist/ice/slice/IceStorm/IceStorm.ice +414 -0
  177. data/dist/lib/Glacier2/Metrics.rb +56 -0
  178. data/dist/lib/Glacier2/PermissionsVerifier.rb +93 -0
  179. data/dist/lib/Glacier2/PermissionsVerifierF.rb +30 -0
  180. data/dist/lib/Glacier2/Router.rb +95 -0
  181. data/dist/lib/Glacier2/RouterF.rb +25 -0
  182. data/dist/lib/Glacier2/SSLInfo.rb +72 -0
  183. data/dist/lib/Glacier2/Session.rb +247 -0
  184. data/dist/lib/Ice/BuiltinSequences.rb +60 -0
  185. data/dist/lib/Ice/Communicator.rb +87 -0
  186. data/dist/lib/Ice/CommunicatorF.rb +24 -0
  187. data/dist/lib/Ice/Connection.rb +413 -0
  188. data/dist/lib/Ice/ConnectionF.rb +32 -0
  189. data/dist/lib/Ice/Current.rb +141 -0
  190. data/dist/lib/Ice/Endpoint.rb +187 -0
  191. data/dist/lib/Ice/EndpointF.rb +48 -0
  192. data/dist/lib/Ice/EndpointTypes.rb +69 -0
  193. data/dist/lib/Ice/FacetMap.rb +24 -0
  194. data/dist/lib/Ice/Identity.rb +63 -0
  195. data/dist/lib/Ice/ImplicitContext.rb +26 -0
  196. data/dist/lib/Ice/ImplicitContextF.rb +24 -0
  197. data/dist/lib/Ice/Instrumentation.rb +169 -0
  198. data/dist/lib/Ice/InstrumentationF.rb +31 -0
  199. data/dist/lib/Ice/LocalException.rb +1031 -0
  200. data/dist/lib/Ice/Locator.rb +196 -0
  201. data/dist/lib/Ice/LocatorF.rb +30 -0
  202. data/dist/lib/Ice/Logger.rb +24 -0
  203. data/dist/lib/Ice/LoggerF.rb +24 -0
  204. data/dist/lib/Ice/Metrics.rb +337 -0
  205. data/dist/lib/Ice/ObjectAdapter.rb +29 -0
  206. data/dist/lib/Ice/ObjectAdapterF.rb +24 -0
  207. data/dist/lib/Ice/ObjectFactory.rb +24 -0
  208. data/dist/lib/Ice/Plugin.rb +30 -0
  209. data/dist/lib/Ice/PluginF.rb +28 -0
  210. data/dist/lib/Ice/Process.rb +53 -0
  211. data/dist/lib/Ice/ProcessF.rb +25 -0
  212. data/dist/lib/Ice/Properties.rb +25 -0
  213. data/dist/lib/Ice/PropertiesAdmin.rb +63 -0
  214. data/dist/lib/Ice/PropertiesF.rb +29 -0
  215. data/dist/lib/Ice/RemoteLogger.rb +207 -0
  216. data/dist/lib/Ice/Router.rb +87 -0
  217. data/dist/lib/Ice/RouterF.rb +25 -0
  218. data/dist/lib/Ice/ServantLocator.rb +26 -0
  219. data/dist/lib/Ice/ServantLocatorF.rb +24 -0
  220. data/dist/lib/Ice/SliceChecksumDict.rb +24 -0
  221. data/dist/lib/Ice/ValueFactory.rb +28 -0
  222. data/dist/lib/Ice/Version.rb +90 -0
  223. data/dist/lib/IceBox/IceBox.rb +164 -0
  224. data/dist/lib/IceGrid/Admin.rb +1196 -0
  225. data/dist/lib/IceGrid/Descriptor.rb +1034 -0
  226. data/dist/lib/IceGrid/Exception.rb +376 -0
  227. data/dist/lib/IceGrid/FileParser.rb +65 -0
  228. data/dist/lib/IceGrid/PluginFacade.rb +35 -0
  229. data/dist/lib/IceGrid/Registry.rb +209 -0
  230. data/dist/lib/IceGrid/Session.rb +71 -0
  231. data/dist/lib/IceGrid/UserAccountMapper.rb +61 -0
  232. data/dist/lib/IcePatch2/FileInfo.rb +115 -0
  233. data/dist/lib/IcePatch2/FileServer.rb +123 -0
  234. data/dist/lib/IceStorm/IceStorm.rb +332 -0
  235. data/dist/lib/IceStorm/Metrics.rb +73 -0
  236. data/extconf.rb +91 -0
  237. data/ice.gemspec +21 -16
  238. metadata +715 -711
  239. data/ICE_LICENSE +0 -48
  240. data/LICENSE +0 -340
  241. data/MCPP_LICENSE +0 -29
  242. data/ext/Connection.cpp +0 -532
  243. data/ext/Endpoint.cpp +0 -340
  244. data/ext/ImplicitContext.cpp +0 -144
  245. data/ext/Logger.cpp +0 -147
  246. data/ext/Operation.cpp +0 -661
  247. data/ext/Properties.cpp +0 -365
  248. data/ext/Types.cpp +0 -3325
  249. data/ext/Types.h +0 -595
  250. data/ext/ValueFactoryManager.cpp +0 -441
  251. data/ext/extconf.rb +0 -97
  252. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  253. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  254. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  255. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  256. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  257. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  258. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  259. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  260. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  261. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  262. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  263. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  264. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  265. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  266. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  267. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  268. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  269. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  270. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  271. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  272. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  273. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  274. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  275. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  276. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  277. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  278. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  279. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  280. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  281. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  282. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  283. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  284. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  285. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  286. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  287. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  288. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  289. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  290. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  291. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  292. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  293. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  294. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  295. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  296. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  297. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  298. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  299. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  300. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  301. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  302. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  303. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  304. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  305. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  306. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  307. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  308. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  309. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  310. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  311. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  312. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  313. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  314. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  315. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  316. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  317. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  318. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  319. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  320. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  321. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  322. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  323. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  324. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  325. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  326. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  327. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  328. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  329. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  330. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  331. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  332. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  333. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  334. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  335. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  336. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  337. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  338. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  339. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  340. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  341. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  342. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  343. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  344. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  345. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  346. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  347. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  348. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  349. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  350. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  351. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  352. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  353. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  354. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  355. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  356. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  357. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  358. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  359. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  360. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  361. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  362. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  363. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  364. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  365. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  366. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  367. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  368. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  369. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  370. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  371. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  372. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  373. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  374. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  375. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  376. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  377. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  378. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  379. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  380. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  381. data/ext/ice/mcpp/LICENSE +0 -29
  382. data/ext/ice/mcpp/Makefile +0 -63
  383. data/ext/ice/mcpp/README.md +0 -32
  384. data/ext/ice/mcpp/directive.c +0 -1404
  385. data/ext/ice/mcpp/internal.H +0 -530
  386. data/ext/ice/mcpp/main.c +0 -792
  387. data/ext/ice/mcpp/mcpp.gyp +0 -88
  388. data/ext/ice/mcpp/support.c +0 -1985
  389. data/ext/ice/mcpp/system.c +0 -2737
  390. data/lib/Glacier2/Metrics.rb +0 -56
  391. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  392. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  393. data/lib/Glacier2/Router.rb +0 -95
  394. data/lib/Glacier2/RouterF.rb +0 -25
  395. data/lib/Glacier2/SSLInfo.rb +0 -72
  396. data/lib/Glacier2/Session.rb +0 -247
  397. data/lib/Ice/BuiltinSequences.rb +0 -60
  398. data/lib/Ice/Communicator.rb +0 -87
  399. data/lib/Ice/CommunicatorF.rb +0 -24
  400. data/lib/Ice/Connection.rb +0 -413
  401. data/lib/Ice/ConnectionF.rb +0 -32
  402. data/lib/Ice/Current.rb +0 -141
  403. data/lib/Ice/Endpoint.rb +0 -187
  404. data/lib/Ice/EndpointF.rb +0 -48
  405. data/lib/Ice/EndpointTypes.rb +0 -69
  406. data/lib/Ice/FacetMap.rb +0 -24
  407. data/lib/Ice/Identity.rb +0 -63
  408. data/lib/Ice/ImplicitContext.rb +0 -26
  409. data/lib/Ice/ImplicitContextF.rb +0 -24
  410. data/lib/Ice/Instrumentation.rb +0 -169
  411. data/lib/Ice/InstrumentationF.rb +0 -31
  412. data/lib/Ice/LocalException.rb +0 -1031
  413. data/lib/Ice/Locator.rb +0 -196
  414. data/lib/Ice/LocatorF.rb +0 -30
  415. data/lib/Ice/Logger.rb +0 -24
  416. data/lib/Ice/LoggerF.rb +0 -24
  417. data/lib/Ice/Metrics.rb +0 -337
  418. data/lib/Ice/ObjectAdapter.rb +0 -29
  419. data/lib/Ice/ObjectAdapterF.rb +0 -24
  420. data/lib/Ice/ObjectFactory.rb +0 -24
  421. data/lib/Ice/Plugin.rb +0 -30
  422. data/lib/Ice/PluginF.rb +0 -28
  423. data/lib/Ice/Process.rb +0 -53
  424. data/lib/Ice/ProcessF.rb +0 -25
  425. data/lib/Ice/Properties.rb +0 -25
  426. data/lib/Ice/PropertiesAdmin.rb +0 -63
  427. data/lib/Ice/PropertiesF.rb +0 -29
  428. data/lib/Ice/RemoteLogger.rb +0 -207
  429. data/lib/Ice/Router.rb +0 -87
  430. data/lib/Ice/RouterF.rb +0 -25
  431. data/lib/Ice/ServantLocator.rb +0 -26
  432. data/lib/Ice/ServantLocatorF.rb +0 -24
  433. data/lib/Ice/SliceChecksumDict.rb +0 -24
  434. data/lib/Ice/ValueFactory.rb +0 -28
  435. data/lib/Ice/Version.rb +0 -90
  436. data/lib/IceBox/IceBox.rb +0 -164
  437. data/lib/IceGrid/Admin.rb +0 -1196
  438. data/lib/IceGrid/Descriptor.rb +0 -1034
  439. data/lib/IceGrid/Exception.rb +0 -376
  440. data/lib/IceGrid/FileParser.rb +0 -65
  441. data/lib/IceGrid/PluginFacade.rb +0 -35
  442. data/lib/IceGrid/Registry.rb +0 -209
  443. data/lib/IceGrid/Session.rb +0 -71
  444. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  445. data/lib/IcePatch2/FileInfo.rb +0 -115
  446. data/lib/IcePatch2/FileServer.rb +0 -123
  447. data/lib/IceStorm/IceStorm.rb +0 -332
  448. data/lib/IceStorm/Metrics.rb +0 -73
  449. data/slice/Ice/Connection.ice +0 -516
  450. data/slice/Ice/Locator.ice +0 -239
  451. data/slice/Ice/Metrics.ice +0 -436
  452. data/slice/Ice/ObjectAdapter.ice +0 -710
  453. data/slice/Ice/Router.ice +0 -103
  454. data/slice/IceBT/ConnectionInfo.ice +0 -59
  455. data/slice/IceBT/EndpointInfo.ice +0 -57
  456. data/slice/IceBT/Types.ice +0 -45
  457. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  458. data/slice/IceGrid/PluginFacade.ice +0 -329
  459. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  460. data/slice/IceIAP/EndpointInfo.ice +0 -68
  461. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  462. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  463. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  464. data/slice/IceSSL/EndpointInfo.ice +0 -45
  465. data/slice/IceStorm/IceStorm.ice +0 -414
  466. /data/{ext → dist/IceRuby}/Communicator.cpp +0 -0
  467. /data/{ext → dist/IceRuby}/Communicator.h +0 -0
  468. /data/{ext → dist/IceRuby}/Config.h +0 -0
  469. /data/{ext → dist/IceRuby}/Connection.h +0 -0
  470. /data/{ext → dist/IceRuby}/Endpoint.h +0 -0
  471. /data/{ext → dist/IceRuby}/ImplicitContext.h +0 -0
  472. /data/{ext → dist/IceRuby}/Init.cpp +0 -0
  473. /data/{ext → dist/IceRuby}/Logger.h +0 -0
  474. /data/{ext → dist/IceRuby}/Operation.h +0 -0
  475. /data/{ext → dist/IceRuby}/Properties.h +0 -0
  476. /data/{ext → dist/IceRuby}/Proxy.cpp +0 -0
  477. /data/{ext → dist/IceRuby}/Proxy.h +0 -0
  478. /data/{ext → dist/IceRuby}/Slice.cpp +0 -0
  479. /data/{ext → dist/IceRuby}/Slice.h +0 -0
  480. /data/{ext → dist/IceRuby}/Util.cpp +0 -0
  481. /data/{ext → dist/IceRuby}/Util.h +0 -0
  482. /data/{ext → dist/IceRuby}/ValueFactoryManager.h +0 -0
  483. /data/{ext → dist}/ice/cpp/include/Ice/Application.h +0 -0
  484. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResult.h +0 -0
  485. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResultF.h +0 -0
  486. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -0
  487. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -0
  488. /data/{ext → dist}/ice/cpp/include/Ice/Buffer.h +0 -0
  489. /data/{ext → dist}/ice/cpp/include/Ice/CommunicatorAsync.h +0 -0
  490. /data/{ext → dist}/ice/cpp/include/Ice/Comparable.h +0 -0
  491. /data/{ext → dist}/ice/cpp/include/Ice/Config.h +0 -0
  492. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionAsync.h +0 -0
  493. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionIF.h +0 -0
  494. /data/{ext → dist}/ice/cpp/include/Ice/ConsoleUtil.h +0 -0
  495. /data/{ext → dist}/ice/cpp/include/Ice/DefaultValueFactory.h +0 -0
  496. /data/{ext → dist}/ice/cpp/include/Ice/DispatchInterceptor.h +0 -0
  497. /data/{ext → dist}/ice/cpp/include/Ice/Dispatcher.h +0 -0
  498. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibrary.h +0 -0
  499. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibraryF.h +0 -0
  500. /data/{ext → dist}/ice/cpp/include/Ice/Exception.h +0 -0
  501. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTable.h +0 -0
  502. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTableInit.h +0 -0
  503. /data/{ext → dist}/ice/cpp/include/Ice/Format.h +0 -0
  504. /data/{ext → dist}/ice/cpp/include/Ice/Functional.h +0 -0
  505. /data/{ext → dist}/ice/cpp/include/Ice/GCObject.h +0 -0
  506. /data/{ext → dist}/ice/cpp/include/Ice/Handle.h +0 -0
  507. /data/{ext → dist}/ice/cpp/include/Ice/Ice.h +0 -0
  508. /data/{ext → dist}/ice/cpp/include/Ice/IconvStringConverter.h +0 -0
  509. /data/{ext → dist}/ice/cpp/include/Ice/Incoming.h +0 -0
  510. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsync.h +0 -0
  511. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsyncF.h +0 -0
  512. /data/{ext → dist}/ice/cpp/include/Ice/InputStream.h +0 -0
  513. /data/{ext → dist}/ice/cpp/include/Ice/InstanceF.h +0 -0
  514. /data/{ext → dist}/ice/cpp/include/Ice/InterfaceByValue.h +0 -0
  515. /data/{ext → dist}/ice/cpp/include/Ice/LocalObject.h +0 -0
  516. /data/{ext → dist}/ice/cpp/include/Ice/LocalObjectF.h +0 -0
  517. /data/{ext → dist}/ice/cpp/include/Ice/LoggerUtil.h +0 -0
  518. /data/{ext → dist}/ice/cpp/include/Ice/MetricsAdminI.h +0 -0
  519. /data/{ext → dist}/ice/cpp/include/Ice/MetricsFunctional.h +0 -0
  520. /data/{ext → dist}/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -0
  521. /data/{ext → dist}/ice/cpp/include/Ice/Object.h +0 -0
  522. /data/{ext → dist}/ice/cpp/include/Ice/ObjectF.h +0 -0
  523. /data/{ext → dist}/ice/cpp/include/Ice/ObserverHelper.h +0 -0
  524. /data/{ext → dist}/ice/cpp/include/Ice/Optional.h +0 -0
  525. /data/{ext → dist}/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -0
  526. /data/{ext → dist}/ice/cpp/include/Ice/OutputStream.h +0 -0
  527. /data/{ext → dist}/ice/cpp/include/Ice/Protocol.h +0 -0
  528. /data/{ext → dist}/ice/cpp/include/Ice/ProxyF.h +0 -0
  529. /data/{ext → dist}/ice/cpp/include/Ice/ProxyFactoryF.h +0 -0
  530. /data/{ext → dist}/ice/cpp/include/Ice/ProxyHandle.h +0 -0
  531. /data/{ext → dist}/ice/cpp/include/Ice/ReferenceF.h +0 -0
  532. /data/{ext → dist}/ice/cpp/include/Ice/RegisterPlugins.h +0 -0
  533. /data/{ext → dist}/ice/cpp/include/Ice/RequestHandlerF.h +0 -0
  534. /data/{ext → dist}/ice/cpp/include/Ice/ResponseHandlerF.h +0 -0
  535. /data/{ext → dist}/ice/cpp/include/Ice/SHA1.h +0 -0
  536. /data/{ext → dist}/ice/cpp/include/Ice/ServantManagerF.h +0 -0
  537. /data/{ext → dist}/ice/cpp/include/Ice/Service.h +0 -0
  538. /data/{ext → dist}/ice/cpp/include/Ice/SliceChecksums.h +0 -0
  539. /data/{ext → dist}/ice/cpp/include/Ice/SlicedData.h +0 -0
  540. /data/{ext → dist}/ice/cpp/include/Ice/SlicedDataF.h +0 -0
  541. /data/{ext → dist}/ice/cpp/include/Ice/StreamHelpers.h +0 -0
  542. /data/{ext → dist}/ice/cpp/include/Ice/StringConverter.h +0 -0
  543. /data/{ext → dist}/ice/cpp/include/Ice/ThreadPoolF.h +0 -0
  544. /data/{ext → dist}/ice/cpp/include/Ice/UUID.h +0 -0
  545. /data/{ext → dist}/ice/cpp/include/Ice/UniquePtr.h +0 -0
  546. /data/{ext → dist}/ice/cpp/include/Ice/UniqueRef.h +0 -0
  547. /data/{ext → dist}/ice/cpp/include/Ice/Value.h +0 -0
  548. /data/{ext → dist}/ice/cpp/include/Ice/ValueF.h +0 -0
  549. /data/{ext → dist}/ice/cpp/include/IceSSL/Config.h +0 -0
  550. /data/{ext → dist}/ice/cpp/include/IceSSL/IceSSL.h +0 -0
  551. /data/{ext → dist}/ice/cpp/include/IceSSL/OpenSSL.h +0 -0
  552. /data/{ext → dist}/ice/cpp/include/IceSSL/Plugin.h +0 -0
  553. /data/{ext → dist}/ice/cpp/include/IceSSL/SChannel.h +0 -0
  554. /data/{ext → dist}/ice/cpp/include/IceSSL/SecureTransport.h +0 -0
  555. /data/{ext → dist}/ice/cpp/include/IceUtil/Atomic.h +0 -0
  556. /data/{ext → dist}/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -0
  557. /data/{ext → dist}/ice/cpp/include/IceUtil/CountDownLatch.h +0 -0
  558. /data/{ext → dist}/ice/cpp/include/IceUtil/DisableWarnings.h +0 -0
  559. /data/{ext → dist}/ice/cpp/include/IceUtil/Exception.h +0 -0
  560. /data/{ext → dist}/ice/cpp/include/IceUtil/FileUtil.h +0 -0
  561. /data/{ext → dist}/ice/cpp/include/IceUtil/Functional.h +0 -0
  562. /data/{ext → dist}/ice/cpp/include/IceUtil/Handle.h +0 -0
  563. /data/{ext → dist}/ice/cpp/include/IceUtil/IceUtil.h +0 -0
  564. /data/{ext → dist}/ice/cpp/include/IceUtil/Iterator.h +0 -0
  565. /data/{ext → dist}/ice/cpp/include/IceUtil/Lock.h +0 -0
  566. /data/{ext → dist}/ice/cpp/include/IceUtil/Monitor.h +0 -0
  567. /data/{ext → dist}/ice/cpp/include/IceUtil/Mutex.h +0 -0
  568. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexProtocol.h +0 -0
  569. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -0
  570. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -0
  571. /data/{ext → dist}/ice/cpp/include/IceUtil/Optional.h +0 -0
  572. /data/{ext → dist}/ice/cpp/include/IceUtil/Options.h +0 -0
  573. /data/{ext → dist}/ice/cpp/include/IceUtil/OutputUtil.h +0 -0
  574. /data/{ext → dist}/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -0
  575. /data/{ext → dist}/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -0
  576. /data/{ext → dist}/ice/cpp/include/IceUtil/Random.h +0 -0
  577. /data/{ext → dist}/ice/cpp/include/IceUtil/RecMutex.h +0 -0
  578. /data/{ext → dist}/ice/cpp/include/IceUtil/ScannerConfig.h +0 -0
  579. /data/{ext → dist}/ice/cpp/include/IceUtil/ScopedArray.h +0 -0
  580. /data/{ext → dist}/ice/cpp/include/IceUtil/Shared.h +0 -0
  581. /data/{ext → dist}/ice/cpp/include/IceUtil/StopWatch.h +0 -0
  582. /data/{ext → dist}/ice/cpp/include/IceUtil/StringConverter.h +0 -0
  583. /data/{ext → dist}/ice/cpp/include/IceUtil/StringUtil.h +0 -0
  584. /data/{ext → dist}/ice/cpp/include/IceUtil/Thread.h +0 -0
  585. /data/{ext → dist}/ice/cpp/include/IceUtil/ThreadException.h +0 -0
  586. /data/{ext → dist}/ice/cpp/include/IceUtil/Time.h +0 -0
  587. /data/{ext → dist}/ice/cpp/include/IceUtil/UUID.h +0 -0
  588. /data/{ext → dist}/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -0
  589. /data/{ext → dist}/ice/cpp/src/Ice/ACM.cpp +0 -0
  590. /data/{ext → dist}/ice/cpp/src/Ice/ACM.h +0 -0
  591. /data/{ext → dist}/ice/cpp/src/Ice/ACMF.h +0 -0
  592. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.cpp +0 -0
  593. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.h +0 -0
  594. /data/{ext → dist}/ice/cpp/src/Ice/AcceptorF.h +0 -0
  595. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.cpp +0 -0
  596. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.h +0 -0
  597. /data/{ext → dist}/ice/cpp/src/Ice/AsyncResult.cpp +0 -0
  598. /data/{ext → dist}/ice/cpp/src/Ice/Base64.cpp +0 -0
  599. /data/{ext → dist}/ice/cpp/src/Ice/Base64.h +0 -0
  600. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -0
  601. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.h +0 -0
  602. /data/{ext → dist}/ice/cpp/src/Ice/Buffer.cpp +0 -0
  603. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -0
  604. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -0
  605. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.cpp +0 -0
  606. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.h +0 -0
  607. /data/{ext → dist}/ice/cpp/src/Ice/Cond.cpp +0 -0
  608. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -0
  609. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -0
  610. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -0
  611. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -0
  612. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactory.h +0 -0
  613. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -0
  614. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionI.cpp +0 -0
  615. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionI.h +0 -0
  616. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -0
  617. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -0
  618. /data/{ext → dist}/ice/cpp/src/Ice/Connector.cpp +0 -0
  619. /data/{ext → dist}/ice/cpp/src/Ice/Connector.h +0 -0
  620. /data/{ext → dist}/ice/cpp/src/Ice/ConnectorF.h +0 -0
  621. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -0
  622. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -0
  623. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -0
  624. /data/{ext → dist}/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -0
  625. /data/{ext → dist}/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -0
  626. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactory.h +0 -0
  627. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryF.h +0 -0
  628. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -0
  629. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -0
  630. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -0
  631. /data/{ext → dist}/ice/cpp/src/Ice/EndpointI.h +0 -0
  632. /data/{ext → dist}/ice/cpp/src/Ice/EndpointIF.h +0 -0
  633. /data/{ext → dist}/ice/cpp/src/Ice/EventHandler.cpp +0 -0
  634. /data/{ext → dist}/ice/cpp/src/Ice/EventHandler.h +0 -0
  635. /data/{ext → dist}/ice/cpp/src/Ice/EventHandlerF.h +0 -0
  636. /data/{ext → dist}/ice/cpp/src/Ice/Exception.cpp +0 -0
  637. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTable.cpp +0 -0
  638. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -0
  639. /data/{ext → dist}/ice/cpp/src/Ice/GCObject.cpp +0 -0
  640. /data/{ext → dist}/ice/cpp/src/Ice/HashUtil.h +0 -0
  641. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.cpp +0 -0
  642. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.h +0 -0
  643. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointI.cpp +0 -0
  644. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointI.h +0 -0
  645. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointIF.h +0 -0
  646. /data/{ext → dist}/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -0
  647. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -0
  648. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.h +0 -0
  649. /data/{ext → dist}/ice/cpp/src/Ice/Incoming.cpp +0 -0
  650. /data/{ext → dist}/ice/cpp/src/Ice/IncomingAsync.cpp +0 -0
  651. /data/{ext → dist}/ice/cpp/src/Ice/IncomingRequest.h +0 -0
  652. /data/{ext → dist}/ice/cpp/src/Ice/Initialize.cpp +0 -0
  653. /data/{ext → dist}/ice/cpp/src/Ice/Instance.cpp +0 -0
  654. /data/{ext → dist}/ice/cpp/src/Ice/Instance.h +0 -0
  655. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.cpp +0 -0
  656. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.h +0 -0
  657. /data/{ext → dist}/ice/cpp/src/Ice/LocalObject.cpp +0 -0
  658. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.cpp +0 -0
  659. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.h +0 -0
  660. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfoF.h +0 -0
  661. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -0
  662. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.h +0 -0
  663. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.cpp +0 -0
  664. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.h +0 -0
  665. /data/{ext → dist}/ice/cpp/src/Ice/LoggerUtil.cpp +0 -0
  666. /data/{ext → dist}/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -0
  667. /data/{ext → dist}/ice/cpp/src/Ice/Network.h +0 -0
  668. /data/{ext → dist}/ice/cpp/src/Ice/NetworkF.h +0 -0
  669. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.cpp +0 -0
  670. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.h +0 -0
  671. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxyF.h +0 -0
  672. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -0
  673. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.h +0 -0
  674. /data/{ext → dist}/ice/cpp/src/Ice/Object.cpp +0 -0
  675. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -0
  676. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -0
  677. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -0
  678. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterI.h +0 -0
  679. /data/{ext → dist}/ice/cpp/src/Ice/ObserverHelper.cpp +0 -0
  680. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -0
  681. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -0
  682. /data/{ext → dist}/ice/cpp/src/Ice/OutputStream.cpp +0 -0
  683. /data/{ext → dist}/ice/cpp/src/Ice/PluginManagerI.h +0 -0
  684. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -0
  685. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.h +0 -0
  686. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.cpp +0 -0
  687. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.h +0 -0
  688. /data/{ext → dist}/ice/cpp/src/Ice/Protocol.cpp +0 -0
  689. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -0
  690. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.h +0 -0
  691. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -0
  692. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -0
  693. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -0
  694. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -0
  695. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.cpp +0 -0
  696. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.h +0 -0
  697. /data/{ext → dist}/ice/cpp/src/Ice/Reference.cpp +0 -0
  698. /data/{ext → dist}/ice/cpp/src/Ice/Reference.h +0 -0
  699. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -0
  700. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.h +0 -0
  701. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -0
  702. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -0
  703. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -0
  704. /data/{ext → dist}/ice/cpp/src/Ice/ReplyStatus.h +0 -0
  705. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.cpp +0 -0
  706. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.h +0 -0
  707. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -0
  708. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -0
  709. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.cpp +0 -0
  710. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.h +0 -0
  711. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.cpp +0 -0
  712. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.h +0 -0
  713. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueueF.h +0 -0
  714. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.cpp +0 -0
  715. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.h +0 -0
  716. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfoF.h +0 -0
  717. /data/{ext → dist}/ice/cpp/src/Ice/SHA1.cpp +0 -0
  718. /data/{ext → dist}/ice/cpp/src/Ice/Selector.h +0 -0
  719. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.cpp +0 -0
  720. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.h +0 -0
  721. /data/{ext → dist}/ice/cpp/src/Ice/SharedContext.h +0 -0
  722. /data/{ext → dist}/ice/cpp/src/Ice/SliceChecksums.cpp +0 -0
  723. /data/{ext → dist}/ice/cpp/src/Ice/SlicedData.cpp +0 -0
  724. /data/{ext → dist}/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
  725. /data/{ext → dist}/ice/cpp/src/Ice/StreamSocket.h +0 -0
  726. /data/{ext → dist}/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -0
  727. /data/{ext → dist}/ice/cpp/src/Ice/StringUtil.h +0 -0
  728. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.cpp +0 -0
  729. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.h +0 -0
  730. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -0
  731. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.h +0 -0
  732. /data/{ext → dist}/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -0
  733. /data/{ext → dist}/ice/cpp/src/Ice/TcpAcceptor.h +0 -0
  734. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.cpp +0 -0
  735. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.h +0 -0
  736. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -0
  737. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.h +0 -0
  738. /data/{ext → dist}/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -0
  739. /data/{ext → dist}/ice/cpp/src/Ice/TcpTransceiver.h +0 -0
  740. /data/{ext → dist}/ice/cpp/src/Ice/Thread.cpp +0 -0
  741. /data/{ext → dist}/ice/cpp/src/Ice/ThreadPool.h +0 -0
  742. /data/{ext → dist}/ice/cpp/src/Ice/Timer.cpp +0 -0
  743. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.cpp +0 -0
  744. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.h +0 -0
  745. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevelsF.h +0 -0
  746. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.cpp +0 -0
  747. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.h +0 -0
  748. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.cpp +0 -0
  749. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.h +0 -0
  750. /data/{ext → dist}/ice/cpp/src/Ice/TransceiverF.h +0 -0
  751. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.cpp +0 -0
  752. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.h +0 -0
  753. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -0
  754. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.h +0 -0
  755. /data/{ext → dist}/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
  756. /data/{ext → dist}/ice/cpp/src/Ice/UdpTransceiver.h +0 -0
  757. /data/{ext → dist}/ice/cpp/src/Ice/Value.cpp +0 -0
  758. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -0
  759. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -0
  760. /data/{ext → dist}/ice/cpp/src/Ice/VirtualShared.h +0 -0
  761. /data/{ext → dist}/ice/cpp/src/Ice/WSAcceptor.cpp +0 -0
  762. /data/{ext → dist}/ice/cpp/src/Ice/WSAcceptor.h +0 -0
  763. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.cpp +0 -0
  764. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.h +0 -0
  765. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.cpp +0 -0
  766. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.h +0 -0
  767. /data/{ext → dist}/ice/cpp/src/Ice/WSTransceiver.cpp +0 -0
  768. /data/{ext → dist}/ice/cpp/src/Ice/WSTransceiver.h +0 -0
  769. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -0
  770. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.h +0 -0
  771. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -0
  772. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.h +0 -0
  773. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -0
  774. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.h +0 -0
  775. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -0
  776. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -0
  777. /data/{ext → dist}/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -0
  778. /data/{ext → dist}/ice/cpp/src/IceSSL/AcceptorI.h +0 -0
  779. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.cpp +0 -0
  780. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.h +0 -0
  781. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -0
  782. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.h +0 -0
  783. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.cpp +0 -0
  784. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.h +0 -0
  785. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.cpp +0 -0
  786. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.h +0 -0
  787. /data/{ext → dist}/ice/cpp/src/IceSSL/InstanceF.h +0 -0
  788. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -0
  789. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -0
  790. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -0
  791. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -0
  792. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -0
  793. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -0
  794. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -0
  795. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -0
  796. /data/{ext → dist}/ice/cpp/src/IceSSL/PluginI.h +0 -0
  797. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.cpp +0 -0
  798. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.h +0 -0
  799. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -0
  800. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -0
  801. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.h +0 -0
  802. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -0
  803. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -0
  804. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -0
  805. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -0
  806. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -0
  807. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.h +0 -0
  808. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngineF.h +0 -0
  809. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -0
  810. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -0
  811. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -0
  812. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -0
  813. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -0
  814. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -0
  815. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -0
  816. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.cpp +0 -0
  817. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.h +0 -0
  818. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManagerF.h +0 -0
  819. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.cpp +0 -0
  820. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.h +0 -0
  821. /data/{ext → dist}/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -0
  822. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -0
  823. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.h +0 -0
  824. /data/{ext → dist}/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -0
  825. /data/{ext → dist}/ice/cpp/src/IceUtil/FileUtil.cpp +0 -0
  826. /data/{ext → dist}/ice/cpp/src/IceUtil/InputUtil.cpp +0 -0
  827. /data/{ext → dist}/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -0
  828. /data/{ext → dist}/ice/cpp/src/IceUtil/Options.cpp +0 -0
  829. /data/{ext → dist}/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -0
  830. /data/{ext → dist}/ice/cpp/src/IceUtil/Random.cpp +0 -0
  831. /data/{ext → dist}/ice/cpp/src/IceUtil/RecMutex.cpp +0 -0
  832. /data/{ext → dist}/ice/cpp/src/IceUtil/Shared.cpp +0 -0
  833. /data/{ext → dist}/ice/cpp/src/IceUtil/StringUtil.cpp +0 -0
  834. /data/{ext → dist}/ice/cpp/src/IceUtil/ThreadException.cpp +0 -0
  835. /data/{ext → dist}/ice/cpp/src/IceUtil/Time.cpp +0 -0
  836. /data/{ext → dist}/ice/cpp/src/IceUtil/UUID.cpp +0 -0
  837. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.cpp +0 -0
  838. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.h +0 -0
  839. /data/{ext → dist}/ice/cpp/src/IceUtil/UtilException.cpp +0 -0
  840. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -0
  841. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -0
  842. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.cpp +0 -0
  843. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.h +0 -0
  844. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.cpp +0 -0
  845. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.h +0 -0
  846. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.cpp +0 -0
  847. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.h +0 -0
  848. /data/{ext → dist}/ice/cpp/src/Slice/GrammarUtil.h +0 -0
  849. /data/{ext → dist}/ice/cpp/src/Slice/JavaUtil.h +0 -0
  850. /data/{ext → dist}/ice/cpp/src/Slice/MD5.cpp +0 -0
  851. /data/{ext → dist}/ice/cpp/src/Slice/MD5.h +0 -0
  852. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.cpp +0 -0
  853. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.h +0 -0
  854. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.cpp +0 -0
  855. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.h +0 -0
  856. /data/{ext → dist}/ice/cpp/src/Slice/Parser.cpp +0 -0
  857. /data/{ext → dist}/ice/cpp/src/Slice/Parser.h +0 -0
  858. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.cpp +0 -0
  859. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.h +0 -0
  860. /data/{ext → dist}/ice/cpp/src/Slice/Python.cpp +0 -0
  861. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.cpp +0 -0
  862. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.h +0 -0
  863. /data/{ext → dist}/ice/cpp/src/Slice/Ruby.cpp +0 -0
  864. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.cpp +0 -0
  865. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.h +0 -0
  866. /data/{ext → dist}/ice/cpp/src/Slice/Scanner.cpp +0 -0
  867. /data/{ext → dist}/ice/cpp/src/Slice/SliceUtil.cpp +0 -0
  868. /data/{ext → dist}/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -0
  869. /data/{ext → dist}/ice/cpp/src/Slice/Util.h +0 -0
  870. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  871. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  872. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  873. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  874. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  875. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  876. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  877. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  878. /data/{slice → dist/ice/slice}/Glacier2/Metrics.ice +0 -0
  879. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifier.ice +0 -0
  880. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifierF.ice +0 -0
  881. /data/{slice → dist/ice/slice}/Glacier2/Router.ice +0 -0
  882. /data/{slice → dist/ice/slice}/Glacier2/RouterF.ice +0 -0
  883. /data/{slice → dist/ice/slice}/Glacier2/SSLInfo.ice +0 -0
  884. /data/{slice → dist/ice/slice}/Glacier2/Session.ice +0 -0
  885. /data/{slice → dist/ice/slice}/Ice/BuiltinSequences.ice +0 -0
  886. /data/{slice → dist/ice/slice}/Ice/Communicator.ice +0 -0
  887. /data/{slice → dist/ice/slice}/Ice/CommunicatorF.ice +0 -0
  888. /data/{slice → dist/ice/slice}/Ice/ConnectionF.ice +0 -0
  889. /data/{slice → dist/ice/slice}/Ice/Current.ice +0 -0
  890. /data/{slice → dist/ice/slice}/Ice/Endpoint.ice +0 -0
  891. /data/{slice → dist/ice/slice}/Ice/EndpointF.ice +0 -0
  892. /data/{slice → dist/ice/slice}/Ice/EndpointTypes.ice +0 -0
  893. /data/{slice → dist/ice/slice}/Ice/FacetMap.ice +0 -0
  894. /data/{slice → dist/ice/slice}/Ice/Identity.ice +0 -0
  895. /data/{slice → dist/ice/slice}/Ice/ImplicitContext.ice +0 -0
  896. /data/{slice → dist/ice/slice}/Ice/ImplicitContextF.ice +0 -0
  897. /data/{slice → dist/ice/slice}/Ice/Instrumentation.ice +0 -0
  898. /data/{slice → dist/ice/slice}/Ice/InstrumentationF.ice +0 -0
  899. /data/{slice → dist/ice/slice}/Ice/LocalException.ice +0 -0
  900. /data/{slice → dist/ice/slice}/Ice/LocatorF.ice +0 -0
  901. /data/{slice → dist/ice/slice}/Ice/Logger.ice +0 -0
  902. /data/{slice → dist/ice/slice}/Ice/LoggerF.ice +0 -0
  903. /data/{slice → dist/ice/slice}/Ice/ObjectAdapterF.ice +0 -0
  904. /data/{slice → dist/ice/slice}/Ice/ObjectFactory.ice +0 -0
  905. /data/{slice → dist/ice/slice}/Ice/Plugin.ice +0 -0
  906. /data/{slice → dist/ice/slice}/Ice/PluginF.ice +0 -0
  907. /data/{slice → dist/ice/slice}/Ice/Process.ice +0 -0
  908. /data/{slice → dist/ice/slice}/Ice/ProcessF.ice +0 -0
  909. /data/{slice → dist/ice/slice}/Ice/Properties.ice +0 -0
  910. /data/{slice → dist/ice/slice}/Ice/PropertiesAdmin.ice +0 -0
  911. /data/{slice → dist/ice/slice}/Ice/PropertiesF.ice +0 -0
  912. /data/{slice → dist/ice/slice}/Ice/RemoteLogger.ice +0 -0
  913. /data/{slice → dist/ice/slice}/Ice/RouterF.ice +0 -0
  914. /data/{slice → dist/ice/slice}/Ice/ServantLocator.ice +0 -0
  915. /data/{slice → dist/ice/slice}/Ice/ServantLocatorF.ice +0 -0
  916. /data/{slice → dist/ice/slice}/Ice/SliceChecksumDict.ice +0 -0
  917. /data/{slice → dist/ice/slice}/Ice/ValueFactory.ice +0 -0
  918. /data/{slice → dist/ice/slice}/Ice/Version.ice +0 -0
  919. /data/{slice → dist/ice/slice}/IceBox/IceBox.ice +0 -0
  920. /data/{slice → dist/ice/slice}/IceGrid/Admin.ice +0 -0
  921. /data/{slice → dist/ice/slice}/IceGrid/Descriptor.ice +0 -0
  922. /data/{slice → dist/ice/slice}/IceGrid/Exception.ice +0 -0
  923. /data/{slice → dist/ice/slice}/IceGrid/FileParser.ice +0 -0
  924. /data/{slice → dist/ice/slice}/IceGrid/Registry.ice +0 -0
  925. /data/{slice → dist/ice/slice}/IceGrid/Session.ice +0 -0
  926. /data/{slice → dist/ice/slice}/IceGrid/UserAccountMapper.ice +0 -0
  927. /data/{slice → dist/ice/slice}/IcePatch2/FileInfo.ice +0 -0
  928. /data/{slice → dist/ice/slice}/IcePatch2/FileServer.ice +0 -0
  929. /data/{slice → dist/ice/slice}/IceStorm/Metrics.ice +0 -0
  930. /data/{lib → dist/lib}/Glacier2.rb +0 -0
  931. /data/{lib → dist/lib}/Ice.rb +0 -0
  932. /data/{lib → dist/lib}/IceBox.rb +0 -0
  933. /data/{lib → dist/lib}/IceGrid.rb +0 -0
  934. /data/{lib → dist/lib}/IcePatch2.rb +0 -0
  935. /data/{lib → dist/lib}/IceStorm.rb +0 -0
  936. /data/{bin → scripts}/slice2rb +0 -0
@@ -1,868 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <IceSSL/SecureTransportUtil.h>
6
- #include <IceSSL/Plugin.h>
7
-
8
- #include <Ice/Base64.h>
9
- #include <Ice/UniqueRef.h>
10
- #include <Ice/LocalException.h>
11
-
12
- #include <IceUtil/FileUtil.h>
13
- #include <IceUtil/StringUtil.h>
14
-
15
- #include <fstream>
16
-
17
- #include <Security/Security.h>
18
- #include <CoreFoundation/CoreFoundation.h>
19
-
20
- using namespace Ice;
21
- using namespace IceInternal;
22
- using namespace IceSSL;
23
- using namespace IceSSL::SecureTransport;
24
- using namespace std;
25
-
26
- #if defined(__clang__)
27
- # pragma clang diagnostic ignored "-Wdeprecated-declarations"
28
- #endif
29
-
30
- namespace
31
- {
32
-
33
- CFMutableDataRef
34
- readCertFile(const string& file)
35
- {
36
- ifstream is(IceUtilInternal::streamFilename(file).c_str(), ios::in | ios::binary);
37
- if(!is.good())
38
- {
39
- throw CertificateReadException(__FILE__, __LINE__, "error opening file " + file);
40
- }
41
-
42
- is.seekg(0, is.end);
43
- size_t size = static_cast<size_t>(is.tellg());
44
- is.seekg(0, is.beg);
45
-
46
- UniqueRef<CFMutableDataRef> data(CFDataCreateMutable(kCFAllocatorDefault, static_cast<CFIndex>(size)));
47
- CFDataSetLength(data.get(), static_cast<CFIndex>(size));
48
- is.read(reinterpret_cast<char*>(CFDataGetMutableBytePtr(data.get())),
49
- static_cast<streamsize>(size));
50
- if(!is.good())
51
- {
52
- throw CertificateReadException(__FILE__, __LINE__, "error reading file " + file);
53
- }
54
- return data.release();
55
- }
56
-
57
- }
58
-
59
- string
60
- IceSSL::SecureTransport::sslErrorToString(CFErrorRef err)
61
- {
62
- ostringstream os;
63
- if(err)
64
- {
65
- UniqueRef<CFStringRef> s(CFErrorCopyDescription(err));
66
- os << "(error: " << CFErrorGetCode(err) << " description: " << fromCFString(s.get()) << ")";
67
- }
68
- return os.str();
69
- }
70
-
71
- string
72
- IceSSL::SecureTransport::sslErrorToString(OSStatus status)
73
- {
74
- ostringstream os;
75
- os << "(error: " << status;
76
- #if defined(ICE_USE_SECURE_TRANSPORT_MACOS)
77
- UniqueRef<CFStringRef> s(SecCopyErrorMessageString(status, 0));
78
- if(s)
79
- {
80
- os << " description: " << fromCFString(s.get());
81
- }
82
- #endif
83
- os << ")";
84
- return os.str();
85
- }
86
-
87
- #if defined(ICE_USE_SECURE_TRANSPORT_MACOS)
88
- CFDictionaryRef
89
- IceSSL::SecureTransport::getCertificateProperty(SecCertificateRef cert, CFTypeRef key)
90
- {
91
- UniqueRef<CFDictionaryRef> property;
92
- UniqueRef<CFArrayRef> keys(CFArrayCreate(ICE_NULLPTR, &key , 1, &kCFTypeArrayCallBacks));
93
- UniqueRef<CFErrorRef> err;
94
- UniqueRef<CFDictionaryRef> values(SecCertificateCopyValues(cert, keys.get(), &err.get()));
95
- if(err)
96
- {
97
- ostringstream os;
98
- os << "IceSSL: error getting property for certificate:\n" << sslErrorToString(err);
99
- throw CertificateReadException(__FILE__, __LINE__, os.str());
100
- }
101
-
102
- assert(values);
103
- property.retain(static_cast<CFDictionaryRef>(CFDictionaryGetValue(values.get(), key)));
104
- return property.release();
105
- }
106
-
107
- namespace
108
- {
109
-
110
- //
111
- // Check the certificate basic constraints to check if the certificate is marked as a CA.
112
- //
113
- bool
114
- isCA(SecCertificateRef cert)
115
- {
116
- UniqueRef<CFDictionaryRef> property(getCertificateProperty(cert, kSecOIDBasicConstraints));
117
- if(property)
118
- {
119
- CFArrayRef propertyValues = static_cast<CFArrayRef>(CFDictionaryGetValue(property.get(), kSecPropertyKeyValue));
120
- for(CFIndex i = 0, size = CFArrayGetCount(propertyValues); i < size; ++i)
121
- {
122
- CFDictionaryRef dict = static_cast<CFDictionaryRef>(CFArrayGetValueAtIndex(propertyValues, i));
123
- CFStringRef label = static_cast<CFStringRef>(CFDictionaryGetValue(dict, kSecPropertyKeyLabel));
124
- if(CFEqual(label, CFSTR("Certificate Authority")))
125
- {
126
- return CFEqual(static_cast<CFStringRef>(CFDictionaryGetValue(dict, kSecPropertyKeyValue)), CFSTR("Yes"));
127
- }
128
- }
129
- }
130
- return false;
131
- }
132
-
133
- //
134
- // Load keychain items (Certificates or Private Keys) from a file. On return items param contain
135
- // the list of items, the caller must release it.
136
- //
137
- CFArrayRef
138
- loadKeychainItems(const string& file, SecExternalItemType type, SecKeychainRef keychain, const string& passphrase,
139
- const PasswordPromptPtr& prompt, int retryMax)
140
- {
141
- UniqueRef<CFMutableDataRef> data(readCertFile(file));
142
-
143
- SecItemImportExportKeyParameters params;
144
- memset(&params, 0, sizeof(params));
145
- params.version = SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION;
146
- params.flags |= kSecKeyNoAccessControl;
147
- UniqueRef<CFStringRef> passphraseHolder;
148
- if(!passphrase.empty())
149
- {
150
- passphraseHolder.reset(toCFString(passphrase));
151
- params.passphrase = passphraseHolder.get();
152
- }
153
-
154
- UniqueRef<CFArrayRef> items;
155
- SecExternalItemType importType = type;
156
- SecExternalFormat format = type == kSecItemTypeUnknown ? kSecFormatPKCS12 : kSecFormatUnknown;
157
- UniqueRef<CFStringRef> path(toCFString(file));
158
- OSStatus err = SecItemImport(data.get(), path.get(), &format, &importType, 0, &params, keychain, &items.get());
159
-
160
- //
161
- // If passphrase failure and no password was configured, we obtain
162
- // the password from the given prompt or configure the import to
163
- // prompt the user with an alert dialog.
164
- //
165
- UniqueRef<CFStringRef> alertPromptHolder;
166
- if(passphrase.empty() &&
167
- (err == errSecPassphraseRequired || err == errSecInvalidData || err == errSecPkcs12VerifyFailure))
168
- {
169
- if(!prompt)
170
- {
171
- params.flags |= kSecKeySecurePassphrase;
172
- ostringstream os;
173
- os << "Enter the password for\n" << file;
174
- alertPromptHolder.reset(toCFString(os.str()));
175
- params.alertPrompt = alertPromptHolder.get();
176
- }
177
-
178
- int count = 0;
179
- while((err == errSecPassphraseRequired || err == errSecInvalidData || err == errSecPkcs12VerifyFailure) &&
180
- count < retryMax)
181
- {
182
- if(prompt)
183
- {
184
- passphraseHolder.reset(toCFString(prompt->getPassword()));
185
- params.passphrase = passphraseHolder.get();
186
- }
187
- err = SecItemImport(data.get(), path.get(), &format, &importType, 0, &params, keychain, &items.get());
188
- ++count;
189
- }
190
- }
191
-
192
- if(err != noErr)
193
- {
194
- ostringstream os;
195
- os << "IceSSL: error reading " << (type == kSecItemTypePrivateKey ? "private key" : "certificate");
196
- os << " `" << file << "':\n" << sslErrorToString(err);
197
- throw CertificateReadException(__FILE__, __LINE__, os.str());
198
- }
199
-
200
- if(type != kSecItemTypeUnknown && importType != kSecItemTypeAggregate && importType != type)
201
- {
202
- ostringstream os;
203
- os << "IceSSL: error reading " << (type == kSecItemTypePrivateKey ? "private key" : "certificate");
204
- os << " `" << file << "' doesn't contain the expected item";
205
- throw CertificateReadException(__FILE__, __LINE__, os.str());
206
- }
207
-
208
- return items.release();
209
- }
210
-
211
- SecKeychainRef
212
- openKeychain(const std::string& path, const std::string& keychainPassword)
213
- {
214
- string keychainPath = path;
215
- UniqueRef<SecKeychainRef> keychain;
216
- OSStatus err = 0;
217
- if(keychainPath.empty())
218
- {
219
- if((err = SecKeychainCopyDefault(&keychain.get())))
220
- {
221
- throw PluginInitializationException(__FILE__, __LINE__,
222
- "IceSSL: unable to retrieve default keychain:\n" + sslErrorToString(err));
223
- }
224
- }
225
- else
226
- {
227
- //
228
- // KeyChain path is relative to the current working directory.
229
- //
230
- if(!IceUtilInternal::isAbsolutePath(keychainPath))
231
- {
232
- string cwd;
233
- if(IceUtilInternal::getcwd(cwd) == 0)
234
- {
235
- keychainPath = string(cwd) + '/' + keychainPath;
236
- }
237
- }
238
-
239
- if((err = SecKeychainOpen(keychainPath.c_str(), &keychain.get())))
240
- {
241
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: unable to open keychain: `" +
242
- keychainPath + "'\n" + sslErrorToString(err));
243
- }
244
- }
245
-
246
- SecKeychainStatus status;
247
- err = SecKeychainGetStatus(keychain.get(), &status);
248
- if(err == noErr)
249
- {
250
- const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
251
- if((err = SecKeychainUnlock(keychain.get(), static_cast<UInt32>(keychainPassword.size()), pass, pass != 0)))
252
- {
253
- throw PluginInitializationException(__FILE__, __LINE__,
254
- "IceSSL: unable to unlock keychain:\n" + sslErrorToString(err));
255
- }
256
- }
257
- else if(err == errSecNoSuchKeychain)
258
- {
259
- const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
260
- keychain.reset(0);
261
- if((err = SecKeychainCreate(keychainPath.c_str(),
262
- static_cast<UInt32>(keychainPassword.size()), pass, pass == 0, 0, &keychain.get())))
263
- {
264
- throw PluginInitializationException(__FILE__, __LINE__,
265
- "IceSSL: unable to create keychain:\n" + sslErrorToString(err));
266
- }
267
- }
268
- else
269
- {
270
- throw PluginInitializationException(__FILE__, __LINE__,
271
- "IceSSL: unable to open keychain:\n" + sslErrorToString(err));
272
- }
273
-
274
- //
275
- // Set keychain settings to avoid keychain lock.
276
- //
277
- SecKeychainSettings settings;
278
- settings.version = SEC_KEYCHAIN_SETTINGS_VERS1;
279
- settings.lockOnSleep = FALSE;
280
- settings.useLockInterval = FALSE;
281
- settings.lockInterval = INT_MAX;
282
- if((err = SecKeychainSetSettings(keychain.get(), &settings)))
283
- {
284
- throw PluginInitializationException(__FILE__, __LINE__,
285
- "IceSSL: error setting keychain settings:\n" + sslErrorToString(err));
286
- }
287
-
288
- return keychain.release();
289
- }
290
-
291
- //
292
- // Imports a certificate private key and optionally add it to a keychain.
293
- //
294
- SecIdentityRef
295
- loadPrivateKey(const string& file, SecCertificateRef cert, SecKeychainRef keychain, const string& password,
296
- const PasswordPromptPtr& prompt, int retryMax)
297
- {
298
- //
299
- // Check if we already imported the certificate
300
- //
301
- UniqueRef<CFDataRef> hash;
302
- UniqueRef<CFDictionaryRef> subjectKeyProperty(getCertificateProperty(cert, kSecOIDSubjectKeyIdentifier));
303
- if(subjectKeyProperty)
304
- {
305
- CFArrayRef values = static_cast<CFArrayRef>(CFDictionaryGetValue(subjectKeyProperty.get(),
306
- kSecPropertyKeyValue));
307
- for(int i = 0; i < CFArrayGetCount(values); ++i)
308
- {
309
- CFDictionaryRef dict = static_cast<CFDictionaryRef>(CFArrayGetValueAtIndex(values, i));
310
- if(CFEqual(CFDictionaryGetValue(dict, kSecPropertyKeyLabel), CFSTR("Key Identifier")))
311
- {
312
- hash.retain(static_cast<CFDataRef>(CFDictionaryGetValue(dict, kSecPropertyKeyValue)));
313
- break;
314
- }
315
- }
316
- }
317
-
318
- const void* values[] = { keychain };
319
- UniqueRef<CFArrayRef> searchList(CFArrayCreate(kCFAllocatorDefault, values, 1, &kCFTypeArrayCallBacks));
320
-
321
- UniqueRef<CFMutableDictionaryRef> query(CFDictionaryCreateMutable(0,
322
- 0,
323
- &kCFTypeDictionaryKeyCallBacks,
324
- &kCFTypeDictionaryValueCallBacks));
325
-
326
- CFDictionarySetValue(query.get(), kSecClass, kSecClassCertificate);
327
- CFDictionarySetValue(query.get(), kSecMatchLimit, kSecMatchLimitOne);
328
- CFDictionarySetValue(query.get(), kSecMatchSearchList, searchList.get());
329
- CFDictionarySetValue(query.get(), kSecAttrSubjectKeyID, hash.get());
330
- CFDictionarySetValue(query.get(), kSecReturnRef, kCFBooleanTrue);
331
-
332
- UniqueRef<CFTypeRef> value(0);
333
- OSStatus err = SecItemCopyMatching(query.get(), &value.get());
334
- UniqueRef<SecCertificateRef> item(static_cast<SecCertificateRef>(const_cast<void*>(value.release())));
335
- if(err == noErr)
336
- {
337
- //
338
- // If the certificate has already been imported, create the
339
- // identity. The key should also have been imported.
340
- //
341
- UniqueRef<SecIdentityRef> identity;
342
- err = SecIdentityCreateWithCertificate(keychain, item.get(), &identity.get());
343
- if(err != noErr)
344
- {
345
- ostringstream os;
346
- os << "IceSSL: error creating certificate identity:\n" << sslErrorToString(err);
347
- throw CertificateReadException(__FILE__, __LINE__, os.str());
348
- }
349
- return identity.release();
350
- }
351
- else if(err != errSecItemNotFound)
352
- {
353
- ostringstream os;
354
- os << "IceSSL: error searching for keychain items:\n" << sslErrorToString(err);
355
- throw CertificateReadException(__FILE__, __LINE__, os.str());
356
- }
357
-
358
- //
359
- // If the certificate isn't already in the keychain, load the
360
- // private key into the keychain and add the certificate.
361
- //
362
- UniqueRef<CFArrayRef> items(loadKeychainItems(file, kSecItemTypePrivateKey, keychain, password, prompt, retryMax));
363
- CFIndex count = CFArrayGetCount(items.get());
364
- UniqueRef<SecKeyRef> key;
365
- for(CFIndex i = 0; i < count; ++i)
366
- {
367
- SecKeychainItemRef itemRef =
368
- static_cast<SecKeychainItemRef>(const_cast<void*>(CFArrayGetValueAtIndex(items.get(), 0)));
369
- if(SecKeyGetTypeID() == CFGetTypeID(itemRef))
370
- {
371
- key.retain(reinterpret_cast<SecKeyRef>(itemRef));
372
- break;
373
- }
374
- }
375
- if(!key)
376
- {
377
- throw CertificateReadException(__FILE__, __LINE__, "IceSSL: no key in file `" + file + "'");
378
- }
379
-
380
- //
381
- // Add the certificate to the keychain
382
- //
383
- query.reset(CFDictionaryCreateMutable(kCFAllocatorDefault,
384
- 0,
385
- &kCFTypeDictionaryKeyCallBacks,
386
- &kCFTypeDictionaryValueCallBacks));
387
-
388
- CFDictionarySetValue(query.get(), kSecUseKeychain, keychain);
389
- CFDictionarySetValue(query.get(), kSecClass, kSecClassCertificate);
390
- CFDictionarySetValue(query.get(), kSecValueRef, cert);
391
- CFDictionarySetValue(query.get(), kSecReturnRef, kCFBooleanTrue);
392
-
393
- value.reset(0);
394
- err = SecItemAdd(query.get(), static_cast<CFTypeRef*>(&value.get()));
395
- UniqueRef<CFArrayRef> added(static_cast<CFArrayRef>(value.release()));
396
- if(err != noErr)
397
- {
398
- ostringstream os;
399
- os << "IceSSL: failure adding certificate to keychain\n" << sslErrorToString(err);
400
- throw CertificateReadException(__FILE__, __LINE__, os.str());
401
- }
402
- item.retain(static_cast<SecCertificateRef>(const_cast<void*>(CFArrayGetValueAtIndex(added.get(), 0))));
403
-
404
- //
405
- // Create the association between the private key and the certificate,
406
- // kSecKeyLabel attribute should match the subject key identifier.
407
- //
408
- vector<SecKeychainAttribute> attributes;
409
- if(hash)
410
- {
411
- SecKeychainAttribute attr;
412
- attr.tag = kSecKeyLabel;
413
- attr.data = const_cast<UInt8*>(CFDataGetBytePtr(hash.get()));
414
- attr.length = static_cast<UInt32>(CFDataGetLength(hash.get()));
415
- attributes.push_back(attr);
416
- }
417
-
418
- //
419
- // kSecKeyPrintName attribute correspond to the keychain display
420
- // name.
421
- //
422
- string label;
423
- UniqueRef<CFStringRef> commonName(0);
424
- if(SecCertificateCopyCommonName(item.get(), &commonName.get()) == noErr)
425
- {
426
- label = fromCFString(commonName.get());
427
- SecKeychainAttribute attr;
428
- attr.tag = kSecKeyPrintName;
429
- attr.data = const_cast<char*>(label.c_str());
430
- attr.length = static_cast<UInt32>(label.size());
431
- attributes.push_back(attr);
432
- }
433
-
434
- SecKeychainAttributeList attrs;
435
- attrs.attr = &attributes[0];
436
- attrs.count = static_cast<UInt32>(attributes.size());
437
- SecKeychainItemModifyAttributesAndData(reinterpret_cast<SecKeychainItemRef>(key.get()), &attrs, 0, 0);
438
-
439
- UniqueRef<SecIdentityRef> identity;
440
- err = SecIdentityCreateWithCertificate(keychain, item.get(), &identity.get());
441
- if(err != noErr)
442
- {
443
- ostringstream os;
444
- os << "IceSSL: error creating certificate identity:\n" << sslErrorToString(err);
445
- throw CertificateReadException(__FILE__, __LINE__, os.str());
446
- }
447
- return identity.release();
448
- }
449
-
450
- } // anonymous namespace end
451
-
452
- #else
453
-
454
- namespace
455
- {
456
-
457
- CFArrayRef
458
- loadCerts(const string& file)
459
- {
460
- UniqueRef<CFArrayRef> certs(CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks));
461
- if(file.find(".pem") != string::npos)
462
- {
463
- vector<char> buffer;
464
- readFile(file, buffer);
465
- string strbuf(buffer.begin(), buffer.end());
466
- string::size_type size, startpos, endpos = 0;
467
- bool first = true;
468
- while(true)
469
- {
470
- startpos = strbuf.find("-----BEGIN CERTIFICATE-----", endpos);
471
- if(startpos != string::npos)
472
- {
473
- startpos += sizeof("-----BEGIN CERTIFICATE-----");
474
- endpos = strbuf.find("-----END CERTIFICATE-----", startpos);
475
- if(endpos == string::npos)
476
- {
477
- throw InitializationException(__FILE__, __LINE__, "IceSSL: certificate " + file +
478
- " is not a valid PEM-encoded certificate");
479
- }
480
- size = endpos - startpos;
481
- }
482
- else if(first)
483
- {
484
- startpos = 0;
485
- endpos = string::npos;
486
- size = strbuf.size();
487
- }
488
- else
489
- {
490
- break;
491
- }
492
-
493
- vector<unsigned char> data(IceInternal::Base64::decode(string(&buffer[startpos], size)));
494
- UniqueRef<CFDataRef> certdata(CFDataCreate(kCFAllocatorDefault, &data[0],
495
- static_cast<CFIndex>(data.size())));
496
- UniqueRef<SecCertificateRef> cert(SecCertificateCreateWithData(0, certdata.get()));
497
- if(!cert)
498
- {
499
- throw InitializationException(__FILE__, __LINE__, "IceSSL: certificate " + file +
500
- " is not a valid PEM-encoded certificate");
501
- }
502
- CFArrayAppendValue(const_cast<CFMutableArrayRef>(certs.get()), cert.get());
503
- first = false;
504
- }
505
- }
506
- else
507
- {
508
- UniqueRef<CFDataRef> data(readCertFile(file));
509
- UniqueRef<SecCertificateRef> cert(SecCertificateCreateWithData(0, data.get()));
510
- if(!cert)
511
- {
512
- throw InitializationException(__FILE__, __LINE__, "IceSSL: certificate " + file +
513
- " is not a valid DER-encoded certificate");
514
- }
515
- CFArrayAppendValue(const_cast<CFMutableArrayRef>(certs.get()), cert.get());
516
- }
517
- return certs.release();
518
- }
519
-
520
- }
521
-
522
- #endif
523
-
524
- //
525
- // Imports a certificate (it might contain an identity or certificate depending on the format).
526
- //
527
- CFArrayRef
528
- IceSSL::SecureTransport::loadCertificateChain(const string& file,
529
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
530
- const string& /*keyFile*/,
531
- const std::string& /*keychainPath*/,
532
- const string& /*keychainPassword*/,
533
- #else
534
- const string& keyFile,
535
- const std::string& keychainPath,
536
- const string& keychainPassword,
537
- #endif
538
- const string& password,
539
- const PasswordPromptPtr& prompt,
540
- int retryMax)
541
- {
542
- UniqueRef<CFArrayRef> chain;
543
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
544
- UniqueRef<CFDataRef> cert(readCertFile(file));
545
-
546
- UniqueRef<CFMutableDictionaryRef> settings(CFDictionaryCreateMutable(0,
547
- 1,
548
- &kCFTypeDictionaryKeyCallBacks,
549
- &kCFTypeDictionaryValueCallBacks));
550
- UniqueRef<CFArrayRef> items;
551
- OSStatus err;
552
- int count = 0;
553
- do
554
- {
555
- items.reset();
556
- UniqueRef<CFStringRef> pass(toCFString(password.empty() && prompt ? prompt->getPassword() : password));
557
- CFDictionarySetValue(settings.get(), kSecImportExportPassphrase, pass.get());
558
- err = SecPKCS12Import(cert.get(), settings.get(), &items.get());
559
- ++count;
560
- }
561
- while(password.empty() && prompt && err == errSecAuthFailed && count < retryMax);
562
-
563
- if(err != noErr)
564
- {
565
- ostringstream os;
566
- os << "IceSSL: unable to import certificate from file " << file << " (error = " << err << ")";
567
- throw InitializationException(__FILE__, __LINE__, os.str());
568
- }
569
-
570
- for(int i = 0; i < CFArrayGetCount(items.get()); ++i)
571
- {
572
- CFDictionaryRef dict = static_cast<CFDictionaryRef>(CFArrayGetValueAtIndex(items.get(), i));
573
- SecIdentityRef identity = static_cast<SecIdentityRef>(
574
- const_cast<void*>(CFDictionaryGetValue(dict, kSecImportItemIdentity)));
575
- if(identity)
576
- {
577
- CFArrayRef certs = static_cast<CFArrayRef>(CFDictionaryGetValue(dict, kSecImportItemCertChain));
578
- chain.reset(CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certs));
579
- CFArraySetValueAtIndex(const_cast<CFMutableArrayRef>(chain.get()), 0, identity);
580
- }
581
- }
582
-
583
- if(!chain)
584
- {
585
- ostringstream os;
586
- os << "IceSSL: couldn't find identity in file " << file;
587
- throw InitializationException(__FILE__, __LINE__, os.str());
588
- }
589
- #else
590
- UniqueRef<SecKeychainRef> keychain(openKeychain(keychainPath, keychainPassword));
591
- if(keyFile.empty())
592
- {
593
- chain.reset(loadKeychainItems(file, kSecItemTypeUnknown, keychain.get(), password, prompt, retryMax));
594
- }
595
- else
596
- {
597
- //
598
- // Load the certificate, don't load into the keychain as it
599
- // might already have been imported.
600
- //
601
- UniqueRef<CFArrayRef> items(loadKeychainItems(file, kSecItemTypeCertificate, 0, password, prompt, retryMax));
602
- SecCertificateRef cert =
603
- static_cast<SecCertificateRef>(const_cast<void*>(CFArrayGetValueAtIndex(items.get(), 0)));
604
- if(SecCertificateGetTypeID() != CFGetTypeID(cert))
605
- {
606
- ostringstream os;
607
- os << "IceSSL: couldn't find certificate in `" << file << "'";
608
- throw CertificateReadException(__FILE__, __LINE__, os.str());
609
- }
610
-
611
- //
612
- // Load the private key for the given certificate. This will
613
- // add the certificate/key to the keychain if they aren't
614
- // already present in the keychain.
615
- //
616
- UniqueRef<SecIdentityRef> identity(loadPrivateKey(keyFile, cert, keychain.get(), password, prompt, retryMax));
617
- chain.reset(CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, items.get()));
618
- CFArraySetValueAtIndex(const_cast<CFMutableArrayRef>(chain.get()), 0, identity.get());
619
- }
620
- #endif
621
- return chain.release();
622
- }
623
-
624
- SecCertificateRef
625
- IceSSL::SecureTransport::loadCertificate(const string& file)
626
- {
627
- UniqueRef<SecCertificateRef> cert;
628
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
629
- UniqueRef<CFArrayRef> certs(loadCerts(file));
630
- assert(CFArrayGetCount(certs.get()) > 0);
631
- cert.retain((SecCertificateRef)CFArrayGetValueAtIndex(certs.get(), 0));
632
- #else
633
- UniqueRef<CFArrayRef> items(loadKeychainItems(file, kSecItemTypeCertificate, 0, "", 0, 0));
634
- cert.retain((SecCertificateRef)CFArrayGetValueAtIndex(items.get(), 0));
635
- #endif
636
- return cert.release();
637
- }
638
-
639
- CFArrayRef
640
- IceSSL::SecureTransport::loadCACertificates(const string& file)
641
- {
642
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
643
- return loadCerts(file);
644
- #else
645
- UniqueRef<CFArrayRef> items(loadKeychainItems(file, kSecItemTypeCertificate, 0, "", 0, 0));
646
- UniqueRef<CFArrayRef> certificateAuthorities(CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks));
647
- CFIndex count = CFArrayGetCount(items.get());
648
- for(CFIndex i = 0; i < count; ++i)
649
- {
650
- SecCertificateRef cert =
651
- static_cast<SecCertificateRef>(const_cast<void*>(CFArrayGetValueAtIndex(items.get(), i)));
652
- assert(SecCertificateGetTypeID() == CFGetTypeID(cert));
653
- if(isCA(cert))
654
- {
655
- CFArrayAppendValue(const_cast<CFMutableArrayRef>(certificateAuthorities.get()), cert);
656
- }
657
- }
658
- return certificateAuthorities.release();
659
- #endif
660
- }
661
-
662
- CFArrayRef
663
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
664
- IceSSL::SecureTransport::findCertificateChain(const std::string&,
665
- const std::string&,
666
- const string& value)
667
- #else
668
- IceSSL::SecureTransport::findCertificateChain(const std::string& keychainPath,
669
- const std::string& keychainPassword,
670
- const string& value)
671
- #endif
672
- {
673
- //
674
- // Search the keychain using key:value pairs. The following keys are supported:
675
- //
676
- // Label
677
- // Serial
678
- // Subject
679
- // SubjectKeyId
680
- //
681
- // A value must be enclosed in single or double quotes if it contains whitespace.
682
- //
683
- UniqueRef<CFMutableDictionaryRef> query(CFDictionaryCreateMutable(0,
684
- 0,
685
- &kCFTypeDictionaryKeyCallBacks,
686
- &kCFTypeDictionaryValueCallBacks));
687
-
688
- #if defined(ICE_USE_SECURE_TRANSPORT_MACOS)
689
- UniqueRef<SecKeychainRef> keychain(openKeychain(keychainPath, keychainPassword));
690
- const void* values[] = { keychain.get() };
691
- UniqueRef<CFArrayRef> searchList(CFArrayCreate(kCFAllocatorDefault, values, 1, &kCFTypeArrayCallBacks));
692
- CFDictionarySetValue(query.get(), kSecMatchSearchList, searchList.get());
693
- #endif
694
- CFDictionarySetValue(query.get(), kSecMatchLimit, kSecMatchLimitOne);
695
- CFDictionarySetValue(query.get(), kSecClass, kSecClassCertificate);
696
- CFDictionarySetValue(query.get(), kSecReturnRef, kCFBooleanTrue);
697
- CFDictionarySetValue(query.get(), kSecMatchCaseInsensitive, kCFBooleanTrue);
698
-
699
- size_t start = 0;
700
- size_t pos;
701
- bool valid = false;
702
- while((pos = value.find(':', start)) != string::npos)
703
- {
704
- string field = IceUtilInternal::toUpper(IceUtilInternal::trim(value.substr(start, pos - start)));
705
- string arg;
706
- if(field != "LABEL" && field != "SERIAL" && field != "SUBJECT" && field != "SUBJECTKEYID")
707
- {
708
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: unknown key in `" + value + "'");
709
- }
710
-
711
- start = pos + 1;
712
- while(start < value.size() && (value[start] == ' ' || value[start] == '\t'))
713
- {
714
- ++start;
715
- }
716
-
717
- if(start == value.size())
718
- {
719
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: missing argument in `" + value + "'");
720
- }
721
-
722
- if(value[start] == '"' || value[start] == '\'')
723
- {
724
- size_t end = start;
725
- ++end;
726
- while(end < value.size())
727
- {
728
- if(value[end] == value[start] && value[end - 1] != '\\')
729
- {
730
- break;
731
- }
732
- ++end;
733
- }
734
- if(end == value.size() || value[end] != value[start])
735
- {
736
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: unmatched quote in `" + value + "'");
737
- }
738
- ++start;
739
- arg = value.substr(start, end - start);
740
- start = end + 1;
741
- }
742
- else
743
- {
744
- size_t end = value.find_first_of(" \t", start);
745
- if(end == string::npos)
746
- {
747
- arg = value.substr(start);
748
- start = value.size();
749
- }
750
- else
751
- {
752
- arg = value.substr(start, end - start);
753
- start = end + 1;
754
- }
755
- }
756
-
757
- if(field == "SUBJECT" || field == "LABEL")
758
- {
759
- UniqueRef<CFStringRef> v(toCFString(arg));
760
- CFDictionarySetValue(query.get(), field == "LABEL" ? kSecAttrLabel : kSecMatchSubjectContains, v.get());
761
- valid = true;
762
- }
763
- else if(field == "SUBJECTKEYID" || field == "SERIAL")
764
- {
765
- vector<unsigned char> buffer;
766
- if(!parseBytes(arg, buffer))
767
- {
768
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: invalid value `" + value + "'");
769
- }
770
- UniqueRef<CFDataRef> v(CFDataCreate(kCFAllocatorDefault, &buffer[0], static_cast<CFIndex>(buffer.size())));
771
- CFDictionarySetValue(query.get(), field == "SUBJECTKEYID" ? kSecAttrSubjectKeyID : kSecAttrSerialNumber,
772
- v.get());
773
- valid = true;
774
- }
775
- }
776
-
777
- if(!valid)
778
- {
779
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: invalid value `" + value + "'");
780
- }
781
-
782
- UniqueRef<SecCertificateRef> cert;
783
- OSStatus err = SecItemCopyMatching(query.get(), (CFTypeRef*)&cert.get());
784
- if(err != noErr)
785
- {
786
- throw PluginInitializationException(__FILE__, __LINE__,
787
- "IceSSL: find certificate `" + value + "' failed:\n" + sslErrorToString(err));
788
- }
789
-
790
- //
791
- // Retrieve the certificate chain
792
- //
793
- UniqueRef<SecPolicyRef> policy(SecPolicyCreateSSL(true, 0));
794
- UniqueRef<SecTrustRef> trust;
795
- err = SecTrustCreateWithCertificates(reinterpret_cast<CFArrayRef>(cert.get()), policy.get(), &trust.get());
796
- if(err || !trust)
797
- {
798
- throw PluginInitializationException(__FILE__, __LINE__,
799
- "IceSSL: error creating trust object" +
800
- (err ? ":\n" + sslErrorToString(err) : ""));
801
- }
802
-
803
- SecTrustResultType trustResult;
804
- if((err = SecTrustEvaluate(trust.get(), &trustResult)))
805
- {
806
- throw PluginInitializationException(__FILE__, __LINE__,
807
- "IceSSL: error evaluating trust:\n" + sslErrorToString(err));
808
- }
809
-
810
- CFIndex chainLength = SecTrustGetCertificateCount(trust.get());
811
- UniqueRef<CFArrayRef> items(CFArrayCreateMutable(kCFAllocatorDefault, chainLength, &kCFTypeArrayCallBacks));
812
- for(int i = 0; i < chainLength; ++i)
813
- {
814
- CFArrayAppendValue(const_cast<CFMutableArrayRef>(items.get()), SecTrustGetCertificateAtIndex(trust.get(), i));
815
- }
816
-
817
- //
818
- // Replace the first certificate in the chain with the
819
- // identity.
820
- //
821
- UniqueRef<SecIdentityRef> identity;
822
- #if defined(ICE_USE_SECURE_TRANSPORT_IOS)
823
-
824
- //
825
- // SecIdentityCreateWithCertificate isn't supported on iOS so we lookup the identity
826
- // using the certicate label. If the user added the identity with SecItemAdd the
827
- // identity has the same label as the certificate.
828
- //
829
- query.reset(CFDictionaryCreateMutable(0, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
830
- CFDictionarySetValue(query.get(), kSecClass, kSecClassCertificate);
831
- CFDictionarySetValue(query.get(), kSecValueRef, cert.get());
832
- CFDictionarySetValue(query.get(), kSecReturnAttributes, kCFBooleanTrue);
833
- UniqueRef<CFDictionaryRef> attributes;
834
- err = SecItemCopyMatching(query.get(), reinterpret_cast<CFTypeRef*>(&attributes.get()));
835
- if(err != noErr)
836
- {
837
- ostringstream os;
838
- os << "IceSSL: couldn't create identity for certificate found in the keychain:\n" << sslErrorToString(err);
839
- throw PluginInitializationException(__FILE__, __LINE__, os.str());
840
- }
841
-
842
- // Now lookup the identity with the label
843
- query.reset(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
844
- CFDictionarySetValue(query.get(), kSecMatchLimit, kSecMatchLimitOne);
845
- CFDictionarySetValue(query.get(), kSecClass, kSecClassIdentity);
846
- CFDictionarySetValue(query.get(), kSecAttrLabel, (CFDataRef)CFDictionaryGetValue(attributes.get(), kSecAttrLabel));
847
- CFDictionarySetValue(query.get(), kSecReturnRef, kCFBooleanTrue);
848
- err = SecItemCopyMatching(query.get(), (CFTypeRef*)&identity.get());
849
- if(err == noErr)
850
- {
851
- UniqueRef<SecCertificateRef> cert2;
852
- if((err = SecIdentityCopyCertificate(identity.get(), &cert2.get())) == noErr)
853
- {
854
- err = CFEqual(cert2.get(), cert.get()) ? noErr : errSecItemNotFound;
855
- }
856
- }
857
- #else
858
- err = SecIdentityCreateWithCertificate(keychain.get(), cert.get(), &identity.get());
859
- #endif
860
- if(err != noErr)
861
- {
862
- ostringstream os;
863
- os << "IceSSL: couldn't create identity for certificate found in the keychain:\n" << sslErrorToString(err);
864
- throw PluginInitializationException(__FILE__, __LINE__, os.str());
865
- }
866
- CFArraySetValueAtIndex(const_cast<CFMutableArrayRef>(items.get()), 0, identity.get());
867
- return items.release();
868
- }