zeroc-ice 3.6.1 → 3.6.2

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 (653) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +31 -1
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +12 -1
  7. data/ext/Connection.cpp +1 -1
  8. data/ext/Connection.h +1 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/ObjectFactory.cpp +1 -1
  17. data/ext/ObjectFactory.h +1 -1
  18. data/ext/Operation.cpp +12 -12
  19. data/ext/Operation.h +1 -1
  20. data/ext/Properties.cpp +1 -1
  21. data/ext/Properties.h +1 -1
  22. data/ext/Proxy.cpp +5 -5
  23. data/ext/Proxy.h +1 -1
  24. data/ext/Slice.cpp +5 -1
  25. data/ext/Slice.h +1 -1
  26. data/ext/Types.cpp +40 -31
  27. data/ext/Types.h +1 -1
  28. data/ext/Util.cpp +4 -4
  29. data/ext/Util.h +2 -2
  30. data/ext/extconf.rb +2 -2
  31. data/ext/ice/cpp/include/Ice/ACMF.h +1 -1
  32. data/ext/ice/cpp/include/Ice/Application.h +1 -1
  33. data/ext/ice/cpp/include/Ice/AsyncResult.h +6 -1
  34. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/BasicStream.h +1 -1
  36. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +1 -1
  37. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  38. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  39. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +3 -3
  40. data/ext/ice/cpp/include/Ice/Communicator.h +3 -5
  41. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +1 -1
  42. data/ext/ice/cpp/include/Ice/CommunicatorF.h +3 -5
  43. data/ext/ice/cpp/include/Ice/Config.h +1 -1
  44. data/ext/ice/cpp/include/Ice/Connection.h +12 -31
  45. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -1
  46. data/ext/ice/cpp/include/Ice/ConnectionF.h +3 -9
  47. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +1 -1
  48. data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -1
  49. data/ext/ice/cpp/include/Ice/Current.h +3 -3
  50. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +1 -1
  51. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +1 -1
  52. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +1 -1
  53. data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -1
  54. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  55. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  56. data/ext/ice/cpp/include/Ice/Endpoint.h +3 -17
  57. data/ext/ice/cpp/include/Ice/EndpointF.h +3 -15
  58. data/ext/ice/cpp/include/Ice/EndpointTypes.h +3 -3
  59. data/ext/ice/cpp/include/Ice/Exception.h +1 -1
  60. data/ext/ice/cpp/include/Ice/FacetMap.h +3 -3
  61. data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -1
  62. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  63. data/ext/ice/cpp/include/Ice/Format.h +1 -1
  64. data/ext/ice/cpp/include/Ice/Functional.h +1 -1
  65. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  66. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  67. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  68. data/ext/ice/cpp/include/Ice/Identity.h +3 -3
  69. data/ext/ice/cpp/include/Ice/ImplicitContext.h +3 -5
  70. data/ext/ice/cpp/include/Ice/ImplicitContextF.h +3 -5
  71. data/ext/ice/cpp/include/Ice/Incoming.h +1 -1
  72. data/ext/ice/cpp/include/Ice/IncomingAsync.h +1 -1
  73. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Initialize.h +3 -1
  75. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  76. data/ext/ice/cpp/include/Ice/Instrumentation.h +3 -23
  77. data/ext/ice/cpp/include/Ice/InstrumentationF.h +3 -7
  78. data/ext/ice/cpp/include/Ice/LocalException.h +3 -3
  79. data/ext/ice/cpp/include/Ice/LocalObject.h +1 -1
  80. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  81. data/ext/ice/cpp/include/Ice/Locator.h +3 -9
  82. data/ext/ice/cpp/include/Ice/LocatorF.h +3 -7
  83. data/ext/ice/cpp/include/Ice/Logger.h +3 -5
  84. data/ext/ice/cpp/include/Ice/LoggerF.h +3 -5
  85. data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -1
  86. data/ext/ice/cpp/include/Ice/Metrics.h +12 -28
  87. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +1 -1
  88. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -1
  89. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +1 -1
  90. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -1
  91. data/ext/ice/cpp/include/Ice/Object.h +1 -1
  92. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +3 -5
  93. data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +3 -5
  94. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +1 -1
  95. data/ext/ice/cpp/include/Ice/ObjectF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/ObjectFactory.h +3 -5
  97. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +3 -5
  98. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +1 -1
  99. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  100. data/ext/ice/cpp/include/Ice/Outgoing.h +1 -1
  101. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
  102. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  103. data/ext/ice/cpp/include/Ice/Plugin.h +3 -7
  104. data/ext/ice/cpp/include/Ice/PluginF.h +3 -7
  105. data/ext/ice/cpp/include/Ice/Process.h +3 -5
  106. data/ext/ice/cpp/include/Ice/ProcessF.h +3 -5
  107. data/ext/ice/cpp/include/Ice/Properties.h +3 -5
  108. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +3 -5
  109. data/ext/ice/cpp/include/Ice/PropertiesF.h +3 -7
  110. data/ext/ice/cpp/include/Ice/Protocol.h +1 -1
  111. data/ext/ice/cpp/include/Ice/Proxy.h +1 -1
  112. data/ext/ice/cpp/include/Ice/ProxyF.h +1 -1
  113. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  114. data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -1
  115. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  116. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +1 -1
  117. data/ext/ice/cpp/include/Ice/RemoteLogger.h +3 -7
  118. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  119. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  120. data/ext/ice/cpp/include/Ice/Router.h +3 -7
  121. data/ext/ice/cpp/include/Ice/RouterF.h +3 -5
  122. data/ext/ice/cpp/include/Ice/ServantLocator.h +3 -5
  123. data/ext/ice/cpp/include/Ice/ServantLocatorF.h +3 -5
  124. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  125. data/ext/ice/cpp/include/Ice/Service.h +1 -1
  126. data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +3 -3
  127. data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
  128. data/ext/ice/cpp/include/Ice/SlicedData.h +1 -1
  129. data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -1
  130. data/ext/ice/cpp/include/Ice/Stream.h +1 -1
  131. data/ext/ice/cpp/include/Ice/StreamF.h +1 -1
  132. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  133. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  134. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -1
  135. data/ext/ice/cpp/include/Ice/Version.h +3 -3
  136. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  137. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +6 -19
  138. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +3 -7
  139. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  140. data/ext/ice/cpp/include/IceSSL/Plugin.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +1 -1
  142. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Cache.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Config.h +3 -3
  146. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  147. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +1 -1
  148. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  149. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  150. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  151. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  152. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  153. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +1 -1
  154. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  155. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  156. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  157. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  158. data/ext/ice/cpp/include/IceUtil/Mutex.h +1 -1
  159. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  160. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  161. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  162. data/ext/ice/cpp/include/IceUtil/Optional.h +1 -1
  163. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  164. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  165. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  166. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  167. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  168. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  169. data/ext/ice/cpp/include/IceUtil/SHA1.h +1 -1
  170. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +1 -1
  171. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  172. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  173. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  174. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  175. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  176. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  177. data/ext/ice/cpp/include/IceUtil/Timer.h +1 -1
  178. data/ext/ice/cpp/include/IceUtil/UUID.h +1 -1
  179. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  180. data/ext/ice/cpp/include/IceUtil/UniquePtr.h +1 -1
  181. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +1 -1
  182. data/ext/ice/cpp/include/Slice/Checksum.h +1 -1
  183. data/ext/ice/cpp/include/Slice/CsUtil.h +1 -1
  184. data/ext/ice/cpp/include/Slice/DotNetNames.h +1 -1
  185. data/ext/ice/cpp/include/Slice/FileTracker.h +1 -1
  186. data/ext/ice/cpp/include/Slice/JavaUtil.h +1 -1
  187. data/ext/ice/cpp/include/Slice/ObjCUtil.h +1 -1
  188. data/ext/ice/cpp/include/Slice/PHPUtil.h +1 -1
  189. data/ext/ice/cpp/include/Slice/Parser.h +1 -1
  190. data/ext/ice/cpp/include/Slice/Preprocessor.h +1 -1
  191. data/ext/ice/cpp/include/Slice/PythonUtil.h +1 -1
  192. data/ext/ice/cpp/include/Slice/RubyUtil.h +1 -1
  193. data/ext/ice/cpp/include/Slice/Util.h +1 -1
  194. data/ext/ice/cpp/src/Ice/ACM.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  196. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  197. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  198. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BasicStream.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  204. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  205. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  206. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  208. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  209. data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +1 -1
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.h +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +1 -1
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1 -1
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.h +1 -1
  222. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  224. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  226. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  227. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  228. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  231. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +1 -1
  232. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  233. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
  235. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  236. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointI.cpp +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.h +1 -1
  244. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  245. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  246. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  247. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  249. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  250. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  251. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  252. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  255. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  257. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -1
  259. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  260. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  261. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
  262. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
  264. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  265. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  266. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  267. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  268. data/ext/ice/cpp/src/Ice/Initialize.cpp +117 -1
  269. data/ext/ice/cpp/src/Ice/Instance.cpp +1 -1
  270. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  271. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
  272. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  273. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  274. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  275. data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/Locator.cpp +3 -3
  278. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  279. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  281. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  282. data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
  283. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  284. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  285. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  286. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  289. data/ext/ice/cpp/src/Ice/Metrics.cpp +3 -3
  290. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +1 -1
  291. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
  293. data/ext/ice/cpp/src/Ice/Network.h +1 -1
  294. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  295. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  296. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  297. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/Object.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
  300. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  301. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +1 -1
  302. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +1 -1
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +1 -1
  305. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
  306. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +3 -3
  307. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +1 -1
  308. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +1 -1
  309. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  310. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -1
  312. data/ext/ice/cpp/src/Ice/Outgoing.cpp +1 -1
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
  315. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  316. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +1 -1
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.h +1 -1
  318. data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
  319. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  320. data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +3 -3
  322. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  325. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +1 -1
  326. data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -1
  327. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1 -1
  328. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  329. data/ext/ice/cpp/src/Ice/Protocol.cpp +1 -1
  330. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  336. data/ext/ice/cpp/src/Ice/Proxy.cpp +1 -1
  337. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  339. data/ext/ice/cpp/src/Ice/Reference.cpp +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.h +1 -1
  341. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  343. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  344. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  346. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
  347. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  348. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  352. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  354. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  357. data/ext/ice/cpp/src/Ice/Router.cpp +3 -3
  358. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  359. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +1 -1
  360. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -1
  361. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  362. data/ext/ice/cpp/src/Ice/Selector.cpp +1 -1
  363. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  364. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
  365. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  366. data/ext/ice/cpp/src/Ice/ServantManager.cpp +1 -1
  367. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  368. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  369. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  370. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  371. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  372. data/ext/ice/cpp/src/Ice/Stream.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/StreamI.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamI.h +1 -1
  375. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +1 -1
  376. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  377. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +1 -1
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +1 -1
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +1 -1
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +4 -4
  389. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  390. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  391. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  395. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  397. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  398. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  399. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +1 -1
  403. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  404. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  405. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  406. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  407. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  408. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  409. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +1 -1
  410. data/ext/ice/cpp/src/Ice/WSEndpoint.h +1 -1
  411. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +1 -1
  412. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  413. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
  414. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -7
  415. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  416. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  417. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  418. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  419. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  421. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
  422. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -7
  423. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +1 -1
  424. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.h +1 -1
  425. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +1 -1
  426. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  427. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +1 -1
  428. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
  429. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -1
  430. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  431. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +1 -1
  432. data/ext/ice/cpp/src/IceSSL/EndpointI.h +1 -1
  433. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
  434. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  437. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +2 -2
  438. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +7 -2
  439. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  441. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  442. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  443. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  444. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  445. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +1 -1
  446. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  447. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -1
  449. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +96 -85
  451. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +14 -9
  452. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  456. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  457. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  458. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +1 -1
  459. data/ext/ice/cpp/src/IceUtil/ArgVector.h +1 -1
  460. data/ext/ice/cpp/src/IceUtil/Cond.cpp +1 -1
  461. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  462. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  463. data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +1 -1
  464. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  465. data/ext/ice/cpp/src/IceUtil/Exception.cpp +2 -2
  466. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +54 -15
  467. data/ext/ice/cpp/src/IceUtil/FileUtil.h +6 -1
  468. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  469. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  470. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  471. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  472. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  473. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -1
  474. data/ext/ice/cpp/src/IceUtil/SHA1.cpp +1 -1
  475. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  476. data/ext/ice/cpp/src/IceUtil/StopWatch.h +1 -1
  477. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  478. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  479. data/ext/ice/cpp/src/IceUtil/Thread.cpp +1 -1
  480. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  481. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  482. data/ext/ice/cpp/src/IceUtil/Timer.cpp +1 -1
  483. data/ext/ice/cpp/src/IceUtil/UUID.cpp +1 -1
  484. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +57 -1
  485. data/ext/ice/cpp/src/IceUtil/Unicode.h +14 -1
  486. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +2 -2
  487. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  488. data/ext/ice/cpp/src/Slice/CsUtil.cpp +1 -1
  489. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +1 -1
  490. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  491. data/ext/ice/cpp/src/Slice/Grammar.cpp +1 -1
  492. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  493. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2 -2
  494. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  495. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  496. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +1 -1
  497. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  498. data/ext/ice/cpp/src/Slice/Parser.cpp +1 -1
  499. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +1 -1
  500. data/ext/ice/cpp/src/Slice/Python.cpp +1 -1
  501. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +738 -209
  502. data/ext/ice/cpp/src/Slice/Ruby.cpp +5 -2
  503. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +125 -55
  504. data/ext/ice/cpp/src/Slice/Scanner.cpp +341 -204
  505. data/ext/ice/cpp/src/Slice/Util.cpp +1 -1
  506. data/ext/ice/mcpp/Makefile +5 -2
  507. data/ext/ice/mcpp/README.md +8 -2
  508. data/ext/ice/mcpp/configed.H +9 -1
  509. data/ext/ice/mcpp/support.c +3 -2
  510. data/ice.gemspec +2 -2
  511. data/lib/Glacier2.rb +1 -1
  512. data/lib/Glacier2/Metrics.rb +3 -2
  513. data/lib/Glacier2/PermissionsVerifier.rb +3 -2
  514. data/lib/Glacier2/PermissionsVerifierF.rb +3 -2
  515. data/lib/Glacier2/Router.rb +3 -2
  516. data/lib/Glacier2/RouterF.rb +3 -2
  517. data/lib/Glacier2/SSLInfo.rb +3 -2
  518. data/lib/Glacier2/Session.rb +3 -2
  519. data/lib/Ice.rb +1 -1
  520. data/lib/Ice/BuiltinSequences.rb +3 -2
  521. data/lib/Ice/Communicator.rb +3 -2
  522. data/lib/Ice/CommunicatorF.rb +3 -2
  523. data/lib/Ice/Connection.rb +3 -2
  524. data/lib/Ice/ConnectionF.rb +3 -2
  525. data/lib/Ice/Current.rb +3 -2
  526. data/lib/Ice/Endpoint.rb +3 -2
  527. data/lib/Ice/EndpointF.rb +3 -2
  528. data/lib/Ice/EndpointTypes.rb +3 -2
  529. data/lib/Ice/FacetMap.rb +3 -2
  530. data/lib/Ice/Identity.rb +3 -2
  531. data/lib/Ice/ImplicitContext.rb +3 -2
  532. data/lib/Ice/ImplicitContextF.rb +3 -2
  533. data/lib/Ice/Instrumentation.rb +3 -2
  534. data/lib/Ice/InstrumentationF.rb +3 -2
  535. data/lib/Ice/LocalException.rb +3 -2
  536. data/lib/Ice/Locator.rb +3 -2
  537. data/lib/Ice/LocatorF.rb +3 -2
  538. data/lib/Ice/Logger.rb +3 -2
  539. data/lib/Ice/LoggerF.rb +3 -2
  540. data/lib/Ice/Metrics.rb +3 -2
  541. data/lib/Ice/ObjectAdapterF.rb +3 -2
  542. data/lib/Ice/ObjectFactory.rb +3 -2
  543. data/lib/Ice/ObjectFactoryF.rb +3 -2
  544. data/lib/Ice/Plugin.rb +3 -2
  545. data/lib/Ice/PluginF.rb +3 -2
  546. data/lib/Ice/Process.rb +3 -2
  547. data/lib/Ice/ProcessF.rb +3 -2
  548. data/lib/Ice/Properties.rb +3 -2
  549. data/lib/Ice/PropertiesAdmin.rb +3 -2
  550. data/lib/Ice/PropertiesF.rb +3 -2
  551. data/lib/Ice/RemoteLogger.rb +3 -2
  552. data/lib/Ice/Router.rb +3 -2
  553. data/lib/Ice/RouterF.rb +3 -2
  554. data/lib/Ice/SliceChecksumDict.rb +3 -2
  555. data/lib/Ice/Version.rb +3 -2
  556. data/lib/IceBox.rb +1 -1
  557. data/lib/IceBox/IceBox.rb +3 -2
  558. data/lib/IceGrid.rb +1 -1
  559. data/lib/IceGrid/Admin.rb +3 -2
  560. data/lib/IceGrid/Descriptor.rb +3 -2
  561. data/lib/IceGrid/Exception.rb +3 -2
  562. data/lib/IceGrid/FileParser.rb +3 -2
  563. data/lib/IceGrid/Locator.rb +3 -2
  564. data/lib/IceGrid/Observer.rb +3 -2
  565. data/lib/IceGrid/Query.rb +3 -2
  566. data/lib/IceGrid/Registry.rb +3 -2
  567. data/lib/IceGrid/Session.rb +3 -2
  568. data/lib/IceGrid/UserAccountMapper.rb +3 -2
  569. data/lib/IcePatch2.rb +1 -1
  570. data/lib/IcePatch2/FileInfo.rb +3 -2
  571. data/lib/IcePatch2/FileServer.rb +3 -2
  572. data/lib/IceStorm.rb +1 -1
  573. data/lib/IceStorm/IceStorm.rb +3 -2
  574. data/lib/IceStorm/Metrics.rb +3 -2
  575. data/slice/Freeze/BackgroundSaveEvictor.ice +1 -1
  576. data/slice/Freeze/CatalogData.ice +1 -1
  577. data/slice/Freeze/Connection.ice +1 -1
  578. data/slice/Freeze/ConnectionF.ice +1 -1
  579. data/slice/Freeze/DB.ice +1 -1
  580. data/slice/Freeze/Evictor.ice +1 -1
  581. data/slice/Freeze/EvictorF.ice +1 -1
  582. data/slice/Freeze/EvictorStorage.ice +1 -1
  583. data/slice/Freeze/Exception.ice +1 -1
  584. data/slice/Freeze/Transaction.ice +1 -1
  585. data/slice/Freeze/TransactionalEvictor.ice +1 -1
  586. data/slice/Glacier2/Metrics.ice +1 -1
  587. data/slice/Glacier2/PermissionsVerifier.ice +1 -1
  588. data/slice/Glacier2/PermissionsVerifierF.ice +1 -1
  589. data/slice/Glacier2/Router.ice +1 -1
  590. data/slice/Glacier2/RouterF.ice +1 -1
  591. data/slice/Glacier2/SSLInfo.ice +1 -1
  592. data/slice/Glacier2/Session.ice +1 -1
  593. data/slice/Ice/BuiltinSequences.ice +1 -1
  594. data/slice/Ice/Communicator.ice +1 -1
  595. data/slice/Ice/CommunicatorF.ice +1 -1
  596. data/slice/Ice/Connection.ice +3 -3
  597. data/slice/Ice/ConnectionF.ice +1 -1
  598. data/slice/Ice/Current.ice +1 -1
  599. data/slice/Ice/Endpoint.ice +1 -1
  600. data/slice/Ice/EndpointF.ice +1 -1
  601. data/slice/Ice/EndpointTypes.ice +1 -1
  602. data/slice/Ice/FacetMap.ice +1 -1
  603. data/slice/Ice/Identity.ice +1 -1
  604. data/slice/Ice/ImplicitContext.ice +1 -1
  605. data/slice/Ice/ImplicitContextF.ice +1 -1
  606. data/slice/Ice/Instrumentation.ice +1 -1
  607. data/slice/Ice/InstrumentationF.ice +1 -1
  608. data/slice/Ice/LocalException.ice +1 -1
  609. data/slice/Ice/Locator.ice +1 -1
  610. data/slice/Ice/LocatorF.ice +1 -1
  611. data/slice/Ice/Logger.ice +1 -1
  612. data/slice/Ice/LoggerF.ice +1 -1
  613. data/slice/Ice/Metrics.ice +1 -1
  614. data/slice/Ice/ObjectAdapter.ice +4 -4
  615. data/slice/Ice/ObjectAdapterF.ice +1 -1
  616. data/slice/Ice/ObjectFactory.ice +1 -1
  617. data/slice/Ice/ObjectFactoryF.ice +1 -1
  618. data/slice/Ice/Plugin.ice +2 -2
  619. data/slice/Ice/PluginF.ice +1 -1
  620. data/slice/Ice/Process.ice +1 -1
  621. data/slice/Ice/ProcessF.ice +1 -1
  622. data/slice/Ice/Properties.ice +1 -1
  623. data/slice/Ice/PropertiesAdmin.ice +1 -1
  624. data/slice/Ice/PropertiesF.ice +1 -1
  625. data/slice/Ice/RemoteLogger.ice +4 -4
  626. data/slice/Ice/Router.ice +2 -2
  627. data/slice/Ice/RouterF.ice +1 -1
  628. data/slice/Ice/ServantLocator.ice +16 -16
  629. data/slice/Ice/ServantLocatorF.ice +1 -1
  630. data/slice/Ice/SliceChecksumDict.ice +1 -1
  631. data/slice/Ice/Version.ice +1 -1
  632. data/slice/IceBox/IceBox.ice +1 -1
  633. data/slice/IceDiscovery/IceDiscovery.ice +1 -1
  634. data/slice/IceGrid/Admin.ice +1 -1
  635. data/slice/IceGrid/Descriptor.ice +1 -1
  636. data/slice/IceGrid/Exception.ice +1 -1
  637. data/slice/IceGrid/FileParser.ice +1 -1
  638. data/slice/IceGrid/Locator.ice +1 -1
  639. data/slice/IceGrid/Observer.ice +1 -1
  640. data/slice/IceGrid/PluginFacade.ice +11 -11
  641. data/slice/IceGrid/Query.ice +1 -1
  642. data/slice/IceGrid/Registry.ice +1 -1
  643. data/slice/IceGrid/Session.ice +1 -1
  644. data/slice/IceGrid/UserAccountMapper.ice +1 -1
  645. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +1 -1
  646. data/slice/IcePatch2/FileInfo.ice +1 -1
  647. data/slice/IcePatch2/FileServer.ice +1 -1
  648. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  649. data/slice/IceSSL/EndpointInfo.ice +1 -1
  650. data/slice/IceStorm/IceStorm.ice +1 -1
  651. data/slice/IceStorm/Metrics.ice +1 -1
  652. metadata +461 -462
  653. data/ext/ice/mcpp/Makefile.mak +0 -54
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,13 +1,13 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.1
10
+ // Ice version 3.6.2
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 > 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 1
37
+ # if ICE_INT_VERSION % 100 < 2
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -259,7 +259,7 @@ OpenSSLEngine::OpenSSLEngine(const CommunicatorPtr& communicator) :
259
259
  }
