jboss-as-remoting_1_0.xsd 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2011, Red Hat, Inc., and individual contributors
  5. ~ as indicated by the @author tags. See the copyright.txt file in the
  6. ~ distribution for a full listing of individual contributors.
  7. ~
  8. ~ This is free software; you can redistribute it and/or modify it
  9. ~ under the terms of the GNU Lesser General Public License as
  10. ~ published by the Free Software Foundation; either version 2.1 of
  11. ~ the License, or (at your option) any later version.
  12. ~
  13. ~ This software is distributed in the hope that it will be useful,
  14. ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. ~ Lesser General Public License for more details.
  17. ~
  18. ~ You should have received a copy of the GNU Lesser General Public
  19. ~ License along with this software; if not, write to the Free
  20. ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  21. ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  22. -->
  23. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  24. targetNamespace="urn:jboss:domain:remoting:1.0"
  25. xmlns="urn:jboss:domain:remoting:1.0"
  26. elementFormDefault="qualified"
  27. attributeFormDefault="unqualified"
  28. version="1.0">
  29. <!-- The remoting subsystem root element -->
  30. <xs:element name="subsystem" type="subsystem"/>
  31. <xs:complexType name="subsystem">
  32. <xs:annotation>
  33. <xs:documentation>
  34. <![CDATA[
  35. The configuration of the Remoting subsystem.
  36. The 'worker-thread-pool' element configures the worker thread pool.
  37. The nested "connector" element(s) define connectors for this subsystem.
  38. ]]>
  39. </xs:documentation>
  40. </xs:annotation>
  41. <xs:sequence>
  42. <xs:element name="worker-thread-pool" type="workerThreadsType" minOccurs="0"/>
  43. <xs:element name="connector" type="connector" minOccurs="0" maxOccurs="unbounded"/>
  44. </xs:sequence>
  45. </xs:complexType>
  46. <xs:complexType name="workerThreadsType">
  47. <xs:annotation>
  48. <xs:documentation>
  49. <![CDATA[
  50. The configuration of the worker thread pool.
  51. ]]>
  52. </xs:documentation>
  53. </xs:annotation>
  54. <xs:attribute name="read-threads" type="xs:integer" use="optional"/>
  55. <xs:attribute name="write-threads" type="xs:integer" use="optional"/>
  56. <xs:attribute name="task-core-threads" type="xs:integer" use="optional"/>
  57. <xs:attribute name="task-max-threads" type="xs:integer" use="optional"/>
  58. <xs:attribute name="task-keepalive" type="xs:integer" use="optional"/>
  59. <xs:attribute name="task-limit" type="xs:integer" use="optional"/>
  60. </xs:complexType>
  61. <xs:complexType name="connector">
  62. <xs:annotation>
  63. <xs:documentation>
  64. <![CDATA[
  65. The configuration of a Remoting connector.
  66. The "name" attribute specifies the unique name of this connector.
  67. The "socket-binding" attribute specifies the name (or names) of the socket binding(s) to attach to.
  68. The optional nested "sasl" element contains the SASL authentication configuration for this connector.
  69. The optional nested "authentication-provider" element contains the name of the authentication provider to
  70. use for incoming connections.
  71. ]]>
  72. </xs:documentation>
  73. </xs:annotation>
  74. <xs:all>
  75. <!-- xs:element name="ssl-whatever??" type="ref" minOccurs="0" -->
  76. <xs:element name="sasl" type="sasl" minOccurs="0"/>
  77. <xs:element name="authentication-provider" type="ref" minOccurs="0"/>
  78. <xs:element name="properties" type="properties" minOccurs="0"/>
  79. </xs:all>
  80. <xs:attribute name="socket-binding" type="name-list" use="required"/>
  81. <xs:attribute name="name" type="xs:string" use="required"/>
  82. </xs:complexType>
  83. <xs:complexType name="sasl">
  84. <xs:annotation>
  85. <xs:documentation>
  86. <![CDATA[
  87. The configuration of the SASL authentication layer for this server.
  88. The optional nested "include-mechanisms" element contains a whitelist of allowed SASL mechanism names.
  89. No mechanisms will be allowed which are not present in this list.
  90. The optional nested "qop" element contains a list of quality-of-protection values, in decreasing order
  91. of preference.
  92. The optional nested "strength" element contains a list of cipher strength values, in decreasing order
  93. of preference.
  94. The optional nested "reuse-session" boolean element specifies whether or not the server should attempt
  95. to reuse previously authenticated session information. The mechanism may or may not support such reuse,
  96. and other factors may also prevent it.
  97. The optional nested "server-auth" boolean element specifies whether the server should authenticate to the
  98. client. Not all mechanisms may support this setting.
  99. The optional nested "policy" boolean element specifies a policy to use to narrow down the available set
  100. of mechanisms.
  101. ]]>
  102. </xs:documentation>
  103. </xs:annotation>
  104. <xs:all>
  105. <xs:element name="include-mechanisms" type="name-listType" minOccurs="0"/>
  106. <xs:element name="qop" type="qop-listType" minOccurs="0"/>
  107. <xs:element name="strength" type="strength" minOccurs="0"/>
  108. <xs:element name="reuse-session" type="boolean-element" minOccurs="0"/>
  109. <xs:element name="server-auth" type="boolean-element" minOccurs="0"/>
  110. <xs:element name="policy" type="policy" minOccurs="0"/>
  111. <xs:element name="properties" type="properties" minOccurs="0"/>
  112. </xs:all>
  113. </xs:complexType>
  114. <xs:complexType name="policy">
  115. <xs:annotation>
  116. <xs:documentation>
  117. <![CDATA[
  118. Policy criteria items to use in order to choose a SASL mechanism.
  119. The optional nested "forward-secrecy" element contains a boolean value which specifies whether mechanisms
  120. that implement forward secrecy between sessions are required. Forward secrecy means that breaking into
  121. one session will not automatically provide information for breaking into future sessions.
  122. The optional nested "no-active" element contains a boolean value which specifies whether mechanisms
  123. susceptible to active (non-dictionary) attacks are not permitted. "false" to permit, "true" to deny.
  124. The optional nested "no-anonymous" element contains a boolean value which specifies whether mechanisms
  125. that accept anonymous login are permitted. "false" to permit, "true" to deny.
  126. The optional nested "no-dictionary" element contains a boolean value which specifies whether mechanisms
  127. susceptible to passive dictionary attacks are permitted. "false" to permit, "true" to deny.
  128. The optional nested "no-plain-text" element contains a boolean value which specifies whether mechanisms
  129. susceptible to simple plain passive attacks (e.g., "PLAIN") are not permitted. "false" to permit, "true" to deny.
  130. The optional nested "pass-credentials" element contains a boolean value which specifies whether
  131. mechanisms that pass client credentials are required.
  132. ]]>
  133. </xs:documentation>
  134. </xs:annotation>
  135. <xs:all>
  136. <xs:element name="forward-secrecy" type="boolean-element" minOccurs="0"/>
  137. <xs:element name="no-active" type="boolean-element" minOccurs="0"/>
  138. <xs:element name="no-anonymous" type="boolean-element" minOccurs="0"/>
  139. <xs:element name="no-dictionary" type="boolean-element" minOccurs="0"/>
  140. <xs:element name="no-plain-text" type="boolean-element" minOccurs="0"/>
  141. <xs:element name="pass-credentials" type="boolean-element" minOccurs="0"/>
  142. </xs:all>
  143. </xs:complexType>
  144. <xs:complexType name="boolean-element">
  145. <xs:annotation>
  146. <xs:documentation>
  147. <![CDATA[
  148. An element specifying a boolean value.
  149. ]]>
  150. </xs:documentation>
  151. </xs:annotation>
  152. <xs:attribute name="value" type="xs:boolean" use="required"/>
  153. </xs:complexType>
  154. <xs:complexType name="name-listType">
  155. <xs:annotation>
  156. <xs:documentation>
  157. <![CDATA[
  158. An element specifying a string list.
  159. ]]>
  160. </xs:documentation>
  161. </xs:annotation>
  162. <xs:attribute name="value" type="name-list" use="required"/>
  163. </xs:complexType>
  164. <xs:simpleType name="name-list">
  165. <xs:annotation>
  166. <xs:documentation>
  167. <![CDATA[
  168. A set of string items.
  169. ]]>
  170. </xs:documentation>
  171. </xs:annotation>
  172. <xs:list itemType="xs:string"/>
  173. </xs:simpleType>
  174. <xs:complexType name="qop-listType">
  175. <xs:annotation>
  176. <xs:documentation>
  177. <![CDATA[
  178. An element specifying a qop list.
  179. ]]>
  180. </xs:documentation>
  181. </xs:annotation>
  182. <xs:attribute name="value" type="qop-list" use="required"/>
  183. </xs:complexType>
  184. <xs:simpleType name="qop-list">
  185. <xs:annotation>
  186. <xs:documentation>
  187. <![CDATA[
  188. The SASL quality-of-protection value list. See http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/security/sasl/Sasl.html#QOP
  189. for more information.
  190. ]]>
  191. </xs:documentation>
  192. </xs:annotation>
  193. <xs:list>
  194. <xs:simpleType>
  195. <xs:restriction base="xs:token">
  196. <xs:enumeration value="auth"/>
  197. <xs:enumeration value="auth-int"/>
  198. <xs:enumeration value="auth-conf"/>
  199. </xs:restriction>
  200. </xs:simpleType>
  201. </xs:list>
  202. </xs:simpleType>
  203. <xs:simpleType name="strength">
  204. <xs:annotation>
  205. <xs:documentation>
  206. <![CDATA[
  207. The SASL strength value list. See http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/security/sasl/Sasl.html#STRENGTH
  208. for more information.
  209. ]]>
  210. </xs:documentation>
  211. </xs:annotation>
  212. <xs:list>
  213. <xs:simpleType>
  214. <xs:restriction base="xs:token">
  215. <xs:enumeration value="low"/>
  216. <xs:enumeration value="medium"/>
  217. <xs:enumeration value="high"/>
  218. </xs:restriction>
  219. </xs:simpleType>
  220. </xs:list>
  221. </xs:simpleType>
  222. <xs:complexType name="properties">
  223. <xs:annotation>
  224. <xs:documentation>
  225. <![CDATA[
  226. A set of free-form properties.
  227. ]]>
  228. </xs:documentation>
  229. </xs:annotation>
  230. <xs:choice minOccurs="0" maxOccurs="unbounded">
  231. <xs:element name="property" type="property"/>
  232. </xs:choice>
  233. </xs:complexType>
  234. <xs:complexType name="property">
  235. <xs:annotation>
  236. <xs:documentation>
  237. <![CDATA[
  238. A free-form property. The name is required; the value is optional.
  239. ]]>
  240. </xs:documentation>
  241. </xs:annotation>
  242. <xs:attribute name="name" type="xs:string" use="required"/>
  243. <xs:attribute name="value" type="xs:string" use="optional"/>
  244. </xs:complexType>
  245. <xs:complexType name="ref">
  246. <xs:annotation>
  247. <xs:documentation>
  248. <![CDATA[
  249. A reference to another named service.
  250. ]]>
  251. </xs:documentation>
  252. </xs:annotation>
  253. <xs:attribute name="name" type="xs:string" use="required"/>
  254. </xs:complexType>
  255. </xs:schema>