zeroc-ice 3.7.5 → 3.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/ext/Config.h +3 -0
  3. data/ext/ice/cpp/include/Ice/Exception.h +3 -3
  4. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +1 -1
  5. data/ext/ice/cpp/include/Ice/Object.h +5 -0
  6. data/ext/ice/cpp/include/Ice/Service.h +1 -1
  7. data/ext/ice/cpp/include/IceSSL/Plugin.h +58 -0
  8. data/ext/ice/cpp/include/IceUtil/Config.h +3 -2
  9. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
  10. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  11. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  12. data/ext/ice/cpp/include/generated/Ice/Communicator.h +8 -2
  13. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
  14. data/ext/ice/cpp/include/generated/Ice/Connection.h +45 -2
  15. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
  16. data/ext/ice/cpp/include/generated/Ice/Current.h +2 -2
  17. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +38 -2
  18. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
  19. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  20. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
  21. data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
  22. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +8 -2
  23. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
  24. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +62 -2
  25. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
  26. data/ext/ice/cpp/include/generated/Ice/LocalException.h +464 -68
  27. data/ext/ice/cpp/include/generated/Ice/Locator.h +55 -7
  28. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
  29. data/ext/ice/cpp/include/generated/Ice/Logger.h +8 -2
  30. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
  31. data/ext/ice/cpp/include/generated/Ice/Metrics.h +63 -11
  32. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +8 -2
  33. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
  34. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +8 -2
  35. data/ext/ice/cpp/include/generated/Ice/Plugin.h +14 -2
  36. data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
  37. data/ext/ice/cpp/include/generated/Ice/Process.h +8 -2
  38. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
  39. data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -2
  40. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +8 -2
  41. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
  42. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +21 -3
  43. data/ext/ice/cpp/include/generated/Ice/Router.h +14 -2
  44. data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
  45. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +8 -2
  46. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
  47. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  48. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +14 -2
  49. data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
  50. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +7 -2
  51. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
  52. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +7 -2
  53. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  54. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  55. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  56. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  57. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  58. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  59. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  60. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  61. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  62. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  63. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  64. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  65. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  66. data/ext/ice/cpp/src/Ice/InputStream.cpp +10 -10
  67. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  68. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  69. data/ext/ice/cpp/src/Ice/LocalException.cpp +398 -2
  70. data/ext/ice/cpp/src/Ice/Locator.cpp +32 -2
  71. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/Metrics.cpp +8 -2
  75. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  76. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  77. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  78. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  79. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  80. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  81. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  82. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  83. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  84. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1 -2
  86. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  87. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +8 -2
  88. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  89. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  90. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  92. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  93. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
  94. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  95. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  96. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +14 -2
  97. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  98. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +14 -2
  99. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  100. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
  101. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  102. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +4 -1
  103. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +104 -1
  104. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -0
  105. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +114 -0
  106. data/ext/ice/cpp/src/IceSSL/PluginI.h +10 -0
  107. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +101 -2
  108. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -0
  109. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +113 -72
  110. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -0
  111. data/ext/ice/cpp/src/IceUtil/Time.cpp +2 -2
  112. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +6 -2
  113. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +8 -0
  114. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +4 -0
  115. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +4 -0
  116. data/ext/ice/cpp/src/Slice/Scanner.cpp +620 -368
  117. data/ext/ice/mcpp/CMakeLists.txt +80 -0
  118. data/ext/ice/mcpp/expand.c +6 -6
  119. data/ice.gemspec +1 -1
  120. data/lib/Glacier2/Metrics.rb +1 -1
  121. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  122. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  123. data/lib/Glacier2/Router.rb +1 -1
  124. data/lib/Glacier2/RouterF.rb +1 -1
  125. data/lib/Glacier2/SSLInfo.rb +1 -1
  126. data/lib/Glacier2/Session.rb +1 -1
  127. data/lib/Ice/BuiltinSequences.rb +1 -1
  128. data/lib/Ice/Communicator.rb +1 -1
  129. data/lib/Ice/CommunicatorF.rb +1 -1
  130. data/lib/Ice/Connection.rb +1 -1
  131. data/lib/Ice/ConnectionF.rb +1 -1
  132. data/lib/Ice/Current.rb +1 -1
  133. data/lib/Ice/Endpoint.rb +1 -1
  134. data/lib/Ice/EndpointF.rb +1 -1
  135. data/lib/Ice/EndpointTypes.rb +1 -1
  136. data/lib/Ice/FacetMap.rb +1 -1
  137. data/lib/Ice/Identity.rb +1 -1
  138. data/lib/Ice/ImplicitContext.rb +1 -1
  139. data/lib/Ice/ImplicitContextF.rb +1 -1
  140. data/lib/Ice/Instrumentation.rb +1 -1
  141. data/lib/Ice/InstrumentationF.rb +1 -1
  142. data/lib/Ice/LocalException.rb +1 -1
  143. data/lib/Ice/Locator.rb +1 -1
  144. data/lib/Ice/LocatorF.rb +1 -1
  145. data/lib/Ice/Logger.rb +1 -1
  146. data/lib/Ice/LoggerF.rb +1 -1
  147. data/lib/Ice/Metrics.rb +1 -1
  148. data/lib/Ice/ObjectAdapter.rb +1 -1
  149. data/lib/Ice/ObjectAdapterF.rb +1 -1
  150. data/lib/Ice/ObjectFactory.rb +1 -1
  151. data/lib/Ice/Plugin.rb +1 -1
  152. data/lib/Ice/PluginF.rb +1 -1
  153. data/lib/Ice/Process.rb +1 -1
  154. data/lib/Ice/ProcessF.rb +1 -1
  155. data/lib/Ice/Properties.rb +1 -1
  156. data/lib/Ice/PropertiesAdmin.rb +1 -1
  157. data/lib/Ice/PropertiesF.rb +1 -1
  158. data/lib/Ice/RemoteLogger.rb +1 -1
  159. data/lib/Ice/Router.rb +1 -1
  160. data/lib/Ice/RouterF.rb +1 -1
  161. data/lib/Ice/ServantLocator.rb +1 -1
  162. data/lib/Ice/ServantLocatorF.rb +1 -1
  163. data/lib/Ice/SliceChecksumDict.rb +1 -1
  164. data/lib/Ice/ValueFactory.rb +1 -1
  165. data/lib/Ice/Version.rb +1 -1
  166. data/lib/IceBox/IceBox.rb +1 -1
  167. data/lib/IceGrid/Admin.rb +1 -1
  168. data/lib/IceGrid/Descriptor.rb +1 -1
  169. data/lib/IceGrid/Exception.rb +1 -1
  170. data/lib/IceGrid/FileParser.rb +1 -1
  171. data/lib/IceGrid/PluginFacade.rb +1 -1
  172. data/lib/IceGrid/Registry.rb +1 -1
  173. data/lib/IceGrid/Session.rb +1 -1
  174. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  175. data/lib/IcePatch2/FileInfo.rb +1 -1
  176. data/lib/IcePatch2/FileServer.rb +1 -1
  177. data/lib/IceStorm/IceStorm.rb +1 -1
  178. data/lib/IceStorm/Metrics.rb +1 -1
  179. metadata +4 -4
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
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 < 5
38
+ # if ICE_INT_VERSION % 100 < 6
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.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -42,7 +42,7 @@
42
42
  # if ICE_INT_VERSION % 100 >= 50
