zeroc-ice 3.7.1 → 3.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ICE_LICENSE +1 -1
- data/bin/slice2rb +1 -6
- data/ext/Communicator.cpp +7 -9
- data/ext/Communicator.h +1 -6
- data/ext/Config.h +28 -6
- data/ext/Connection.cpp +1 -10
- data/ext/Connection.h +1 -6
- data/ext/Endpoint.cpp +1 -10
- data/ext/Endpoint.h +1 -6
- data/ext/ImplicitContext.cpp +1 -6
- data/ext/ImplicitContext.h +1 -6
- data/ext/Init.cpp +1 -6
- data/ext/Logger.cpp +1 -6
- data/ext/Logger.h +1 -6
- data/ext/Operation.cpp +6 -11
- data/ext/Operation.h +1 -6
- data/ext/Properties.cpp +3 -8
- data/ext/Properties.h +1 -6
- data/ext/Proxy.cpp +21 -14
- data/ext/Proxy.h +1 -6
- data/ext/Slice.cpp +3 -18
- data/ext/Slice.h +1 -6
- data/ext/Types.cpp +74 -58
- data/ext/Types.h +1 -6
- data/ext/Util.cpp +61 -32
- data/ext/Util.h +108 -33
- data/ext/ValueFactoryManager.cpp +1 -6
- data/ext/ValueFactoryManager.h +1 -6
- data/ext/extconf.rb +5 -3
- data/ext/ice/cpp/include/Ice/Application.h +1 -6
- data/ext/ice/cpp/include/Ice/AsyncResult.h +1 -6
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -6
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +1 -6
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -6
- data/ext/ice/cpp/include/Ice/Buffer.h +1 -6
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +1 -6
- data/ext/ice/cpp/include/Ice/Comparable.h +1 -6
- data/ext/ice/cpp/include/Ice/Config.h +5 -6
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -6
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -6
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -6
- data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -6
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +1 -6
- data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -6
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -6
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -6
- data/ext/ice/cpp/include/Ice/Exception.h +4 -9
- data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +3 -16
- data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -6
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +2 -7
- data/ext/ice/cpp/include/Ice/Format.h +1 -6
- data/ext/ice/cpp/include/Ice/Functional.h +2 -7
- data/ext/ice/cpp/include/Ice/GCObject.h +1 -6
- data/ext/ice/cpp/include/Ice/Handle.h +1 -6
- data/ext/ice/cpp/include/Ice/Ice.h +1 -6
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +11 -17
- data/ext/ice/cpp/include/Ice/Incoming.h +13 -8
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +11 -6
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -6
- data/ext/ice/cpp/include/Ice/Initialize.h +13 -7
- data/ext/ice/cpp/include/Ice/InputStream.h +6 -11
- data/ext/ice/cpp/include/Ice/InstanceF.h +1 -6
- data/ext/ice/cpp/include/Ice/InterfaceByValue.h +1 -6
- data/ext/ice/cpp/include/Ice/LocalObject.h +1 -6
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -6
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +9 -7
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -6
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +16 -7
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -6
- data/ext/ice/cpp/include/Ice/Object.h +6 -6
- data/ext/ice/cpp/include/Ice/ObjectF.h +1 -6
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -6
- data/ext/ice/cpp/include/Ice/Optional.h +21 -7
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +18 -8
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -6
- data/ext/ice/cpp/include/Ice/OutputStream.h +6 -11
- data/ext/ice/cpp/include/Ice/Protocol.h +1 -6
- data/ext/ice/cpp/include/Ice/Proxy.h +50 -23
- data/ext/ice/cpp/include/Ice/ProxyF.h +1 -6
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -6
- data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +1 -6
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -6
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -6
- data/ext/ice/cpp/include/Ice/SHA1.h +1 -6
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -6
- data/ext/ice/cpp/include/Ice/Service.h +2 -7
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -6
- data/ext/ice/cpp/include/Ice/SlicedData.h +1 -6
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -6
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +2 -7
- data/ext/ice/cpp/include/Ice/StringConverter.h +1 -6
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
- data/ext/ice/cpp/include/Ice/UUID.h +1 -6
- data/ext/ice/cpp/include/Ice/UniquePtr.h +1 -6
- data/ext/ice/cpp/include/Ice/UniqueRef.h +1 -6
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -6
- data/ext/ice/cpp/include/Ice/Value.h +2 -7
- data/ext/ice/cpp/include/Ice/ValueF.h +1 -6
- data/ext/ice/cpp/include/IceSSL/Config.h +1 -6
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -6
- data/ext/ice/cpp/include/IceSSL/OpenSSL.h +1 -6
- data/ext/ice/cpp/include/IceSSL/Plugin.h +59 -6
- data/ext/ice/cpp/include/IceSSL/SChannel.h +5 -6
- data/ext/ice/cpp/include/IceSSL/SecureTransport.h +5 -6
- data/ext/ice/cpp/include/IceSSL/UWP.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Atomic.h +2 -7
- data/ext/ice/cpp/include/IceUtil/Cond.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Config.h +34 -20
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +5 -10
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -6
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +26 -38
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +5 -11
- data/ext/ice/cpp/include/IceUtil/Exception.h +130 -11
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Functional.h +5 -6
- data/ext/ice/cpp/include/IceUtil/Handle.h +1 -6
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Lock.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Mutex.h +2 -9
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -6
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +5 -10
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Optional.h +9 -6
- data/ext/ice/cpp/include/IceUtil/Options.h +1 -6
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +18 -20
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -6
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +8 -6
- data/ext/ice/cpp/include/IceUtil/Random.h +37 -6
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -6
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -9
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +8 -7
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Shared.h +1 -6
- data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -6
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +2 -7
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Thread.h +1 -6
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Time.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Timer.h +1 -6
- data/ext/ice/cpp/include/IceUtil/UUID.h +1 -6
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +12 -17
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +35 -34
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/Connection.h +92 -57
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/Current.h +51 -57
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +73 -42
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +5 -10
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +8 -13
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +5 -10
- data/ext/ice/cpp/include/generated/Ice/Identity.h +7 -13
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +28 -27
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +76 -21
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +597 -272
- data/ext/ice/cpp/include/generated/Ice/Locator.h +135 -52
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +8 -13
- data/ext/ice/cpp/include/generated/Ice/Logger.h +10 -9
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +175 -134
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +20 -19
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +16 -15
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +18 -11
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/Process.h +14 -13
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +6 -11
- data/ext/ice/cpp/include/generated/Ice/Properties.h +22 -21
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +20 -19
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +6 -11
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +39 -28
- data/ext/ice/cpp/include/generated/Ice/Router.h +43 -36
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +6 -11
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +38 -37
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +4 -9
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +22 -15
- data/ext/ice/cpp/include/generated/Ice/Version.h +16 -23
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +12 -12
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +4 -9
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +10 -10
- data/ext/ice/cpp/src/Ice/ACM.cpp +14 -16
- data/ext/ice/cpp/src/Ice/ACM.h +1 -6
- data/ext/ice/cpp/src/Ice/ACMF.h +1 -6
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Acceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -6
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +8 -13
- data/ext/ice/cpp/src/Ice/ArgVector.h +1 -6
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -7
- data/ext/ice/cpp/src/Ice/Base64.cpp +12 -18
- data/ext/ice/cpp/src/Ice/Base64.h +1 -6
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +2 -7
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -6
- data/ext/ice/cpp/src/Ice/Buffer.cpp +3 -8
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +4 -9
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +2 -8
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/Communicator.cpp +4 -9
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +23 -10
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +6 -7
- data/ext/ice/cpp/src/Ice/Cond.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +5 -10
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -6
- data/ext/ice/cpp/src/Ice/Connection.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +146 -36
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +4 -6
- data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +34 -24
- data/ext/ice/cpp/src/Ice/ConnectionI.h +1 -6
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +2 -7
- data/ext/ice/cpp/src/Ice/Connector.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Connector.h +1 -6
- data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -6
- data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Current.cpp +4 -9
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +1 -6
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -6
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -6
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +14 -6
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +7 -11
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +4 -9
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EndpointI.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +4 -9
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EventHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -6
- data/ext/ice/cpp/src/Ice/Exception.cpp +8 -13
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +4 -9
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -6
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -6
- data/ext/ice/cpp/src/Ice/GCObject.cpp +2 -7
- data/ext/ice/cpp/src/Ice/HashUtil.h +2 -7
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -6
- data/ext/ice/cpp/src/Ice/HttpParser.h +1 -6
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +14 -31
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -6
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -6
- data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Identity.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -8
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -6
- data/ext/ice/cpp/src/Ice/Incoming.cpp +11 -13
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -6
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -6
- data/ext/ice/cpp/src/Ice/Initialize.cpp +6 -11
- data/ext/ice/cpp/src/Ice/InputStream.cpp +55 -87
- data/ext/ice/cpp/src/Ice/Instance.cpp +58 -13
- data/ext/ice/cpp/src/Ice/Instance.h +3 -6
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +4 -9
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +2 -7
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -6
- data/ext/ice/cpp/src/Ice/LocalException.cpp +400 -9
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Locator.cpp +52 -27
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +25 -22
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +3 -8
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -6
- data/ext/ice/cpp/src/Ice/Logger.cpp +4 -9
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +8 -19
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -6
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +13 -12
- data/ext/ice/cpp/src/Ice/LoggerI.h +1 -6
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Metrics.cpp +12 -11
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +9 -9
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Network.cpp +70 -52
- data/ext/ice/cpp/src/Ice/Network.h +4 -9
- data/ext/ice/cpp/src/Ice/NetworkF.h +1 -6
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +2 -8
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -6
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -6
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +10 -14
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +22 -7
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +5 -6
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -6
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +5 -10
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -6
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +6 -9
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +29 -61
- data/ext/ice/cpp/src/Ice/Plugin.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PluginF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +1 -6
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +1 -6
- data/ext/ice/cpp/src/Ice/Process.cpp +8 -13
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/Properties.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +11 -16
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +3 -8
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -6
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +13 -17
- data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -6
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +42 -8
- data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -7
- data/ext/ice/cpp/src/Ice/Protocol.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -6
- data/ext/ice/cpp/src/Ice/Proxy.cpp +9 -8
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +11 -7
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/Reference.cpp +61 -33
- data/ext/ice/cpp/src/Ice/Reference.h +1 -6
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +2 -9
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +4 -8
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -6
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +20 -19
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +7 -9
- data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -6
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -6
- data/ext/ice/cpp/src/Ice/Router.cpp +15 -20
- data/ext/ice/cpp/src/Ice/RouterF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +3 -8
- data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -6
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -6
- data/ext/ice/cpp/src/Ice/SHA1.cpp +3 -8
- data/ext/ice/cpp/src/Ice/Selector.cpp +59 -25
- data/ext/ice/cpp/src/Ice/Selector.h +1 -6
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +7 -12
- data/ext/ice/cpp/src/Ice/ServantManager.h +1 -6
- data/ext/ice/cpp/src/Ice/SharedContext.h +1 -6
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +4 -9
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -6
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -6
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +15 -18
- data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -6
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -6
- data/ext/ice/cpp/src/Ice/StringUtil.h +1 -6
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +3 -8
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -6
- data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +66 -0
- data/ext/ice/cpp/src/Ice/SystemdJournalI.h +39 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +9 -7
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +1 -6
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/Thread.cpp +18 -14
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +69 -9
- data/ext/ice/cpp/src/Ice/ThreadPool.h +11 -12
- data/ext/ice/cpp/src/Ice/Timer.cpp +11 -6
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -6
- data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -6
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -6
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -6
- data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -6
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Transceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/TransceiverF.h +3 -8
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +4 -6
- data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +12 -7
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +1 -6
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +33 -26
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/Value.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +1 -7
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +1 -6
- data/ext/ice/cpp/src/Ice/Version.cpp +4 -9
- data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -6
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -6
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -6
- data/ext/ice/cpp/src/Ice/WSConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +1 -6
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +1 -6
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +18 -22
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -7
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +4 -9
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +497 -17
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +4 -7
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -6
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +5 -10
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -6
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +4 -9
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +22 -15
- data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +52 -17
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +8 -13
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -7
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/Instance.h +1 -6
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +15 -20
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +100 -46
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +3 -8
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +271 -147
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +3 -11
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -6
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +115 -6
- data/ext/ice/cpp/src/IceSSL/PluginI.h +11 -6
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -7
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -6
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +5 -10
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +69 -36
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +5 -8
- data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +5 -6
- data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +154 -38
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +8 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +21 -14
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +3 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +37 -31
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +44 -18
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +5 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +4 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +160 -99
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +7 -7
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +35 -25
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +5 -6
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -6
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +5 -10
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/Util.cpp +12 -11
- data/ext/ice/cpp/src/IceSSL/Util.h +1 -6
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -6
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +3 -6
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +2 -7
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Options.cpp +25 -15
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +41 -16
- data/ext/ice/cpp/src/IceUtil/Random.cpp +3 -8
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +2 -7
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -11
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +45 -12
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Time.cpp +12 -19
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +6 -11
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -6
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +17 -16
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +75 -73
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +3 -8
- data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -6
- data/ext/ice/cpp/src/Slice/Checksum.h +1 -6
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -6
- data/ext/ice/cpp/src/Slice/FileTracker.h +1 -6
- data/ext/ice/cpp/src/Slice/Grammar.cpp +249 -245
- data/ext/ice/cpp/src/Slice/Grammar.h +5 -5
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -7
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +89 -92
- data/ext/ice/cpp/src/Slice/JavaUtil.h +5 -10
- data/ext/ice/cpp/src/Slice/MD5.cpp +1 -6
- data/ext/ice/cpp/src/Slice/MD5.h +1 -6
- data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +10 -6
- data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -6
- data/ext/ice/cpp/src/Slice/Parser.cpp +153 -166
- data/ext/ice/cpp/src/Slice/Parser.h +33 -10
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +25 -17
- data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -7
- data/ext/ice/cpp/src/Slice/Python.cpp +22 -28
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +80 -49
- data/ext/ice/cpp/src/Slice/PythonUtil.h +1 -6
- data/ext/ice/cpp/src/Slice/Ruby.cpp +5 -10
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +13 -15
- data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -6
- data/ext/ice/cpp/src/Slice/Scanner.cpp +689 -437
- data/ext/ice/cpp/src/Slice/SliceUtil.cpp +2 -8
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +12 -12
- data/ext/ice/cpp/src/Slice/Util.h +1 -6
- data/ext/ice/mcpp/CMakeLists.txt +80 -0
- data/ext/ice/mcpp/Makefile +2 -5
- data/ext/ice/mcpp/expand.c +6 -6
- data/ice.gemspec +2 -4
- data/lib/Glacier2.rb +1 -6
- data/lib/Glacier2/Metrics.rb +3 -8
- data/lib/Glacier2/PermissionsVerifier.rb +3 -8
- data/lib/Glacier2/PermissionsVerifierF.rb +3 -8
- data/lib/Glacier2/Router.rb +3 -8
- data/lib/Glacier2/RouterF.rb +3 -8
- data/lib/Glacier2/SSLInfo.rb +3 -8
- data/lib/Glacier2/Session.rb +3 -8
- data/lib/Ice.rb +1 -6
- data/lib/Ice/BuiltinSequences.rb +3 -8
- data/lib/Ice/Communicator.rb +3 -8
- data/lib/Ice/CommunicatorF.rb +3 -8
- data/lib/Ice/Connection.rb +3 -8
- data/lib/Ice/ConnectionF.rb +3 -8
- data/lib/Ice/Current.rb +3 -8
- data/lib/Ice/Endpoint.rb +3 -8
- data/lib/Ice/EndpointF.rb +3 -8
- data/lib/Ice/EndpointTypes.rb +3 -8
- data/lib/Ice/FacetMap.rb +3 -8
- data/lib/Ice/Identity.rb +3 -8
- data/lib/Ice/ImplicitContext.rb +3 -8
- data/lib/Ice/ImplicitContextF.rb +3 -8
- data/lib/Ice/Instrumentation.rb +3 -8
- data/lib/Ice/InstrumentationF.rb +3 -8
- data/lib/Ice/LocalException.rb +3 -8
- data/lib/Ice/Locator.rb +3 -8
- data/lib/Ice/LocatorF.rb +3 -8
- data/lib/Ice/Logger.rb +3 -8
- data/lib/Ice/LoggerF.rb +3 -8
- data/lib/Ice/Metrics.rb +3 -8
- data/lib/Ice/ObjectAdapter.rb +3 -8
- data/lib/Ice/ObjectAdapterF.rb +3 -8
- data/lib/Ice/ObjectFactory.rb +3 -8
- data/lib/Ice/Plugin.rb +3 -8
- data/lib/Ice/PluginF.rb +3 -8
- data/lib/Ice/Process.rb +3 -8
- data/lib/Ice/ProcessF.rb +3 -8
- data/lib/Ice/Properties.rb +3 -8
- data/lib/Ice/PropertiesAdmin.rb +3 -8
- data/lib/Ice/PropertiesF.rb +3 -8
- data/lib/Ice/RemoteLogger.rb +3 -8
- data/lib/Ice/Router.rb +3 -8
- data/lib/Ice/RouterF.rb +3 -8
- data/lib/Ice/ServantLocator.rb +3 -8
- data/lib/Ice/ServantLocatorF.rb +3 -8
- data/lib/Ice/SliceChecksumDict.rb +3 -8
- data/lib/Ice/ValueFactory.rb +3 -8
- data/lib/Ice/Version.rb +3 -8
- data/lib/IceBox.rb +1 -6
- data/lib/IceBox/IceBox.rb +3 -8
- data/lib/IceGrid.rb +1 -6
- data/lib/IceGrid/Admin.rb +3 -8
- data/lib/IceGrid/Descriptor.rb +3 -8
- data/lib/IceGrid/Exception.rb +3 -8
- data/lib/IceGrid/FileParser.rb +3 -8
- data/lib/IceGrid/PluginFacade.rb +3 -8
- data/lib/IceGrid/Registry.rb +3 -8
- data/lib/IceGrid/Session.rb +3 -8
- data/lib/IceGrid/UserAccountMapper.rb +3 -8
- data/lib/IcePatch2.rb +1 -6
- data/lib/IcePatch2/FileInfo.rb +3 -8
- data/lib/IcePatch2/FileServer.rb +3 -8
- data/lib/IceStorm.rb +1 -6
- data/lib/IceStorm/IceStorm.rb +3 -8
- data/lib/IceStorm/Metrics.rb +3 -8
- data/slice/Glacier2/Metrics.ice +14 -8
- data/slice/Glacier2/PermissionsVerifier.ice +11 -7
- data/slice/Glacier2/PermissionsVerifierF.ice +11 -7
- data/slice/Glacier2/Router.ice +12 -8
- data/slice/Glacier2/RouterF.ice +11 -7
- data/slice/Glacier2/SSLInfo.ice +11 -7
- data/slice/Glacier2/Session.ice +11 -7
- data/slice/Ice/BuiltinSequences.ice +13 -7
- data/slice/Ice/Communicator.ice +92 -44
- data/slice/Ice/CommunicatorF.ice +13 -7
- data/slice/Ice/Connection.ice +35 -29
- data/slice/Ice/ConnectionF.ice +13 -7
- data/slice/Ice/Current.ice +29 -23
- data/slice/Ice/Endpoint.ice +22 -19
- data/slice/Ice/EndpointF.ice +14 -8
- data/slice/Ice/EndpointTypes.ice +15 -9
- data/slice/Ice/FacetMap.ice +14 -8
- data/slice/Ice/Identity.ice +13 -7
- data/slice/Ice/ImplicitContext.ice +28 -22
- data/slice/Ice/ImplicitContextF.ice +12 -7
- data/slice/Ice/Instrumentation.ice +19 -13
- data/slice/Ice/InstrumentationF.ice +13 -7
- data/slice/Ice/LocalException.ice +35 -29
- data/slice/Ice/Locator.ice +13 -7
- data/slice/Ice/LocatorF.ice +13 -7
- data/slice/Ice/Logger.ice +19 -13
- data/slice/Ice/LoggerF.ice +13 -7
- data/slice/Ice/Metrics.ice +26 -18
- data/slice/Ice/ObjectAdapter.ice +63 -45
- data/slice/Ice/ObjectAdapterF.ice +13 -7
- data/slice/Ice/ObjectFactory.ice +20 -12
- data/slice/Ice/Plugin.ice +19 -10
- data/slice/Ice/PluginF.ice +17 -7
- data/slice/Ice/Process.ice +13 -7
- data/slice/Ice/ProcessF.ice +13 -7
- data/slice/Ice/Properties.ice +35 -24
- data/slice/Ice/PropertiesAdmin.ice +13 -7
- data/slice/Ice/PropertiesF.ice +13 -7
- data/slice/Ice/RemoteLogger.ice +13 -7
- data/slice/Ice/Router.ice +14 -8
- data/slice/Ice/RouterF.ice +13 -7
- data/slice/Ice/ServantLocator.ice +31 -23
- data/slice/Ice/ServantLocatorF.ice +13 -7
- data/slice/Ice/SliceChecksumDict.ice +13 -7
- data/slice/Ice/ValueFactory.ice +22 -15
- data/slice/Ice/Version.ice +13 -7
- data/slice/IceBT/ConnectionInfo.ice +12 -7
- data/slice/IceBT/EndpointInfo.ice +13 -8
- data/slice/IceBT/Types.ice +12 -7
- data/slice/IceBox/IceBox.ice +29 -9
- data/slice/IceDiscovery/IceDiscovery.ice +68 -7
- data/slice/IceGrid/Admin.ice +41 -35
- data/slice/IceGrid/Descriptor.ice +15 -10
- data/slice/IceGrid/Exception.ice +15 -10
- data/slice/IceGrid/FileParser.ice +14 -8
- data/slice/IceGrid/PluginFacade.ice +17 -11
- data/slice/IceGrid/Registry.ice +13 -7
- data/slice/IceGrid/Session.ice +18 -12
- data/slice/IceGrid/UserAccountMapper.ice +16 -10
- data/slice/IceIAP/ConnectionInfo.ice +11 -8
- data/slice/IceIAP/EndpointInfo.ice +11 -8
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +12 -7
- data/slice/IcePatch2/FileInfo.ice +12 -7
- data/slice/IcePatch2/FileServer.ice +13 -8
- data/slice/IceSSL/ConnectionInfo.ice +16 -9
- data/slice/IceSSL/ConnectionInfoF.ice +14 -8
- data/slice/IceSSL/EndpointInfo.ice +14 -8
- data/slice/IceStorm/IceStorm.ice +17 -11
- data/slice/IceStorm/Metrics.ice +12 -8
- metadata +8 -4
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICESSL_OPENSSL_TRANSCEIVER_I_H
|
11
6
|
#define ICESSL_OPENSSL_TRANSCEIVER_I_H
|
@@ -61,10 +56,8 @@ private:
|
|
61
56
|
TransceiverI(const InstancePtr&, const IceInternal::TransceiverPtr&, const std::string&, bool);
|
62
57
|
virtual ~TransceiverI();
|
63
58
|
|
64
|
-
#ifdef ICE_USE_IOCP
|
65
59
|
bool receive();
|
66
60
|
bool send();
|
67
|
-
#endif
|
68
61
|
|
69
62
|
friend class IceSSL::OpenSSL::SSLEngine;
|
70
63
|
|
@@ -78,16 +71,15 @@ private:
|
|
78
71
|
std::string _cipher;
|
79
72
|
std::vector<IceSSL::CertificatePtr> _certs;
|
80
73
|
bool _verified;
|
74
|
+
TrustError _trustError;
|
81
75
|
|
82
76
|
SSL* _ssl;
|
83
|
-
|
84
|
-
BIO* _iocpBio;
|
77
|
+
BIO* _memBio;
|
85
78
|
IceInternal::Buffer _writeBuffer;
|
86
79
|
IceInternal::Buffer _readBuffer;
|
87
80
|
int _sentBytes;
|
88
81
|
size_t _maxSendPacketSize;
|
89
82
|
size_t _maxRecvPacketSize;
|
90
|
-
#endif
|
91
83
|
};
|
92
84
|
typedef IceUtil::Handle<TransceiverI> TransceiverIPtr;
|
93
85
|
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#include <IceSSL/OpenSSLUtil.h>
|
11
6
|
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICESSL_OPENSSL_UTIL_I_H
|
11
6
|
#define ICESSL_OPENSSL_UTIL_I_H
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#include <IceSSL/PluginI.h>
|
11
6
|
#include <IceSSL/Instance.h>
|
@@ -135,3 +130,117 @@ ICEregisterIceSSL(bool loadOnInitialize)
|
|
135
130
|
{
|
136
131
|
Ice::registerIceSSL(loadOnInitialize);
|
137
132
|
}
|
133
|
+
|
134
|
+
IceSSL::TrustError
|
135
|
+
IceSSL::getTrustError(const IceSSL::ConnectionInfoPtr& info)
|
136
|
+
{
|
137
|
+
ExtendedConnectionInfoPtr extendedInfo = ICE_DYNAMIC_CAST(ExtendedConnectionInfo, info);
|
138
|
+
if (extendedInfo)
|
139
|
+
{
|
140
|
+
return extendedInfo->errorCode;
|
141
|
+
}
|
142
|
+
return info->verified ? IceSSL::ICE_ENUM(TrustError, NoError) : IceSSL::ICE_ENUM(TrustError, UnknownTrustFailure);
|
143
|
+
}
|
144
|
+
|
145
|
+
std::string
|
146
|
+
IceSSL::getTrustErrorDescription(TrustError error)
|
147
|
+
{
|
148
|
+
switch(error)
|
149
|
+
{
|
150
|
+
case IceSSL::ICE_ENUM(TrustError, NoError):
|
151
|
+
{
|
152
|
+
return "no error";
|
153
|
+
}
|
154
|
+
case IceSSL::ICE_ENUM(TrustError, ChainTooLong):
|
155
|
+
{
|
156
|
+
return "the certificate chain length is greater than the specified maximum depth";
|
157
|
+
}
|
158
|
+
case IceSSL::ICE_ENUM(TrustError, HasExcludedNameConstraint):
|
159
|
+
{
|
160
|
+
return "the X509 chain is invalid because a certificate has excluded a name constraint";
|
161
|
+
}
|
162
|
+
case IceSSL::ICE_ENUM(TrustError, HasNonDefinedNameConstraint):
|
163
|
+
{
|
164
|
+
return "the certificate has an undefined name constraint";
|
165
|
+
}
|
166
|
+
case IceSSL::ICE_ENUM(TrustError, HasNonPermittedNameConstraint):
|
167
|
+
{
|
168
|
+
return "the certificate has a non permitted name constrain";
|
169
|
+
}
|
170
|
+
case IceSSL::ICE_ENUM(TrustError, HasNonSupportedCriticalExtension):
|
171
|
+
{
|
172
|
+
return "the certificate does not support a critical extension";
|
173
|
+
}
|
174
|
+
case IceSSL::ICE_ENUM(TrustError, HasNonSupportedNameConstraint):
|
175
|
+
{
|
176
|
+
return "the certificate does not have a supported name constraint or has a name constraint that "
|
177
|
+
"is unsupported";
|
178
|
+
}
|
179
|
+
case IceSSL::ICE_ENUM(TrustError, HostNameMismatch):
|
180
|
+
{
|
181
|
+
return "a host name mismatch has occurred";
|
182
|
+
}
|
183
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidBasicConstraints):
|
184
|
+
{
|
185
|
+
return "the X509 chain is invalid due to invalid basic constraints";
|
186
|
+
}
|
187
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidExtension):
|
188
|
+
{
|
189
|
+
return "the X509 chain is invalid due to an invalid extension";
|
190
|
+
}
|
191
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidNameConstraints):
|
192
|
+
{
|
193
|
+
return "the X509 chain is invalid due to invalid name constraints";
|
194
|
+
}
|
195
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidPolicyConstraints):
|
196
|
+
{
|
197
|
+
return "the X509 chain is invalid due to invalid policy constraints";
|
198
|
+
}
|
199
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidPurpose):
|
200
|
+
{
|
201
|
+
return "the supplied certificate cannot be used for the specified purpose";
|
202
|
+
}
|
203
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidSignature):
|
204
|
+
{
|
205
|
+
return "the X509 chain is invalid due to an invalid certificate signature";
|
206
|
+
}
|
207
|
+
case IceSSL::ICE_ENUM(TrustError, InvalidTime):
|
208
|
+
{
|
209
|
+
return "the X509 chain is not valid due to an invalid time value, such as a value that indicates an "
|
210
|
+
"expired certificate";
|
211
|
+
}
|
212
|
+
case IceSSL::ICE_ENUM(TrustError, NotTrusted):
|
213
|
+
{
|
214
|
+
return "the certificate is explicitly distrusted";
|
215
|
+
}
|
216
|
+
case IceSSL::ICE_ENUM(TrustError, PartialChain):
|
217
|
+
{
|
218
|
+
return "the X509 chain could not be built up to the root certificate";
|
219
|
+
}
|
220
|
+
case IceSSL::ICE_ENUM(TrustError, RevocationStatusUnknown):
|
221
|
+
{
|
222
|
+
return "it is not possible to determine whether the certificate has been revoked";
|
223
|
+
}
|
224
|
+
case IceSSL::ICE_ENUM(TrustError, Revoked):
|
225
|
+
{
|
226
|
+
return "the X509 chain is invalid due to a revoked certificate";
|
227
|
+
}
|
228
|
+
case IceSSL::ICE_ENUM(TrustError, UntrustedRoot):
|
229
|
+
{
|
230
|
+
return "the X509 chain is invalid due to an untrusted root certificate";
|
231
|
+
}
|
232
|
+
case IceSSL::ICE_ENUM(TrustError, UnknownTrustFailure):
|
233
|
+
{
|
234
|
+
return "unknown failure";
|
235
|
+
}
|
236
|
+
}
|
237
|
+
assert(false);
|
238
|
+
return "unknown failure";
|
239
|
+
}
|
240
|
+
|
241
|
+
std::string
|
242
|
+
IceSSL::getHost(const IceSSL::ConnectionInfoPtr& info)
|
243
|
+
{
|
244
|
+
ExtendedConnectionInfoPtr extendedInfo = ICE_DYNAMIC_CAST(ExtendedConnectionInfo, info);
|
245
|
+
return extendedInfo ? extendedInfo->host : "";
|
246
|
+
}
|
@@ -1,22 +1,27 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICESSL_PLUGIN_I_H
|
11
6
|
#define ICESSL_PLUGIN_I_H
|
12
7
|
|
13
8
|
#include <IceSSL/Plugin.h>
|
14
9
|
#include <IceSSL/SSLEngineF.h>
|
10
|
+
#include <IceSSL/ConnectionInfo.h>
|
15
11
|
#include <Ice/CommunicatorF.h>
|
16
12
|
|
17
13
|
namespace IceSSL
|
18
14
|
{
|
19
15
|
|
16
|
+
class ExtendedConnectionInfo : public ConnectionInfo
|
17
|
+
{
|
18
|
+
public:
|
19
|
+
|
20
|
+
TrustError errorCode;
|
21
|
+
std::string host;
|
22
|
+
};
|
23
|
+
ICE_DEFINE_PTR(ExtendedConnectionInfoPtr, ExtendedConnectionInfo);
|
24
|
+
|
20
25
|
class ICESSL_API PluginI : public virtual IceSSL::Plugin
|
21
26
|
{
|
22
27
|
public:
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#include <IceUtil/StringUtil.h>
|
11
6
|
|
@@ -187,7 +182,6 @@ hexToInt(char v)
|
|
187
182
|
return 10 + (v - 'A');
|
188
183
|
}
|
189
184
|
throw ParseException(__FILE__, __LINE__, "unescape: invalid hex pair");
|
190
|
-
return 0; // To satisfy the compiler.
|
191
185
|
}
|
192
186
|
|
193
187
|
static char
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICESSL_RFC_2253_H
|
11
6
|
#define ICESSL_RFC_2253_H
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#include <IceSSL/Plugin.h>
|
11
6
|
#include <IceSSL/SChannel.h>
|
@@ -165,17 +160,17 @@ filetimeToTime(FILETIME ftime)
|
|
165
160
|
}
|
166
161
|
|
167
162
|
string
|
168
|
-
certNameToString(CERT_NAME_BLOB*
|
163
|
+
certNameToString(CERT_NAME_BLOB* certName)
|
169
164
|
{
|
170
|
-
assert(
|
165
|
+
assert(certName);
|
171
166
|
DWORD length = 0;
|
172
|
-
if(
|
167
|
+
if((length = CertNameToStr(X509_ASN_ENCODING, certName, CERT_OID_NAME_STR|CERT_NAME_STR_REVERSE_FLAG, 0, 0)) == 0)
|
173
168
|
{
|
174
169
|
throw CertificateEncodingException(__FILE__, __LINE__, IceUtilInternal::lastErrorToString());
|
175
170
|
}
|
176
171
|
|
177
172
|
vector<char> buffer(length);
|
178
|
-
if(!CertNameToStr(X509_ASN_ENCODING,
|
173
|
+
if(!CertNameToStr(X509_ASN_ENCODING, certName, CERT_OID_NAME_STR|CERT_NAME_STR_REVERSE_FLAG, &buffer[0], length))
|
179
174
|
{
|
180
175
|
throw CertificateEncodingException(__FILE__, __LINE__, IceUtilInternal::lastErrorToString());
|
181
176
|
}
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#include <IceSSL/SChannelEngine.h>
|
11
6
|
#include <IceSSL/SChannelTransceiverI.h>
|
@@ -19,10 +14,20 @@
|
|
19
14
|
|
20
15
|
#include <IceUtil/StringUtil.h>
|
21
16
|
#include <IceUtil/FileUtil.h>
|
17
|
+
#include <IceUtil/MutexPtrLock.h>
|
22
18
|
#include <Ice/UUID.h>
|
23
19
|
|
24
20
|
#include <wincrypt.h>
|
25
21
|
|
22
|
+
//
|
23
|
+
// SP_PROT_TLS1_3 is new in v10.0.15021 SDK
|
24
|
+
//
|
25
|
+
#ifndef SP_PROT_TLS1_3
|
26
|
+
# define SP_PROT_TLS1_3_SERVER 0x00001000
|
27
|
+
# define SP_PROT_TLS1_3_CLIENT 0x00002000
|
28
|
+
# define SP_PROT_TLS1_3 (SP_PROT_TLS1_3_SERVER | SP_PROT_TLS1_3_CLIENT)
|
29
|
+
#endif
|
30
|
+
|
26
31
|
//
|
27
32
|
// CALG_ECDH_EPHEM algorithm constant is not defined in older version of the SDK headers
|
28
33
|
//
|
@@ -32,7 +37,7 @@
|
|
32
37
|
const int ICESSL_CALG_ECDH_EPHEM = 0x0000AE06;
|
33
38
|
|
34
39
|
//
|
35
|
-
// COMPILERFIX SCH_USE_STRONG_CRYPTO not defined with
|
40
|
+
// COMPILERFIX SCH_USE_STRONG_CRYPTO not defined with v90
|
36
41
|
//
|
37
42
|
#if defined(_MSC_VER) && (_MSC_VER <= 1600)
|
38
43
|
# ifndef SCH_USE_STRONG_CRYPTO
|
@@ -54,6 +59,26 @@ Shared* SChannel::upCast(SChannel::SSLEngine* p)
|
|
54
59
|
namespace
|
55
60
|
{
|
56
61
|
|
62
|
+
IceUtil::Mutex* globalMutex;
|
63
|
+
|
64
|
+
class Init
|
65
|
+
{
|
66
|
+
public:
|
67
|
+
|
68
|
+
Init()
|
69
|
+
{
|
70
|
+
globalMutex = new IceUtil::Mutex;
|
71
|
+
}
|
72
|
+
|
73
|
+
~Init()
|
74
|
+
{
|
75
|
+
delete globalMutex;
|
76
|
+
globalMutex = 0;
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
80
|
+
Init init;
|
81
|
+
|
57
82
|
void
|
58
83
|
addMatchingCertificates(HCERTSTORE source, HCERTSTORE target, DWORD findType, const void* findParam)
|
59
84
|
{
|
@@ -61,7 +86,7 @@ addMatchingCertificates(HCERTSTORE source, HCERTSTORE target, DWORD findType, co
|
|
61
86
|
do
|
62
87
|
{
|
63
88
|
if((next = CertFindCertificateInStore(source, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0,
|
64
|
-
findType, findParam, next)))
|
89
|
+
findType, findParam, next)) != 0)
|
65
90
|
{
|
66
91
|
if(!CertAddCertificateContextToStore(target, next, CERT_STORE_ADD_ALWAYS, 0))
|
67
92
|
{
|
@@ -74,7 +99,7 @@ addMatchingCertificates(HCERTSTORE source, HCERTSTORE target, DWORD findType, co
|
|
74
99
|
}
|
75
100
|
|
76
101
|
vector<PCCERT_CONTEXT>
|
77
|
-
findCertificates(const string& location, const string&
|
102
|
+
findCertificates(const string& location, const string& storeName, const string& value, vector<HCERTSTORE>& stores)
|
78
103
|
{
|
79
104
|
DWORD storeLoc;
|
80
105
|
if(location == "CurrentUser")
|
@@ -86,10 +111,10 @@ findCertificates(const string& location, const string& name, const string& value
|
|
86
111
|
storeLoc = CERT_SYSTEM_STORE_LOCAL_MACHINE;
|
87
112
|
}
|
88
113
|
|
89
|
-
HCERTSTORE store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, storeLoc, Ice::stringToWstring(
|
114
|
+
HCERTSTORE store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, storeLoc, Ice::stringToWstring(storeName).c_str());
|
90
115
|
if(!store)
|
91
116
|
{
|
92
|
-
throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: failed to open certificate store `" +
|
117
|
+
throw PluginInitializationException(__FILE__, __LINE__, "IceSSL: failed to open certificate store `" + storeName +
|
93
118
|
"':\n" + IceUtilInternal::lastErrorToString());
|
94
119
|
}
|
95
120
|
|
@@ -253,7 +278,7 @@ findCertificates(const string& location, const string& name, const string& value
|
|
253
278
|
do
|
254
279
|
{
|
255
280
|
if((next = CertFindCertificateInStore(store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0,
|
256
|
-
CERT_FIND_ANY, 0, next)))
|
281
|
+
CERT_FIND_ANY, 0, next)) != 0)
|
257
282
|
{
|
258
283
|
if(CertCompareIntegerBlob(&serial, &next->pCertInfo->SerialNumber))
|
259
284
|
{
|
@@ -295,7 +320,7 @@ findCertificates(const string& location, const string& name, const string& value
|
|
295
320
|
do
|
296
321
|
{
|
297
322
|
if((next = CertFindCertificateInStore(store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_ANY, 0,
|
298
|
-
next)))
|
323
|
+
next)) != 0)
|
299
324
|
{
|
300
325
|
certs.push_back(next);
|
301
326
|
}
|
@@ -399,23 +424,23 @@ parseProtocols(const StringSeq& protocols)
|
|
399
424
|
|
400
425
|
if(prot == "SSL3" || prot == "SSLV3")
|
401
426
|
{
|
402
|
-
v |=
|
403
|
-
v |= SP_PROT_SSL3_CLIENT;
|
427
|
+
v |= SP_PROT_SSL3;
|
404
428
|
}
|
405
429
|
else if(prot == "TLS" || prot == "TLS1" || prot == "TLSV1" || prot == "TLS1_0" || prot == "TLSV1_0")
|
406
430
|
{
|
407
|
-
v |=
|
408
|
-
v |= SP_PROT_TLS1_CLIENT;
|
431
|
+
v |= SP_PROT_TLS1;
|
409
432
|
}
|
410
433
|
else if(prot == "TLS1_1" || prot == "TLSV1_1")
|
411
434
|
{
|
412
|
-
v |=
|
413
|
-
v |= SP_PROT_TLS1_1_CLIENT;
|
435
|
+
v |= SP_PROT_TLS1_1;
|
414
436
|
}
|
415
437
|
else if(prot == "TLS1_2" || prot == "TLSV1_2")
|
416
438
|
{
|
417
|
-
v |=
|
418
|
-
|
439
|
+
v |= SP_PROT_TLS1_2;
|
440
|
+
}
|
441
|
+
else if (prot == "TLS1_3" || prot == "TLSV1_2")
|
442
|
+
{
|
443
|
+
v |= SP_PROT_TLS1_3;
|
419
444
|
}
|
420
445
|
else
|
421
446
|
{
|
@@ -580,6 +605,17 @@ SChannel::SSLEngine::SSLEngine(const CommunicatorPtr& communicator) :
|
|
580
605
|
void
|
581
606
|
SChannel::SSLEngine::initialize()
|
582
607
|
{
|
608
|
+
//
|
609
|
+
// BUGFIX: we use a global mutex for the initialization of SChannel to
|
610
|
+
// avoid crashes ocurring with last SChannel updates see:
|
611
|
+
// https://github.com/zeroc-ice/ice/issues/242
|
612
|
+
//
|
613
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
|
614
|
+
|
615
|
+
//
|
616
|
+
// We still have to acquire the instance mutex because it is used by the base
|
617
|
+
// class to access _initialized data member.
|
618
|
+
//
|
583
619
|
Mutex::Lock lock(_mutex);
|
584
620
|
if(_initialized)
|
585
621
|
{
|
@@ -751,21 +787,21 @@ SChannel::SSLEngine::initialize()
|
|
751
787
|
|
752
788
|
for(size_t i = 0; i < certFiles.size(); ++i)
|
753
789
|
{
|
754
|
-
string
|
790
|
+
string cFile = certFiles[i];
|
755
791
|
string resolved;
|
756
|
-
if(!checkPath(
|
792
|
+
if(!checkPath(cFile, defaultDir, false, resolved))
|
757
793
|
{
|
758
794
|
throw PluginInitializationException(__FILE__, __LINE__,
|
759
|
-
"IceSSL: certificate file not found:\n" +
|
795
|
+
"IceSSL: certificate file not found:\n" + cFile);
|
760
796
|
}
|
761
|
-
|
797
|
+
cFile = resolved;
|
762
798
|
|
763
799
|
vector<char> buffer;
|
764
|
-
readFile(
|
800
|
+
readFile(cFile, buffer);
|
765
801
|
if(buffer.empty())
|
766
802
|
{
|
767
803
|
throw PluginInitializationException(__FILE__, __LINE__,
|
768
|
-
"IceSSL: certificate file is empty:\n" +
|
804
|
+
"IceSSL: certificate file is empty:\n" + cFile);
|
769
805
|
}
|
770
806
|
|
771
807
|
CRYPT_DATA_BLOB pfxBlob;
|
@@ -962,7 +998,7 @@ SChannel::SSLEngine::initialize()
|
|
962
998
|
"store:\n" + lastErrorToString());
|
963
999
|
}
|
964
1000
|
|
965
|
-
addCertificatesToStore(
|
1001
|
+
addCertificatesToStore(cFile, store, &cert);
|
966
1002
|
|
967
1003
|
//
|
968
1004
|
// Associate key & certificate
|
@@ -1098,7 +1134,11 @@ SChannel::SSLEngine::getCipherName(ALG_ID cipher) const
|
|
1098
1134
|
case CALG_SHA_512:
|
1099
1135
|
return "SHA_512";
|
1100
1136
|
default:
|
1101
|
-
|
1137
|
+
{
|
1138
|
+
ostringstream os;
|
1139
|
+
os << "Unknown cipher: " << cipher;
|
1140
|
+
return os.str();
|
1141
|
+
}
|
1102
1142
|
}
|
1103
1143
|
}
|
1104
1144
|
|
@@ -1233,13 +1273,6 @@ SChannel::SSLEngine::destroy()
|
|
1233
1273
|
}
|
1234
1274
|
}
|
1235
1275
|
|
1236
|
-
void
|
1237
|
-
SChannel::SSLEngine::verifyPeer(const string& address, const IceSSL::ConnectionInfoPtr& info, const string& desc)
|
1238
|
-
{
|
1239
|
-
verifyPeerCertName(address, info);
|
1240
|
-
IceSSL::SSLEngine::verifyPeer(address, info, desc);
|
1241
|
-
}
|
1242
|
-
|
1243
1276
|
IceInternal::TransceiverPtr
|
1244
1277
|
SChannel::SSLEngine::createTransceiver(const InstancePtr& instance,
|
1245
1278
|
const IceInternal::TransceiverPtr& delegate,
|