zeroc-ice 3.7.3 → 3.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/ext/Communicator.cpp +3 -0
  3. data/ext/Config.h +11 -0
  4. data/ext/Types.cpp +18 -2
  5. data/ext/Util.cpp +15 -3
  6. data/ext/Util.h +36 -0
  7. data/ext/ice/cpp/include/Ice/Exception.h +3 -3
  8. data/ext/ice/cpp/include/Ice/Functional.h +3 -1
  9. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +1 -1
  10. data/ext/ice/cpp/include/Ice/Initialize.h +1 -1
  11. data/ext/ice/cpp/include/Ice/Object.h +7 -0
  12. data/ext/ice/cpp/include/Ice/Optional.h +1 -1
  13. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -0
  14. data/ext/ice/cpp/include/Ice/Proxy.h +56 -25
  15. data/ext/ice/cpp/include/Ice/Service.h +1 -1
  16. data/ext/ice/cpp/include/IceSSL/Plugin.h +142 -0
  17. data/ext/ice/cpp/include/IceUtil/Config.h +3 -2
  18. data/ext/ice/cpp/include/IceUtil/Functional.h +3 -1
  19. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
  20. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  21. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  22. data/ext/ice/cpp/include/generated/Ice/Communicator.h +10 -4
  23. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
  24. data/ext/ice/cpp/include/generated/Ice/Connection.h +58 -15
  25. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
  26. data/ext/ice/cpp/include/generated/Ice/Current.h +2 -2
  27. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +50 -14
  28. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
  29. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  30. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
  31. data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
  32. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +8 -2
  33. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
  34. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +62 -2
  35. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
  36. data/ext/ice/cpp/include/generated/Ice/LocalException.h +523 -127
  37. data/ext/ice/cpp/include/generated/Ice/Locator.h +62 -14
  38. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
  39. data/ext/ice/cpp/include/generated/Ice/Logger.h +8 -2
  40. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
  41. data/ext/ice/cpp/include/generated/Ice/Metrics.h +79 -27
  42. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +8 -2
  43. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
  44. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +8 -2
  45. data/ext/ice/cpp/include/generated/Ice/Plugin.h +14 -2
  46. data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
  47. data/ext/ice/cpp/include/generated/Ice/Process.h +10 -4
  48. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
  49. data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -2
  50. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +11 -5
  51. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
  52. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +26 -8
  53. data/ext/ice/cpp/include/generated/Ice/Router.h +18 -6
  54. data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
  55. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +8 -2
  56. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
  57. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  58. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +14 -2
  59. data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
  60. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +10 -5
  61. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
  62. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +8 -3
  63. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  64. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  65. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  66. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  67. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  68. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  69. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +3 -3
  70. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  71. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  75. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  76. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  77. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  78. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
  79. data/ext/ice/cpp/src/Ice/Initialize.cpp +1 -1
  80. data/ext/ice/cpp/src/Ice/InputStream.cpp +29 -14
  81. data/ext/ice/cpp/src/Ice/Instance.cpp +3 -0
  82. data/ext/ice/cpp/src/Ice/Instance.h +2 -0
  83. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  84. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/LocalException.cpp +398 -2
  86. data/ext/ice/cpp/src/Ice/Locator.cpp +32 -2
  87. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  88. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +3 -3
  89. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  90. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/Metrics.cpp +8 -2
  92. data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
  93. data/ext/ice/cpp/src/Ice/Network.h +0 -0
  94. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  95. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  96. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +4 -4
  97. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +8 -8
  98. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  99. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  100. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  101. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  102. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  103. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  104. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  105. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  106. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +6 -3
  107. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  108. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +9 -0
  109. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +8 -2
  110. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +5 -2
  111. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  112. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  113. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -2
  114. data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -0
  115. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  116. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  117. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  118. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
  119. data/ext/ice/cpp/src/Ice/Thread.cpp +2 -2
  120. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +5 -1
  121. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -4
  122. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
  123. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
  124. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  125. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  126. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +491 -6
  127. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  128. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -4
  129. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +12 -1
  130. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +23 -1
  131. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  132. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
  133. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  134. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +124 -19
  135. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +60 -1
  136. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +105 -2
  137. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -0
  138. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +2 -0
  139. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +114 -0
  140. data/ext/ice/cpp/src/IceSSL/PluginI.h +21 -0
  141. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +142 -1
  142. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +117 -3
  143. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -0
  144. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +20 -1
  145. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +4 -0
  146. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +133 -2
  147. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +151 -89
  148. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -0
  149. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -0
  150. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -0
  151. data/ext/ice/cpp/src/IceUtil/Time.cpp +8 -10
  152. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +6 -2
  153. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +12 -4
  154. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +4 -0
  155. data/ext/ice/cpp/src/Slice/Parser.cpp +11 -7
  156. data/ext/ice/cpp/src/Slice/Parser.h +2 -2
  157. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +12 -0
  158. data/ext/ice/cpp/src/Slice/Preprocessor.h +1 -1
  159. data/ext/ice/cpp/src/Slice/Python.cpp +1 -1
  160. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +17 -5
  161. data/ext/ice/cpp/src/Slice/Scanner.cpp +621 -369
  162. data/ext/ice/mcpp/CMakeLists.txt +80 -0
  163. data/ext/ice/mcpp/expand.c +6 -6
  164. data/ice.gemspec +1 -1
  165. data/lib/Glacier2/Metrics.rb +1 -1
  166. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  167. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  168. data/lib/Glacier2/Router.rb +1 -1
  169. data/lib/Glacier2/RouterF.rb +1 -1
  170. data/lib/Glacier2/SSLInfo.rb +1 -1
  171. data/lib/Glacier2/Session.rb +1 -1
  172. data/lib/Ice/BuiltinSequences.rb +1 -1
  173. data/lib/Ice/Communicator.rb +1 -1
  174. data/lib/Ice/CommunicatorF.rb +1 -1
  175. data/lib/Ice/Connection.rb +1 -1
  176. data/lib/Ice/ConnectionF.rb +1 -1
  177. data/lib/Ice/Current.rb +1 -1
  178. data/lib/Ice/Endpoint.rb +1 -1
  179. data/lib/Ice/EndpointF.rb +1 -1
  180. data/lib/Ice/EndpointTypes.rb +1 -1
  181. data/lib/Ice/FacetMap.rb +1 -1
  182. data/lib/Ice/Identity.rb +1 -1
  183. data/lib/Ice/ImplicitContext.rb +1 -1
  184. data/lib/Ice/ImplicitContextF.rb +1 -1
  185. data/lib/Ice/Instrumentation.rb +1 -1
  186. data/lib/Ice/InstrumentationF.rb +1 -1
  187. data/lib/Ice/LocalException.rb +1 -1
  188. data/lib/Ice/Locator.rb +1 -1
  189. data/lib/Ice/LocatorF.rb +1 -1
  190. data/lib/Ice/Logger.rb +1 -1
  191. data/lib/Ice/LoggerF.rb +1 -1
  192. data/lib/Ice/Metrics.rb +1 -1
  193. data/lib/Ice/ObjectAdapter.rb +1 -1
  194. data/lib/Ice/ObjectAdapterF.rb +1 -1
  195. data/lib/Ice/ObjectFactory.rb +1 -1
  196. data/lib/Ice/Plugin.rb +1 -1
  197. data/lib/Ice/PluginF.rb +1 -1
  198. data/lib/Ice/Process.rb +1 -1
  199. data/lib/Ice/ProcessF.rb +1 -1
  200. data/lib/Ice/Properties.rb +1 -1
  201. data/lib/Ice/PropertiesAdmin.rb +1 -1
  202. data/lib/Ice/PropertiesF.rb +1 -1
  203. data/lib/Ice/RemoteLogger.rb +1 -1
  204. data/lib/Ice/Router.rb +1 -1
  205. data/lib/Ice/RouterF.rb +1 -1
  206. data/lib/Ice/ServantLocator.rb +1 -1
  207. data/lib/Ice/ServantLocatorF.rb +1 -1
  208. data/lib/Ice/SliceChecksumDict.rb +1 -1
  209. data/lib/Ice/ValueFactory.rb +1 -1
  210. data/lib/Ice/Version.rb +1 -1
  211. data/lib/IceBox/IceBox.rb +1 -1
  212. data/lib/IceGrid/Admin.rb +1 -1
  213. data/lib/IceGrid/Descriptor.rb +1 -1
  214. data/lib/IceGrid/Exception.rb +1 -1
  215. data/lib/IceGrid/FileParser.rb +1 -1
  216. data/lib/IceGrid/PluginFacade.rb +1 -1
  217. data/lib/IceGrid/Registry.rb +1 -1
  218. data/lib/IceGrid/Session.rb +1 -1
  219. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  220. data/lib/IcePatch2/FileInfo.rb +1 -1
  221. data/lib/IcePatch2/FileServer.rb +1 -1
  222. data/lib/IceStorm/IceStorm.rb +1 -1
  223. data/lib/IceStorm/Metrics.rb +1 -1
  224. data/slice/Ice/Communicator.ice +1 -1
  225. data/slice/IceBox/IceBox.ice +17 -2
  226. data/slice/IceDiscovery/IceDiscovery.ice +56 -0
  227. metadata +4 -4
