This is an automated email from the ASF dual-hosted git repository. elecharny pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mina-site.git
The following commit(s) were added to refs/heads/master by this push: new 2926811 Pushed a new XSD version with the latest TLS protocols 2926811 is described below commit 292681113d2f3d6f9f6a53d92b3107f5831f86f1 Author: emmanuel lecharny <elecha...@apache.org> AuthorDate: Fri Jan 14 14:47:00 2022 +0100 Pushed a new XSD version with the latest TLS protocols --- source/ftpserver-project/ftpserver-1.1.xsd | 294 +++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) diff --git a/source/ftpserver-project/ftpserver-1.1.xsd b/source/ftpserver-project/ftpserver-1.1.xsd new file mode 100644 index 0000000..4c39646 --- /dev/null +++ b/source/ftpserver-project/ftpserver-1.1.xsd @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to you under the Apache License, Version + 2.0 (the "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 Unless required by + applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the + License. + --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" targetNamespace="http://mina.apache.org/ftpserver/spring/v1" + xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:beans="http://www.springframework.org/schema/beans"> + + <!-- Import the Spring beans XML schema --> + <xs:import namespace="http://www.springframework.org/schema/beans" + schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" /> + + <!-- The main entry point, used for setting up an entire FTP server --> + <xs:element name="server"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="listeners"> + <xs:complexType> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element ref="nio-listener" /> + <xs:element ref="listener" /> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" ref="ftplets" /> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element minOccurs="0" ref="file-user-manager" /> + <xs:element minOccurs="0" ref="db-user-manager" /> + <xs:element minOccurs="0" ref="user-manager" /> + </xs:choice> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element minOccurs="0" ref="native-filesystem" /> + <xs:element minOccurs="0" ref="filesystem" /> + </xs:choice> + <xs:element minOccurs="0" ref="commands" /> + <xs:element minOccurs="0" ref="messages" /> + </xs:sequence> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="max-logins" type="xs:int" /> + <xs:attribute name="max-anon-logins" type="xs:int" /> + <xs:attribute name="anon-enabled" type="xs:boolean" /> + <xs:attribute name="max-login-failures" type="xs:int" /> + <xs:attribute name="login-failure-delay" type="xs:int" /> + <xs:attribute name="max-threads" type="xs:int" /> + </xs:complexType> + </xs:element> + + <!-- Reusable element for defining SSL properties --> + <xs:element name="ssl"> + <xs:complexType> + <xs:sequence> + <xs:element name="keystore"> + <xs:complexType> + <xs:attribute name="file" use="required" /> + <xs:attribute name="password" use="required" /> + <xs:attribute name="type" /> + <xs:attribute name="algorithm" /> + <xs:attribute name="key-alias" /> + <xs:attribute name="key-password" /> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="truststore"> + <xs:complexType> + <xs:attribute name="file" use="required" /> + <xs:attribute name="password" /> + <xs:attribute name="type" /> + <xs:attribute name="algorithm" /> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="client-authentication"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="NEED" /> + <xs:enumeration value="WANT" /> + <xs:enumeration value="NONE" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="enabled-ciphersuites" type="xs:string" /> + <xs:attribute name="protocol"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="SSLv3" /> + <xs:enumeration value="TLSv1" /> + <xs:enumeration value="TLSv1.1" /> + <xs:enumeration value="TLSv1.2" /> + <xs:enumeration value="TLSv1.3" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <!-- Element used to configure the remote IP Filtering --> + <xs:element name="remote-ip-filter"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="type"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="allow" /> + <xs:enumeration value="deny" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <!-- Element used to define the default, NIO based listener --> + <xs:element name="nio-listener"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="ssl" /> + <xs:element minOccurs="0" name="data-connection"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="ssl" /> + <xs:element minOccurs="0" name="active"> + <xs:complexType> + <xs:attribute name="enabled" type="xs:boolean" /> + <xs:attribute name="local-address" /> + <xs:attribute name="local-port" type="xs:int" /> + <xs:attribute name="ip-check" type="xs:boolean" /> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="passive"> + <xs:complexType> + <xs:attribute name="address" /> + <xs:attribute name="external-address" /> + <xs:attribute name="ip-check" type="xs:boolean" /> + <xs:attribute name="ports" /> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="idle-timeout" type="xs:int" /> + <xs:attribute name="implicit-ssl" type="xs:boolean" /> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="blacklist" type="xs:string" /> + <xs:element ref="remote-ip-filter" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string" /> + <xs:attribute name="local-address" /> + <xs:attribute name="port" type="xs:int" /> + <xs:attribute name="idle-timeout" type="xs:int" /> + <xs:attribute name="implicit-ssl" type="xs:boolean" /> + </xs:complexType> + </xs:element> + + <!-- Extension element used for defining a custom listener --> + <xs:element name="listener" type="spring-bean-or-ref-with-name" /> + + <!-- Element used to configure Ftplets for used with the server --> + <xs:element name="ftplets"> + <xs:complexType> + <xs:choice> + <xs:element name="ftplet" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:choice> + <xs:element ref="beans:bean" /> + <xs:element ref="beans:ref" /> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string" /> + </xs:complexType> + </xs:element> + <xs:element ref="beans:map" /> + </xs:choice> + </xs:complexType> + </xs:element> + + <!-- Element used to configure a file based user manager --> + <xs:element name="file-user-manager"> + <xs:complexType> + <xs:attribute name="file" type="xs:string" /> + <xs:attribute name="url" type="xs:string" /> + <xs:attribute name="encrypt-passwords"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="clear"></xs:enumeration> + <!-- Deprecated, use "clear" --> + <xs:enumeration value="false"></xs:enumeration> + <xs:enumeration value="md5"></xs:enumeration> + <!-- Deprecated, use "md5" --> + <xs:enumeration value="true"></xs:enumeration> + <xs:enumeration value="salted"></xs:enumeration> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <!-- Element used to configure a database based user manager --> + <xs:element name="db-user-manager"> + <xs:complexType> + <xs:sequence> + <xs:element name="data-source" type="spring-bean-or-ref" /> + <xs:element name="insert-user" type="xs:string" /> + <xs:element name="update-user" type="xs:string" /> + <xs:element name="delete-user" type="xs:string" /> + <xs:element name="select-user" type="xs:string" /> + <xs:element name="select-all-users" type="xs:string" /> + <xs:element name="is-admin" type="xs:string" /> + <xs:element name="authenticate" type="xs:string" /> + </xs:sequence> + <xs:attribute name="encrypt-passwords"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="clear"></xs:enumeration> + <xs:enumeration value="md5"></xs:enumeration> + <xs:enumeration value="salted"></xs:enumeration> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <!-- Extension element used for defining a custom user manager --> + <xs:element name="user-manager" type="spring-bean-or-ref" /> + + <!-- Element used to configure the default file system --> + <xs:element name="native-filesystem"> + <xs:complexType> + <xs:attribute name="case-insensitive" type="xs:boolean" /> + <xs:attribute name="create-home" type="xs:boolean" /> + </xs:complexType> + </xs:element> + + <!-- Extension element used for defining a custom file system --> + <xs:element name="filesystem" type="spring-bean-or-ref" /> + + <!-- Element used to provide custom command implementations --> + <xs:element name="commands"> + <xs:complexType> + <xs:sequence> + <xs:element name="command" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="beans:bean" /> + <xs:element ref="beans:ref" /> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" /> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="use-default" type="xs:boolean" /> + </xs:complexType> + </xs:element> + + <!-- Element used to configure and localize messages --> + <xs:element name="messages"> + <xs:complexType> + <xs:attribute name="languages" /> + <xs:attribute name="directory" /> + </xs:complexType> + </xs:element> + + <!-- Reusable type used for extension elements --> + <xs:complexType name="spring-bean-or-ref"> + <xs:choice> + <xs:element ref="beans:bean" /> + <xs:element ref="beans:ref" /> + </xs:choice> + </xs:complexType> + + <!-- Reusable type used for named extension elements --> + <xs:complexType name="spring-bean-or-ref-with-name"> + <xs:sequence> + <xs:choice> + <xs:element ref="beans:bean" /> + <xs:element ref="beans:ref" /> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string" /> + </xs:complexType> +</xs:schema> \ No newline at end of file