260
260
  }
261
261
  }
262
- # ifndef _WIN32
262
+ # if !defined (_WIN32) && !defined (OPENSSL_NO_EGD)
263
263
  //
264
264
  // The Entropy Gathering Daemon (EGD) is not available on Windows.
265
265
  // The file should be a Unix domain socket for the daemon.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -440,7 +440,7 @@ IceSSL::TransceiverI::write(IceInternal::Buffer& buf)
440
440
  }
441
441
 
442
442
  IceInternal::SocketOperation
443
- IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&)
443
+ IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool& hasMoreData)
444
444
  {
445
445
  if(!_stream->isConnected())
446
446
  {
@@ -548,6 +548,11 @@ IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&)
548
548
  }
549
549
  }
550
550
 
551
+ //
552
+ // Check if there's still buffered data to read. In this case, set hasMoreData to true.
553
+ //
554
+ hasMoreData = SSL_pending(_ssl) > 0;
555
+
551
556
  return IceInternal::SocketOperationNone;
552
557
  }
553
558
 
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -120,6 +120,7 @@ public:
120
120
  private:
121
121
 
122
122
  void parseCiphers(const std::string&);
123
+ SecKeychainRef openKeychain();
123
124
 
124
125
  bool _initialized;
125
126
  UniqueRef<CFArrayRef> _certificateAuthorities;
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -819,86 +819,6 @@ IceSSL::SecureTransportEngine::initialize()
819
819
  //