@@ -31,6 +31,130 @@
31
31
  namespace IceSSL
32
32
  {
33
33
 
34
+ /**
35
+ * The reason for an IceSSL certificate verification failure.
36
+ */
37
+ #ifdef ICE_CPP11_MAPPING
38
+ enum class TrustError : unsigned char
39
+ #else
40
+ enum TrustError
41
+ #endif
42
+ {
43
+ /** The certification verification succeed */
44
+ NoError = 0,
45
+ /** The certificate chain length is greater than the specified maximum depth **/
46
+ ChainTooLong,
47
+ /** The X509 chain is invalid because a certificate has excluded a name constraint **/
48
+ HasExcludedNameConstraint,
49
+ /** The certificate has an undefined name constraint **/
50
+ HasNonDefinedNameConstraint,
51
+ /** The certificate has a non permitted name constraint **/
52
+ HasNonPermittedNameConstraint,
53
+ /** The certificate does not support a critical extension **/
54
+ HasNonSupportedCriticalExtension,
55
+ /** The certificate does not have a supported name constraint or has a name constraint that is unsupported **/
56
+ HasNonSupportedNameConstraint,
57
+ /** A host name mismatch has occurred **/
58
+ HostNameMismatch,
59
+ /** The X509 chain is invalid due to invalid basic constraints **/
60
+ InvalidBasicConstraints,
61
+ /** The X509 chain is invalid due to an invalid extension **/
62
+ InvalidExtension,
63
+ /** The X509 chain is invalid due to invalid name constraints **/
64
+ InvalidNameConstraints,
65
+ /** The X509 chain is invalid due to invalid policy constraints **/
66
+ InvalidPolicyConstraints,
67
+ /** The supplied certificate cannot be used for the specified purpose **/
68
+ InvalidPurpose,
69
+ /** The X509 chain is invalid due to an invalid certificate signature **/
70
+ InvalidSignature,
71
+ /** The X509 chain is not valid due to an invalid time value, such as a value that indicates an expired
72
+ certificate **/
73
+ InvalidTime,
74
+ /** The certificate is explicitly not trusted **/
75
+ NotTrusted,
76
+ /** The X509 chain could not be built up to the root certificate **/
77
+ PartialChain,
78
+ /** It is not possible to determine whether the certificate has been revoked **/
79
+ RevocationStatusUnknown,
80
+ /** The X509 chain is invalid due to a revoked certificate **/
81
+ Revoked,
82
+ /** The X509 chain is invalid due to an untrusted root certificate **/
83
+ UntrustedRoot,
84
+ /** The X509 chain is invalid due to other unknown failure **/
85
+ UnknownTrustFailure,
86
+ };
87
+
88
+ ICESSL_API TrustError getTrustError(const IceSSL::ConnectionInfoPtr&);
89
+ ICESSL_API std::string getTrustErrorDescription(TrustError);
90
+ ICESSL_API std::string getHost(const IceSSL::ConnectionInfoPtr&);
91
+
92
+ /**
93
+ * The key usage "digitalSignature" bit is set
94
+ */
95
+ const unsigned int KEY_USAGE_DIGITAL_SIGNATURE = 1u << 0;
96
+ /**
97
+ * The key usage "nonRepudiation" bit is set
98
+ */
99
+ const unsigned int KEY_USAGE_NON_REPUDIATION = 1u << 1;
100
+ /**
101
+ * The key usage "keyEncipherment" bit is set
102
+ */
103
+ const unsigned int KEY_USAGE_KEY_ENCIPHERMENT = 1u << 2;
104
+ /**
105
+ * The key usage "dataEncipherment" bit is set
106
+ */
107
+ const unsigned int KEY_USAGE_DATA_ENCIPHERMENT = 1u << 3;
108
+ /**
109
+ * The key usage "keyAgreement" bit is set
110
+ */
111
+ const unsigned int KEY_USAGE_KEY_AGREEMENT = 1u << 4;
112
+ /**
113
+ * The key usage "keyCertSign" bit is set
114
+ */
115
+ const unsigned int KEY_USAGE_KEY_CERT_SIGN = 1u << 5;
116
+ /**
117
+ * The key usage "cRLSign" bit is set
118
+ */
119
+ const unsigned int KEY_USAGE_CRL_SIGN = 1u << 6;
120
+ /**
121
+ * The key usage "encipherOnly" bit is set
122
+ */
123
+ const unsigned int KEY_USAGE_ENCIPHER_ONLY = 1u << 7;
124
+ /**
125
+ * The key usage "decipherOnly" bit is set
126
+ */
127
+ const unsigned int KEY_USAGE_DECIPHER_ONLY = 1u << 8;
128
+
129
+ /**
130
+ * The extended key usage "anyKeyUsage" bit is set
131
+ */
132
+ const unsigned int EXTENDED_KEY_USAGE_ANY_KEY_USAGE = 1u << 0;
133
+ /**
134
+ * The extended key usage "serverAuth" bit is set
135
+ */
136
+ const unsigned int EXTENDED_KEY_USAGE_SERVER_AUTH = 1u << 1;
137
+ /**
138
+ * The extended key usage "clientAuth" bit is set
139
+ */
140
+ const unsigned int EXTENDED_KEY_USAGE_CLIENT_AUTH = 1u << 2;
141
+ /**
142
+ * The extended key usage "codeSigning" bit is set
143
+ */
144
+ const unsigned int EXTENDED_KEY_USAGE_CODE_SIGNING = 1u << 3;
145
+ /**
146
+ * The extended key usage "emailProtection" bit is set
147
+ */
148
+ const unsigned int EXTENDED_KEY_USAGE_EMAIL_PROTECTION = 1u << 4;
149
+ /**
150
+ * The extended key usage "timeStamping" bit is set
151
+ */
152
+ const unsigned int EXTENDED_KEY_USAGE_TIME_STAMPING = 1u << 5;
153
+ /**
154
+ * The extended key usage "OCSPSigning" bit is set
155
+ */
156
+ const unsigned int EXTENDED_KEY_USAGE_OCSP_SIGNING = 1u << 6;
157
+
34
158
  /**
35
159
  * Thrown if the certificate cannot be read.
36
160
  * \headerfile IceSSL/IceSSL.h
@@ -343,6 +467,24 @@ public:
343
467
  virtual bool checkValidity(const IceUtil::Time& t) const = 0;
344
468
  #endif
345
469
 
470
+ /**
471
+ * Returns the value of the key usage extension. The flags <b>KEY_USAGE_DIGITAL_SIGNATURE</b>,
472
+ * <b>KEY_USAGE_NON_REPUDIATION</b>, <b>KEY_USAGE_KEY_ENCIPHERMENT</b>, <b>KEY_USAGE_DATA_ENCIPHERMENT</b>
473
+ * <b>KEY_USAGE_KEY_AGREEMENT</b>, <b>KEY_USAGE_KEY_CERT_SIGN</b>, <b>KEY_USAGE_CRL_SIGN</b>,
474
+ * <b>KEY_USAGE_ENCIPHER_ONLY</b> and <b>KEY_USAGE_DECIPHER_ONLY</b> can be used to check what
475
+ * key usage bits are set.
476
+ */
477
+ unsigned int getKeyUsage() const;
478
+
479
+ /**
480
+ * Returns the value of the extended key usage extension. The flags <b>EXTENDED_KEY_USAGE_ANY_KEY_USAGE</b>,
481
+ * <b>EXTENDED_KEY_USAGE_SERVER_AUTH</b>, <b>EXTENDED_KEY_USAGE_CLIENT_AUTH</b>,
482
+ * <b>EXTENDED_KEY_USAGE_CODE_SIGNING</b>, <b>EXTENDED_KEY_USAGE_EMAIL_PROTECTION</b>,
483
+ * <b>EXTENDED_KEY_USAGE_TIME_STAMPING</b> and <b>EXTENDED_KEY_USAGE_OCSP_SIGNING</b> can be used to check what
484
+ * extended key usage bits are set.
485
+ */
486
+ unsigned int getExtendedKeyUsage() const;
487
+
346
488
  /**
347
489
  * Obtains the not-after validity time.
348
490
  * @return The time after which this certificate is invalid.
@@ -39,6 +39,7 @@
39
39
  defined(_M_IA64) || \
40
40
  defined(__alpha__) || \
41
41
  defined(__ARMEL__) || \
42
+ defined(_M_ARM64) || \
42
43
  defined(_M_ARM_FP) || \
43
44
  defined(__arm64) || \
44
45
  defined(__MIPSEL__)
@@ -283,8 +284,8 @@
283
284
  //
284
285
  // The Ice version.
285
286
  //
286
- #define ICE_STRING_VERSION "3.7.3" // "A.B.C", with A=major, B=minor, C=patch
287
- #define ICE_INT_VERSION 30703 // AABBCC, with AA=major, BB=minor, CC=patch
287
+ #define ICE_STRING_VERSION "3.7.7" // "A.B.C", with A=major, B=minor, C=patch
288
+ #define ICE_INT_VERSION 30707 // AABBCC, with AA=major, BB=minor, CC=patch
288
289
  #define ICE_SO_VERSION "37" // "ABC", with A=major, B=minor, C=patch
289
290
 
290
291
  #if !defined(ICE_BUILDING_ICE) && defined(ICE_API_EXPORTS)
@@ -5,7 +5,9 @@
5
5
  #ifndef ICE_UTIL_FUNCTIONAL_H
6
6
  #define ICE_UTIL_FUNCTIONAL_H
7
7
 
8
- #ifndef ICE_CPP11_MAPPING
8
+ #include <IceUtil/Config.h>
9
+
10
+ #if !defined(ICE_CPP11_MAPPING) && (ICE_CPLUSPLUS < 201703L)
9
11
 
10
12
  #include <IceUtil/Handle.h>
11
13
  #include <functional>
@@ -16,7 +16,7 @@ class MutexPtrLock
16
16
  {
17
17
  public:
18
18
 
19
- MutexPtrLock<T>(const T* mutex) :
19
+ MutexPtrLock(T* mutex) :
20
20
  _mutex(mutex),
21
21
  _acquired(false)
22
22
  {
@@ -27,7 +27,7 @@ public:
27
27
  }
28
28
  }
29
29
 
30
- ~MutexPtrLock<T>()
30
+ ~MutexPtrLock()
31
31
  {
32
32
  if(_mutex && _acquired)
33
33
  {
@@ -66,8 +66,8 @@ private:
66
66
 
67
67
  // Not implemented; prevents accidental use.
68
68
  //
69
- MutexPtrLock<T>(const MutexPtrLock<T>&);
70
- MutexPtrLock<T>& operator=(const MutexPtrLock<T>&);
69
+ MutexPtrLock(const MutexPtrLock<T>&);
70
+ MutexPtrLock& operator=(const MutexPtrLock<T>&);
71
71
 
72
72
  const T* _mutex;
73
73
  mutable bool _acquired;
@@ -7,8 +7,8 @@
7
7
 
8
8
  #include "winver.h"
9
9
 
10
- #define ICE_VERSION 3,7,3,0
11
- #define ICE_STRING_VERSION "3.7.3\0"
10
+ #define ICE_VERSION 3,7,7,0
11
+ #define ICE_STRING_VERSION "3.7.7\0"
12
12
  #define ICE_SO_VERSION "37\0"
13
13
  #define ICE_COMPANY_NAME "ZeroC, Inc.\0"
14
14
  #define ICE_COPYRIGHT "\251 ZeroC, Inc.\0"
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 3
38
+ # if ICE_INT_VERSION % 100 < 7
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -56,7 +56,7 @@
56
56
  # if ICE_INT_VERSION % 100 >= 50
57
57
  # error Beta header file detected
58
58
  # endif
59
- # if ICE_INT_VERSION % 100 < 3
59
+ # if ICE_INT_VERSION % 100 < 7
60
60
  # error Ice patch level mismatch!
61
61
  # endif
62
62
  #endif
@@ -513,7 +513,7 @@ public:
513
513
  * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
514
514
  * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
515
515
  *
516
- * createAdmin call only be called once; subsequent calls raise InitializationException.
516
+ * createAdmin must only be called once; subsequent calls raise InitializationException.
517
517
  * @param adminAdapter The object adapter used to host the Admin object; if null and
518
518
  * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
519
519
  * @param adminId The identity of the Admin object.
@@ -688,6 +688,12 @@ public:
688
688
 
689
689
  virtual ~Communicator();
690
690
 
691
+ #ifdef ICE_CPP11_COMPILER
692
+ Communicator() = default;
693
+ Communicator(const Communicator&) = default;
694
+ Communicator& operator=(const Communicator&) = default;
695
+ #endif
696
+
691
697
  /**
692
698
  * Destroy the communicator. This operation calls {@link #shutdown}
693
699
  * implicitly. Calling {@link #destroy} cleans up memory, and shuts down
@@ -1069,7 +1075,7 @@ public:
1069
1075
  * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
1070
1076
  * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
1071
1077
  *
1072
- * createAdmin call only be called once; subsequent calls raise InitializationException.
1078
+ * createAdmin must only be called once; subsequent calls raise InitializationException.
1073
1079
  * @param adminAdapter The object adapter used to host the Admin object; if null and
1074
1080
  * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
1075
1081
  * @param adminId The identity of the Admin object.
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 3
38
+ # if ICE_INT_VERSION % 100 < 7
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -39,7 +39,7 @@
39
39
  # if ICE_INT_VERSION % 100 >= 50
40
40
  # error Beta header file detected
41
41
  # endif
42
- # if ICE_INT_VERSION % 100 < 3
42
+ # if ICE_INT_VERSION % 100 < 7
43
43
  # error Ice patch level mismatch!
44
44
  # endif
45
45
  #endif
@@ -235,10 +235,10 @@ public:
235
235
  * @param connectionId The connection id.
236
236
  */
237
237
  ConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId) :
