README: add security information for older versions
[hmcfgusb] / README.md
index b0ae978ce6489fdde322861338c3ea4b34f8a374..a658d7f7b1360c361221054e7b2e3f3e6b655245 100644 (file)
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ switches, sensors, ...).
 
 This repository contains, amongst others, an application, which emulates the
 HomeMatic LAN configuration adapter-protocol to make it possible to use the
-HM-CFG-USB in [Fhem][] or as a lan configuration tool for the CCU or the
+HM-CFG-USB in [Fhem][] or as a lan configuration tool for the [CCU][] or the
 HomeMatic windows configuration software, also supporting devices using
 AES-signing like [KeyMatic][].
 
@@ -18,16 +18,22 @@ AES-signing like [KeyMatic][].
 [HomeMatic]: http://www.homematic.com/
 [Fhem]: http://fhem.de/
 [KeyMatic]: http://www.elv.de/homematic-funk-tuerschlossantrieb-keymatic-silber-inkl-funk-handsender.html
+[CCU]: http://www.elv.de/homematic-zentrale-ccu-2.html
 
 ### Short hmland HowTo: ###
 
 1.  Install prerequisites:
     `apt-get install libusb-1.0-0-dev build-essential git`
 2.  Get the current version of this software (choose **one** option):
-    *   Get the current version via git (can be easily updated with `git pull`):
+    *   Get the current *release*-version as a .tar.gz:
+        1.  Download the latest version from the [releases-directory][].
+            Version 0.100 is used as an example for the following commands.
+        2.  Extract the archive: `tar xzf hmcfgusb-0.100.tar.gz`
+        3.  Change into the new directory: `cd hmcfgusb-0.100`
+    *   Get the current *development*-version via git (can be easily updated with `git pull`):
         1.  `git clone git://git.zerfleddert.de/hmcfgusb`
         2.  Change into the new directory: `cd hmcfgusb`
-    *   Get the current version as an archive:
+    *   Get the current *development*-version as an archive:
         1.  [hmcfgusb-HEAD-xxxxxxx.tar.gz][] (xxxxxxx is part of the commit-id.
            xxxxxxx is just a placeholder for this HowTo, use your value)
         2.  Extract the archive: `tar xzf hmcfgusb-HEAD-xxxxxxx.tar.gz`
@@ -42,7 +48,29 @@ AES-signing like [KeyMatic][].
     ``define hmusb HMLAN 127.0.0.1:1234``  
     ``attr hmusb hmId <hmId>``
 
+**Important compatibility information:**
+If older Fhem-versions (before 2015-06-19) or [Homegear][] before 2015-07-01
+is used to connect to hmland, the `-I` switch might be needed to
+impersonate a LAN-interface (this replaces the identity string HM-USB-IF with
+HM-LAN-IF). eQ-3 rfd (CCU and configuration software) works without this switch.
+Software which needs this will not keep a stable connection open to
+hmland without this switch. It was the hardcoded default in versions
+< 0.100.
+
+This incompatibility is needed so connecting software is able to
+differentiate between HM-CFG-LAN and HM-CFG-USB.
+
+**Important security information:**
+Versions before 0.101 do not correctly transmit the AES channel-mask
+to the HM-CFG-USB, which results in signature-requests not being generated
+by the device in most cases. This can lead to processing of unsigned messages
+by the host-software. If you are relying on authenticated messages
+(with e.g. aesCommReq in Fhem) from devices like door-sensors and remotes,
+you should upgrade to at least version 0.101.
+
+[releases-directory]: https://git.zerfleddert.de/hmcfgusb/releases/
 [hmcfgusb-HEAD-xxxxxxx.tar.gz]: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/snapshot/HEAD.tar.gz
+[Homegear]: https://www.homegear.eu/
 
 ### Updating the HM-CFG-USB firmware to version 0.967: ###
 
@@ -56,7 +84,7 @@ AES-signing like [KeyMatic][].
 
 [hmusbif.03c7.enc]: https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc
 
-### Updating HomemMatic devices over the air (OTA): ###
+### Updating HomemMatic devices over the air (OTA) (also for CUL devices): ###
 
 1.  Compile the hmcfgusb utilities like in the hmland HowTo above
     (steps 1 to 5) and stay in the directory
@@ -64,8 +92,8 @@ AES-signing like [KeyMatic][].
     firmware version 1.4
 3.  Extract the tgz-file: `tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz`
 4.  Make sure that hmland is not running
-*   When using the **HM-CFG-USB**, flash the new firmware to the device with
-    serial *KEQ0123456*:  
+*   When using the **[HM-CFG-USB(2)][]**, flash the new firmware to the device
+    with serial *KEQ0123456*:  
      `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456`
 *   When using a **[culfw][]**-based device (**[CUL][]/[COC][]/...**), flash
     the new firmware to the device with serial *KEQ0123456*:  
Impressum, Datenschutz