43
43
  # error Beta header file detected
44
44
  # endif
45
- # if ICE_INT_VERSION % 100 < 5
45
+ # if ICE_INT_VERSION % 100 < 6
46
46
  # error Ice patch level mismatch!
47
47
  # endif
48
48
  #endif
@@ -1062,6 +1062,12 @@ public:
1062
1062
 
1063
1063
  virtual ~LookupReply();
1064
1064
 
1065
+ #ifdef ICE_CPP11_COMPILER
1066
+ LookupReply() = default;
1067
+ LookupReply(const LookupReply&) = default;
1068
+ LookupReply& operator=(const LookupReply&) = default;
1069
+ #endif
1070
+
1065
1071
  /**
1066
1072
  * Determines whether this object supports an interface with the given Slice type ID.
1067
1073
  * @param id The fully-scoped Slice type ID.
@@ -1153,6 +1159,12 @@ public:
1153
1159
 
1154
1160
  virtual ~Lookup();
1155
1161
 
1162
+ #ifdef ICE_CPP11_COMPILER
1163
+ Lookup() = default;
1164
+ Lookup(const Lookup&) = default;
1165
+ Lookup& operator=(const Lookup&) = default;
1166
+ #endif
1167
+
1156
1168
  /**
1157
1169
  * Determines whether this object supports an interface with the given Slice type ID.
1158
1170
  * @param id The fully-scoped Slice type ID.
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -38,7 +38,7 @@
38
38
  # if ICE_INT_VERSION % 100 >= 50
39
39
  # error Beta header file detected
40
40
  # endif
41
- # if ICE_INT_VERSION % 100 < 5
41
+ # if ICE_INT_VERSION % 100 < 6
42
42
  # error Ice patch level mismatch!
43
43
  # endif
44
44
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -44,7 +44,7 @@
44
44
  # if ICE_INT_VERSION % 100 >= 50
45
45
  # error Beta header file detected
46
46
  # endif
47
- # if ICE_INT_VERSION % 100 < 5
47
+ # if ICE_INT_VERSION % 100 < 6
48
48
  # error Ice patch level mismatch!
49
49
  # endif
50
50
  #endif
@@ -705,6 +705,12 @@ public:
705
705
 
706
706
  virtual ~LookupReply();
707
707
 
708
+ #ifdef ICE_CPP11_COMPILER
709
+ LookupReply() = default;
710
+ LookupReply(const LookupReply&) = default;
711
+ LookupReply& operator=(const LookupReply&) = default;
712
+ #endif
713
+
708
714
  /**
709
715
  * Determines whether this object supports an interface with the given Slice type ID.
710
716
  * @param id The fully-scoped Slice type ID.
@@ -788,6 +794,12 @@ public:
788
794
 
789
795
  virtual ~Lookup();
790
796
 
797
+ #ifdef ICE_CPP11_COMPILER
798
+ Lookup() = default;
799
+ Lookup(const Lookup&) = default;
800
+ Lookup& operator=(const Lookup&) = default;
801
+ #endif
802
+
791
803
  /**
792
804
  * Determines whether this object supports an interface with the given Slice type ID.
793
805
  * @param id The fully-scoped Slice type ID.
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.5
5
+ // Ice version 3.7.6
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 < 5
38
+ # if ICE_INT_VERSION % 100 < 6
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.5
5
+ // Ice version 3.7.6
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -37,7 +37,7 @@
37
37
  # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 5
40
+ # if ICE_INT_VERSION % 100 < 6
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -134,7 +134,10 @@ convertGeneralNames(GENERAL_NAMES* gens)
134
134
  break;
135
135
  }
136
136
  }
137
- alt.push_back(p);
137
+ if (!p.second.empty())
138
+ {
139
+ alt.push_back(p);
140
+ }
138
141
  }
139
142
  sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
140
143
  return alt;
@@ -10,8 +10,10 @@
10
10
 
11
11
  #include <IceSSL/ConnectionInfo.h>
12
12
  #include <IceSSL/Instance.h>
13
+ #include <IceSSL/PluginI.h>
13
14
  #include <IceSSL/SSLEngine.h>
14
15
  #include <IceSSL/Util.h>
16
+
15
17
  #include <Ice/Communicator.h>
16
18
  #include <Ice/LoggerUtil.h>
17
19
  #include <Ice/Buffer.h>
@@ -72,6 +74,103 @@ IceSSL_opensslVerifyCallback(int ok, X509_STORE_CTX* ctx)
72
74
 
73
75
  }
74
76
 
77
+ namespace
78
+ {
79
+
80
+ TrustError trustStatusToTrustError(long status)
81
+ {
82
+ switch (status)
83
+ {
84
+ case X509_V_OK:
85
+ return IceSSL::ICE_ENUM(TrustError, NoError);
86
+
87
+ case X509_V_ERR_CERT_CHAIN_TOO_LONG:
88
+ return IceSSL::ICE_ENUM(TrustError, ChainTooLong);
89
+
90
+ case X509_V_ERR_EXCLUDED_VIOLATION:
91
+ return IceSSL::ICE_ENUM(TrustError, HasExcludedNameConstraint);
92
+
93
+ case X509_V_ERR_PERMITTED_VIOLATION:
94
+ return IceSSL::ICE_ENUM(TrustError, HasNonPermittedNameConstraint);
95
+
96
+ case X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION:
97
+ return IceSSL::ICE_ENUM(TrustError, HasNonSupportedCriticalExtension);
98
+
99
+ case X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE:
100
+ case X509_V_ERR_SUBTREE_MINMAX:
101
+ return IceSSL::ICE_ENUM(TrustError, HasNonSupportedNameConstraint);
102
+
103
+ case X509_V_ERR_HOSTNAME_MISMATCH:
104
+ case X509_V_ERR_IP_ADDRESS_MISMATCH:
105
+ return IceSSL::ICE_ENUM(TrustError, HostNameMismatch);
106
+
107
+ case X509_V_ERR_INVALID_CA:
108
+ case X509_V_ERR_INVALID_NON_CA:
109
+ case X509_V_ERR_PATH_LENGTH_EXCEEDED:
110
+ case X509_V_ERR_KEYUSAGE_NO_CERTSIGN:
111
+ case X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE:
112
+ return IceSSL::ICE_ENUM(TrustError, InvalidBasicConstraints);
113
+
114
+ case X509_V_ERR_INVALID_EXTENSION:
115
+ return IceSSL::ICE_ENUM(TrustError, InvalidExtension);
116
+
117
+ case X509_V_ERR_UNSUPPORTED_NAME_SYNTAX:
118
+ return IceSSL::ICE_ENUM(TrustError, InvalidNameConstraints);
119
+
120
+ case X509_V_ERR_INVALID_POLICY_EXTENSION:
121
+ case X509_V_ERR_NO_EXPLICIT_POLICY:
122
+ return IceSSL::ICE_ENUM(TrustError, InvalidPolicyConstraints);
123
+
124
+ case X509_V_ERR_INVALID_PURPOSE:
125
+ return IceSSL::ICE_ENUM(TrustError, InvalidPurpose);
126
+
127
+ case X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE:
128
+ case X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY:
129
+ case X509_V_ERR_CERT_SIGNATURE_FAILURE:
130
+ return IceSSL::ICE_ENUM(TrustError, InvalidSignature);
131
+
132
+ case X509_V_ERR_CERT_NOT_YET_VALID:
133
+ case X509_V_ERR_CERT_HAS_EXPIRED:
134
+ case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD:
135
+ case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD:
136
+ return IceSSL::ICE_ENUM(TrustError, InvalidTime);
137
+
138
+ case X509_V_ERR_CERT_REJECTED:
139
+ return IceSSL::ICE_ENUM(TrustError, NotTrusted);
140
+
141
+ case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
142
+ case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:
143
+ case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
144
+ return IceSSL::ICE_ENUM(TrustError, PartialChain);
145
+
146
+ case X509_V_ERR_CRL_HAS_EXPIRED:
147
+ case X509_V_ERR_CRL_NOT_YET_VALID:
148
+ case X509_V_ERR_CRL_SIGNATURE_FAILURE:
149
+ case X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD:
150
+ case X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD:
151
+ case X509_V_ERR_KEYUSAGE_NO_CRL_SIGN:
152
+ case X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE:
153
+ case X509_V_ERR_UNABLE_TO_GET_CRL:
154
+ case X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER:
155
+ case X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION:
156
+ case X509_V_ERR_CRL_PATH_VALIDATION_ERROR:
157
+ return IceSSL::ICE_ENUM(TrustError, RevocationStatusUnknown);
158
+
159
+ case X509_V_ERR_CERT_REVOKED:
160
+ return IceSSL::ICE_ENUM(TrustError, Revoked);
161
+
162
+ case X509_V_ERR_CERT_UNTRUSTED:
163
+ case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
164
+ case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
165
+ return IceSSL::ICE_ENUM(TrustError, UntrustedRoot);
166
+
167
+ default:
168
+ return IceSSL::ICE_ENUM(TrustError, UnknownTrustFailure);
169
+ }
170
+ }
171
+
172
+ }
173
+
75
174
  IceInternal::NativeInfoPtr
76
175
  OpenSSL::TransceiverI::getNativeInfo()
77
176
  {
@@ -310,6 +409,7 @@ OpenSSL::TransceiverI::initialize(IceInternal::Buffer& readBuffer, IceInternal::
310
409
  }
311
410
 
312
411
  long result = SSL_get_verify_result(_ssl);
412
+ _trustError = trustStatusToTrustError(result);
313
413
  if(result != X509_V_OK)
314
414
  {
315
415
  if(_engine->getVerifyPeer() == 0)
@@ -350,6 +450,7 @@ OpenSSL::TransceiverI::initialize(IceInternal::Buffer& readBuffer, IceInternal::
350
450
  }
351
451
  catch(const SecurityException&)
352
452
  {
453
+ _trustError = IceSSL::ICE_ENUM(TrustError, HostNameMismatch);
353
454
  _verified = false;
354
455
  if(_engine->getVerifyPeer() > 0)
355
456
  {
@@ -823,13 +924,15 @@ OpenSSL::TransceiverI::toDetailedString() const
823
924
  Ice::ConnectionInfoPtr
824
925
  OpenSSL::TransceiverI::getInfo() const
825
926
  {
826
- ConnectionInfoPtr info = ICE_MAKE_SHARED(ConnectionInfo);
927
+ ExtendedConnectionInfoPtr info = ICE_MAKE_SHARED(ExtendedConnectionInfo);
827
928
  info->underlying = _delegate->getInfo();
828
929
  info->incoming = _incoming;
829
930
  info->adapterName = _adapterName;
830
931
  info->cipher = _cipher;
831
932
  info->certs = _certs;
832
933
  info->verified = _verified;
934
+ info->errorCode = _trustError;
935
+ info->host = _incoming ? "" : _host;
833
936
  return info;
834
937
  }
835
938