238
- underlying(::std::move(underlying)),
238
+ underlying(underlying),
239
239
  incoming(incoming),
240
- adapterName(::std::move(adapterName)),
241
- connectionId(::std::move(connectionId))
240
+ adapterName(adapterName),
241
+ connectionId(connectionId)
242
242
  {
243
243
  }
244
244
 
@@ -519,9 +519,9 @@ public:
519
519
  ICE_MEMBER(ICE_API) virtual ~IPConnectionInfo();
520
520
 
521
521
  IPConnectionInfo() :
522
- localAddress(u8""),
522
+ localAddress(""),
523
523
  localPort(-1),
524
- remoteAddress(u8""),
524
+ remoteAddress(""),
525
525
  remotePort(-1)
526
526
  {
527
527
  }
@@ -543,10 +543,10 @@ public:
543
543
  * @param remotePort The remote port.
544
544
  */
545
545
  IPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort) :
546
- ConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId)),
547
- localAddress(::std::move(localAddress)),
546
+ ConnectionInfo(underlying, incoming, adapterName, connectionId),
547
+ localAddress(localAddress),
548
548
  localPort(localPort),
549
- remoteAddress(::std::move(remoteAddress)),
549
+ remoteAddress(remoteAddress),
550
550
  remotePort(remotePort)
