From 770ae0c56686d34c66163d977b509b9c0d19ed5c Mon Sep 17 00:00:00 2001 From: multiOTP Date: Fri, 14 Sep 2018 17:18:45 +0200 Subject: [PATCH] New release 5.4.0.1 FIX: Values of SetUserCacheLevel(), GetUserCacheLevel(), SetUserCacheLifetime() and GetUserCacheLifetime() are not correctly initialized ENH: Enigma Virtual Box updated to version 9.10 (to create the special all-in-one-file) ENH: PHP 7.1.22 used in the one single file (only PHP < 7.2 is still compatible with Windows 7/2008) ENH: Compatibility mode to Windows 7 automatically added for radiusd.exe during radius service installation ENH: PHP display error flag is now set to off by default in the webservice under Windows --- Dockerfile | 6 ++--- README.md | 18 +++++++++----- check.multiotp.class.php | 4 ++-- checkmultiotp.cmd | 4 ++-- contrib/MultiotpYubikey.php | 14 ++++++++--- launcher/ReadMe.txt | 4 ++-- launcher/launcher.cpp | 8 +++---- multiotp.class.php | 30 +++++++++++++---------- multiotp.cli.header.php | 4 ++-- multiotp.cli.proxy.php | 4 ++-- multiotp.php | 48 ++++++++++++++++++++++++------------- multiotp.server.php | 4 ++-- radius_debug.cmd | 4 ++-- radius_install.cmd | 8 +++++-- radius_uninstall.cmd | 4 ++-- webservice_install.cmd | 4 ++-- webservice_uninstall.cmd | 4 ++-- 17 files changed, 105 insertions(+), 67 deletions(-) diff --git a/Dockerfile b/Dockerfile index ad3be71..8841a6f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,8 @@ # Please check http://www.multiOTP.net/ and you will find the magic button ;-) # # @author Andre Liechti, SysCo systemes de communication sa, -# @version 5.3.0.3 -# @date 2018-08-26 +# @version 5.4.0.1 +# @date 2018-09-14 # @since 2013-11-29 # @copyright (c) 2013-2018 by SysCo systemes de communication sa # @copyright GNU Lesser General Public License @@ -39,7 +39,7 @@ MAINTAINER Andre Liechti LABEL Description="multiOTP open source, running on Debian ${DEBIAN} with PHP${PHPVERSION}." \ License="LGPLG-3.0" \ Usage="docker run --mount source=[SOURCE PERSISTENT VOLUME],target=/etc/multiotp -p [HOST WWW PORT NUMBER]:80 -p [HOST SSL PORT NUMBER]:443 -p [HOST RADIUS-AUTH PORT NUMBER]:1812/udp -p [HOST RADIUS-ACCNT PORT NUMBER]:1813/udp -d multiotp-open-source" \ - Version="5.3.0.3" + Version="5.4.0.1" ARG DEBIAN_FRONTEND=noninteractive diff --git a/README.md b/README.md index 87327b3..2c668dc 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ multiOTP open source is OATH certified for HOTP/TOTP (c) 2010-2018 SysCo systemes de communication sa http://www.multiOTP.net/ -Current build: 5.3.0.3 (2018-08-26) +Current build: 5.4.0.1 (2018-09-14) Binary download: https://download.multiotp.net/ (including virtual appliance image) @@ -287,6 +287,12 @@ WHAT'S NEW IN THE RELEASES CHANGE LOG OF RELEASED VERSIONS =============================== ``` +2018-09-14 5.4.0.1 FIX: Values of SetUserCacheLevel(), GetUserCacheLevel(), SetUserCacheLifetime() and GetUserCacheLifetime() + are not correctly initialized + ENH: Enigma Virtual Box updated to version 9.10 (to create the special all-in-one-file) + ENH: PHP 7.1.22 used in the one single file (only PHP < 7.2 is still compatible with Windows 7/2008) + ENH: Compatibility mode to Windows 7 automatically added for radiusd.exe during radius service installation + ENH: PHP display error flag is now set to off by default in the webservice under Windows 2018-08-26 5.3.0.3 FIX: Better without2FA algorithm support FIX: Restore configuration has been fixed in the command line edition ENH: Cache-level and cache-lifetime can be set separately for each user @@ -1635,7 +1641,7 @@ MULTIOTP COMMAND LINE TOOL ========================== ``` -multiOTP 5.3.0.3 (2018-08-26) +multiOTP 5.4.0.1 (2018-09-14) (c) 2010-2018 SysCo systemes de communication sa http://www.multiOTP.net (you can try the [Donate] button ;-) @@ -2097,8 +2103,8 @@ Visit https://forum.multiotp.net/ for additional support ``` ``` -Hash verification for multiotp_5.3.0.3.zip -SHA256:c5d4eddb8de45b18b753f72e6879dd7007b48c2d739db3471e4f3c8ac0d4697b -SHA1:905b804418aa4decd2e4357493aa867248223359 -MD5:338f73d3987660b92fda63b52d45949a +Hash verification for multiotp_5.4.0.1.zip +SHA256:6fda7fe29953149cc5d8d47ee2fa40cdd339f36c117b063e704a56edb4766662 +SHA1:ec866b1cdb66c719538dfe2ef9977d9c98f00aa1 +MD5:1de9c65eba99c41c9de712e3e8b59d3c ``` diff --git a/check.multiotp.class.php b/check.multiotp.class.php index 785ee17..6d0540a 100644 --- a/check.multiotp.class.php +++ b/check.multiotp.class.php @@ -22,8 +22,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2013-07-10 * @copyright (c) 2013-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License diff --git a/checkmultiotp.cmd b/checkmultiotp.cmd index c10844c..0db5573 100644 --- a/checkmultiotp.cmd +++ b/checkmultiotp.cmd @@ -11,8 +11,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2010-07-10 REM @copyright (c) 2010-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License diff --git a/contrib/MultiotpYubikey.php b/contrib/MultiotpYubikey.php index 25e6141..bb82289 100644 --- a/contrib/MultiotpYubikey.php +++ b/contrib/MultiotpYubikey.php @@ -11,8 +11,8 @@ class MultiotpYubikey * @brief Class definition for Yubikey handling. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.1.0.6 - * @date 2018-02-26 + * @version 5.4.0.0 + * @date 2018-09-05 * @since 2014-11-04 * * @@ -24,6 +24,7 @@ class MultiotpYubikey * * Change Log * + * 2018-09-05 5.4.0.0 SysCo/al FIX: infinity_dev Fix UTC issue * 2018-02-26 5.1.0.6 SysCo/al ENH: __construct instead of the name of the class * 2016-03-22 4.3.2.7 SysCo/al ENH: private id support for CheckYubicoOtp method * 2014-11-04 4.3.0.0 SysCo/al Initial implementation of MultiotpYubikey class @@ -326,7 +327,14 @@ function CheckOnYubiCloud($otp_to_check) { sort($yubicloud_response_parameters); if (isset($response['t'])) { - $response['t_utc'] = date_format(date_create(substr($response['t'], 0, -4)), "U"); + $posZ=strrpos($response['t'], 'Z'); + $responseTime = $response['t']; + if ($posZ > 0) + $responseTime = substr($response['t'], 0, $posZ); + $tzbackup = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $response['t_utc'] = date_format(date_create($responseTime), "U"); + date_default_timezone_set($tzbackup); } $parameters_for_hash = ''; diff --git a/launcher/ReadMe.txt b/launcher/ReadMe.txt index da2774e..e3e3c9b 100644 --- a/launcher/ReadMe.txt +++ b/launcher/ReadMe.txt @@ -15,8 +15,8 @@ The multiOTP C++ launcher is simply used to launch PHP and run multiotp.windows.php with the provided arguments. @author Andre Liechti, SysCo systemes de communication sa, -@version 5.3.0.3 -@date 2018-08-26 +@version 5.4.0.1 +@date 2018-09-14 @since 2016-12-08 @copyright (c) 2010-2018 SysCo systemes de communication sa @copyright GNU Lesser General Public License diff --git a/launcher/launcher.cpp b/launcher/launcher.cpp index 75a6969..09941ce 100644 --- a/launcher/launcher.cpp +++ b/launcher/launcher.cpp @@ -14,8 +14,8 @@ * and run multiotp.windows.php with the provided arguments. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2016-12-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License @@ -68,8 +68,8 @@ #include #define SOFTWARE "LAUNCHPHPMULTIOTP" -#define VER_NUMBER "5.3.0.3" -#define VER_DATE "2018-08-26" +#define VER_NUMBER "5.4.0.1" +#define VER_DATE "2018-09-14" int _tmain(int argc, _TCHAR* argv[]) { diff --git a/multiotp.class.php b/multiotp.class.php index 4570f98..9ce3c71 100644 --- a/multiotp.class.php +++ b/multiotp.class.php @@ -70,8 +70,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-06-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License @@ -516,6 +516,12 @@ * * Change Log * + * 2018-09-14 5.4.0.1 SysCo/al FIX: Values of SetUserCacheLevel(), GetUserCacheLevel(), SetUserCacheLifetime() and GetUserCacheLifetime() + * are not correctly initialized + * ENH: Enigma Virtual Box updated to version 9.10 (to create the special all-in-one-file) + * ENH: PHP 7.1.22 used in the one single file (only PHP < 7.2 is still compatible with Windows 7/2008) + * ENH: Compatibility mode to Windows 7 automatically added for radiusd.exe during radius service installation + * ENH: PHP display error flag is now set to off by default in the webservice under Windows * 2018-08-26 5.3.0.3 SysCo/al FIX: Better without2FA algorithm support * FIX: Restore configuration has been fixed in the command line edition * ENH: Cache-level and cache-lifetime can be set separately for each user @@ -833,8 +839,8 @@ class Multiotp * @brief Main class definition of the multiOTP project. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-07-18 */ { @@ -925,8 +931,8 @@ class Multiotp * @retval void * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-07-18 */ function __construct( @@ -945,11 +951,11 @@ function __construct( if (!isset($this->_class)) { $this->_class = base64_decode('bXVsdGlPVFA='); } if (!isset($this->_version)) { - $temp_version = '@version 5.3.0.3'; // You should add a suffix for your changes (for example 5.0.3.2-andy-2016-10-XX) + $temp_version = '@version 5.4.0.1'; // You should add a suffix for your changes (for example 5.0.3.2-andy-2016-10-XX) $this->_version = trim(substr($temp_version, 8)); } if (!isset($this->_date)) { - $temp_date = '@date 2018-08-26'; // You should update the date with the date of your changes + $temp_date = '@date 2018-09-14'; // You should update the date with the date of your changes $this->_date = trim(substr($temp_date, 8)); } if (!isset($this->_copyright)) { $this->_copyright = base64_decode('KGMpIDIwMTAtMjAxOCBTeXNDbyBzeXN0ZW1lcyBkZSBjb21tdW5pY2F0aW9uIHNh'); } @@ -1684,26 +1690,26 @@ function IsMultipleGroupsEnabled() function SetUserCacheLevel( $value ) { - $this->_config_data['cache_level'] = intval($value); + $this->_user_data['cache_level'] = intval($value); } function GetUserCacheLevel() { - return intval($this->_config_data['cache_level']); + return intval($this->_user_data['cache_level']); } function SetUserCacheLifetime( $value ) { - $this->_config_data['cache_lifetime'] = intval($value); + $this->_user_data['cache_lifetime'] = intval($value); } function GetUserCacheLifetime() { - return intval($this->_config_data['cache_lifetime']); + return intval($this->_user_data['cache_lifetime']); } diff --git a/multiotp.cli.header.php b/multiotp.cli.header.php index 47e3476..a02927c 100644 --- a/multiotp.cli.header.php +++ b/multiotp.cli.header.php @@ -35,8 +35,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-06-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License diff --git a/multiotp.cli.proxy.php b/multiotp.cli.proxy.php index 2b174f1..bf41c93 100644 --- a/multiotp.cli.proxy.php +++ b/multiotp.cli.proxy.php @@ -15,8 +15,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-06-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License diff --git a/multiotp.php b/multiotp.php index 47e97b5..adf42ac 100644 --- a/multiotp.php +++ b/multiotp.php @@ -37,8 +37,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-06-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License @@ -646,8 +646,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-06-08 * @copyright (c) 2010-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License @@ -1092,6 +1092,12 @@ * * Change Log * + * 2018-09-14 5.4.0.1 SysCo/al FIX: Values of SetUserCacheLevel(), GetUserCacheLevel(), SetUserCacheLifetime() and GetUserCacheLifetime() + * are not correctly initialized + * ENH: Enigma Virtual Box updated to version 9.10 (to create the special all-in-one-file) + * ENH: PHP 7.1.22 used in the one single file (only PHP < 7.2 is still compatible with Windows 7/2008) + * ENH: Compatibility mode to Windows 7 automatically added for radiusd.exe during radius service installation + * ENH: PHP display error flag is now set to off by default in the webservice under Windows * 2018-08-26 5.3.0.3 SysCo/al FIX: Better without2FA algorithm support * FIX: Restore configuration has been fixed in the command line edition * ENH: Cache-level and cache-lifetime can be set separately for each user @@ -1409,8 +1415,8 @@ class Multiotp * @brief Main class definition of the multiOTP project. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-07-18 */ { @@ -1501,8 +1507,8 @@ class Multiotp * @retval void * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2010-07-18 */ function __construct( @@ -1521,11 +1527,11 @@ function __construct( if (!isset($this->_class)) { $this->_class = base64_decode('bXVsdGlPVFA='); } if (!isset($this->_version)) { - $temp_version = '@version 5.3.0.3'; // You should add a suffix for your changes (for example 5.0.3.2-andy-2016-10-XX) + $temp_version = '@version 5.4.0.1'; // You should add a suffix for your changes (for example 5.0.3.2-andy-2016-10-XX) $this->_version = trim(substr($temp_version, 8)); } if (!isset($this->_date)) { - $temp_date = '@date 2018-08-26'; // You should update the date with the date of your changes + $temp_date = '@date 2018-09-14'; // You should update the date with the date of your changes $this->_date = trim(substr($temp_date, 8)); } if (!isset($this->_copyright)) { $this->_copyright = base64_decode('KGMpIDIwMTAtMjAxOCBTeXNDbyBzeXN0ZW1lcyBkZSBjb21tdW5pY2F0aW9uIHNh'); } @@ -2260,26 +2266,26 @@ function IsMultipleGroupsEnabled() function SetUserCacheLevel( $value ) { - $this->_config_data['cache_level'] = intval($value); + $this->_user_data['cache_level'] = intval($value); } function GetUserCacheLevel() { - return intval($this->_config_data['cache_level']); + return intval($this->_user_data['cache_level']); } function SetUserCacheLifetime( $value ) { - $this->_config_data['cache_lifetime'] = intval($value); + $this->_user_data['cache_lifetime'] = intval($value); } function GetUserCacheLifetime() { - return intval($this->_config_data['cache_lifetime']); + return intval($this->_user_data['cache_lifetime']); } @@ -25699,8 +25705,8 @@ class MultiotpYubikey * @brief Class definition for Yubikey handling. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.1.0.6 - * @date 2018-02-26 + * @version 5.4.0.0 + * @date 2018-09-05 * @since 2014-11-04 * * @@ -25712,6 +25718,7 @@ class MultiotpYubikey * * Change Log * + * 2018-09-05 5.4.0.0 SysCo/al FIX: infinity_dev Fix UTC issue * 2018-02-26 5.1.0.6 SysCo/al ENH: __construct instead of the name of the class * 2016-03-22 4.3.2.7 SysCo/al ENH: private id support for CheckYubicoOtp method * 2014-11-04 4.3.0.0 SysCo/al Initial implementation of MultiotpYubikey class @@ -26014,7 +26021,14 @@ function CheckOnYubiCloud($otp_to_check) { sort($yubicloud_response_parameters); if (isset($response['t'])) { - $response['t_utc'] = date_format(date_create(substr($response['t'], 0, -4)), "U"); + $posZ=strrpos($response['t'], 'Z'); + $responseTime = $response['t']; + if ($posZ > 0) + $responseTime = substr($response['t'], 0, $posZ); + $tzbackup = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $response['t_utc'] = date_format(date_create($responseTime), "U"); + date_default_timezone_set($tzbackup); } $parameters_for_hash = ''; diff --git a/multiotp.server.php b/multiotp.server.php index a668a76..8871106 100644 --- a/multiotp.server.php +++ b/multiotp.server.php @@ -27,8 +27,8 @@ * PHP 5.3.0 or higher is supported. * * @author Andre Liechti, SysCo systemes de communication sa, - * @version 5.3.0.3 - * @date 2018-08-26 + * @version 5.4.0.1 + * @date 2018-09-14 * @since 2013-08-06 * @copyright (c) 2013-2018 SysCo systemes de communication sa * @copyright GNU Lesser General Public License diff --git a/radius_debug.cmd b/radius_debug.cmd index 7c6c875..d95004a 100644 --- a/radius_debug.cmd +++ b/radius_debug.cmd @@ -9,8 +9,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2014-04-22 REM @copyright (c) 2014-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License diff --git a/radius_install.cmd b/radius_install.cmd index 4c44069..eec320a 100644 --- a/radius_install.cmd +++ b/radius_install.cmd @@ -9,8 +9,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2013-08-20 REM @copyright (c) 2013-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License @@ -47,6 +47,7 @@ REM REM REM Change Log REM +REM 2018-09-14 5.4.0.1 SysCo/al Compatibility mode to Windows 7 automatically added for radiusd.exe REM 2017-05-29 5.0.4.5 SysCo/al Unified script with some bug fixes REM Alternate authentication executable support REM 2016-11-04 5.0.2.7 SysCo/al Unified file header @@ -139,6 +140,9 @@ REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\%_service_tag%\Parameters" /f /v REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\%_service_tag%\Parameters" /f /v AppParameters /t REG_SZ /d "-X -d %_radius_folder%radius\etc\raddb" >NUL REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\%_service_tag%\Parameters" /f /v AppDirectory /t REG_SZ /d "%_radius_folder%radius\sbin" >NUL +REM Define the compatibility mode to Windows 7 for radiusd +REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /f /v "%_radius_folder%radius\sbin\radiusd.exe" /t REG_SZ /d "WIN7RTM" >NUL + REM Basic firewall rules for the service netsh firewall delete allowedprogram "%_radius_folder%radius\sbin\radiusd.exe" >NUL netsh firewall add allowedprogram "%_radius_folder%radius\sbin\radiusd.exe" "%_service_name%" ENABLE >NUL diff --git a/radius_uninstall.cmd b/radius_uninstall.cmd index 50fc7e8..9d07dab 100644 --- a/radius_uninstall.cmd +++ b/radius_uninstall.cmd @@ -9,8 +9,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2013-08-20 REM @copyright (c) 2013-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License diff --git a/webservice_install.cmd b/webservice_install.cmd index 0377e55..41944cc 100644 --- a/webservice_install.cmd +++ b/webservice_install.cmd @@ -9,8 +9,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2013-08-09 REM @copyright (c) 2013-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License diff --git a/webservice_uninstall.cmd b/webservice_uninstall.cmd index 960c7ce..935484a 100644 --- a/webservice_uninstall.cmd +++ b/webservice_uninstall.cmd @@ -9,8 +9,8 @@ REM REM Windows batch file for Windows 2K/XP/2003/7/2008/8/2012/10 REM REM @author Andre Liechti, SysCo systemes de communication sa, -REM @version 5.3.0.3 -REM @date 2018-08-26 +REM @version 5.4.0.1 +REM @date 2018-09-14 REM @since 2013-08-09 REM @copyright (c) 2013-2018 SysCo systemes de communication sa REM @copyright GNU Lesser General Public License