820
820
  const string defaultDir = properties->getProperty("IceSSL.DefaultDir");
821
821
 
822
- //
823
- // Open the application KeyChain or create it if the keychain doesn't exists
824
- //
825
- string keychainPath = properties->getProperty("IceSSL.Keychain");
826
- string keychainPassword = properties->getProperty("IceSSL.KeychainPassword");
827
-
828
- SecKeychainRef keychain = 0;
829
- OSStatus err = 0;
830
- if(keychainPath.empty())
831
- {
832
- if((err = SecKeychainCopyDefault(&keychain)))
833
- {
834
- throw PluginInitializationException(__FILE__, __LINE__,
835
- "IceSSL: unable to retrieve default keychain:\n" + errorToString(err));
836
- }
837
- }
838
- else
839
- {
840
- //
841
- // KeyChain path is relative to the current working directory.
842
- //
843
- if(!IceUtilInternal::isAbsolutePath(keychainPath))
844
- {
845
- string cwd;
846
- if(IceUtilInternal::getcwd(cwd) == 0)
847
- {
848
- keychainPath = string(cwd) + '/' + keychainPath;
849
- }
850
- }
851
-
852
- if((err = SecKeychainOpen(keychainPath.c_str(), &keychain)))
853
- {
854
- throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: unable to open keychain: `" +
855
- keychainPath + "'\n" + errorToString(err));
856
- }
857
- }
858
-
859
- UniqueRef<SecKeychainRef> k(keychain);
860
-
861
- SecKeychainStatus status;
862
- err = SecKeychainGetStatus(keychain, &status);
863
- if(err == noErr)
864
- {
865
- const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
866
- if((err = SecKeychainUnlock(keychain, keychainPassword.size(), pass, pass != 0)))
867
- {
868
- throw PluginInitializationException(__FILE__, __LINE__,
869
- "IceSSL: unable to unlock keychain:\n" + errorToString(err));
870
- }
871
- }
872
- else if(err == errSecNoSuchKeychain)
873
- {
874
- const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
875
- if((err = SecKeychainCreate(keychainPath.c_str(), keychainPassword.size(), pass, pass == 0, 0, &keychain)))
876
- {
877
- throw PluginInitializationException(__FILE__, __LINE__,
878
- "IceSSL: unable to create keychain:\n" + errorToString(err));
879
- }
880
- k.reset(keychain);
881
- }
882
- else
883
- {
884
- throw PluginInitializationException(__FILE__, __LINE__,
885
- "IceSSL: unable to open keychain:\n" + errorToString(err));
886
- }
887
-
888
- //
889
- // Set keychain settings to avoid keychain lock.
890
- //
891
- SecKeychainSettings settings;
892
- settings.version = SEC_KEYCHAIN_SETTINGS_VERS1;
893
- settings.lockOnSleep = FALSE;
894
- settings.useLockInterval = FALSE;
895
- settings.lockInterval = INT_MAX;
896
- if((err = SecKeychainSetSettings(keychain, &settings)))
897
- {
898
- throw PluginInitializationException(__FILE__, __LINE__,
899
- "IceSSL: error setting keychain settings:\n" + errorToString(err));
900
- }
901
-
902
822
  //
903
823
  // Load the CA certificates used to authenticate peers into
904
824
  // _certificateAuthorities array.
@@ -983,9 +903,10 @@ IceSSL::SecureTransportEngine::initialize()
983
903
  keyFile = resolved;
984
904
  }
985
905
 
906
+ UniqueRef<SecKeychainRef> kc(openKeychain());
986
907
  try
987
908
  {
988
- _chain.reset(loadCertificateChain(file, keyFile, keychain, password, passwordPrompt, passwordRetryMax));
909
+ _chain.reset(loadCertificateChain(file, keyFile, kc.get(), password, passwordPrompt, passwordRetryMax));
989
910
  break;
990
911
  }
991
912
  catch(const CertificateReadException& ce)
@@ -1003,14 +924,15 @@ IceSSL::SecureTransportEngine::initialize()
1003
924
  }
1004
925
  else if(!findCert.empty())
1005
926
  {
1006
- UniqueRef<SecCertificateRef> cert(findCertificate(keychain, findCert));
927
+ UniqueRef<SecKeychainRef> kc(openKeychain());
928
+ UniqueRef<SecCertificateRef> cert(findCertificate(kc.get(), findCert));
1007
929
 
1008
930
  //
1009
931
  // Retrieve the certificate chain
1010
932
  //
1011
933
  UniqueRef<SecPolicyRef> policy(SecPolicyCreateSSL(true, 0));
1012
934
  SecTrustRef trust = 0;
1013
- err = SecTrustCreateWithCertificates((CFArrayRef)cert.get(), policy.get(), &trust);
935
+ OSStatus err = SecTrustCreateWithCertificates((CFArrayRef)cert.get(), policy.get(), &trust);
1014
936
  if(err || !trust)
1015
937
  {
1016
938
  throw PluginInitializationException(__FILE__, __LINE__,
@@ -1038,7 +960,7 @@ IceSSL::SecureTransportEngine::initialize()
1038
960
  // identity.
1039
961
  //
1040
962
  SecIdentityRef identity;
1041
- err = SecIdentityCreateWithCertificate(keychain, cert.get(), &identity);
963
+ err = SecIdentityCreateWithCertificate(kc.get(), cert.get(), &identity);
1042
964
  if(err != noErr)
1043
965
  {
1044
966
  ostringstream os;
@@ -1395,4 +1317,93 @@ IceSSL::SecureTransportEngine::parseCiphers(const string& ciphers)
1395
1317
  "\nThe result cipher list does not contain any entries");
1396
1318
  }
1397
1319
  }
1320
+
1321
+ SecKeychainRef
1322
+ SecureTransportEngine::openKeychain()
1323
+ {
1324
+ const PropertiesPtr properties = communicator()->getProperties();
1325
+
1326
+ //
1327
+ // Open the application KeyChain or create it if the keychain doesn't exists
1328
+ //
1329
+ string keychainPath = properties->getProperty("IceSSL.Keychain");
1330
+ string keychainPassword = properties->getProperty("IceSSL.KeychainPassword");
1331
+
1332
+ SecKeychainRef keychain = 0;
1333
+ OSStatus err = 0;
1334
+ if(keychainPath.empty())
1335
+ {
1336
+ if((err = SecKeychainCopyDefault(&keychain)))
1337
+ {
1338
+ throw PluginInitializationException(__FILE__, __LINE__,
1339
+ "IceSSL: unable to retrieve default keychain:\n" + errorToString(err));
1340
+ }
1341
+ }
1342
+ else
1343
+ {
1344
+ //
1345
+ // KeyChain path is relative to the current working directory.
1346
+ //
1347
+ if(!IceUtilInternal::isAbsolutePath(keychainPath))
1348
+ {
1349
+ string cwd;
1350
+ if(IceUtilInternal::getcwd(cwd) == 0)
1351
+ {
1352
+ keychainPath = string(cwd) + '/' + keychainPath;
1353
+ }
1354
+ }
1355
+
1356
+ if((err = SecKeychainOpen(keychainPath.c_str(), &keychain)))
1357
+ {
1358
+ throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: unable to open keychain: `" +
1359
+ keychainPath + "'\n" + errorToString(err));
1360
+ }
1361
+ }
1362
+
1363
+ UniqueRef<SecKeychainRef> k(keychain);
1364
+
1365
+ SecKeychainStatus status;
1366
+ err = SecKeychainGetStatus(keychain, &status);
1367
+ if(err == noErr)
1368
+ {
1369
+ const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
1370
+ if((err = SecKeychainUnlock(keychain, keychainPassword.size(), pass, pass != 0)))
1371
+ {
1372
+ throw PluginInitializationException(__FILE__, __LINE__,
1373
+ "IceSSL: unable to unlock keychain:\n" + errorToString(err));
1374
+ }
1375
+ }
1376
+ else if(err == errSecNoSuchKeychain)
1377
+ {
1378
+ const char* pass = keychainPassword.empty() ? 0 : keychainPassword.c_str();
1379
+ if((err = SecKeychainCreate(keychainPath.c_str(), keychainPassword.size(), pass, pass == 0, 0, &keychain)))
1380
+ {
1381
+ throw PluginInitializationException(__FILE__, __LINE__,
1382
+ "IceSSL: unable to create keychain:\n" + errorToString(err));
1383
+ }
1384
+ k.reset(keychain);
1385
+ }
1386
+ else
1387
+ {
1388
+ throw PluginInitializationException(__FILE__, __LINE__,
1389
+ "IceSSL: unable to open keychain:\n" + errorToString(err));
1390
+ }
1391
+
1392
+ //
1393
+ // Set keychain settings to avoid keychain lock.
1394
+ //
1395
+ SecKeychainSettings settings;
1396
+ settings.version = SEC_KEYCHAIN_SETTINGS_VERS1;
1397
+ settings.lockOnSleep = FALSE;
1398
+ settings.useLockInterval = FALSE;
1399
+ settings.lockInterval = INT_MAX;
1400
+ if((err = SecKeychainSetSettings(keychain, &settings)))
1401
+ {
1402
+ throw PluginInitializationException(__FILE__, __LINE__,
1403
+ "IceSSL: error setting keychain settings:\n" + errorToString(err));
1404
+ }
1405
+
1406
+ return k.release();
1407
+ }
1408
+
1398
1409
  #endif
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -396,20 +396,13 @@ IceSSL::TransceiverI::write(IceInternal::Buffer& buf)
396
396
  }