551
551
  {
552
552
  }
@@ -604,7 +604,7 @@ public:
604
604
  * @param sndSize The connection buffer send size.
605
605
  */
606
606
  TCPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, int rcvSize, int sndSize) :
607
- IPConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId), ::std::move(localAddress), localPort, ::std::move(remoteAddress), remotePort),
607
+ IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
608
608
  rcvSize(rcvSize),
609
609
  sndSize(sndSize)
610
610
  {
@@ -658,8 +658,8 @@ public:
658
658
  * @param sndSize The connection buffer send size.
659
659
  */
660
660
  UDPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, const ::std::string& mcastAddress, int mcastPort, int rcvSize, int sndSize) :
661
- IPConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId), ::std::move(localAddress), localPort, ::std::move(remoteAddress), remotePort),
662
- mcastAddress(::std::move(mcastAddress)),
661
+ IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
662
+ mcastAddress(mcastAddress),
663
663
  mcastPort(mcastPort),
664
664
  rcvSize(rcvSize),
665
665
  sndSize(sndSize)
@@ -710,8 +710,8 @@ public:
710
710
  * @param headers The headers from the HTTP upgrade request.
711
711
  */
712
712
  WSConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::Ice::HeaderDict& headers) :
713
- ConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId)),
714
- headers(::std::move(headers))
713
+ ConnectionInfo(underlying, incoming, adapterName, connectionId),
714
+ headers(headers)
715
715
  {
716
716
  }
