daily pastebin goal
61%
SHARE
TWEET

Untitled

a guest Sep 23rd, 2018 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff -ur freetz/CHANGELOG FHEM/CHANGELOG
  2. --- freetz/CHANGELOG    2018-09-21 06:38:47.481016162 +0200
  3. +++ FHEM/CHANGELOG  2018-09-21 06:29:44.493658162 +0200
  4. @@ -1,4 +1,4 @@
  5. -$Id: CHANGELOG 14874 2018-09-20 22:10:08Z er13 $
  6. +$Id$
  7.  
  8.  Latest changes:
  9.  
  10. @@ -36,6 +36,7 @@
  11.  - New patches (read online help for more info):
  12.  
  13.  - New packages, libs, modules:
  14. +    * argp-standalone 1.3
  15.      * asterisk 11.25.3
  16.      * asterisk-chan-capi post-1.1.6 with asterisk11 adjustments by Mihai Moldovan
  17.      * asterisk-chan-dongle 1.1-git (asterisk11 branch)
  18. @@ -48,39 +49,57 @@
  19.      * bvi 1.4.0
  20.      * cntlm 0.93beta5
  21.      * decrypt FRITZ!OS configs v0.2 (renamed version of PeterPawn's script decode_passwords)
  22. +    * dovecot 2.3.2.1
  23. +    * EIBD BCUSDK 0.0.5
  24.      * ISC dhcp 4.3.6-P1
  25.      * E-MailRelay 1.9
  26.      * getdns 1.4.2
  27.      * gptfdisk 1.0.1
  28. +    * gzip 1.6
  29.      * iksemel 1.5-git
  30.      * iperf 3.6
  31.      * jansson 2.7
  32.      * jq 1.5
  33. +    * letsencrypt (certbot script) 1.0
  34.      * libavmacl2 (taken from AVM's 7490.06.30 open-source package)
  35.      * libcap 2.24
  36.      * libgsm-1.0.13
  37. +    * libmcrypt 2.5.8
  38.      * libmnl 1.0.4
  39.      * libnettle 3.4
  40.      * liblz4 1.8.2
  41.      * libonig 6.7.1
  42. +    * libpthsem 2.0.8
  43.      * libsrtp-1.4.4+20100615
  44.      * libssh2 1.8.0
  45.      * libusb-compat 0.1.5
  46. +    * Linknx 0.0.1.30
  47.      * lzma1 4.65
  48. -    * mbed TLS 2.7.6
  49. +    * mbed TLS 2.7.5
  50.      * nzbget 14.1
  51.      * PJProject 2.2.1
  52.      * Fritz!Box private key password framework v0.7-git (by PeterPawn)
  53.      * python-cheetah 2.4.4
  54. +    * python-configobj 5.0.6
  55. +    * python-googlechart 0.3.0
  56. +    * python-lxml 3.4.0
  57.      * python-mechanize 0.2.5
  58. +    * python-six 1.8.0
  59. +    * python-usb 1.0.0b2
  60. +    * python-yaml 3.11
  61.      * python-yEnc 0.4.0
  62. +    * roundcubemail 1.0.9
  63.      * serf 1.3.9
  64.      * ScanButton 0.2.3.cvs20090713
  65.      * speex 1.2rc1
  66.      * spandsp 0.0.6pre21
  67.      * squashfs-tools 3.4
  68.      * squashfs-tools 4.3 (modified to support AVM-BE format)
  69. +    * tar 1.28
  70. +    * tar-cgi 0.1 (backup cgi)
  71. +    * wfrog 0.8.2+svn953
  72.      * WireGuard 0.0.20180809
  73. +    * ws28xx master
  74.      * xz 5.2.4
  75.  
  76.  - Updated tools and hooks:
  77. diff -ur freetz/config/avm/availability.in FHEM/config/avm/availability.in
  78. --- freetz/config/avm/availability.in   2018-09-21 06:39:08.315428162 +0200
  79. +++ FHEM/config/avm/availability.in 2018-09-21 06:29:44.537680162 +0200
  80. @@ -220,7 +220,6 @@
  81.         )) \
  82.         || \
  83.         ( FREETZ_TYPE_LANG_EN && ( \
  84. -           FREETZ_TYPE_7490 || \
  85.             FREETZ_TYPE_7560 || \
  86.             FREETZ_TYPE_7590 \
  87.         ))
  88. diff -ur freetz/config/mod/download.in FHEM/config/mod/download.in
  89. --- freetz/config/mod/download.in   2018-09-21 06:39:08.283412162 +0200
  90. +++ FHEM/config/mod/download.in 2018-09-21 06:29:44.541682161 +0200
  91. @@ -348,7 +348,6 @@
  92.         default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}"                   if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  93.         default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}"                   if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  94.         default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}"                   if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  95. -       default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}"                   if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  96.  #      default "@AVM/fileadmin/user_upload/DE/Labor/Download,@AVM/beta,@AVM/beta/frisch-aus-der-entwicklung"              if FREETZ_TYPE_FIRMWARE_LABOR && FREETZ_TYPE_7490
  97.         #
  98.         default "@AVM/{fritzbox-7560/deutschland/fritz.os,fritzbox.7560/firmware/deutsch},@1&1/7560"                       if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  99. @@ -570,7 +569,6 @@
  100.         default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.31.image"              if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  101.         default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.53.image"              if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  102.         default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.84.image"              if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  103. -       default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.07.01.image"              if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  104.         #
  105.         default "FRITZ.Box_7560.149.06.53.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  106.         default "FRITZ.Box_7560.149.06.83.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  107. @@ -584,7 +582,7 @@
  108.         default "FRITZ.Box_7580.153.06.54.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  109.         default "FRITZ.Box_7580.153.06.83.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  110.         default "FRITZ.Box_7580.153.06.92.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  111. -       default "FRITZ.Box_7580.153.07.01.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  112. +       default "FRITZ.Box_7580.153.07.00.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  113.         #
  114.         default "FRITZ.Box_7590.154.06.86.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  115.         default "FRITZ.Box_7590.154.06.92.image"                                if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  116. @@ -788,7 +786,6 @@
  117.         default "f7cf6f0bf972e7026133d088dad4d86b"  if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  118.         default "2f05f8a6f4ee3d676068228315c4477a"  if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  119.         default "3245344121f23077764e51099fd7111b"  if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  120. -       default "a5241911ab7b612e4e28a58b68b4d26a"  if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  121.         #
  122.         default "d971ac5a27864b3284ddbd38d4efbaef"  if FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  123.         default "f1698e218e20cce40d109ef1937592ce"  if FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  124. @@ -802,7 +799,7 @@
  125.         default "f9c0f0284f0b8c1024e43d2f1c1ee1a2"  if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  126.         default "4301434de4fc74fd6485e936ce4b9c1c"  if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  127.         default "3737b57f0efc04ac5607c8a45593bbe8"  if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  128. -       default "3997991bce1333f3faa83fe2191ebf82"  if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  129. +       default "222099705f0c9c6a03e7b251d73badcc"  if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  130.         #
  131.         default "d4aaca6e08639b532489415bb719b3b2"  if FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  132.         default "e7a940dd13debd5531cefef1b68d4cce"  if FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  133. diff -ur freetz/FIRMWARES FHEM/FIRMWARES
  134. --- freetz/FIRMWARES    2018-09-21 06:39:05.690116162 +0200
  135. +++ FHEM/FIRMWARES  2018-09-21 06:29:44.493658162 +0200
  136. @@ -1,4 +1,4 @@
  137. -$Id: FIRMWARES 14873 2018-09-20 21:52:09Z er13 $
  138. +$Id$
  139.  
  140.  Currently supported boxes and firmwares
  141.  =======================================
  142. @@ -237,7 +237,6 @@
  143.     * 113.06.31 rev32500 (International, Belgian release)
  144.     * 113.06.53 rev38152 (International, Belgian release)
  145.     * 113.06.84 rev48533 (International)
  146. -   * 113.07.01 rev61484 (International)
  147.  
  148.  ====== Fritz!Box Fon WLAN (75xx) ======
  149.  
  150. @@ -256,7 +255,7 @@
  151.     * 153.06.54 rev41655
  152.     * 153.06.83 rev44004
  153.     * 153.06.92 rev47571
  154. -   * 153.07.01 rev61517
  155. +   * 153.07.00 rev59665
  156.  
  157.  * Fritz!Box Fon WLAN 7590
  158.     * 154.06.86 rev45533
  159. Nur in FHEM/: .git.
  160. Nur in FHEM/include: .gitignore.
  161. diff -ur freetz/make/apache2/apache2.mk FHEM/make/apache2/apache2.mk
  162. --- freetz/make/apache2/apache2.mk  2018-09-21 06:40:04.063288162 +0200
  163. +++ FHEM/make/apache2/apache2.mk    2018-09-21 06:29:44.549686162 +0200
  164. @@ -2,24 +2,78 @@
  165.  $(PKG)_SOURCE:=httpd-$($(PKG)_VERSION).tar.bz2
  166.  $(PKG)_SOURCE_SHA1:=94d6e274273903ed153479c7701fa03761abf93d
  167.  $(PKG)_SITE:=@APACHE/httpd
  168. +# if ssl is configured, then it will be somehow picked up by apache2 configure, therefore enable it anyway
  169. +$(PKG)_WITH_SSL:=
  170. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL)),y)
  171. +$(PKG)_WITH_SSL:=y
  172. +endif
  173. +ifeq ($(strip $(FREETZ_LIB_libssl)),y)
  174. +$(PKG)_WITH_SSL:=y
  175. +endif
  176. +
  177. +$(PKG)_CONDITIONAL_PATCHES+=$(FREETZ_PACKAGE_APACHE2_MPM)
  178. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SMALL)),y)
  179. +$(PKG)_CONDITIONAL_PATCHES+=small
  180. +endif
  181. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_WITH_MYCONFIG)),y)
  182. +$(PKG)_CONDITIONAL_PATCHES+=myconfig
  183. +endif
  184. +ifeq ($(strip $(FREETZ_PACKAGE_ROUNDCUBEMAIL)),y)
  185. +$(PKG)_CONDITIONAL_PATCHES+=roundcubemail
  186. +endif
  187. +ifeq ($(strip $(FREETZ_PACKAGE_LINKNX)),y)
  188. +$(PKG)_CONDITIONAL_PATCHES+=linknx
  189. +endif
  190. +ifeq ($(strip $(FREETZ_PACKAGE_WFROG)),y)
  191. +$(PKG)_CONDITIONAL_PATCHES+=wfrog
  192. +endif
  193. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  194. +$(PKG)_CONDITIONAL_PATCHES+=ssl
  195. +endif
  196. +ifeq ($(strip $(FREETZ_PACKAGE_FHEM)),y)
  197. +$(PKG)_CONDITIONAL_PATCHES+=fhem
  198. +endif
  199. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_PROXY)),y)
  200. +$(PKG)_CONDITIONAL_PATCHES+=proxy
  201. +endif
  202. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT)),y)
  203. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's/www.example.com/$(shell echo $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME) | tr -d "")/' $(abspath $($(PKG)_DIR))/docs/conf/extra/httpd-ssl.conf.in;
  204. +endif
  205. +
  206. +# patch PidFile to /var/run/apache2/httpd.pid
  207. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's~@rel_runtimedir@~/var/run/apache2~g' $(abspath $($(PKG)_DIR))/docs/conf/extra/httpd-mpm.conf.in;
  208. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's~@rel_runtimedir@~/var/run/apache2~g' $(abspath $($(PKG)_DIR))/include/ap_config_layout.h.in;
  209.  
  210.  $(PKG)_BINARY:=$($(PKG)_DIR)/$(pkg)
  211.  $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/$(pkg)
  212. +$(PKG)_TAR_CONFIG := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/default_config/default_config.tar
  213. +$(PKG)_TAR_HTDOC  := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/default_htdoc/default_htdoc.tar
  214.  
  215.  $(PKG)_APXS_SCRIPT:=$($(PKG)_DIR)/support/apxs
  216.  $(PKG)_APXS_SCRIPT_STAGING_DIR:=$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs
  217.  
  218. +$(PKG)_HTPW_BINARY:=$($(PKG)_DIR)/support/htpasswd
  219. +$(PKG)_HTPW_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/htpasswd
  220. +
  221. +$(PKG)_CERT_KEY_TARGET   := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server.key
  222. +$(PKG)_CERT_CRT_TARGET   := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server.crt
  223. +$(PKG)_CERT_CHAIN_TARGET := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server-ca.crt
  224. +$(PKG)_CERT_CSR          := $($(PKG)_DIR)/server.csr
  225. +
  226.  $(PKG)_DEPENDS_ON += apr apr-util pcre
  227.  ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_DEFLATE)),y)
  228.  $(PKG)_DEPENDS_ON += zlib
  229.  endif
  230. -ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL)),y)
  231. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  232.  $(PKG)_REBUILD_SUBOPTS += FREETZ_OPENSSL_SHLIB_VERSION
  233.  $(PKG)_DEPENDS_ON += openssl
  234.  endif
  235.  ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_LIBXML)),y)
  236.  $(PKG)_DEPENDS_ON += libxml2
  237.  endif
  238. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT)),y)
  239. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's/www\.example\.com/$(shell echo $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME) | tr -d "" | sed s~\\\.~\\\\\\.~g)/' docs/conf/extra/httpd-ssl.conf.in;
  240. +endif
  241.  
  242.  $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_APACHE2_DEFLATE
  243.  $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_APACHE2_SSL
  244. @@ -32,7 +86,7 @@
  245.  $(PKG)_CONFIGURE_OPTIONS += --with-apr="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apr-1-config"
  246.  $(PKG)_CONFIGURE_OPTIONS += --with-apr-util="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apu-1-config"
  247.  $(PKG)_CONFIGURE_OPTIONS += --with-pcre="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/pcre-config"
  248. -$(PKG)_CONFIGURE_OPTIONS += --with-ssl=$(if $(FREETZ_PACKAGE_APACHE2_SSL),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  249. +$(PKG)_CONFIGURE_OPTIONS += --with-ssl=$(if $(APACHE2_WITH_SSL),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  250.  $(PKG)_CONFIGURE_OPTIONS += --with-z=$(if $(FREETZ_PACKAGE_APACHE2_DEFLATE),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  251.  
  252.  $(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_MAKE_AC_VARIABLES_PACKAGE_SPECIFIC,libxml2)
  253. @@ -41,10 +95,10 @@
  254.  $(PKG)_LIBEXECDIR := /usr/lib/$(pkg)
  255.  $(PKG)_CONFIGURE_OPTIONS += --with-program-name=$(pkg)
  256.  $(PKG)_CONFIGURE_OPTIONS += --with-suexec-bin=/usr/sbin/suexec2
  257. -$(PKG)_CONFIGURE_OPTIONS += --sysconfdir=/etc/$(pkg)
  258. +$(PKG)_CONFIGURE_OPTIONS += --sysconfdir=/mod/etc/$(pkg)
  259.  $(PKG)_CONFIGURE_OPTIONS += --includedir=/usr/include/$(pkg)
  260.  $(PKG)_CONFIGURE_OPTIONS += --libexecdir=$($(PKG)_LIBEXECDIR)
  261. -$(PKG)_CONFIGURE_OPTIONS += --datadir=/usr/share/$(pkg)
  262. +$(PKG)_CONFIGURE_OPTIONS += --datadir=/mod/usr/share/$(pkg)
  263.  $(PKG)_CONFIGURE_OPTIONS += --localstatedir=/var/$(pkg)
  264.  
  265.  $(PKG)_CONFIGURE_OPTIONS += --enable-substitute
  266. @@ -53,7 +107,8 @@
  267.  $(PKG)_CONFIGURE_OPTIONS += --enable-headers
  268.  $(PKG)_CONFIGURE_OPTIONS += --enable-unique-id
  269.  $(PKG)_CONFIGURE_OPTIONS += --enable-proxy
  270. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_SSL),--enable-ssl,--disable-ssl)
  271. +$(PKG)_CONFIGURE_OPTIONS += $(if $(APACHE2_WITH_SSL),--enable-ssl,--disable-ssl)
  272. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_MPM_PREFORK),--with-mpm=prefork,--with-mpm=worker)
  273.  $(PKG)_CONFIGURE_OPTIONS += --enable-dav
  274.  $(PKG)_CONFIGURE_OPTIONS += --enable-dav-fs
  275.  $(PKG)_CONFIGURE_OPTIONS += --enable-suexec
  276. @@ -63,6 +118,10 @@
  277.  $(PKG)_CONFIGURE_OPTIONS += --disable-lua
  278.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_LIBXML),--enable-xml2enc --enable-proxy-html,--disable-xml2enc --disable-proxy-html)
  279.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_COMPILEINMODS),--enable-mods-static=all --disable-so,--enable-mods-shared=all --enable-so)
  280. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  281. +$(PKG)_CONFIGURE_OPTIONS += --with-sslport=$(if $(FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT),$(FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT),443)
  282. +endif
  283. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_PROXY), --enable-proxy-http,)
  284.  
  285.  $(PKG_SOURCE_DOWNLOAD)
  286.  $(PKG_UNPACKED)
  287. @@ -80,35 +139,65 @@
  288.         DESTDIR="$(FREETZ_BASE_DIR)/$(APACHE2_DEST_DIR)"
  289.  # remove unneeded files
  290.     $(RM) -r \
  291. -       $(APACHE2_DEST_DIR)/etc/apache2/original \
  292. +       $(APACHE2_DEST_DIR)/mod/etc/apache2/original \
  293.         $(APACHE2_DEST_DIR)/usr/{bin,include,sbin/envvars-std,share/man} \
  294. -       $(APACHE2_DEST_DIR)/usr/share/apache2/{build,cgi-bin/*,error/README*,icons/README*,icons/*.gif,icons/*/*.gif,manual} \
  295. +       $(APACHE2_DEST_DIR)/mod/usr/share/apache2/{build,cgi-bin/*,error/README*,icons/README*,icons/*.gif,icons/*/*.gif,manual} \
  296.         $(APACHE2_DEST_DIR)/var
  297.  # strip binaries & modules
  298.     -$(TARGET_STRIP) $(APACHE2_DEST_DIR)/usr/sbin/* $(APACHE2_DEST_DIR)/usr/lib/apache2/*.so
  299.  # rename suexec to suexec2 manually, apache ignores --with-suexec-bin option
  300.     mv $(APACHE2_DEST_DIR)/usr/sbin/suexec $(APACHE2_DEST_DIR)/usr/sbin/suexec2
  301.  
  302. +$($(PKG)_HTPW_TARGET_BINARY): $($(PKG)_TARGET_BINARY)
  303. +   cp $(APACHE2_HTPW_BINARY) $@
  304. +   -$(TARGET_STRIP) $@
  305. +
  306. +$($(PKG)_CERT_CRT_TARGET): $($(PKG)_CERT_KEY_TARGET) $($(PKG)_CERT_CSR)
  307. +   openssl x509 -req -in $(APACHE2_CERT_CSR) -out $@ -signkey $< -days 1001
  308. +
  309. +$($(PKG)_CERT_KEY_TARGET) $($(PKG)_CERT_CSR):
  310. +   mkdir -p $(dir $@)
  311. +   mkdir -p $(dir $(APACHE2_CERT_CSR))
  312. +   openssl req -nodes -newkey rsa:2048 -keyout $(APACHE2_CERT_KEY_TARGET) -out $(APACHE2_CERT_CSR) -subj "/CN=$(strip $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME))" && \
  313. +   chmod 600 $(APACHE2_CERT_KEY_TARGET)
  314. +
  315. +$($(PKG)_CERT_CHAIN_TARGET): $($(PKG)_CERT_CRT_TARGET)
  316. +   mkdir -p $(dir $@)
  317. +   openssl x509 -inform PEM -in $(APACHE2_CERT_CRT_TARGET) -out $@
  318. +
  319.  $($(PKG)_APXS_SCRIPT_STAGING_DIR): $($(PKG)_APXS_SCRIPT)
  320.     $(SUBMAKE1) -C $(APACHE2_DIR) \
  321.         install-include install-build \
  322.         DESTDIR="$(TARGET_TOOLCHAIN_STAGING_DIR)"
  323.     $(SED) -i -r -e 's,^(includedir[ \t]*=[ \t]*)(.*),\1$(TARGET_TOOLCHAIN_STAGING_DIR)\2,' \
  324. -       $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2/build/config_vars.mk
  325. +       $(TARGET_TOOLCHAIN_STAGING_DIR)/mod/usr/share/apache2/build/config_vars.mk
  326.     $(INSTALL_FILE)
  327.     chmod 755 $@
  328.     $(SED) -i -r -e 's,my \$$STAGING_DIR = "";,my \$$STAGING_DIR = "$(TARGET_TOOLCHAIN_STAGING_DIR)";,' $@
  329.  
  330. +$($(PKG)_TAR_CONFIG): $($(PKG)_TARGET_BINARY) $($(PKG)_DIR)/docs/conf
  331. +   mkdir -p $(dir $@)
  332. +   tar -C $(APACHE2_DEST_DIR)/mod/etc/apache2 -cf $@ .
  333. +   $(RM) -r $(APACHE2_DEST_DIR)/mod/etc
  334. +   [ ! -d $(APACHE2_DEST_DIR)/mod/usr ] && $(RM) -r $(APACHE2_DEST_DIR)/mod ||:
  335. +
  336. +$($(PKG)_TAR_HTDOC): $($(PKG)_TARGET_BINARY)
  337. +   mkdir -p $(dir $@)
  338. +   tar -C $(APACHE2_DEST_DIR)/mod/usr/share/apache2 -cf $@ .
  339. +   $(RM) -r $(APACHE2_DEST_DIR)/mod/usr
  340. +   [ ! -d $(APACHE2_DEST_DIR)/mod/etc ] && $(RM) -r $(APACHE2_DEST_DIR)/mod ||:
  341. +
  342.  $(pkg):
  343.  
  344. -$(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $($(PKG)_APXS_SCRIPT_STAGING_DIR)
  345. +$(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $($(PKG)_APXS_SCRIPT_STAGING_DIR) $($(PKG)_TAR_CONFIG) $($(PKG)_TAR_HTDOC) $($(PKG)_HTPW_TARGET_BINARY) $(if $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT),$($(PKG)_CERT_CHAIN_TARGET),)
  346.  
  347.  $(pkg)-clean:
  348.     -$(SUBMAKE) -C $(APACHE2_DIR) clean
  349.     $(RM) -r \
  350.         $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs \
  351.         $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include/apache2 \
  352. -       $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2
  353. +       $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2 \
  354. +       $(APACHE2_CERT_CSR)
  355.  
  356.  $(pkg)-uninstall:
  357.     $(RM) -r $(APACHE2_DEST_DIR)
  358. diff -ur freetz/make/apache2/Config.in FHEM/make/apache2/Config.in
  359. --- freetz/make/apache2/Config.in   2018-09-21 06:40:03.995254162 +0200
  360. +++ FHEM/make/apache2/Config.in 2018-09-21 06:29:44.549686162 +0200
  361. @@ -13,6 +13,10 @@
  362.     select FREETZ_OPENSSL_VERSION_PROMPT if FREETZ_PACKAGE_APACHE2_STATIC && FREETZ_PACKAGE_APACHE2_SSL
  363.     select FREETZ_LIB_libxml2         if ! FREETZ_PACKAGE_APACHE2_STATIC && FREETZ_PACKAGE_APACHE2_LIBXML
  364.     select FREETZ_LIB_libxml2_WITH_HTML if FREETZ_PACKAGE_APACHE2_LIBXML
  365. +   select FREETZ_PACKAGE_PHP_WITH_APACHE2     if FREETZ_PACKAGE_APACHE2_PHP_MOD
  366. +   select FREETZ_PACKAGE_APACHE2_MPM_PREFORK  if FREETZ_PACKAGE_APACHE2_PHP_MOD
  367. +   select FREETZ_PACKAGE_APACHE2_MPM_WORKER   if ! FREETZ_PACKAGE_APACHE2_PHP_MOD
  368. +   select FREETZ_PACKAGE_APACHE2_LIBXML       if FREETZ_PACKAGE_APACHE2_PROXY
  369.     default n
  370.     help
  371.         The Apache httpd server
  372. @@ -24,6 +28,56 @@
  373.     help
  374.         Enables the deflate compression. Requires libz.
  375.  
  376. +config FREETZ_PACKAGE_APACHE2_PHP_MOD
  377. +   bool "Enable PHP Module"
  378. +   depends on FREETZ_PACKAGE_APACHE2
  379. +   default n
  380. +   help
  381. +       Enables the PHP module. Requires php5 module.
  382. +
  383. +choice
  384. +depends on FREETZ_PACKAGE_APACHE2_PHP_MOD
  385. +   prompt "config_mpm"
  386. +   default FREETZ_PACKAGE_APACHE2_MPM_PREFORK if FREETZ_PACKAGE_APACHE2_PHP_MOD
  387. +   default FREETZ_PACKAGE_APACHE2_MPM_WORKER
  388. +
  389. +   config FREETZ_PACKAGE_APACHE2_MPM_PREFORK
  390. +       bool "Prefork"
  391. +#
  392. +#  config FREETZ_PACKAGE_APACHE2_MPM_WORKER
  393. +#      bool "Worker"
  394. +endchoice
  395. +
  396. +config FREETZ_PACKAGE_APACHE2_MPM
  397. +   depends on FREETZ_PACKAGE_APACHE2
  398. +   string
  399. +   default "prefork" if FREETZ_PACKAGE_APACHE2_MPM_PREFORK
  400. +   default "worker"  if FREETZ_PACKAGE_APACHE2_MPM_WORKER
  401. +
  402. +config FREETZ_PACKAGE_APACHE2_SMALL
  403. +   bool "Enable configuration with small memory foot print"
  404. +   depends on FREETZ_PACKAGE_APACHE2
  405. +   default y
  406. +   help
  407. +       Changes number of threads and workers in mpm configuration file.
  408. +
  409. +config FREETZ_PACKAGE_APACHE2_PROXY
  410. +   bool "Enable configuration as freetz proxy"
  411. +   depends on FREETZ_PACKAGE_APACHE2
  412. +   select FREETZ_PACKAGE_APACHE2_LIBXML
  413. +   default n
  414. +   help
  415. +       Adds configuration in order that apache works as freetz proxy.
  416. +
  417. +config FREETZ_PACKAGE_APACHE2_WITH_MYCONFIG
  418. +   bool "Enable additional configuration accessable via web interface"
  419. +   depends on FREETZ_PACKAGE_APACHE2
  420. +   default n
  421. +   help
  422. +       Provides additional configuration file, which is accessible via
  423. +       freetz web interface to override external access rights and
  424. +       other configuration itmes.
  425. +
  426.  config FREETZ_PACKAGE_APACHE2_SSL
  427.     bool "Enable SSL"
  428.     depends on FREETZ_PACKAGE_APACHE2
  429. @@ -31,6 +85,27 @@
  430.     help
  431.         Enables the SSL module. Requires openssl.
  432.  
  433. +   config FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT
  434. +       depends on FREETZ_PACKAGE_APACHE2_SSL
  435. +       bool "Create self signed certificate"
  436. +       default n
  437. +       help
  438. +           Creates self signed certificate. Needs the domain name of
  439. +           of the web server to be entered.
  440. +
  441. +       config FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME
  442. +           depends on FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT
  443. +           string "enter domain name"
  444. +           default "fritz.box"
  445. +
  446. +   config FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT
  447. +       depends on FREETZ_PACKAGE_APACHE2_SSL
  448. +       string "enter ssl port"
  449. +       default "443"
  450. +       help
  451. +           Change ssl port to different port,
  452. +           might be changed in conjunction with SSLH package.
  453. +
  454.  config FREETZ_PACKAGE_APACHE2_LIBXML
  455.     bool "Enable libxml dependent modules"
  456.     depends on FREETZ_PACKAGE_APACHE2
  457. Nur in FHEM/make/apache2: external.services.
  458. Nur in FHEM/make/apache2: files.
  459. Nur in FHEM/make/apache2/patches: 203-adapt-config-to-freetz-environment.patch.
  460. Nur in FHEM/make/apache2/patches: 208-add-logout-access-rules.patch.
  461. Nur in FHEM/make/apache2/patches: 300-restrict-htdocs-root-access.patch.
  462. Nur in FHEM/make/apache2/patches: fhem.
  463. Nur in FHEM/make/apache2/patches: linknx.
  464. Nur in FHEM/make/apache2/patches: myconfig.
  465. Nur in FHEM/make/apache2/patches: prefork.
  466. Nur in FHEM/make/apache2/patches: proxy.
  467. Nur in FHEM/make/apache2/patches: roundcubemail.
  468. Nur in FHEM/make/apache2/patches: small.
  469. Nur in FHEM/make/apache2/patches: ssl.
  470. Nur in FHEM/make/apache2/patches: wfrog.
  471. Nur in FHEM/make: certbot-cgi.
  472. Nur in freetz/make/debootstrap: patches.
  473. Nur in FHEM/make: dev-tools.
  474. Nur in FHEM/make: dev-tools-autoconf.
  475. Nur in FHEM/make: dev-tools-automake.
  476. Nur in FHEM/make: dev-tools-bison.
  477. Nur in FHEM/make: dev-tools-flex.
  478. Nur in FHEM/make: dev-tools-m4.
  479. Nur in FHEM/make/dnsmasq/patches: 030-allow-acme-challenge-response-for-certbot.patch.
  480. Nur in FHEM/make: dovecot.
  481. diff -ur freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg
  482. --- freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg   2018-09-21 06:40:13.087798162 +0200
  483. +++ FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg 2018-09-21 06:29:45.089956162 +0200
  484. @@ -3,3 +3,5 @@
  485.  export DROPBEAR_PORT='22'
  486.  export DROPBEAR_PWDAUTH='yes'
  487.  export DROPBEAR_ROOTONLY='yes'
  488. +export DROPBEAR_LOGINONLYASUSER=''
  489. +export DROPBEAR_LOGINONLYUSERID=''
  490. diff -ur freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd
  491. --- freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd 2018-09-21 06:40:13.131820162 +0200
  492. +++ FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd   2018-09-21 06:29:45.093958162 +0200
  493. @@ -7,4 +7,4 @@
  494.  inetdcfg_user=root
  495.  inetdcfg_exe=/usr/sbin/dropbear
  496.  inetdcfg_arg0=dropbear
  497. -inetdcfg_args="-i$([ "$DROPBEAR_PWDAUTH" = "yes" ] || echo " -s")$([ "$DROPBEAR_ROOTONLY" = "yes" ] && echo " -0") $DROPBEAR_OPTIONS"
  498. +inetdcfg_args="-i$([ "$DROPBEAR_PWDAUTH" = "yes" ] || echo " -s")$([ "$DROPBEAR_ROOTONLY" = "yes" ] && echo " -0")$([ -n "$DROPBEAR_LOGINONLYUSERID" ] && echo " -U $DROPBEAR_LOGINONLYUSERID") $DROPBEAR_OPTIONS"
  499. diff -ur freetz/make/dropbear/files/root/etc/init.d/rc.dropbear FHEM/make/dropbear/files/root/etc/init.d/rc.dropbear
  500. --- freetz/make/dropbear/files/root/etc/init.d/rc.dropbear  2018-09-21 06:40:13.123816162 +0200
  501. +++ FHEM/make/dropbear/files/root/etc/init.d/rc.dropbear    2018-09-21 06:29:45.093958162 +0200
  502. @@ -32,6 +32,36 @@
  503.     fi
  504.  }
  505.  
  506. +update_option() {
  507. +   local userid do_save=false
  508. +   if [ -n "$DROPBEAR_LOGINONLYASUSER" ]; then
  509. +       userid=`cat /etc/passwd | grep -s '^'"$DROPBEAR_LOGINONLYASUSER" | cut -d: -f3`
  510. +       if [ -z "$userid" ]; then
  511. +           echo "Error[$DAEMON]: userid for $DROPBEAR_LOGINONLYASUSER not found - run 'adduser $DROPBEAR_LOGINONLYASUSER'" 1>&2
  512. +           exit 1
  513. +       elif cat /etc/shadow | grep -q '^'$DROPBEAR_LOGINONLYASUSER':[*!]:' && cat /etc/passwd | grep -q '^'$DROPBEAR_LOGINONLYASUSER'::'; then
  514. +           echo "Error[$DAEMON]: for $DROPBEAR_LOGINONLYASUSER no password set - run 'passwd $DROPBEAR_LOGINONLYASUSER'" 1>&2
  515. +           exit 1
  516. +       else
  517. +           if [ -z "$DROPBEAR_LOGINONLYUSERID" ]; then
  518. +               do_save=true
  519. +           elif [ "$DROPBEAR_LOGINONLYUSERID" != "$userid" ]; then
  520. +               do_save=true
  521. +           fi
  522. +           DROPBEAR_OPTIONS=" -U $userid $DROPBEAR_OPTIONS"
  523. +       fi
  524. +   elif [ -n "$DROPBEAR_LOGINONLYUSERID" ]; then
  525. +       userid=''
  526. +       do_save=true
  527. +   fi
  528. +   if $do_save; then
  529. +       echo -n " ... Saving userid=$userid ... "
  530. +       modconf set ${DAEMON} DROPBEAR_LOGINONLYUSERID=$userid
  531. +       modconf save ${DAEMON}
  532. +       modsave flash
  533. +   fi
  534. +}
  535. +
  536.  start() {
  537.     if [ "$DROPBEAR_PWDAUTH" = "yes" ]; then
  538.         if cat /etc/shadow | grep -q '^root:[*!]:'; then
  539. @@ -58,6 +88,8 @@
  540.         modreg cgi 'dropbear' 'Dropbear'
  541.         modreg daemon $DAEMON
  542.  
  543. +       update_option
  544. +
  545.         modlib_start $DROPBEAR_ENABLED
  546.         ;;
  547.     unload)
  548. @@ -66,6 +98,8 @@
  549.         modlib_stop
  550.         ;;
  551.     start)
  552. +       update_option
  553. +
  554.         modlib_start
  555.         ;;
  556.     stop)
  557. diff -ur freetz/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi FHEM/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi
  558. --- freetz/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi    2018-09-21 06:40:13.091800162 +0200
  559. +++ FHEM/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi  2018-09-21 06:29:45.093958162 +0200
  560. @@ -29,6 +29,7 @@
  561.  
  562.  cgi_print_checkbox_br "pwdauth" "$DROPBEAR_PWDAUTH" "$(lang de:"Passwort-Login erlauben" en:"Allow password login")"
  563.  cgi_print_checkbox_br "rootonly" "$DROPBEAR_ROOTONLY" "$(lang de:"Login nur f&uuml;r root erlauben" en:"Allow only root login")"
  564. +cgi_print_textline_p "loginonlyasuser" "$DROPBEAR_LOGINONLYASUSER" 20/30 "$(lang de:"Login nur f&uuml;r folgenden Benutzer erlauben" en:"Allow login only for user"):"
  565.  
  566.  cat << EOF
  567.  <p style="font-size:10px;">$(lang de:"Bitte beachte, dass die FRITZ!Box keine ad&auml;quate Benutzerverwaltung bietet. Die Dateien /etc/passwd und /etc/shadow m&uuml;ssen mit <b>modsave</b> gespeichert werden. Bitte aktiviere die Unterst&uuml;tzung f&uuml;r normale Benutzer nur, wenn Du genau wei&szlig;t, was Du tust." en:"Please note that the FRITZ!Box does not support normal user management. The files /etc/passwd and /etc/shadow have to be saved with <b>modsave</b>. Please activate the support for regular users only if you know what you are doing.")</p>
  568. diff -ur freetz/make/dropbear/patches/100-root-login-only.patch FHEM/make/dropbear/patches/100-root-login-only.patch
  569. --- freetz/make/dropbear/patches/100-root-login-only.patch  2018-09-21 06:40:13.347928162 +0200
  570. +++ FHEM/make/dropbear/patches/100-root-login-only.patch    2018-09-21 06:29:45.093958162 +0200
  571. @@ -1,46 +1,73 @@
  572.  --- runopts.h
  573.  +++ runopts.h
  574. -@@ -101,6 +101,9 @@
  575. +@@ -101,6 +101,10 @@
  576.     gid_t restrict_group_gid;
  577.   #endif
  578.  
  579.  +  /* FRITZ!box */
  580.  +  int rootonlylogin;
  581. ++  int useronlylogin;
  582.  +
  583.     int noauthpass;
  584.     int norootpass;
  585.     int allowblankpass;
  586.  --- svr-runopts.c
  587.  +++ svr-runopts.c
  588. -@@ -70,6 +70,7 @@
  589. +@@ -70,6 +70,8 @@
  590.                     "-m     Don't display the motd on login\n"
  591.   #endif
  592.                     "-w     Disallow root logins\n"
  593.  +                  "-0     Allow only root logins\n"
  594. ++                  "-U <user_id>   Allow login only from user with id\n"
  595.   #ifdef HAVE_GETGROUPLIST
  596.                     "-G     Restrict logins to members of specified group\n"
  597.   #endif
  598. -@@ -137,6 +138,7 @@
  599. -   svr_opts.forced_command = NULL;
  600. +@@ -118,3 +120,4 @@
  601. +   char* recv_window_arg = NULL;
  602. +   char* keepalive_arg = NULL;
  603. ++  char* user_id_arg = NULL;
  604. +   char* idle_timeout_arg = NULL;
  605. +@@ -137,5 +138,8 @@
  606. ++  svr_opts.forced_command = NULL;
  607.     svr_opts.forkbg = 1;
  608.     svr_opts.norootlogin = 0;
  609.  +  svr_opts.rootonlylogin = 0;
  610. ++  svr_opts.useronlylogin = 0;
  611.   #ifdef HAVE_GETGROUPLIST
  612.     svr_opts.restrict_group = NULL;
  613.     svr_opts.restrict_group_gid = 0;
  614. -@@ -239,6 +241,9 @@
  615. +@@ -239,6 +241,12 @@
  616.                 case 'w':
  617.                     svr_opts.norootlogin = 1;
  618.                     break;
  619.  +              case '0':
  620.  +                  svr_opts.rootonlylogin = 1;
  621.  +                  break;
  622. ++              case 'U':
  623. ++                  next = &user_id_arg;
  624. ++                  break;
  625.   #ifdef HAVE_GETGROUPLIST
  626.                 case 'G':
  627.                     next = &svr_opts.restrict_group;
  628. +--- svr-runopts.c
  629. ++++ svr-runopts.c
  630. +@@ -344,5 +354,13 @@
  631. +       opts.keepalive_secs = val;
  632. +   }
  633. +
  634. ++  if (user_id_arg) {
  635. ++      unsigned int val;
  636. ++      if (m_str_to_uint(user_id_arg, &val) == DROPBEAR_FAILURE) {
  637. ++          dropbear_exit("Bad user_id_arg '%s'", user_id_arg);
  638. ++      }
  639. ++      svr_opts.useronlylogin = val;
  640. ++  }
  641. ++
  642. +   if (idle_timeout_arg) {
  643. +       unsigned int val;
  644.  --- svr-auth.c
  645.  +++ svr-auth.c
  646. -@@ -305,6 +305,14 @@
  647. +@@ -314,6 +314,21 @@
  648.     }
  649.   #endif HAVE_GETGROUPLIST
  650.  
  651. @@ -51,6 +78,13 @@
  652.  +      send_msg_userauth_failure(0, 1);
  653.  +      return DROPBEAR_FAILURE;
  654.  +  }
  655. ++
  656. ++  if (svr_opts.useronlylogin && ses.authstate.pw_uid != svr_opts.useronlylogin) {
  657. ++      TRACE(("leave checkusername: only user login enabled"))
  658. ++      dropbear_log(LOG_WARNING, "wrong user login rejected");
  659. ++      send_msg_userauth_failure(0, 1);
  660. ++      return DROPBEAR_FAILURE;
  661. ++  }
  662.  +
  663.     TRACE(("shell is %s", ses.authstate.pw_shell))
  664.  
  665. Nur in FHEM/make: eibd.
  666. Nur in FHEM/make: fhem.
  667. diff -ur freetz/make/.gitignore FHEM/make/.gitignore
  668. --- freetz/make/.gitignore  2018-09-21 06:40:14.212360162 +0200
  669. +++ FHEM/make/.gitignore    2018-09-21 06:29:44.549686162 +0200
  670. @@ -1 +1,2 @@
  671. -!*.patch
  672. \ Kein Zeilenumbruch am Dateiende.
  673. +!*.patch
  674. +*.in.generated
  675. \ Kein Zeilenumbruch am Dateiende.
  676. Nur in FHEM/make: gzip.
  677. Nur in FHEM/make: knxd.
  678. Nur in FHEM/make/libs: argp-standalone.
  679. diff -ur freetz/make/libs/Config.in FHEM/make/libs/Config.in
  680. --- freetz/make/libs/Config.in  2018-09-21 06:39:37.257892162 +0200
  681. +++ FHEM/make/libs/Config.in    2018-09-21 06:29:46.678750162 +0200
  682. @@ -98,6 +98,7 @@
  683.  menu "Graphics & fonts"
  684.  
  685.  source make/libs/freetype/Config.in
  686. +source make/libs/libaugeas/Config.in
  687.  source make/libs/libart_lgpl/Config.in
  688.  source make/libs/libexif/Config.in
  689.  source make/libs/jpeg/Config.in
  690. @@ -172,6 +173,7 @@
  691.  source make/libs/libgsm/Config.in
  692.  source make/libs/iksemel/Config.in
  693.  source make/libs/libpcap/Config.in
  694. +source make/libs/libmcrypt/Config.in
  695.  source make/libs/libmnl/Config.in
  696.  source make/libs/libnet/Config.in
  697.  source make/libs/liboping/Config.in
  698. @@ -230,6 +232,7 @@
  699.  
  700.  endmenu ### "XML & XSLT"
  701.  
  702. +source make/libs/argp-standalone/Config.in
  703.  source make/libs/attr/Config.in
  704.  source make/libs/libcap/Config.in
  705.  source make/dbus/Config.in.libs
  706. @@ -241,12 +244,14 @@
  707.  source make/libs/libev/Config.in
  708.  source make/libs/libevent/Config.in
  709.  source make/libs/libffi/Config.in
  710. +source make/libs/libfmt/Config.in
  711.  source make/libs/libctlmgr/Config.in
  712.  source make/libs/libmultid/Config.in
  713.  source make/libs/libtool/Config.in
  714.  source make/lua/Config.in.libs
  715.  source make/pcsc-lite/Config.in.libs
  716.  source make/libs/popt/Config.in
  717. +source make/libs/pthsem/Config.in
  718.  source make/privatekeypassword/Config.in.libs
  719.  source make/libs/protobuf-c/Config.in
  720.  source make/python/Config.in.libs
  721. diff -ur freetz/make/libs/external.in FHEM/make/libs/external.in
  722. --- freetz/make/libs/external.in    2018-09-21 06:39:37.105816162 +0200
  723. +++ FHEM/make/libs/external.in  2018-09-21 06:29:46.678750162 +0200
  724. @@ -2,6 +2,7 @@
  725.     depends on EXTERNAL_ENABLED
  726.  source make/libs/apr/external.in
  727.  source make/libs/apr-util/external.in
  728. +source make/libs/libaugeas/external.in
  729.  source make/libs/libart_lgpl/external.in
  730.  source make/libs/linux-atm/external.in
  731.  source make/libs/attr/external.in
  732. @@ -57,6 +58,7 @@
  733.  source make/libs/mpc/external.in
  734.  source make/libs/mpfr/external.in
  735.  source make/libs/neon/external.in
  736. +source make/libs/libmcrypt/external.in
  737.  source make/libs/libnet/external.in
  738.  source make/netpbm/external.in.libs
  739.  source make/libs/nettle/external.in
  740. @@ -78,6 +80,7 @@
  741.  source make/libs/polarssl13/external.in
  742.  source make/libs/popt/external.in
  743.  source make/libs/protobuf-c/external.in
  744. +source make/libs/pthsem/external.in
  745.  source make/python/external.in.libs
  746.  source make/libs/serf/external.in
  747.  source make/slang/external.in.libs
  748. Nur in FHEM/make/libs: libaugeas.
  749. Nur in FHEM/make/libs: libfmt.
  750. Nur in FHEM/make/libs: libmcrypt.
  751. diff -ur freetz/make/libs/mbedtls/external.files FHEM/make/libs/mbedtls/external.files
  752. --- freetz/make/libs/mbedtls/external.files 2018-09-21 06:39:37.105816162 +0200
  753. +++ FHEM/make/libs/mbedtls/external.files   2018-09-21 06:29:46.694758162 +0200
  754. @@ -1,3 +1,3 @@
  755. -[ "$EXTERNAL_FREETZ_LIB_libmbedcrypto" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.6"
  756. -[ "$EXTERNAL_FREETZ_LIB_libmbedtls"    == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.6"
  757. -[ "$EXTERNAL_FREETZ_LIB_libmbedx509"   == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.6"
  758. +[ "$EXTERNAL_FREETZ_LIB_libmbedcrypto" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.5"
  759. +[ "$EXTERNAL_FREETZ_LIB_libmbedtls"    == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.5"
  760. +[ "$EXTERNAL_FREETZ_LIB_libmbedx509"   == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.5"
  761. diff -ur freetz/make/libs/mbedtls/external.in FHEM/make/libs/mbedtls/external.in
  762. --- freetz/make/libs/mbedtls/external.in    2018-09-21 06:39:37.141834162 +0200
  763. +++ FHEM/make/libs/mbedtls/external.in  2018-09-21 06:29:46.694758162 +0200
  764. @@ -4,7 +4,7 @@
  765.     default n
  766.     help
  767.         externals the following file(s):
  768. -        ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.6
  769. +        ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.5
  770.  
  771.  config EXTERNAL_FREETZ_LIB_libmbedtls
  772.     depends on EXTERNAL_ENABLED && FREETZ_LIB_libmbedtls
  773. @@ -12,7 +12,7 @@
  774.     default n
  775.     help
  776.         externals the following file(s):
  777. -        ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.6
  778. +        ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.5
  779.  
  780.  config EXTERNAL_FREETZ_LIB_libmbedx509
  781.     depends on EXTERNAL_ENABLED && FREETZ_LIB_libmbedx509
  782. @@ -20,4 +20,4 @@
  783.     default n
  784.     help
  785.         externals the following file(s):
  786. -        ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.6
  787. +        ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.5
  788. diff -ur freetz/make/libs/mbedtls/mbedtls.mk FHEM/make/libs/mbedtls/mbedtls.mk
  789. --- freetz/make/libs/mbedtls/mbedtls.mk 2018-09-21 06:39:37.141834162 +0200
  790. +++ FHEM/make/libs/mbedtls/mbedtls.mk   2018-09-21 06:29:46.694758162 +0200
  791. @@ -1,6 +1,6 @@
  792. -$(call PKG_INIT_LIB, 2.7.6)
  793. +$(call PKG_INIT_LIB, 2.7.5)
  794.  $(PKG)_SOURCE:=mbedtls-$($(PKG)_VERSION)-gpl.tgz
  795. -$(PKG)_SOURCE_SHA1:=85098a0c7740df396d3df44d6c8e089dc182e346
  796. +$(PKG)_SOURCE_SHA1:=0f74d60421f304155a9fdcdbfeccddc2852d5f82
  797.  $(PKG)_SITE:=https://tls.mbed.org/download
  798.  
  799.  $(PKG)_LIBNAMES_SHORT      := crypto tls x509
  800. Nur in FHEM/make/libs: pthsem.
  801. Nur in FHEM/make: linknx.
  802. diff -ur freetz/make/mod/files/root/usr/bin/kernel_args FHEM/make/mod/files/root/usr/bin/kernel_args
  803. --- freetz/make/mod/files/root/usr/bin/kernel_args  2018-09-21 06:39:24.523528161 +0200
  804. +++ FHEM/make/mod/files/root/usr/bin/kernel_args    2018-09-21 06:29:47.179000162 +0200
  805. @@ -1,6 +1,6 @@
  806.  #!/bin/sh
  807.  
  808. -# $Id: kernel_args 4689 2010-04-10 06:17:23Z buehmann $
  809. +# $Id$
  810.  #
  811.  # Written by Alexander Kriegisch (user 'kriegaex', ip-phone-forum.de)
  812.  #
  813. diff -ur freetz/make/openssl/openssl.mk FHEM/make/openssl/openssl.mk
  814. --- freetz/make/openssl/openssl.mk  2018-09-21 06:39:49.403962162 +0200
  815. +++ FHEM/make/openssl/openssl.mk    2018-09-21 06:29:47.695258162 +0200
  816. @@ -33,7 +33,7 @@
  817.  $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENSSL_TRACE
  818.  $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENSSL_STATIC
  819.  
  820. -$(PKG)_NO_CIPHERS := no-idea no-md2 no-mdc2 no-rc2 no-rc5 no-sha0 no-smime no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5 no-ssl2 no-ssl3
  821. +$(PKG)_NO_CIPHERS := no-idea no-md2 no-mdc2 no-rc2 no-rc5 no-sha0 no-smime no-rmd160 no-aes192 no-camellia no-ans1 no-krb5 no-ssl2 no-ssl3
  822.  $(PKG)_NO_CIPHERS += $(if $(FREETZ_LIB_libcrypto_WITH_RC4),,no-rc4)
  823.  
  824.  $(PKG)_OPTIONS    := shared no-err no-fips no-hw no-engines no-sse2 no-capieng no-seed
  825. Nur in FHEM/make: perl.
  826. diff -ur freetz/make/php/Config.in FHEM/make/php/Config.in
  827. --- freetz/make/php/Config.in   2018-09-21 06:39:16.847692162 +0200
  828. +++ FHEM/make/php/Config.in 2018-09-21 06:29:47.903362162 +0200
  829. @@ -53,6 +53,19 @@
  830.  menu "PHP features"
  831.  depends on FREETZ_PACKAGE_PHP
  832.  
  833. +config FREETZ_PACKAGE_PHP_WITH_APACHE2
  834. +   bool "build php APACHE2 module"
  835. +   depends on FREETZ_PACKAGE_PHP
  836. +   default n
  837. +   help
  838. +       This option enables the PHP support for APACHE2
  839. +
  840. +config FREETZ_PACKAGE_PHP_WITH_CLI
  841. +   bool "build with CLI support"
  842. +   default n
  843. +   help
  844. +       This option enables the CLI support for PHP
  845. +
  846.  config FREETZ_PACKAGE_PHP_WITH_CURL
  847.     bool "build with CURL support"
  848.     select FREETZ_LIB_libcurl if ! FREETZ_PACKAGE_PHP_STATIC
  849. @@ -104,12 +117,26 @@
  850.         than supported by libc (ISO-8859-1 and UTF-8 only) or your application
  851.         relies on libiconv specific features like TRANSLIT, IGNORE, etc.
  852.  
  853. +#config FREETZ_PACKAGE_PHP_WITH_INTL
  854. +#  bool "build with INTL support"
  855. +#  select FREETZ_LIB_libintl if ! FREETZ_PACKAGE_PHP_STATIC
  856. +#  default n
  857. +#  help
  858. +#      This option enables the INTL support for PHP
  859. +
  860.  config FREETZ_PACKAGE_PHP_WITH_JSON
  861.     bool "build with JSON support"
  862.     default n
  863.     help
  864.         This option enables the JSON support for PHP
  865.  
  866. +config FREETZ_PACKAGE_PHP_WITH_MCRYPT
  867. +   bool "build with MCRYPT support"
  868. +   select FREETZ_LIB_libmcrypt if ! FREETZ_PACKAGE_PHP_STATIC
  869. +   default n
  870. +   help
  871. +       This option enables the MCRYPT support for PHP
  872. +
  873.  config FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT
  874.     bool "build with MEMORY_LIMIT support"
  875.     default n
  876. diff -ur freetz/make/php/php.mk FHEM/make/php/php.mk
  877. --- freetz/make/php/php.mk  2018-09-21 06:39:16.479508162 +0200
  878. +++ FHEM/make/php/php.mk    2018-09-21 06:29:47.903362162 +0200
  879. @@ -6,14 +6,12 @@
  880.  
  881.  $(PKG)_CONDITIONAL_PATCHES+=$(call GET_MAJOR_VERSION,$($(PKG)_VERSION))
  882.  
  883. -$(PKG)_BINARY              := $($(PKG)_DIR)/sapi/cgi/php-cgi
  884. -$(PKG)_TARGET_BINARY       := $($(PKG)_DEST_DIR)/usr/bin/php-cgi
  885. -
  886. -$(PKG)_CLI_BINARY          := $($(PKG)_DIR)/sapi/cli/php
  887. -$(PKG)_CLI_TARGET_BINARY   := $($(PKG)_DEST_DIR)/usr/bin/php
  888. -
  889. -$(PKG)_APXS2_BINARY        := $($(PKG)_DIR)/libs/libphp5.so
  890. -$(PKG)_APXS2_TARGET_BINARY := $($(PKG)_DEST_DIR)/usr/lib/apache2/libphp5.so
  891. +$(PKG)_BINARY              :=$($(PKG)_DIR)/sapi/cgi/php-cgi
  892. +$(PKG)_TARGET_BINARY       :=$($(PKG)_DEST_DIR)/usr/bin/php-cgi
  893. +$(PKG)_APXS2_BINARY        :=$(if $(FREETZ_PACKAGE_PHP_WITH_APACHE2),$($(PKG)_DIR)/libs/libphp5.so,)
  894. +$(PKG)_APXS2_TARGET_BINARY :=$(if $(FREETZ_PACKAGE_PHP_WITH_APACHE2),$($(PKG)_DEST_DIR)/usr/lib/apache2/libphp5.so,)
  895. +$(PKG)_CLI_BINARY          :=$(if $(FREETZ_PACKAGE_PHP_WITH_CLI)    ,$($(PKG)_DIR)/sapi/cli/php,)
  896. +$(PKG)_CLI_TARGET_BINARY   :=$(if $(FREETZ_PACKAGE_PHP_WITH_CLI)    ,$($(PKG)_DEST_DIR)/usr/bin/php,)
  897.  
  898.  $(PKG)_STARTLEVEL=90 # before lighttpd
  899.  
  900. @@ -23,11 +21,18 @@
  901.  $(PKG)_EXTRA_LDFLAGS += -all-static
  902.  endif
  903.  
  904. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_APACHE2)),y)
  905. +$(PKG)_DEPENDS_ON += apache2
  906. +$(PKG)_CONFIGURE_OPTIONS += --with-apxs2="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs"
  907. +endif
  908. +
  909.  $(PKG)_DEPENDS_ON += pcre
  910.  $(PKG)_CONFIGURE_OPTIONS += --with-pcre-regex="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  911.  
  912.  $(PKG)_CONFIGURE_OPTIONS += --enable-cli
  913. +ifneq ($(strip $(FREETZ_PACKAGE_PHP_WITH_CLI)),y)
  914.  $(PKG)_EXCLUDED += $(if $(FREETZ_PACKAGE_PHP_cli),,$($(PKG)_CLI_TARGET_BINARY))
  915. +endif
  916.  
  917.  ifeq ($(strip $(FREETZ_PACKAGE_PHP_apxs2)),y)
  918.  $(PKG)_DEPENDS_ON += apache2
  919. @@ -40,6 +45,16 @@
  920.  $(PKG)_CONFIGURE_OPTIONS += --with-curl="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  921.  endif
  922.  
  923. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_INTL)),y)
  924. +#prepare enable-intl does not work yet needs icu-config in icu-dir
  925. +$(PKG)_REBUILD_SUBOPTS += $(filter FREETZ_LIB_gettext_%,$(INTL_REBUILD_SUBOPTS))
  926. +$(PKG)_DEPENDS_ON += gettext
  927. +$(PKG)_CONFIGURE_OPTIONS += --enable-intl
  928. +$(PKG)_CONFIGURE_OPTIONS += --with-icu-dir="$(TARGET_TOOLCHAIN_STAGING_DIR)"
  929. +else
  930. +$(PKG)_CONFIGURE_OPTIONS += --disable-intl
  931. +endif
  932. +
  933.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_FILEINFO),--enable-fileinfo,--disable-fileinfo)
  934.  
  935.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_FTP),--enable-ftp,--disable-ftp)
  936. @@ -77,6 +92,14 @@
  937.  endif
  938.  
  939.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_JSON),--enable-json,--disable-json)
  940. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MHASH)       ,--with-mhash,--without-mhash)
  941. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT),--enable-memory-limit,--disable-memory-limit)
  942. +
  943. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_MCRYPT)),y)
  944. +$(PKG)_DEPENDS_ON += libmcrypt
  945. +$(PKG)_CONFIGURE_OPTIONS += --with-mcrypt="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  946. +$(PKG)_CONFIGURE_POST_CMDS += sed -i -r -e '/EXTRA_LIBS/ s/-lltdl//g' ./Makefile;
  947. +endif
  948.  
  949.  ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_LIBXML)),y)
  950.  $(PKG)_DEPENDS_ON += libxml2
  951. @@ -91,18 +114,12 @@
  952.  $(PKG)_CONFIGURE_OPTIONS += --$($(PKG)_XML_SUPPORT)-xmlreader
  953.  $(PKG)_CONFIGURE_OPTIONS += --$($(PKG)_XML_SUPPORT)-xmlwriter
  954.  
  955. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MHASH),--with-mhash,--without-mhash)
  956. -
  957. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT),--enable-memory-limit,--disable-memory-limit)
  958. -
  959.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_PCNTL),--enable-pcntl,--disable-pcntl)
  960.  
  961.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_SESSION),--enable-session,--disable-session)
  962.  
  963.  $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_SOCKETS),--enable-sockets,--disable-sockets)
  964.  
  965. -$(PKG)_CONFIGURE_OPTIONS += --without-sqlite
  966. -
  967.  ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_SQLITE3)),y)
  968.  $(PKG)_DEPENDS_ON += sqlite
  969.  $(PKG)_CONFIGURE_OPTIONS += --with-sqlite3="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  970. @@ -192,6 +209,7 @@
  971.  endif
  972.  $(PKG)_CONFIGURE_OPTIONS += --enable-exif
  973.  $(PKG)_CONFIGURE_OPTIONS += --enable-mbstring
  974. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_CLI)     ,--enable-cli,--disable-cli)
  975.  $(PKG)_CONFIGURE_OPTIONS += --disable-phar
  976.  $(PKG)_CONFIGURE_OPTIONS += --disable-rpath
  977.  $(PKG)_CONFIGURE_OPTIONS += --with-config-file-path=/tmp/flash
  978. diff -ur freetz/make/python/Config.in FHEM/make/python/Config.in
  979. --- freetz/make/python/Config.in    2018-09-21 06:39:31.695112162 +0200
  980. +++ FHEM/make/python/Config.in  2018-09-21 06:29:47.923372162 +0200
  981. @@ -131,11 +131,13 @@
  982.     bool "ctypes"
  983.     depends on FREETZ_PACKAGE_PYTHON
  984.     select FREETZ_LIB_libffi
  985. +   select FREETZ_PACKAGE_DEV_TOOLS
  986.     default n
  987.     help
  988.         Foreign function library for Python, that provides C compatible
  989.         data types and allows calling functions in DLLs or shared
  990. -       libraries. Requires libffi.
  991. +       libraries. Requires libffi
  992. +       (needs objdump, ld gcc, therefore target DEV_TOOLS).
  993.         For details, see: http://docs.python.org/2/library/ctypes.html
  994.  
  995.  config FREETZ_PACKAGE_PYTHON_MOD_CURSES
  996. @@ -358,14 +360,47 @@
  997.  
  998.  menu "3rd-party modules"
  999.     depends on FREETZ_PACKAGE_PYTHON
  1000. +   source make/python-augeas/Config.in
  1001. +   source make/python-backports.ssl_match_hostname/Config.in
  1002.     source make/python-bjoern/Config.in
  1003. +   source make/python-certbot/Config.in
  1004. +   source make/python-cffi/Config.in
  1005.     source make/python-cheetah/Config.in
  1006. +   source make/python-configargparse/Config.in
  1007. +   source make/python-cryptography/Config.in
  1008. +   source make/python-configobj/Config.in
  1009. +   source make/python-enum34/Config.in
  1010. +   source make/python-future/Config.in
  1011. +   source make/python-idna/Config.in
  1012.     source make/python-imaging-library/Config.in
  1013. +   source make/python-ipaddress/Config.in
  1014. +   source make/python-josepy/Config.in
  1015.     source make/python-mechanize/Config.in
  1016. +   source make/python-mock/Config.in
  1017. +   source make/python-ndg_httpsclient/Config.in
  1018. +   source make/python-lxml/Config.in
  1019. +   source make/python-parsedatetime/Config.in
  1020. +   source make/python-platformer/Config.in
  1021. +   source make/python-pyasn1/Config.in
  1022. +   source make/python-pycparser/Config.in
  1023.     source make/python-pycrypto/Config.in
  1024.     source make/python-pycurl/Config.in
  1025. +   source make/python-pygooglechart/Config.in
  1026.     source make/python-pyopenssl/Config.in
  1027. +   source make/python-pyrfc3339/Config.in
  1028.     source make/python-pyrrd/Config.in
  1029.     source make/python-pyserial/Config.in
  1030. +   source make/python-pythondialog/Config.in
  1031. +   source make/python-pytz/Config.in
  1032. +   source make/python-pyusb/Config.in
  1033. +   source make/python-pyyaml/Config.in
  1034. +   source make/python-requests/Config.in
  1035. +   source make/python-samsungctl/Config.in
  1036. +   source make/python-setuptools/Config.in
  1037. +   source make/python-six/Config.in
  1038.     source make/python-yenc/Config.in
  1039. +   source make/python-websocket-client/Config.in
  1040. +   source make/python-zopecomponent/Config.in
  1041. +   source make/python-zopeevent/Config.in
  1042. +   source make/python-zopeinterface/Config.in
  1043.  endmenu
  1044. diff -ur freetz/make/python/python.mk FHEM/make/python/python.mk
  1045. --- freetz/make/python/python.mk    2018-09-21 06:39:31.615072162 +0200
  1046. +++ FHEM/make/python/python.mk  2018-09-21 06:29:47.923372162 +0200
  1047. @@ -32,7 +32,7 @@
  1048.  $(PKG)_BUILD_PREREQ += zip
  1049.  $(PKG)_BUILD_PREREQ_HINT := Hint: on Debian-like systems this binary is provided by the zip package (sudo apt-get install zip)
  1050.  
  1051. -$(PKG)_HOST_DEPENDS_ON += python-host
  1052. +$(PKG)_HOST_DEPENDS_ON += python-host python-cffi-host
  1053.  $(PKG)_DEPENDS_ON += expat libffi zlib
  1054.  $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_PYTHON_MOD_BSDDB),db)
  1055.  $(PKG)_DEPENDS_ON += $(if $(or $(FREETZ_PACKAGE_PYTHON_MOD_CURSES),$(FREETZ_PACKAGE_PYTHON_MOD_READLINE)),ncurses)
  1056. @@ -48,6 +48,7 @@
  1057.  $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_PYTHON_MOD_SSL
  1058.  $(PKG)_REBUILD_SUBOPTS += $(OPENSSL_REBUILD_SUBOPTS)
  1059.  $(PKG)_REBUILD_SUBOPTS += FREETZ_TARGET_IPV6_SUPPORT
  1060. +$(PKG)_REBUILD_SUBOPTS += $(if $(FREETZ_PACKAGE_PYTHON_MOD_CTYPES),FREETZ_TARGET_TOOLCHAIN)
  1061.  
  1062.  
  1063.  $(PKG)_CONFIGURE_ENV += ac_cv_have_chflags=no
  1064. @@ -138,6 +139,7 @@
  1065.     ); \
  1066.     touch -c $@
  1067.  
  1068. +
  1069.  ifneq ($(strip $(FREETZ_PACKAGE_PYTHON_STATIC)),y)
  1070.  $($(PKG)_LIB_PYTHON_TARGET_DIR): $($(PKG)_DIR)/.installed
  1071.     @mkdir -p $(dir $@); \
  1072. @@ -189,6 +191,8 @@
  1073.     $(RM) $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libpython$(PYTHON_MAJOR_VERSION).*
  1074.     $(RM) $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/pkgconfig/python*
  1075.  
  1076. +
  1077. +
  1078.  $(pkg)-uninstall:
  1079.     $(RM) -r \
  1080.         $(PYTHON_TARGET_BINARY) \
  1081. @@ -199,4 +203,5 @@
  1082.         $(PYTHON_ZIPPED_PYC_TARGET_DIR) \
  1083.         $(PYTHON_DEST_DIR)/usr/include/python$(PYTHON_MAJOR_VERSION)
  1084.  
  1085. +
  1086.  $(PKG_FINISH)
  1087. diff -ur freetz/make/python/python-module-macros.mk.in FHEM/make/python/python-module-macros.mk.in
  1088. --- freetz/make/python/python-module-macros.mk.in   2018-09-21 06:39:31.607068162 +0200
  1089. +++ FHEM/make/python/python-module-macros.mk.in 2018-09-21 06:29:47.923372162 +0200
  1090. @@ -19,7 +19,7 @@
  1091.  # $(2) => parameters to be passed to host-python
  1092.  define HostPython
  1093.     ( \
  1094. -       export PYTHONPATH="$(PYTHON_STAGING_LIB_DIR):$(TARGET_TOOLCHAIN_STAGING_DIR)/$(PYTHON_SITE_PKG_DIR)"; \
  1095. +       export PYTHONPATH="$(FREETZ_BASE_DIR)/tools/build$(PYTHON_SITE_PKG_DIR)/../lib-dynload:$(FREETZ_BASE_DIR)/tools/build$(PYTHON_SITE_PKG_DIR)/../site-packages:$(PYTHON_STAGING_LIB_DIR):$(TARGET_TOOLCHAIN_STAGING_DIR)/site-packages"; \
  1096.         export PYTHONOPTIMIZE=""; \
  1097.         export PYTHONDONTWRITEBYTECODE=1; \
  1098.         $(1) \
  1099. Nur in FHEM/make: python-augeas.
  1100. Nur in FHEM/make: python-backports.ssl_match_hostname.
  1101. Nur in FHEM/make: python-certbot.
  1102. Nur in FHEM/make: python-cffi.
  1103. diff -ur freetz/make/python-cheetah/Config.in FHEM/make/python-cheetah/Config.in
  1104. --- freetz/make/python-cheetah/Config.in    2018-09-21 06:40:04.379446162 +0200
  1105. +++ FHEM/make/python-cheetah/Config.in  2018-09-21 06:29:47.915368162 +0200
  1106. @@ -3,3 +3,5 @@
  1107.     depends on FREETZ_PACKAGE_PYTHON
  1108.     select FREETZ_LIB_libpython2 if !FREETZ_PACKAGE_PYTHON_STATIC
  1109.     default n
  1110. +   help
  1111. +        Cheetah is an open source template engine and code generation tool.
  1112. diff -ur freetz/make/python-cheetah/python-cheetah.mk FHEM/make/python-cheetah/python-cheetah.mk
  1113. --- freetz/make/python-cheetah/python-cheetah.mk    2018-09-21 06:40:04.379446162 +0200
  1114. +++ FHEM/make/python-cheetah/python-cheetah.mk  2018-09-21 06:29:47.915368162 +0200
  1115. @@ -25,6 +25,7 @@
  1116.  
  1117.  $(pkg)-uninstall:
  1118.     $(RM) -r \
  1119. +       $(PYTHON_CHEETAH_DEST_DIR)/usr/bin/cheetah* \
  1120.         $(PYTHON_CHEETAH_DEST_DIR)$(PYTHON_SITE_PKG_DIR)/Cheetah \
  1121.         $(PYTHON_CHEETAH_DEST_DIR)$(PYTHON_SITE_PKG_DIR)/Cheetah-*.egg-info
  1122.  
  1123. Nur in FHEM/make: python-configargparse.
  1124. Nur in FHEM/make: python-configobj.
  1125. Nur in FHEM/make: python-cryptography.
  1126. Nur in FHEM/make: python-enum34.
  1127. Nur in FHEM/make: python-future.
  1128. Nur in FHEM/make: python-idna.
  1129. Nur in FHEM/make: python-ipaddress.
  1130. Nur in FHEM/make: python-josepy.
  1131. Nur in FHEM/make: python-lxml.
  1132. Nur in FHEM/make: python-mock.
  1133. Nur in FHEM/make: python-ndg_httpsclient.
  1134. Nur in FHEM/make: python-parsedatetime.
  1135. Nur in FHEM/make: python-platformer.
  1136. Nur in FHEM/make: python-pyasn1.
  1137. Nur in FHEM/make: python-pycparser.
  1138. Nur in FHEM/make: python-pygooglechart.
  1139. Nur in FHEM/make: python-pyrfc3339.
  1140. Nur in FHEM/make: python-pythondialog.
  1141. Nur in FHEM/make: python-pytz.
  1142. Nur in FHEM/make: python-pyusb.
  1143. Nur in FHEM/make: python-pyyaml.
  1144. Nur in FHEM/make: python-requests.
  1145. Nur in FHEM/make: python-samsungctl.
  1146. Nur in FHEM/make: python-setuptools.
  1147. Nur in FHEM/make: python-six.
  1148. Nur in FHEM/make: python-websocket-client.
  1149. Nur in FHEM/make: python-zopecomponent.
  1150. Nur in FHEM/make: python-zopeevent.
  1151. Nur in FHEM/make: python-zopeinterface.
  1152. Nur in FHEM/make: roundcubemail.
  1153. Nur in FHEM/make: tar.
  1154. Nur in FHEM/make: tar-cgi.
  1155. Nur in FHEM/make: wfrog.
  1156. Nur in FHEM/make: wfrog-ws28xx.
  1157. diff -ur freetz/make/xmail/files/.language FHEM/make/xmail/files/.language
  1158. --- freetz/make/xmail/files/.language   2018-09-21 06:39:22.702618162 +0200
  1159. +++ FHEM/make/xmail/files/.language 2018-09-21 06:29:47.987404162 +0200
  1160. @@ -5,5 +5,7 @@
  1161.  files
  1162.  {
  1163.          etc/init.d/rc.xmail
  1164. +        etc/default.xmail/server_cert.def
  1165. +        etc/default.xmail/server_key.def
  1166.          usr/lib/cgi-bin/xmail.cgi
  1167.  }
  1168. Nur in FHEM/make/xmail/files/root/etc/default.xmail: server_cert.def.
  1169. Nur in FHEM/make/xmail/files/root/etc/default.xmail: server_key.def.
  1170. diff -ur freetz/make/xmail/files/root/etc/default.xmail/xmail.cfg FHEM/make/xmail/files/root/etc/default.xmail/xmail.cfg
  1171. --- freetz/make/xmail/files/root/etc/default.xmail/xmail.cfg    2018-09-21 06:39:22.702618162 +0200
  1172. +++ FHEM/make/xmail/files/root/etc/default.xmail/xmail.cfg  2018-09-21 06:29:47.987404162 +0200
  1173. @@ -15,3 +15,4 @@
  1174.  export XMAIL_CTRL='no'
  1175.  export XMAIL_CTRLS='no'
  1176.  export XMAIL_SPECIAL='-Qn 1 -PX 1 -SX 1 -Ln 1 -Yt 1 -CX 1 -Yi 600'
  1177. +export XMAIL_USECERTBOT='no'
  1178. diff -ur freetz/make/xmail/files/root/etc/init.d/rc.xmail FHEM/make/xmail/files/root/etc/init.d/rc.xmail
  1179. --- freetz/make/xmail/files/root/etc/init.d/rc.xmail    2018-09-21 06:39:22.706620161 +0200
  1180. +++ FHEM/make/xmail/files/root/etc/init.d/rc.xmail  2018-09-21 06:29:47.987404162 +0200
  1181. @@ -55,6 +55,51 @@
  1182.         [ "$fat" = "0" ] && chown -hR xmail:xmail $XMAIL_MAILLOCATION || chmod -R 777 $XMAIL_MAILLOCATION
  1183.     fi
  1184.  
  1185. +   if [ ! -e /tmp/flash/${DAEMON} ]; then
  1186. +     mkdir -p /tmp/flash/${DAEMON}
  1187. +   fi
  1188. +   if [ ! -e /tmp/flash/${DAEMON}/server.key ]; then
  1189. +     touch /tmp/flash/${DAEMON}/server.key
  1190. +   fi
  1191. +   if [ ! -e /tmp/flash/${DAEMON}/server.cert ]; then
  1192. +     touch /tmp/flash/${DAEMON}/server.cert
  1193. +   fi
  1194. +   local use_certbot='no'
  1195. +   if [ "${XMAIL_USECERTBOT}" = 'yes' ]; then
  1196. +     if [ -e /mod/etc/conf/certbot.cfg ]; then
  1197. +       . /mod/etc/conf/certbot.cfg
  1198. +       if [ "$CERTBOT_ENABLED" = 'yes' ]; then
  1199. +         if [ ! -z ${CERTBOT_FLASH}/$(basename ${CERTBOT_CHAINPATH}) ] && [ ! -z ${CERTBOT_FLASH}/$(basename ${CERTBOT_CERTPATH}) ]; then
  1200. +       echo -n 'using certbot certs ... '
  1201. +       rm -f /mod/etc/$DAEMON/server.cert /mod/etc/$DAEMON/server.key /mod/etc/$DAEMON/server.crt
  1202. +       ln -s ${CERTBOT_FLASH}/$(basename ${CERTBOT_FULLCHAINPATH}) /mod/etc/$DAEMON/server.cert
  1203. +       ln -s ${CERTBOT_FLASH}/$(basename ${CERTBOT_FULLCHAINPATH}) /mod/etc/$DAEMON/server.crt
  1204. +       ln -s ${CERTBOT_FLASH}/server.key /mod/etc/$DAEMON/server.key
  1205. +       use_certbot='yes'
  1206. +       echo 'done.'
  1207. +         fi
  1208. +       fi
  1209. +     fi   
  1210. +   fi
  1211. +   if [ "$use_certbot" = 'no' ]; then
  1212. +     if [ -s /tmp/flash/${DAEMON}/server.cert ] && [ -s /tmp/flash/${DAEMON}/server.key ]; then
  1213. +       echo -n 'using xmail certs from flash ... '
  1214. +       rm -f /mod/etc/$DAEMON/server.cert /mod/etc/$DAEMON/server.key /mod/etc/$DAEMON/server.crt
  1215. +       ln -s /tmp/flash/${DAEMON}/server.cert   /mod/etc/$DAEMON/server.cert
  1216. +       ln -s /tmp/flash/${DAEMON}/server.crt    /mod/etc/$DAEMON/server.crt
  1217. +       ln -s /tmp/flash/${DAEMON}/server.key    /mod/etc/$DAEMON/server.key
  1218. +       echo 'done.'
  1219. +     else
  1220. +       if [ -e /mod/etc/$DAEMON/server.cert ] && [ -e /mod/etc/$DAEMON/server.key ]; then
  1221. +         echo -n 'use xmail certs from disk ... '
  1222. +         echo 'done.'
  1223. +       else
  1224. +         echo -n 'ERROR certs are ... missing '
  1225. +         exit 1
  1226. +       fi
  1227. +     fi
  1228. +   fi
  1229. +
  1230.     [ ! -z "$XMAIL_SPECIAL" ] && CMDOPTS="$CMDOPTS $XMAIL_SPECIAL"
  1231.     if [ "$XMAIL_POP3" = "yes" ]; then
  1232.         [ -n "$XMAIL_POP3PORT" ] && CMDOPTS="$CMDOPTS -Pp $XMAIL_POP3PORT"
  1233. @@ -130,6 +175,8 @@
  1234.     ""|load)
  1235.         modreg cgi 'xmail' 'XMail'
  1236.         modreg daemon $DAEMON
  1237. +       modreg file $DAEMON cert 'server.cert' 1 "server_cert"
  1238. +       modreg file $DAEMON key  'server.key'  1 "server_key"
  1239.  
  1240.         if [ "$XMAIL_ENABLED" != "yes" ]; then
  1241.             echo "$DAEMON is disabled." 1>&2
  1242. @@ -142,6 +189,7 @@
  1243.     unload)
  1244.         modunreg daemon $DAEMON
  1245.         modunreg cgi xmail
  1246. +       modunreg file $DAEMON
  1247.         [ -s /var/run/rc.$DAEMON.pid ] && PID_FILE=/var/run/rc.$DAEMON.pid
  1248.         modlib_stop && cleanup
  1249.         ;;
  1250. diff -ur freetz/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi FHEM/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi
  1251. --- freetz/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi  2018-09-21 06:39:22.798666162 +0200
  1252. +++ FHEM/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi    2018-09-21 06:29:47.987404162 +0200
  1253. @@ -1,6 +1,7 @@
  1254.  #!/bin/sh
  1255.  
  1256.  . /usr/lib/libmodcgi.sh
  1257. +[ -e /mod/etc/conf/certbot.cfg ] && . /mod/etc/conf/certbot.cfg
  1258.  
  1259.  XMAIL_SSLSUPPORT= XMAIL_SSLVISIBLE=
  1260.  
  1261. @@ -9,6 +10,8 @@
  1262.  # Check for installed and running PHPXmail
  1263.  [ -e /mod/etc/init.d/rc.phpxmail ] && XMAIL_PHPXMAIL=1
  1264.  
  1265. +check "$XMAIL_ENABLED" yes:auto "*":man
  1266. +check "$XMAIL_USECERTBOT" yes:usecertbot "*":xmail
  1267.  check "$XMAIL_UNPRIV" yes:unpriv
  1268.  check "$XMAIL_SMTP" yes:smtp
  1269.  check "$XMAIL_SSMTP" yes:ssmtp
  1270. @@ -43,6 +46,21 @@
  1271.  <hr>
  1272.  <p style="font-size:10px;">$(lang de:"Bitte &auml;ndern Sie diese Werte nur wenn Sie wissen was Sie tun." en:"Please change these values only if you know what you are doing.")</p>
  1273.  <p> $(lang de:"Startparameter" en:"Start parameters"): <input type="text" name="special" size="55" maxlength="255" value="$(html "$XMAIL_SPECIAL")"></p>
  1274. +<hr>
  1275. +EOF
  1276. +if [ "$CERTBOT_ENABLED" = 'yes' ]; then
  1277. +cat << EOF
  1278. +<input id="c1" type="radio"  name="usecertbot" value="yes"$usecertbot_chk><label for="c1"> $(lang de:"Benutze Certbots SSL Zertifikat" en:"Use Certbot SSL certificate")</label>
  1279. +EOF
  1280. +else
  1281. +cat << EOF
  1282. +<input id="c1" type="hidden" name="usecertbot" value="yes"$usecertbot_chk>
  1283. +EOF
  1284. +fi
  1285. +cat << EOF
  1286. +<br>
  1287. +<input id="c2" type="radio"  name="usecertbot" value="no"$xmail_chk><label for="c2"> $(lang de:"Benutze XMails SSL Zertifikat" en:"Use XMail SSL certificate")</label>
  1288. +</p>
  1289.  EOF
  1290.  sec_end
  1291.  
  1292. Nur in FHEM/make/xmail/files/root/usr: sbin.
  1293. diff -ur freetz/make/xmail/xmail.mk FHEM/make/xmail/xmail.mk
  1294. --- freetz/make/xmail/xmail.mk  2018-09-21 06:39:17.704120162 +0200
  1295. +++ FHEM/make/xmail/xmail.mk    2018-09-21 06:29:47.987404162 +0200
  1296. @@ -3,6 +3,8 @@
  1297.  $(PKG)_SOURCE_MD5:=73c9d95012709d7b11511dfb6dd6ab3d
  1298.  $(PKG)_SITE:=http://www.xmailserver.org
  1299.  
  1300. +$(PKG)_STARTLEVEL=91 # before dovecot
  1301. +
  1302.  $(PKG)_BINARIES := compartment sendmail XMail XMCrypt CtrlClnt MkUsers
  1303.  $(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/bin/%)
  1304.  $(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/lib/MailRoot/bin/%)
  1305. diff -ur freetz/Makefile FHEM/Makefile
  1306. --- freetz/Makefile 2018-09-21 06:39:09.323932162 +0200
  1307. +++ FHEM/Makefile   2018-09-21 06:29:44.493658162 +0200
  1308. @@ -237,8 +237,13 @@
  1309.  TOOLCHAIN_SOURCE:=$(patsubst %,%-source,$(TOOLCHAIN))
  1310.  
  1311.  ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1312. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1313.  include $(TOOLCHAIN_DIR)/make/kernel-toolchain.mk
  1314. +endif
  1315.  include $(TOOLCHAIN_DIR)/make/target-toolchain.mk
  1316. +ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1317. +include $(TOOLCHAIN_DIR)/make/download-toolchain.mk
  1318. +endif
  1319.  else
  1320.  include $(TOOLCHAIN_DIR)/make/download-toolchain.mk
  1321.  endif
  1322. diff -ur freetz/README FHEM/README
  1323. --- freetz/README   2018-09-21 06:39:04.865704162 +0200
  1324. +++ FHEM/README 2018-09-21 06:29:44.493658162 +0200
  1325. @@ -3,7 +3,7 @@
  1326.    |   |\  |__ |__  |  /_
  1327.  
  1328.  
  1329. -$Id: README 7068 2011-06-01 07:46:32Z oliver $
  1330. +$Id$
  1331.  
  1332.  This mod is distributed without any warranty (not even the implied
  1333.  warranty of merchantability or fitness for a particular purpose).
  1334. diff -ur freetz/STARTLEVEL FHEM/STARTLEVEL
  1335. --- freetz/STARTLEVEL   2018-09-21 06:38:47.308930162 +0200
  1336. +++ FHEM/STARTLEVEL 2018-09-21 06:29:44.493658162 +0200
  1337. @@ -7,21 +7,21 @@
  1338.  webcfg
  1339.  
  1340.  #Basics
  1341. -inotify-tools  STARTLEVEL=10
  1342. +inotify-tools      STARTLEVEL=10
  1343.  usbroot            STARTLEVEL=11
  1344.  syslogd-cgi        STARTLEVEL=12
  1345.  downloader     STARTLEVEL=13
  1346.  inetd          STARTLEVEL=14
  1347.  
  1348.  #Interfaces
  1349. -cpmaccfg-cgi   STARTLEVEL=20
  1350. -virtualip-cgi  STARTLEVEL=20
  1351. +cpmaccfg-cgi       STARTLEVEL=20
  1352. +virtualip-cgi      STARTLEVEL=20
  1353.  #Firewall
  1354. -iptables-cgi   STARTLEVEL=25
  1355. +iptables-cgi       STARTLEVEL=25
  1356.  nhipt          STARTLEVEL=25
  1357.  
  1358.  #SSH
  1359. -authorized-keys    STARTLEVEL=30
  1360. +authorized-keys        STARTLEVEL=30
  1361.  dropbear       STARTLEVEL=30
  1362.  
  1363.  #DNS
  1364. @@ -54,8 +54,9 @@
  1365.  
  1366.  #Misc
  1367.  dbus           STARTLEVEL=90   # before avahi
  1368. -php                STARTLEVEL=90   # before lighttpd
  1369. +php            STARTLEVEL=90   # before lighttpd
  1370.  sundtek            STARTLEVEL=90   # before rrdstats
  1371. -
  1372. +xmail          STARTLEVEL=91   # before dovecot
  1373. +dovecot            STARTLEVEL=92   # after xmail
  1374.  
  1375.  # grep STARTLEVEL `find . -name *.mk` |sed 's/ #/\t#/g;s/.*\///g;s/.mk:\$(PKG)_/\t/g' |sort -k2
  1376. Nur in freetz/: .svn.
  1377. Nur in FHEM/toolchain/make/kernel/gcc/4.8: 200-gcc-config-host-linux-missing-SSIZE_MAX-definition.patch.
  1378. Nur in freetz/toolchain/make/kernel/gcc/4.8: release.
  1379. Nur in freetz/toolchain/make/kernel/gcc/4.8: snapshot.
  1380. diff -ur freetz/toolchain/make/Makefile.in FHEM/toolchain/make/Makefile.in
  1381. --- freetz/toolchain/make/Makefile.in   2018-09-21 06:38:41.858206162 +0200
  1382. +++ FHEM/toolchain/make/Makefile.in 2018-09-21 06:29:48.015418162 +0200
  1383. @@ -52,7 +52,9 @@
  1384.  TARGET_MAKE_PATH:=$(TARGET_TOOLCHAIN_STAGING_DIR)/bin
  1385.  
  1386.  ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1387. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1388.  TOOLCHAIN:=kernel-toolchain target-toolchain
  1389. +endif
  1390.  else
  1391.  TOOLCHAIN:=download-toolchain
  1392.  endif
  1393. diff -ur freetz/toolchain/make/target/binutils/binutils.mk FHEM/toolchain/make/target/binutils/binutils.mk
  1394. --- freetz/toolchain/make/target/binutils/binutils.mk   2018-09-21 06:38:42.966760162 +0200
  1395. +++ FHEM/toolchain/make/target/binutils/binutils.mk 2018-09-21 06:29:48.015418162 +0200
  1396. @@ -71,7 +71,11 @@
  1397.  binutils-dirclean: binutils-clean binutils_target-dirclean
  1398.     $(RM) -r $(BINUTILS_DIR)
  1399.  
  1400. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1401.  binutils: binutils-dependencies $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/ld
  1402. +else
  1403. +binutils: $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/ld
  1404. +endif
  1405.  
  1406.  #############################################################
  1407.  #
  1408. @@ -100,7 +104,7 @@
  1409.     touch $@
  1410.  
  1411.  $(BINUTILS_DIR2)/.compiled: $(BINUTILS_DIR2)/.configured
  1412. -   $(MAKE_ENV) $(MAKE) $(BINUTILS_EXTRA_MAKE_OPTIONS) -C $(BINUTILS_DIR2) all
  1413. +   LIB_PATH="/usr/lib/freetz:/usr/local/lib:/lib:/usr/lib" $(MAKE_ENV) $(MAKE) $(BINUTILS_EXTRA_MAKE_OPTIONS) -C $(BINUTILS_DIR2) all
  1414.     touch $@
  1415.  
  1416.  $(TARGET_UTILS_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/.compiled
  1417. diff -ur freetz/toolchain/make/target/ccache/ccache.mk FHEM/toolchain/make/target/ccache/ccache.mk
  1418. --- freetz/toolchain/make/target/ccache/ccache.mk   2018-09-21 06:38:42.878716162 +0200
  1419. +++ FHEM/toolchain/make/target/ccache/ccache.mk 2018-09-21 06:29:48.015418162 +0200
  1420. @@ -73,10 +73,14 @@
  1421.     )
  1422.  
  1423.  ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1424. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1425.  ccache: gcc $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1426.  else
  1427.  ccache: $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1428.  endif
  1429. +else
  1430. +ccache: $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1431. +endif
  1432.  
  1433.  ccache-clean:
  1434.     for i in gcc g++; do \
  1435. Nur in FHEM/toolchain/make/target/gcc/4.8: 200-gcc-config-host-linux-missing-SSIZE_MAX-definition.patch.
  1436. Nur in freetz/toolchain/make/target/gcc/4.8: release.
  1437. Nur in freetz/toolchain/make/target/gcc/4.8: snapshot.
  1438. diff -ur freetz/toolchain/make/target/gcc/gcc.mk FHEM/toolchain/make/target/gcc/gcc.mk
  1439. --- freetz/toolchain/make/target/gcc/gcc.mk 2018-09-21 06:38:46.940746162 +0200
  1440. +++ FHEM/toolchain/make/target/gcc/gcc.mk   2018-09-21 06:29:48.023422162 +0200
  1441. @@ -36,6 +36,10 @@
  1442.  GCC_COMMON_CONFIGURE_OPTIONS += $(GCC_COMMON_CONFIGURE_OPTIONS_ARCH_ABI)
  1443.  GCC_COMMON_CONFIGURE_OPTIONS += --disable-nls
  1444.  GCC_COMMON_CONFIGURE_OPTIONS += $(QUIET)
  1445. +# disable libatomic at least for 4.8 and 5.5 to prevent: configure: error: Pthreads are required to build libatomic
  1446. +GCC_COMMON_CONFIGURE_OPTIONS += --disable-libatomic
  1447. +
  1448. +
  1449.  
  1450.  ifneq ($(strip $(FREETZ_TARGET_TOOLCHAIN_AVM_COMPATIBLE)),y)
  1451.  ifeq ($(strip $(FREETZ_TARGET_ARCH_MIPS)),y)
  1452. @@ -212,7 +216,11 @@
  1453.  
  1454.  gcc-configured: $(GCC_BUILD_DIR2)/.configured
  1455.  
  1456. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1457.  gcc: uclibc-configured binutils gcc_initial uclibc $(GCC_BUILD_DIR2)/.installed
  1458. +else
  1459. +gcc: uclibc-configured binutils uclibc
  1460. +endif
  1461.  
  1462.  gcc-uninstall:
  1463.     $(RM) $(call TOOLCHAIN_BINARIES_LIST,$(TARGET_TOOLCHAIN_STAGING_DIR)/usr,$(GCC_BINARIES_BIN),$(REAL_GNU_TARGET_NAME))
  1464. @@ -233,7 +241,11 @@
  1465.  #############################################################
  1466.  GCC_BUILD_DIR3:=$(TARGET_TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-target
  1467.  
  1468. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1469.  $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR2)/.installed $(GCC_TARGET_PREREQ) | binutils_target
  1470. +else
  1471. +$(GCC_BUILD_DIR3)/.configured: $(GCC_DIR)/.unpacked $(GCC_TARGET_PREREQ) | binutils_target
  1472. +endif
  1473.     mkdir -p $(GCC_BUILD_DIR3)
  1474.     (cd $(GCC_BUILD_DIR3); $(RM) config.cache; \
  1475.         $(TARGET_CONFIGURE_ENV) \
  1476. diff -ur freetz/toolchain/make/target/uclibc/uclibc.mk FHEM/toolchain/make/target/uclibc/uclibc.mk
  1477. --- freetz/toolchain/make/target/uclibc/uclibc.mk   2018-09-21 06:38:42.210382162 +0200
  1478. +++ FHEM/toolchain/make/target/uclibc/uclibc.mk 2018-09-21 06:29:48.111466162 +0200
  1479. @@ -141,7 +141,11 @@
  1480.     cp -f $^ $(UCLIBC_CONFIG_FILE) && \
  1481.     touch $^
  1482.  
  1483. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1484.  $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured | $(UCLIBC_PREREQ_GCC_INITIAL)
  1485. +else
  1486. +$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured
  1487. +endif
  1488.     $(UCLIBC_MAKE) -C $(UCLIBC_DIR) \
  1489.         $(UCLIBC_COMMON_BUILD_FLAGS) \
  1490.         PREFIX= \
  1491. @@ -254,7 +258,11 @@
  1492.     $(call REMOVE_DOC_NLS_DIRS,$(TARGET_UTILS_DIR))
  1493.     touch -c $@
  1494.  
  1495. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1496.  uclibc_target: gcc uclibc $(TARGET_UTILS_DIR)/usr/lib/libc.a
  1497. +else
  1498. +uclibc_target: uclibc $(TARGET_UTILS_DIR)/usr/lib/libc.a
  1499. +endif
  1500.  
  1501.  uclibc_target-clean: uclibc_target-dirclean
  1502.     $(RM) $(TARGET_UTILS_DIR)/lib/libc.a
  1503. diff -ur freetz/tools/.gitignore FHEM/tools/.gitignore
  1504. --- freetz/tools/.gitignore 2018-09-21 06:39:08.283412162 +0200
  1505. +++ FHEM/tools/.gitignore   2018-09-21 06:29:48.111466162 +0200
  1506. @@ -3,6 +3,7 @@
  1507.  avm_kernel_config.extract
  1508.  avm_kernel_config.bin2asm
  1509.  blkid
  1510. +build
  1511.  bunzip2
  1512.  busybox
  1513.  bzcat
  1514. Nur in FHEM/tools/make: autoconf-host.
  1515. diff -ur freetz/tools/make/fakeroot/fakeroot.mk FHEM/tools/make/fakeroot/fakeroot.mk
  1516. --- freetz/tools/make/fakeroot/fakeroot.mk  2018-09-21 06:39:07.422982163 +0200
  1517. +++ FHEM/tools/make/fakeroot/fakeroot.mk    2018-09-21 06:29:48.127474162 +0200
  1518. @@ -39,6 +39,7 @@
  1519.         ../../configure \
  1520.         --prefix=$(FAKEROOT_DESTDIR) \
  1521.         --enable-shared \
  1522. +       $(if $(findstring Microsoft,$(shell uname -r)),--with-ipc=tcp,) \
  1523.         $(DISABLE_NLS) \
  1524.     );
  1525.     touch $@
  1526. @@ -54,6 +55,8 @@
  1527.         ../../configure \
  1528.         --prefix=$(FAKEROOT_DESTDIR) \
  1529.         --enable-shared \
  1530. +       $(if $(findstring Microsoft,$(shell uname -r)),--with-ipc=tcp,) \
  1531. +       $(if $(findstring Microsoft,$(shell uname -r)),--host=$(shell uname -m),) \
  1532.         $(DISABLE_NLS) \
  1533.     );
  1534.     touch $@
  1535. Nur in FHEM/tools/make: libffi-host.
  1536. Nur in FHEM/tools/make: python-cffi-host.
  1537. diff -ur freetz/tools/make/python-host/python-host.mk FHEM/tools/make/python-host/python-host.mk
  1538. --- freetz/tools/make/python-host/python-host.mk    2018-09-21 06:39:06.962752162 +0200
  1539. +++ FHEM/tools/make/python-host/python-host.mk  2018-09-21 06:29:48.147484163 +0200
  1540. @@ -1,17 +1,18 @@
  1541.  PYTHON_HOST_VERSION:=2.7.15
  1542. +PYTHON_HOST_MAJOR_VERSION:=2.7
  1543.  PYTHON_HOST_SOURCE:=Python-$(PYTHON_HOST_VERSION).tar.xz
  1544.  PYTHON_HOST_MD5:=a80ae3cc478460b922242f43a1b4094d
  1545.  PYTHON_HOST_SITE:=http://www.python.org/ftp/python/$(PYTHON_HOST_VERSION)
  1546.  
  1547.  PYTHON_HOST_DIR:=$(TOOLS_SOURCE_DIR)/Python-$(PYTHON_HOST_VERSION)
  1548.  PYTHON_HOST_BINARY:=$(PYTHON_HOST_DIR)/python
  1549. -PYTHON_HOST_TARGET_BINARY:=$(HOST_TOOLS_DIR)/usr/bin/python2.7
  1550. +PYTHON_HOST_TARGET_BINARY:=$(HOST_TOOLS_DIR)/usr/bin/python$(PYTHON_HOST_MAJOR_VERSION)
  1551.  
  1552.  python-host-source: $(DL_DIR)/$(PYTHON_HOST_SOURCE)
  1553.  $(DL_DIR)/$(PYTHON_HOST_SOURCE): | $(DL_DIR)
  1554.     $(DL_TOOL) $(DL_DIR) $(PYTHON_HOST_SOURCE) $(PYTHON_HOST_SITE) $(PYTHON_HOST_MD5)
  1555.  
  1556. -python-host-unpacked: $(PYTHON_HOST_DIR)/.unpacked
  1557. +python-host-unpacked: $(PYTHON_HOST_DIR)/.unpacked
  1558.  $(PYTHON_HOST_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_HOST_SOURCE) | $(TOOLS_SOURCE_DIR) $(UNPACK_TARBALL_PREREQUISITES)
  1559.     $(call UNPACK_TARBALL,$(DL_DIR)/$(PYTHON_HOST_SOURCE),$(TOOLS_SOURCE_DIR))
  1560.     @touch $@
  1561. @@ -28,7 +29,7 @@
  1562.         --build=$(GNU_HOST_NAME) \
  1563.         --host=$(GNU_HOST_NAME) \
  1564.         --target=$(GNU_HOST_NAME) \
  1565. -       --prefix=/usr \
  1566. +       --prefix=$(HOST_TOOLS_DIR)/usr \
  1567.     );
  1568.     @touch $@
  1569.  
  1570. @@ -41,10 +42,11 @@
  1571.  $(PYTHON_HOST_TARGET_BINARY): $(PYTHON_HOST_BINARY) | $(HOST_TOOLS_DIR)
  1572.     PATH=$(TARGET_PATH) \
  1573.         $(MAKE) -C $(PYTHON_HOST_DIR) \
  1574. -       DESTDIR="$(HOST_TOOLS_DIR)" \
  1575.         install
  1576.     cp -a $(PYTHON_HOST_BINARY) $(PYTHON_HOST_DIR)/Parser/pgen \
  1577.         $(HOST_TOOLS_DIR)/usr/bin
  1578. +   cp -a $(PYTHON_HOST_DIR)/Lib/site.py \
  1579. +       $(HOST_TOOLS_DIR)/usr/lib/python$(PYTHON_HOST_MAJOR_VERSION)
  1580.  
  1581.  python-host: $(PYTHON_HOST_TARGET_BINARY)
  1582.  
  1583. Nur in FHEM/tools/make: python-pycparser-host.
  1584. Nur in FHEM/tools/make: python-setuptools-host.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top