Updated requirements, now EiffelWeb requires 17.05 or newer.
Improved support for future 17.11 version with new openssl library.
This commit is contained in:
@@ -1,80 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_client" uuid="628F5A96-021B-4191-926B-B3BF49272866" library_target="http_client">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="628F5A96-021B-4191-926B-B3BF49272866" message="Obsolete: use http_client.ecf !" location="http_client.ecf">
|
||||||
<target name="http_client">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option debug="false" warning="true" void_safety="all">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<custom name="libcurl_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<library name="encoder" location="..\..\text\encoder\encoder-safe.ecf"/>
|
|
||||||
<library name="http" location="..\protocol\http\http-safe.ecf"/>
|
|
||||||
<library name="http_auth" location="..\..\server\authentication\http_authorization\http_authorization-safe.ecf"/>
|
|
||||||
<library name="http_network" location="..\http_network\http_network-safe.ecf"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
<custom name="netssl_http_client_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\src\">
|
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
|
||||||
<cluster name="spec_null" location="$|spec\null\" recursive="true"/>
|
|
||||||
<cluster name="spec_net" location="$|spec\net\">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
<cluster name="net_implementation" location="$|implementation\" hidden="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="spec_libcurl" location="$|spec\libcurl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="libcurl_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="default_null" location="$|default\null\">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" value="true"/>
|
|
||||||
<custom name="libcurl_http_client_disabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="default_net" location="$|default\net\">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
<custom name="libcurl_http_client_disabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="default_libcurl" location="$|default\libcurl\">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" value="true"/>
|
|
||||||
<custom name="libcurl_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="default_libcurl_or_net" location="$|default\libcurl_or_net\">
|
|
||||||
<condition>
|
|
||||||
<custom name="net_http_client_disabled" excluded_value="true"/>
|
|
||||||
<custom name="libcurl_http_client_disabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_client" uuid="628F5A96-021B-4191-926B-B3BF49272866" library_target="http_client">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="http_client" uuid="628F5A96-021B-4191-926B-B3BF49272866" library_target="http_client">
|
||||||
<target name="http_client">
|
<target name="http_client">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.git$</exclude>
|
<exclude>/\.git$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option warning="true" void_safety="none">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL.ecf">
|
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL.ecf">
|
||||||
<condition>
|
<condition>
|
||||||
@@ -33,8 +30,8 @@
|
|||||||
</library>
|
</library>
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
||||||
<cluster name="src" location=".\src\">
|
<cluster name="src" location=".\src\">
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
<cluster name="implementation" location="$|implementation\" recursive="true" hidden="true"/>
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
<cluster name="parameters" location="$|parameters\" recursive="true"/>
|
||||||
<cluster name="spec_null" location="$|spec\null\" recursive="true"/>
|
<cluster name="spec_null" location="$|spec\null\" recursive="true"/>
|
||||||
<cluster name="spec_net" location="$|spec\net\">
|
<cluster name="spec_net" location="$|spec\net\">
|
||||||
<condition>
|
<condition>
|
||||||
|
|||||||
@@ -1,26 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="libcurl_http_client" uuid="FA686EE7-D01D-43A3-8E95-A00120658040" library_target="libcurl_http_client">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="FA686EE7-D01D-43A3-8E95-A00120658040" message="Obsolete: use libcurl_http_client.ecf !" location="libcurl_http_client.ecf">
|
||||||
<target name="libcurl_http_client">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option debug="false" warning="true" void_safety="all">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL-safe.ecf"/>
|
|
||||||
<library name="encoder" location="..\..\text\encoder\encoder-safe.ecf"/>
|
|
||||||
<library name="http" location="..\protocol\http\http-safe.ecf"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\src\">
|
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
|
||||||
<cluster name="spec_libcurl" location="$|spec\libcurl\" recursive="true"/>
|
|
||||||
<cluster name="default_libcurl" location="$|default\libcurl\"/>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="libcurl_http_client" uuid="FA686EE7-D01D-43A3-8E95-A00120658040" library_target="libcurl_http_client">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="libcurl_http_client" uuid="FA686EE7-D01D-43A3-8E95-A00120658040" library_target="libcurl_http_client">
|
||||||
<target name="libcurl_http_client">
|
<target name="libcurl_http_client">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.git$</exclude>
|
<exclude>/\.git$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option debug="false" warning="true" void_safety="none">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL.ecf"/>
|
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL.ecf"/>
|
||||||
<library name="encoder" location="..\..\text\encoder\encoder.ecf"/>
|
<library name="encoder" location="..\..\text\encoder\encoder.ecf"/>
|
||||||
@@ -17,8 +14,8 @@
|
|||||||
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
||||||
<cluster name="src" location=".\src\">
|
<cluster name="src" location=".\src\">
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
<cluster name="implementation" location="$|implementation\" recursive="true" hidden="true"/>
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
<cluster name="parameters" location="$|parameters\" recursive="true"/>
|
||||||
<cluster name="spec_libcurl" location="$|spec\libcurl\" recursive="true"/>
|
<cluster name="spec_libcurl" location="$|spec\libcurl\" recursive="true"/>
|
||||||
<cluster name="default_libcurl" location="$|default\libcurl\"/>
|
<cluster name="default_libcurl" location="$|default\libcurl\"/>
|
||||||
</cluster>
|
</cluster>
|
||||||
|
|||||||
@@ -1,37 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_client" uuid="7897B317-7AD3-44E4-A933-0544A169AB1B" library_target="net_http_client">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="7897B317-7AD3-44E4-A933-0544A169AB1B" message="Obsolete: use net_http_client.ecf !" location="net_http_client.ecf">
|
||||||
<target name="net_http_client">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option debug="false" warning="true" void_safety="all">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="encoder" location="..\..\text\encoder\encoder-safe.ecf"/>
|
|
||||||
<library name="http" location="..\protocol\http\http-safe.ecf"/>
|
|
||||||
<library name="http_auth" location="..\..\server\authentication\http_authorization\http_authorization-safe.ecf"/>
|
|
||||||
<library name="http_network" location="..\http_network\http_network-safe.ecf"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="netssl_http_client_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\src\">
|
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
|
||||||
<cluster name="spec_net" location="$|spec\net\">
|
|
||||||
<cluster name="net_implementation" location="$|implementation\" hidden="true"/>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="default_net" location="$|default\net\"/>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_client" uuid="7897B317-7AD3-44E4-A933-0544A169AB1B" library_target="net_http_client">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="http_client" uuid="7897B317-7AD3-44E4-A933-0544A169AB1B" library_target="net_http_client">
|
||||||
<target name="net_http_client">
|
<target name="net_http_client">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.git$</exclude>
|
<exclude>/\.git$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option debug="false" warning="true" void_safety="none">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="encoder" location="..\..\text\encoder\encoder.ecf"/>
|
<library name="encoder" location="..\..\text\encoder\encoder.ecf"/>
|
||||||
<library name="http" location="..\protocol\http\http.ecf"/>
|
<library name="http" location="..\protocol\http\http.ecf"/>
|
||||||
@@ -26,8 +23,8 @@
|
|||||||
</library>
|
</library>
|
||||||
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri.ecf"/>
|
||||||
<cluster name="src" location=".\src\">
|
<cluster name="src" location=".\src\">
|
||||||
<cluster name="implementation" location="$|implementation" recursive="true" hidden="true"/>
|
<cluster name="implementation" location="$|implementation\" recursive="true" hidden="true"/>
|
||||||
<cluster name="parameters" location="$|parameters" recursive="true"/>
|
<cluster name="parameters" location="$|parameters\" recursive="true"/>
|
||||||
<cluster name="spec_net" location="$|spec\net\">
|
<cluster name="spec_net" location="$|spec\net\">
|
||||||
<cluster name="net_implementation" location="$|implementation\" hidden="true"/>
|
<cluster name="net_implementation" location="$|implementation\" hidden="true"/>
|
||||||
</cluster>
|
</cluster>
|
||||||
|
|||||||
@@ -1,126 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_network" uuid="7C7AD84D-B7BD-4709-B4B2-9365B86582AE" library_target="http_network">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="7C7AD84D-B7BD-4709-B4B2-9365B86582AE" message="Obsolete: use http_network.ecf !" location="http_network.ecf">
|
||||||
<target name="http_network">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option warning="true" void_safety="all">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<external_include location="$ECF_CONFIG_PATH/spec/include">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" min="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$ECF_CONFIG_PATH/spec/include_until_16_05">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$(ISE_LIBRARY)/unstable/library/network/socket/netssl/spec/include">
|
|
||||||
<condition>
|
|
||||||
<platform excluded_value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$(ISE_LIBRARY)\unstable\library\network\socket\netssl\spec\include">
|
|
||||||
<condition>
|
|
||||||
<platform value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_cflag value="-D_WINSOCKAPI_">
|
|
||||||
<condition>
|
|
||||||
<platform value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_cflag>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<cluster name="network" location=".\src\">
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/http_stream_socket_ext.e$</exclude>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="17.02"/>
|
|
||||||
</condition>
|
|
||||||
</file_rule>
|
|
||||||
<cluster name="disabled_ssl_network" location="$|no_ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" excluded_value="true"/>
|
|
||||||
<custom name="net_ssl_enabled" excluded_value="true"/>
|
|
||||||
<custom name="httpd_ssl_enabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="ssl_network" location="$|ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/http_stream_secure_socket_ext.e$</exclude>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</file_rule>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="network_until_16_05" location=".\src\until_16_05\">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
<cluster name="ssl_network_until_16_05" location="$|ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="network_until_17_01" location=".\src\until_17_01\">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" min="16.9.9.9124" max="17.02"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
<target name="http_network_ssl" extends="http_network">
|
|
||||||
<variable name="ssl_enabled" value="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,124 +1,38 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="http_network" uuid="7C7AD84D-B7BD-4709-B4B2-9365B86582AE" library_target="http_network">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="http_network" uuid="7C7AD84D-B7BD-4709-B4B2-9365B86582AE" library_target="http_network">
|
||||||
<target name="http_network">
|
<target name="http_network">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.git$</exclude>
|
<exclude>/\.git$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option warning="true" void_safety="none">
|
<external_include location="$ECF_CONFIG_PATH/spec/include"/>
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<external_include location="$ECF_CONFIG_PATH/spec/include">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" min="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$ECF_CONFIG_PATH/spec/include_until_16_05">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$(ISE_LIBRARY)/unstable/library/network/socket/netssl/spec/include">
|
|
||||||
<condition>
|
|
||||||
<platform excluded_value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_include location="$(ISE_LIBRARY)\unstable\library\network\socket\netssl\spec\include">
|
|
||||||
<condition>
|
|
||||||
<platform value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_include>
|
|
||||||
<external_cflag value="-D_WINSOCKAPI_">
|
|
||||||
<condition>
|
|
||||||
<platform value="windows"/>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</external_cflag>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
||||||
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl.ecf">
|
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl.ecf">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" value="true"/>
|
<custom name="ssl_enabled" value="true"/>
|
||||||
</condition>
|
</condition>
|
||||||
|
</library>
|
||||||
|
<library name="openssl" location="$ISE_LIBRARY\unstable\library\network\openssl\openssl.ecf">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
<version type="compiler" min="17.10.0.0"/>
|
||||||
</condition>
|
<custom name="ssl_enabled" value="true"/>
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
</condition>
|
||||||
</library>
|
</library>
|
||||||
<cluster name="network" location=".\src\">
|
<cluster name="network" location=".\src\">
|
||||||
<file_rule>
|
|
||||||
<exclude>/http_stream_socket_ext.e$</exclude>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="17.02"/>
|
|
||||||
</condition>
|
|
||||||
</file_rule>
|
|
||||||
<cluster name="disabled_ssl_network" location="$|no_ssl\" recursive="true">
|
<cluster name="disabled_ssl_network" location="$|no_ssl\" recursive="true">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" excluded_value="true"/>
|
<custom name="ssl_enabled" excluded_value="true"/>
|
||||||
<custom name="net_ssl_enabled" excluded_value="true"/>
|
|
||||||
<custom name="httpd_ssl_enabled" excluded_value="true"/>
|
|
||||||
</condition>
|
</condition>
|
||||||
</cluster>
|
</cluster>
|
||||||
<cluster name="ssl_network" location="$|ssl\" recursive="true">
|
<cluster name="ssl_network" location="$|ssl\" recursive="true">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" value="true"/>
|
<custom name="ssl_enabled" value="true"/>
|
||||||
</condition>
|
</condition>
|
||||||
<condition>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/http_stream_secure_socket_ext.e$</exclude>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</file_rule>
|
|
||||||
</cluster>
|
</cluster>
|
||||||
</cluster>
|
</cluster>
|
||||||
<cluster name="network_until_16_05" location=".\src\until_16_05\">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
</condition>
|
|
||||||
<cluster name="ssl_network_until_16_05" location="$|ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="net_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" max="16.9.9.9124"/>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="network_until_17_01" location=".\src\until_17_01\">
|
|
||||||
<condition>
|
|
||||||
<version type="compiler" min="16.9.9.9124" max="17.02"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
</target>
|
||||||
<target name="http_network_ssl" extends="http_network">
|
<target name="http_network_ssl" extends="http_network">
|
||||||
<variable name="ssl_enabled" value="true"/>
|
<variable name="ssl_enabled" value="true"/>
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
indexing
|
|
||||||
description: "Functions used by the EiffelWeb http networking classes. "
|
|
||||||
copyright: "Copyright (c) 2011-2016, Jocelyn Fiat, Eiffel Software and others"
|
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
|
||||||
source: "[
|
|
||||||
Eiffel Software
|
|
||||||
5949 Hollister Ave., Goleta, CA 93117 USA
|
|
||||||
Telephone 805-685-1006, Fax 805-685-6869
|
|
||||||
Website http://www.eiffel.com
|
|
||||||
Customer support http://support.eiffel.com
|
|
||||||
]"
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ew_network_h_
|
|
||||||
#define _ew_network_h_
|
|
||||||
|
|
||||||
#include "eif_config.h"
|
|
||||||
|
|
||||||
#ifdef EIF_WINDOWS
|
|
||||||
# ifndef _WINSOCKAPI_
|
|
||||||
# define FD_SETSIZE 256
|
|
||||||
# include <winsock2.h>
|
|
||||||
# include <Ws2tcpip.h>
|
|
||||||
# include <stdio.h>
|
|
||||||
# endif
|
|
||||||
#else /* unix-specific */
|
|
||||||
# include <sys/socket.h>
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* extern declarations ... */
|
|
||||||
#ifdef EIF_WINDOWS
|
|
||||||
extern int setsockopt(int, int, int, char*, int);
|
|
||||||
extern int recv(int, char *, int, int);
|
|
||||||
extern int send(int, char *, int, int);
|
|
||||||
#else
|
|
||||||
extern int setsockopt(int, int, int, const void*, socklen_t);
|
|
||||||
extern ssize_t recv(int, void *, size_t, int);
|
|
||||||
extern ssize_t send(int, const void *, size_t, int);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -9,8 +9,6 @@ class
|
|||||||
inherit
|
inherit
|
||||||
NETWORK_STREAM_SOCKET
|
NETWORK_STREAM_SOCKET
|
||||||
|
|
||||||
HTTP_STREAM_SOCKET_EXT
|
|
||||||
|
|
||||||
create
|
create
|
||||||
make, make_empty,
|
make, make_empty,
|
||||||
make_client_by_port, make_client_by_address_and_port,
|
make_client_by_port, make_client_by_address_and_port,
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Extension to HTTPD_STREAM_SOCKET to support backward compatibility.
|
|
||||||
|
|
||||||
TO BE REMOVED IN THE FUTURE, When there is no need to support older compilers.
|
|
||||||
]"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
HTTP_STREAM_SOCKET_EXT
|
|
||||||
|
|
||||||
note
|
|
||||||
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
|
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
|
||||||
source: "[
|
|
||||||
Eiffel Software
|
|
||||||
5949 Hollister Ave., Goleta, CA 93117 USA
|
|
||||||
Telephone 805-685-1006, Fax 805-685-6869
|
|
||||||
Website http://www.eiffel.com
|
|
||||||
Customer support http://support.eiffel.com
|
|
||||||
]"
|
|
||||||
end
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Until 16.05, the EiffelNet socket interface DOES NOT have
|
|
||||||
- make_server_by_address_and_port
|
|
||||||
- recv_timeout
|
|
||||||
- send_timeout.
|
|
||||||
|
|
||||||
TO BE REMOVED IN THE FUTURE, WHEN 16.05 IS OLD.
|
|
||||||
]"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
HTTP_STREAM_SOCKET_EXT
|
|
||||||
|
|
||||||
inherit
|
|
||||||
PLATFORM
|
|
||||||
|
|
||||||
feature -- Initialization
|
|
||||||
|
|
||||||
make
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
make_server_by_address_and_port (a_address: INET_ADDRESS; a_port: INTEGER)
|
|
||||||
-- Create server socket on `a_address' and `a_port'.
|
|
||||||
require
|
|
||||||
valid_port: a_port >= 0
|
|
||||||
do
|
|
||||||
make
|
|
||||||
set_address (create {like address_type}.make_from_address_and_port (a_address, a_port))
|
|
||||||
bind
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Basic operation
|
|
||||||
|
|
||||||
bind
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Access
|
|
||||||
|
|
||||||
set_address (addr: detachable like address_type)
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
address_type: NETWORK_SOCKET_ADDRESS
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
descriptor: INTEGER
|
|
||||||
-- Socket descriptor of current socket
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
socket_buffer: MANAGED_POINTER
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
read_socket_buffer: MANAGED_POINTER
|
|
||||||
do
|
|
||||||
Result := socket_buffer
|
|
||||||
end
|
|
||||||
|
|
||||||
put_socket_buffer: MANAGED_POINTER
|
|
||||||
do
|
|
||||||
Result := socket_buffer
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Socket Recv and Send timeout.
|
|
||||||
|
|
||||||
set_recv_timeout (a_timeout_seconds: INTEGER)
|
|
||||||
-- Set the receive timeout in seconds on Current socket.
|
|
||||||
-- if `0' the related operations will never timeout.
|
|
||||||
require
|
|
||||||
positive_timeout: a_timeout_seconds >= 0
|
|
||||||
do
|
|
||||||
c_set_sock_recv_timeout (descriptor, level_sol_socket, a_timeout_seconds)
|
|
||||||
end
|
|
||||||
|
|
||||||
set_send_timeout (a_timeout_seconds: INTEGER)
|
|
||||||
-- Set the send timeout in milliseconds on Current socket.
|
|
||||||
-- if `0' the related operations will never timeout.
|
|
||||||
require
|
|
||||||
positive_timeout: a_timeout_seconds >= 0
|
|
||||||
do
|
|
||||||
c_set_sock_send_timeout (descriptor, level_sol_socket, a_timeout_seconds)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- Externals
|
|
||||||
|
|
||||||
level_sol_socket: INTEGER
|
|
||||||
-- SOL_SOCKET level of options
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
c_set_sock_recv_timeout (a_fd, a_level: INTEGER; a_timeout_seconds: INTEGER)
|
|
||||||
-- C routine to set socket option `SO_RCVTIMEO' with `a_timeout_seconds' seconds.
|
|
||||||
external
|
|
||||||
"C inline use %"ew_network.h%""
|
|
||||||
alias
|
|
||||||
"[
|
|
||||||
#ifdef SO_RCVTIMEO
|
|
||||||
int flag = SO_RCVTIMEO;
|
|
||||||
#else
|
|
||||||
int flag = 0x1006;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef EIF_WINDOWS
|
|
||||||
int arg = (int) 1000 * $a_timeout_seconds; /* Timeout in milliseconds */
|
|
||||||
setsockopt((int) $a_fd, (int) $a_level, flag, (char *) &arg, sizeof(arg));
|
|
||||||
#else
|
|
||||||
struct timeval tv;
|
|
||||||
tv.tv_sec = $a_timeout_seconds; /* Timeout in seconds */
|
|
||||||
tv.tv_usec = 0;
|
|
||||||
setsockopt((int) $a_fd, (int) $a_level, flag, (struct timeval *)&tv, sizeof(struct timeval));
|
|
||||||
#endif
|
|
||||||
]"
|
|
||||||
end
|
|
||||||
|
|
||||||
c_set_sock_send_timeout (a_fd, a_level: INTEGER; a_timeout_seconds: INTEGER)
|
|
||||||
-- C routine to set socket option `SO_SNDTIMEO' with `a_timeout_seconds' seconds.
|
|
||||||
external
|
|
||||||
"C inline use %"ew_network.h%""
|
|
||||||
alias
|
|
||||||
"[
|
|
||||||
#ifdef SO_RCVTIMEO
|
|
||||||
int flag = SO_SNDTIMEO;
|
|
||||||
#else
|
|
||||||
int flag = 0x1005;
|
|
||||||
#endif
|
|
||||||
#ifdef EIF_WINDOWS
|
|
||||||
int arg = (int) 1000 * $a_timeout_seconds; /* Timeout in milliseconds */
|
|
||||||
setsockopt((int) $a_fd, (int) $a_level, flag, (char *) &arg, sizeof(arg));
|
|
||||||
#else
|
|
||||||
struct timeval tv;
|
|
||||||
tv.tv_sec = $a_timeout_seconds; /* Timeout in seconds */
|
|
||||||
tv.tv_usec = 0;
|
|
||||||
setsockopt((int) $a_fd, (int) $a_level, flag, (struct timeval *)&tv, sizeof(struct timeval));
|
|
||||||
#endif
|
|
||||||
]"
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- No-Exception network operation
|
|
||||||
|
|
||||||
c_recv_noexception (a_fd: INTEGER; buf: POINTER; len: INTEGER; flags: INTEGER): INTEGER
|
|
||||||
-- External routine to read a `len' number of characters
|
|
||||||
-- into buffer `buf' from socket `a_fd' with options `flags'.
|
|
||||||
external
|
|
||||||
"C inline use %"ew_network.h%""
|
|
||||||
alias
|
|
||||||
"[
|
|
||||||
recv((int) $a_fd, (char *) $buf, (int) $len, (int) $flags)
|
|
||||||
]"
|
|
||||||
end
|
|
||||||
|
|
||||||
c_read_stream_noexception (a_fd: INTEGER; len: INTEGER; buf: POINTER): INTEGER
|
|
||||||
-- External routine to read a `len' number of characters
|
|
||||||
-- into buffer `buf' from socket `a_fd'.
|
|
||||||
do
|
|
||||||
Result := c_recv_noexception (a_fd, buf, len, 0)
|
|
||||||
end
|
|
||||||
|
|
||||||
c_put_stream_noexception (a_fd: INTEGER; buf: POINTER; len: INTEGER): INTEGER
|
|
||||||
-- External routine to write stream pointed by `s' of
|
|
||||||
-- length `length' to socket `fd'.
|
|
||||||
-- Note: does not raise exception on error, but return error value as Result.
|
|
||||||
external
|
|
||||||
"C inline use %"ew_network.h%""
|
|
||||||
alias
|
|
||||||
"[
|
|
||||||
send((int) $a_fd, (char *) $buf, (int) $len, (int) 0)
|
|
||||||
]"
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Extension to HTTP_STREAM_SOCKET to support backward compatibility.
|
|
||||||
|
|
||||||
TO BE REMOVED IN THE FUTURE, WHEN 16.05 IS OLD.
|
|
||||||
]"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
HTTP_STREAM_SECURE_SOCKET_EXT
|
|
||||||
|
|
||||||
feature {NONE} -- SSL bridge
|
|
||||||
|
|
||||||
ssl_write (a_ssl: SSL; a_pointer: POINTER; a_byte_count: INTEGER): INTEGER
|
|
||||||
do
|
|
||||||
-- In delivery until 16.05
|
|
||||||
-- SSL.write does not return any value!
|
|
||||||
-- So let's use `c_ssl_write' from Current class
|
|
||||||
-- instead of:
|
|
||||||
-- a_ssl.write (a_pointer, a_byte_count)
|
|
||||||
|
|
||||||
Result := c_ssl_write (a_ssl.ptr, a_pointer, a_byte_count)
|
|
||||||
if a_ssl.was_error then
|
|
||||||
-- Until 16.05, there is no error check for `SSL.write'
|
|
||||||
-- so nothing can be done here.
|
|
||||||
|
|
||||||
if Result >= 0 then
|
|
||||||
Result := -1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
c_ssl_write (an_ssl_ptr: POINTER; buffer: POINTER; nb_bytes: INTEGER_32): INTEGER_32
|
|
||||||
-- External call to SSL_write
|
|
||||||
-- (export status {NONE})
|
|
||||||
external
|
|
||||||
"C use %"eif_openssl.h%""
|
|
||||||
alias
|
|
||||||
"SSL_write"
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Extension to HTTPD_STREAM_SOCKET to support backward compatibility.
|
|
||||||
|
|
||||||
TO BE REMOVED IN THE FUTURE, WHEN 17.01 IS OLD.
|
|
||||||
]"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
HTTP_STREAM_SOCKET_EXT
|
|
||||||
|
|
||||||
feature -- Access
|
|
||||||
|
|
||||||
socket_buffer: MANAGED_POINTER
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
read_socket_buffer: MANAGED_POINTER
|
|
||||||
do
|
|
||||||
Result := socket_buffer
|
|
||||||
end
|
|
||||||
|
|
||||||
put_socket_buffer: MANAGED_POINTER
|
|
||||||
do
|
|
||||||
Result := socket_buffer
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- No-Exception network operation
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -297,16 +297,17 @@ feature -- Element change
|
|||||||
set_secure_protocol_from_string (a_ssl_version: READABLE_STRING_GENERAL)
|
set_secure_protocol_from_string (a_ssl_version: READABLE_STRING_GENERAL)
|
||||||
-- Set `secure_protocol' with `a_ssl_version'.
|
-- Set `secure_protocol' with `a_ssl_version'.
|
||||||
do
|
do
|
||||||
if a_ssl_version.is_case_insensitive_equal ("ssl_2_3") then
|
if a_ssl_version.is_case_insensitive_equal ("tls_1_2") then
|
||||||
set_secure_protocol_to_ssl_2_or_3
|
set_secure_protocol_to_tls_1_2
|
||||||
elseif a_ssl_version.is_case_insensitive_equal ("tls_1_0") then
|
|
||||||
set_secure_protocol_to_tls_1_0
|
|
||||||
elseif a_ssl_version.is_case_insensitive_equal ("tls_1_1") then
|
elseif a_ssl_version.is_case_insensitive_equal ("tls_1_1") then
|
||||||
set_secure_protocol_to_tls_1_1
|
set_secure_protocol_to_tls_1_1
|
||||||
elseif a_ssl_version.is_case_insensitive_equal ("tls_1_2") then
|
elseif a_ssl_version.is_case_insensitive_equal ("tls_1_0") then
|
||||||
set_secure_protocol_to_tls_1_2
|
set_secure_protocol_to_tls_1_0
|
||||||
elseif a_ssl_version.is_case_insensitive_equal ("dtls_1_0") then
|
elseif a_ssl_version.is_case_insensitive_equal ("dtls_1_0") then
|
||||||
set_secure_protocol_to_dtls_1_0
|
set_secure_protocol_to_dtls_1_0
|
||||||
|
elseif a_ssl_version.is_case_insensitive_equal ("ssl_2_3") then
|
||||||
|
-- Obsolete!
|
||||||
|
set_secure_protocol_to_ssl_2_or_3
|
||||||
else -- Default
|
else -- Default
|
||||||
set_secure_protocol_to_tls_1_2
|
set_secure_protocol_to_tls_1_2
|
||||||
end
|
end
|
||||||
@@ -317,7 +318,7 @@ feature -- SSL Helpers
|
|||||||
set_secure_protocol_to_ssl_2_or_3
|
set_secure_protocol_to_ssl_2_or_3
|
||||||
-- Set `secure_protocol' with `Ssl_23'.
|
-- Set `secure_protocol' with `Ssl_23'.
|
||||||
obsolete
|
obsolete
|
||||||
"Use set_secure_protocol_to_tls_1_2 [2017-06-23]."
|
"Use `set_secure_protocol_to_tls_1_2` [2017-06-23]."
|
||||||
deferred
|
deferred
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,70 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="httpd" uuid="50FE258D-CC94-4748-9223-55F1129E5FB3" library_target="httpd">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="50FE258D-CC94-4748-9223-55F1129E5FB3" message="Obsolete: use httpd.ecf !" location="httpd.ecf">
|
||||||
<target name="httpd">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option warning="true" void_safety="all">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="http_network" location="..\..\network\http_network\http_network-safe.ecf" readonly="false"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="net_ssl" location="$ISE_LIBRARY\unstable\library\network\socket\netssl\net_ssl-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<library name="thread" location="$ISE_LIBRARY\library\thread\thread-safe.ecf">
|
|
||||||
<condition>
|
|
||||||
<concurrency value="thread"/>
|
|
||||||
</condition>
|
|
||||||
</library>
|
|
||||||
<library name="time" location="$ISE_LIBRARY\library\time\time-safe.ecf"/>
|
|
||||||
<cluster name="httpd_server" location=".\" recursive="true">
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/concurrency$</exclude>
|
|
||||||
<exclude>/no_ssl$</exclude>
|
|
||||||
<exclude>/ssl$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<cluster name="no_ssl" location="$|no_ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" excluded_value="true"/>
|
|
||||||
<custom name="httpd_ssl_enabled" excluded_value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="ssl" location="$|ssl\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<custom name="ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="concurrency_none" location="$|concurrency\none\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<concurrency value="none"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="concurrency_scoop" location="$|concurrency\scoop\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<concurrency value="scoop"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
<cluster name="concurrency_thread" location="$|concurrency\thread\" recursive="true">
|
|
||||||
<condition>
|
|
||||||
<concurrency value="thread"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
<target name="httpd_ssl" extends="httpd">
|
|
||||||
<variable name="ssl_enabled" value="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="httpd" uuid="50FE258D-CC94-4748-9223-55F1129E5FB3" library_target="httpd">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="httpd" uuid="50FE258D-CC94-4748-9223-55F1129E5FB3" library_target="httpd">
|
||||||
<target name="httpd">
|
<target name="httpd">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.git$</exclude>
|
<exclude>/\.git$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option warning="true" void_safety="none">
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="http_network" location="..\..\network\http_network\http_network.ecf" readonly="false"/>
|
<library name="http_network" location="..\..\network\http_network\http_network.ecf" readonly="false"/>
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
<library name="net" location="$ISE_LIBRARY\library\net\net.ecf"/>
|
||||||
@@ -17,8 +14,11 @@
|
|||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" value="true"/>
|
<custom name="ssl_enabled" value="true"/>
|
||||||
</condition>
|
</condition>
|
||||||
|
</library>
|
||||||
|
<library name="openssl" location="$ISE_LIBRARY\unstable\library\network\openssl\openssl.ecf">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
<version type="compiler" min="17.10.0.0"/>
|
||||||
|
<custom name="ssl_enabled" value="true"/>
|
||||||
</condition>
|
</condition>
|
||||||
</library>
|
</library>
|
||||||
<library name="thread" location="$ISE_LIBRARY\library\thread\thread.ecf">
|
<library name="thread" location="$ISE_LIBRARY\library\thread\thread.ecf">
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
<cluster name="no_ssl" location="$|no_ssl\" recursive="true">
|
<cluster name="no_ssl" location="$|no_ssl\" recursive="true">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" excluded_value="true"/>
|
<custom name="ssl_enabled" excluded_value="true"/>
|
||||||
<custom name="httpd_ssl_enabled" excluded_value="true"/>
|
|
||||||
</condition>
|
</condition>
|
||||||
</cluster>
|
</cluster>
|
||||||
<cluster name="ssl" location="$|ssl\" recursive="true">
|
<cluster name="ssl" location="$|ssl\" recursive="true">
|
||||||
<condition>
|
<condition>
|
||||||
<custom name="ssl_enabled" value="true"/>
|
<custom name="ssl_enabled" value="true"/>
|
||||||
</condition>
|
</condition>
|
||||||
<condition>
|
|
||||||
<custom name="httpd_ssl_enabled" value="true"/>
|
|
||||||
</condition>
|
|
||||||
</cluster>
|
</cluster>
|
||||||
<cluster name="concurrency_none" location="$|concurrency\none\" recursive="true">
|
<cluster name="concurrency_none" location="$|concurrency\none\" recursive="true">
|
||||||
<condition>
|
<condition>
|
||||||
@@ -64,4 +60,7 @@
|
|||||||
</cluster>
|
</cluster>
|
||||||
</cluster>
|
</cluster>
|
||||||
</target>
|
</target>
|
||||||
|
<target name="httpd_ssl" extends="httpd">
|
||||||
|
<variable name="ssl_enabled" value="true"/>
|
||||||
|
</target>
|
||||||
</system>
|
</system>
|
||||||
|
|||||||
Reference in New Issue
Block a user