717
717
 
@@ -1053,6 +1053,11 @@ public:
1053
1053
  {
1054
1054
  }
1055
1055
 
1056
+ #ifdef ICE_CPP11_COMPILER
1057
+ ConnectionInfo(const ConnectionInfo&) = default;
1058
+ ConnectionInfo& operator=(const ConnectionInfo&) = default;
1059
+ #endif
1060
+
1056
1061
  /**
1057
1062
  * The information of the underyling transport or null if there's
1058
1063
  * no underlying transport.
@@ -1099,6 +1104,12 @@ public:
1099
1104
 
1100
1105
  virtual ~CloseCallback();
1101
1106
 
1107
+ #ifdef ICE_CPP11_COMPILER
1108
+ CloseCallback() = default;
1109
+ CloseCallback(const CloseCallback&) = default;
1110
+ CloseCallback& operator=(const CloseCallback&) = default;
1111
+ #endif
1112
+
1102
1113
  /**
1103
1114
  * This method is called by the the connection when the connection
1104
1115
  * is closed. If the callback needs more information about the closure,
@@ -1134,6 +1145,12 @@ public:
1134
1145
 
1135
1146
  virtual ~HeartbeatCallback();
1136
1147
 
1148
+ #ifdef ICE_CPP11_COMPILER
1149
+ HeartbeatCallback() = default;
1150
+ HeartbeatCallback(const HeartbeatCallback&) = default;
1151
+ HeartbeatCallback& operator=(const HeartbeatCallback&) = default;
1152
+ #endif
1153
+
1137
1154
  /**
1138
1155
  * This method is called by the the connection when a heartbeat is
1139
1156
  * received from the peer.
@@ -1166,6 +1183,12 @@ public:
1166
1183
 
1167
1184
  virtual ~Connection();
1168
1185
 
1186
+ #ifdef ICE_CPP11_COMPILER
1187
+ Connection() = default;
1188
+ Connection(const Connection&) = default;
1189
+ Connection& operator=(const Connection&) = default;
1190
+ #endif
1191
+
1169
1192
  /**
1170
1193
  * Manually close the connection using the specified closure mode.
1171
1194
  * @param mode Determines how the connection will be closed.
@@ -1432,6 +1455,11 @@ public:
1432
1455
  {
1433
1456
  }
1434
1457
 
1458
+ #ifdef ICE_CPP11_COMPILER
1459
+ IPConnectionInfo(const IPConnectionInfo&) = default;
1460
+ IPConnectionInfo& operator=(const IPConnectionInfo&) = default;
1461
+ #endif
1462
+
1435
1463
  /**
1436
1464
  * The local address.
1437
1465
  */