397
397
 
398
398
  IceInternal::SocketOperation
399
- IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&)
399
+ IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool& hasMoreData)
400
400
  {
401
401
  if(!_stream->isConnected())
402
402
  {
403
403
  return _stream->read(buf);
404
404
  }
405
405
 
406
- //
407
- // Note: we don't set the hasMoreData flag in this implementation.
408
- // We assume that SecureTransport doesn't read more SSL records
409
- // than necessary to fill the requested data and that the sender
410
- // sends Ice messages in individual SSL records.
411
- //
412
-
413
406
  if(buf.i == buf.b.end())
414
407
  {
415
408
  return IceInternal::SocketOperationNone;
@@ -461,6 +454,18 @@ IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&)
461
454
  packetSize = buf.b.end() - buf.i;
462
455
  }
463
456
  }
457
+
458
+ //
459
+ // Check if there's still buffered data to read. In this case, set hasMoreData to true.
460
+ //
461
+ size_t buffered = 0;
462
+ OSStatus err = SSLGetBufferedReadSize(_ssl, &buffered);
463
+ if(err)
464
+ {
465
+ errno = err;
466
+ throw SocketException(__FILE__, __LINE__, IceInternal::getSocketErrno());
467
+ }
468
+ hasMoreData = buffered > 0;
464
469
  return IceInternal::SocketOperationNone;
465
470
  }
466
471