@@ -1501,6 +1529,11 @@ public:
1501
1529
  {
1502
1530
  }
1503
1531
 
1532
+ #ifdef ICE_CPP11_COMPILER
1533
+ TCPConnectionInfo(const TCPConnectionInfo&) = default;
1534
+ TCPConnectionInfo& operator=(const TCPConnectionInfo&) = default;
1535
+ #endif
1536
+
1504
1537
  /**
1505
1538
  * The connection buffer receive size.
1506
1539
  */
@@ -1567,6 +1600,11 @@ public:
1567
1600
  {
1568
1601
  }
1569
1602
 
1603
+ #ifdef ICE_CPP11_COMPILER
1604
+ UDPConnectionInfo(const UDPConnectionInfo&) = default;
1605
+ UDPConnectionInfo& operator=(const UDPConnectionInfo&) = default;
1606
+ #endif
1607
+
1570
1608
  /**
1571
1609
  * The multicast address.
1572
1610
  */
@@ -1627,6 +1665,11 @@ public:
1627
1665
  {
1628
1666
  }
1629
1667
 
1668
+ #ifdef ICE_CPP11_COMPILER
1669
+ WSConnectionInfo(const WSConnectionInfo&) = default;
1670
+ WSConnectionInfo& operator=(const WSConnectionInfo&) = default;
1671
+ #endif
1672
+
1630
1673
  /**
1631
1674
  * The headers from the HTTP upgrade request.
1632
1675
  */
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 3
38
+ # if ICE_INT_VERSION % 100 < 7
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.7
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -39,7 +39,7 @@
39
39
  # if ICE_INT_VERSION % 100 >= 50
40
40
  # error Beta header file detected
41
41
  # endif
42
- # if ICE_INT_VERSION % 100 < 3
42
+ # if ICE_INT_VERSION % 100 < 7
43
43
  # error Ice patch level mismatch!
44
44
  # endif
45
45
  #endif