- Core Developers:
+
+Michael Tremer,
+Arne Fitzenreiter,
+Christian Schmidt,
+Alexander Marx,
+Matthias Fischer,
+Stefan Schantl,
+Jan Paul Tuecking,
+Jonatan Schlag,
+Dirk Wagner,
+Marcel Lorenz,
+Erik Kapfer,
+Peter Müller,
+Alf Høgemark,
+Ben Schweikert,
+Peter Pfeiffer,
+Daniel Glanzmann,
+Heiner Schmeling,
+Timo Eissler,
+Daniel Weismüller,
+Jan Lentfer,
+Marcus Scholz,
+Ersan Yildirim,
+Joern-Ingo Weigert,
+Alfred Haas,
+Lars Schuhmacher,
+Rene Zingel,
+Sascha Kilian,
+Wolfgang Apolinarski,
+Ronald Wiesinger,
+Stephan Feddersen,
+Daniel Weismueller,
+Justin Luth,
+Michael Eitelwein,
+Bernhard Bitsch,
+Dominik Hassler,
+Larsen,
+Gabriel Rolland,
+Anton D. Seliverstov,
+Bernhard Bittner,
+David Kleuker,
+Hans Horsten,
+Jakub Ratajczak,
+Jorrit de Jonge,
+Przemek Zdroik,
+Andrew Bellows,
+Axel Gembe,
+Bernhard Held,
+Christoph Anderegg,
+Daniel Aleksandersen,
+Douglas Duckworth,
+Eberhard Beilharz,
+Ersan Yildirim Ersan,
+Gerd Hoerst,
+H. Horsten,
+Heino Gutschmidt,
+Jan Behrens,
+Jochen Kauz,
+Julian McConnell,
+Jörn-Ingo Weigert,
+Kay-Michael Köhler,
+Kim Wölfel,
+Logan Schmidt,
+Nico Prenzel,
+Osmar Gonzalez,
+Paul T. Simmons,
+Robert Möker,
+Stefan Ernst,
+Stefan Ferstl,
+Thomas Ebert,
+Timmothy Wilson,
+Umberto Parma
+
diff --git a/lfs/apache2 b/lfs/apache2
index 16dd101d7..0e526a575 100644
--- a/lfs/apache2
+++ b/lfs/apache2
@@ -25,7 +25,7 @@
include Config
-VER = 2.4.33
+VER = 2.4.34
THISAPP = httpd-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6ef469d3f16fffeb688bc6e0346823e5
+$(DL_FILE)_MD5 = 818adca52f3be187fe45d6822755be95
install : $(TARGET)
diff --git a/lfs/avahi b/lfs/avahi
new file mode 100644
index 000000000..c476e7e45
--- /dev/null
+++ b/lfs/avahi
@@ -0,0 +1,109 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see . #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.7
+
+THISAPP = avahi-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+PROG = avahi
+PAK_VER = 5
+
+DEPS = "libdaemon"
+
+CFLAGS += -U_FORTIFY_SOURCE
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = d76c59d0882ac6c256d70a2a585362a6
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-avahi-user=avahi \
+ --disable-qt3 \
+ --disable-qt4 \
+ --disable-gtk \
+ --disable-gtk3 \
+ --disable-pygtk \
+ --disable-dbus \
+ --disable-python \
+ --disable-pygobject \
+ --disable-python-dbus \
+ --disable-mono \
+ --disable-monodoc \
+ --with-distro=none
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+
+ # Install configuration for samba
+ cp -avf $(DIR_SRC)/config/avahi/smb.service /etc/avahi/services/smb.service
+
+ # Install initscript
+ $(call INSTALL_INITSCRIPT,avahi)
+
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/cdrom b/lfs/cdrom
index 6382034b5..08bd609c4 100644
--- a/lfs/cdrom
+++ b/lfs/cdrom
@@ -84,7 +84,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
dd if=/dev/zero bs=1k count=2 > /install/cdrom/boot/isolinux/boot.catalog
ifneq "$(BUILD_PLATFORM)" "arm"
cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz
- dracut --force -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
+ dracut --force --early-microcode -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
cp $(DIR_SRC)/config/syslinux/boot.png /install/cdrom/boot/isolinux/boot.png
cp /usr/lib/memtest86+/memtest.bin /install/cdrom/boot/isolinux/memtest
cp /usr/share/ipfire-netboot/ipxe.lkrn /install/cdrom/boot/isolinux/netboot
diff --git a/lfs/cups b/lfs/cups
index a9e2b1ac0..ae0c603b7 100644
--- a/lfs/cups
+++ b/lfs/cups
@@ -32,9 +32,9 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/cups-$(VER)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = cups
-PAK_VER = 16
+PAK_VER = 17
-DEPS = "cups-filters dbus ghostscript krb5 libtiff"
+DEPS = "avahi cups-filters dbus ghostscript krb5 libtiff"
###############################################################################
# Top-level Rules
@@ -83,10 +83,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--sysconfdir=/var/ipfire \
--localstatedir=/var \
--enable-debug \
+ --enable-avahi \
--enable-dbus \
--enable-gnutls \
- --enable-libusb \
- --disable-avahi
+ --enable-libusb
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install
diff --git a/lfs/linux b/lfs/linux
index c5d8a8e88..5e7b334cd 100644
--- a/lfs/linux
+++ b/lfs/linux
@@ -34,12 +34,12 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
CFLAGS =
CXXFLAGS =
-PAK_VER = 75
+PAK_VER = 76
DEPS = ""
+HEADERS_ARCH = $(BUILD_PLATFORM)
KERNEL_ARCH = $(BUILD_ARCH)
KERNEL_TARGET = bzImage
-HEADERS_ARCH = $(BUILD_PLATFORM)
ifeq "$(BUILD_ARCH)" "i586"
KERNEL_ARCH = i386
@@ -52,6 +52,7 @@ ifeq "$(BUILD_ARCH)" "aarch64"
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
+ KERNEL_ARCH = arm
KERNEL_TARGET = zImage
endif
diff --git a/lfs/linux-firmware b/lfs/linux-firmware
index b5a4cbfd8..c732ace9d 100644
--- a/lfs/linux-firmware
+++ b/lfs/linux-firmware
@@ -24,7 +24,7 @@
include Config
-VER = 5d98692
+VER = 7b5835fd37630d18ac0c755329172f6a17c1af29
THISAPP = linux-firmware-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a9e561b3070508614fdaf3386aaa6745
+$(DL_FILE)_MD5 = 09fc172e36a431c44ecb8171c4c07a3c
install : $(TARGET)
diff --git a/lfs/linux-initrd b/lfs/linux-initrd
index 1e6b071f9..93f21078e 100644
--- a/lfs/linux-initrd
+++ b/lfs/linux-initrd
@@ -62,7 +62,7 @@ ifneq "$(KCFG)" "-rpi"
ifneq "$(KCFG)" "-pae"
# Create initramfs images
- dracut --force --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
+ dracut --force --early-microcode --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
ifeq "$(KCFG)" "-kirkwood"
# cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
diff --git a/lfs/nginx b/lfs/nginx
index 0fa6250f3..ecbe16221 100644
--- a/lfs/nginx
+++ b/lfs/nginx
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-14 IPFire Team #
+# Copyright (C) 2007-18 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 1.13.7
+VER = 1.15.1
THISAPP = nginx-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nginx
-PAK_VER = 7
+PAK_VER = 8
###############################################################################
# Top-level Rules
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5fcd056b40cb5c47b053fb14a2a89e7d
+$(DL_FILE)_MD5 = 2dd5a265c54a76b699443931d80a61b9
install : $(TARGET)
@@ -76,7 +76,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure \
- --prefix=/usr/share/nginx/ \
+ --prefix=/usr/share/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/sbin/nginx \
--pid-path=/var/run/nginx.pid \
diff --git a/lfs/openssh b/lfs/openssh
index 9d551f198..a88b2d126 100644
--- a/lfs/openssh
+++ b/lfs/openssh
@@ -86,7 +86,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-e 's/^#\?Protocol .*$$/Protocol 2/' \
-e 's/^#\?LoginGraceTime .*$$/LoginGraceTime 30s/' \
-e 's/^#\?PubkeyAuthentication .*$$/PubkeyAuthentication yes/' \
- -e 's/^#\?PasswordAuthentication .*$$/PasswordAuthentication yes/' \
+ -e 's/^#\?PasswordAuthentication .*$$/PasswordAuthentication no/' \
-e 's/^#\?MaxStartups .*$$/MaxStartups 5/' \
-e 's/^#\?IgnoreUserKnownHosts .*$$/IgnoreUserKnownHosts yes/' \
-e 's/^#\?UsePAM .*$$//' \
diff --git a/lfs/rng-tools b/lfs/rng-tools
index f9b79d108..c7a358e56 100644
--- a/lfs/rng-tools
+++ b/lfs/rng-tools
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 6.2
+VER = 6.3.1
THISAPP = rng-tools-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a596ecd89afc584afe48758923fe6195
+$(DL_FILE)_MD5 = fe2d38e39ff02d0c7b3585407d51dc64
install : $(TARGET)
diff --git a/lfs/squid b/lfs/squid
index f93097019..cae56407c 100644
--- a/lfs/squid
+++ b/lfs/squid
@@ -24,7 +24,7 @@
include Config
-VER = 3.5.27
+VER = 3.5.28
THISAPP = squid-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 39ef8199675d48a314b540f92c00c545
+$(DL_FILE)_MD5 = 9367e0375ea53ba0e99f77054d4402c5
install : $(TARGET)
@@ -72,9 +72,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squid/SQUID-2018_1.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squid/SQUID-2018_2.patch
- cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5.27-fix-max-file-descriptors.patch
+ cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5.28-fix-max-file-descriptors.patch
cd $(DIR_APP) && autoreconf -vfi
cd $(DIR_APP)/libltdl && autoreconf -vfi
diff --git a/lfs/tor b/lfs/tor
index c646e738d..dcb99adb5 100644
--- a/lfs/tor
+++ b/lfs/tor
@@ -24,7 +24,7 @@
include Config
-VER = 0.3.3.7
+VER = 0.3.3.9
THISAPP = tor-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = tor
-PAK_VER = 29
+PAK_VER = 30
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5288d8de30c516073ad13fee44f6fdf3
+$(DL_FILE)_MD5 = 16b24bda0772dc3d5c4c05254ec4bce7
install : $(TARGET)
diff --git a/make.sh b/make.sh
index 47e1420d8..f1b2dc209 100755
--- a/make.sh
+++ b/make.sh
@@ -871,6 +871,28 @@ update_language_list() {
done | sort -u > "${path}/LINGUAS"
}
+contributors() {
+ local commits name
+
+ git shortlog --summary --numbered | while read -r commits name; do
+ echo "${name}"
+ done | grep -vE -e "^(alpha197|morlix|root|ummeegge)$" -e "via Development$" -e "@" -e "#$"
+}
+
+update_contributors() {
+ echo -n "Updating list of contributors"
+
+ local contributors="$(contributors | paste -sd , - | sed -e "s/,/&\\\\n/g")"
+
+ # Edit contributors into credits.cgi
+ awk -i inplace \
+ "//{ p=1; print; printf \"${contributors}\n\"}//{ p=0 } !p" \
+ "${BASEDIR}/html/cgi-bin/credits.cgi"
+
+ print_status DONE
+ return 0
+}
+
# Load configuration file
if [ -f .config ]; then
. .config
@@ -1307,6 +1329,7 @@ buildipfire() {
lfsmake2 dbus
lfsmake2 intltool
lfsmake2 libdaemon
+ lfsmake2 avahi
lfsmake2 cups
lfsmake2 lcms2
lfsmake2 ghostscript
@@ -1864,8 +1887,11 @@ lang)
update_language_list ${BASEDIR}/src/setup/po
print_status DONE
;;
+update-contributors)
+ update_contributors
+ ;;
*)
- echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
+ echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors}"
cat doc/make.sh-usage
;;
esac
diff --git a/src/initscripts/helper/aws-setup b/src/initscripts/helper/aws-setup
index e16678339..122e5a31d 100644
--- a/src/initscripts/helper/aws-setup
+++ b/src/initscripts/helper/aws-setup
@@ -231,6 +231,9 @@ import_aws_configuration() {
# Enable SSH
sed -e "s/ENABLE_SSH=.*/ENABLE_SSH=on/g" -i /var/ipfire/remote/settings
+ # Disable SSH password authentication
+ sed -e "s/^ENABLE_SSH_PASSWORDS=.*/ENABLE_SSH_PASSWORDS=off/" -i /var/ipfire/remote/settings
+
# Enable SSH key authentication
sed -e "s/^ENABLE_SSH_KEYS=.*/ENABLE_SSH_KEYS=on/" -i /var/ipfire/remote/settings
diff --git a/src/initscripts/packages/avahi b/src/initscripts/packages/avahi
new file mode 100755
index 000000000..7413f56f1
--- /dev/null
+++ b/src/initscripts/packages/avahi
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Begin $rc_base/init.d/avahi
+
+# Based on sysklogd script from LFS-3.1 and earlier.
+# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org
+
+#$LastChangedBy: bdubbs $
+#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
+
+. /etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+ start)
+ boot_mesg "Starting avahi..."
+ loadproc /usr/sbin/avahi-daemon -f /etc/avahi/avahi-daemon.conf -D
+ ;;
+
+ stop)
+ boot_mesg "Stopping avahi..."
+ /usr/sbin/avahi-daemon -k
+ ;;
+
+ reload)
+ boot_mesg "Reloading avahi..."
+ reloadproc /usr/sbin/avahi-daemon -f /etc/avahi/avahi-daemon.conf -D
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ status)
+ statusproc /usr/sbin/avahi-daemon -c
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|reload|restart|status}"
+ exit 1
+ ;;
+esac
+
+# End $rc_base/init.d/avahi
diff --git a/src/initscripts/system/collectd b/src/initscripts/system/collectd
index 1c685b44a..cdb8693ae 100644
--- a/src/initscripts/system/collectd
+++ b/src/initscripts/system/collectd
@@ -92,7 +92,7 @@ case "$1" in
fi
# Enable cpufreq plugin if cpufreq found
- if [ ! -e /sys/devices/system/cpu/cpufreq/policy0/*_cur_freq ]; then
+ if [ ! -e /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq ]; then
sed -i -e "s|^LoadPlugin cpufreq|#LoadPlugin cpufreq|g" /etc/collectd.conf
else
sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf
diff --git a/src/paks/avahi/install.sh b/src/paks/avahi/install.sh
new file mode 100644
index 000000000..cb0266bae
--- /dev/null
+++ b/src/paks/avahi/install.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 2 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2007 IPFire-Team . #
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+
+# Create Username and group.
+getent group avahi >/dev/null || groupadd -r avahi
+getent passwd avahi >/dev/null || \
+ useradd -r -g avahi -d /var/run/avahi-daemon -s /sbin/nologin \
+ -c "Avahi mDNS daemon" avahi
+
+extract_files
+ln -svf ../init.d/avahi /etc/rc.d/rc3.d/S65avahi
+ln -svf ../init.d/avahi /etc/rc.d/rc0.d/K35avahi
+ln -svf ../init.d/avahi /etc/rc.d/rc6.d/K35avahi
+restore_backup ${NAME}
+start_service --background ${NAME}
diff --git a/src/paks/avahi/uninstall.sh b/src/paks/avahi/uninstall.sh
new file mode 100644
index 000000000..1c8e67c9a
--- /dev/null
+++ b/src/paks/avahi/uninstall.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 2 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2007 IPFire-Team . #
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+stop_service ${NAME}
+make_backup ${NAME}
+remove_files
+rm -rf /etc/rc.d/rc*.d/*avahi
diff --git a/src/paks/avahi/update.sh b/src/paks/avahi/update.sh
new file mode 100644
index 000000000..89c40d0d7
--- /dev/null
+++ b/src/paks/avahi/update.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 2 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2007 IPFire-Team . #
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/paks/linux-pae/install.sh b/src/paks/linux-pae/install.sh
index e5f82c567..fd71621d5 100644
--- a/src/paks/linux-pae/install.sh
+++ b/src/paks/linux-pae/install.sh
@@ -60,7 +60,7 @@ depmod -a $KVER-ipfire-pae
#
# Made initramdisk
#
-/usr/bin/dracut --force --xz /boot/initramfs-$KVER-ipfire-pae.img $KVER-ipfire-pae
+/usr/bin/dracut --force --early-microcode --xz /boot/initramfs-$KVER-ipfire-pae.img $KVER-ipfire-pae
if [ -e /boot/grub/grub.cfg ]; then
#
diff --git a/src/patches/linux/linux-4.9.8-apu_leds.patch b/src/patches/linux/linux-4.9.8-apu_leds.patch
index d34017896..27da2f166 100644
--- a/src/patches/linux/linux-4.9.8-apu_leds.patch
+++ b/src/patches/linux/linux-4.9.8-apu_leds.patch
@@ -175,7 +175,7 @@ diff -Naur linux-4.9.8.org/arch/x86/platform/apu/apu2-led.c linux-4.9.8/arch/x86
+ goto out;
+
+ product = dmi_get_system_info(DMI_PRODUCT_NAME);
-+ if (!product || strcmp(product, "apu2"))
++ if (!product || (strcmp(product, "PC Engines apu2") && strcmp(product, "apu2")) )
+ goto out;
+
+ printk(KERN_INFO "%s: system is recognized as \"%s %s\"\n",
diff --git a/src/patches/squid/SQUID-2018_1.patch b/src/patches/squid/SQUID-2018_1.patch
deleted file mode 100644
index 9392219a9..000000000
--- a/src/patches/squid/SQUID-2018_1.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit eb2db98a676321b814fc4a51c4fb7928a8bb45d9 (refs/remotes/origin/v3.5)
-Author: Amos Jeffries
-Date: 2018-01-19 13:54:14 +1300
-
- ESI: make sure endofName never exceeds tagEnd (#130)
-
-diff --git a/src/esi/CustomParser.cc b/src/esi/CustomParser.cc
-index d86d2d3..db634d9 100644
---- a/src/esi/CustomParser.cc
-+++ b/src/esi/CustomParser.cc
-@@ -121,7 +121,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool
-
- char * endofName = strpbrk(const_cast(tag), w_space);
-
-- if (endofName > tagEnd)
-+ if (!endofName || endofName > tagEnd)
- endofName = const_cast(tagEnd);
-
- *endofName = '\0';
-@@ -214,7 +214,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool
-
- char * endofName = strpbrk(const_cast(tag), w_space);
-
-- if (endofName > tagEnd)
-+ if (!endofName || endofName > tagEnd)
- endofName = const_cast(tagEnd);
-
- *endofName = '\0';
diff --git a/src/patches/squid/SQUID-2018_2.patch b/src/patches/squid/SQUID-2018_2.patch
deleted file mode 100644
index 9ecd8a5b7..000000000
--- a/src/patches/squid/SQUID-2018_2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit 8232b83d3fa47a1399f155cb829db829369fbae9 (refs/remotes/origin/v3.5)
-Author: squidadm
-Date: 2018-01-21 08:07:08 +1300
-
- Fix indirect IP logging for transactions without a client connection (#129) (#136)
-
-diff --git a/src/client_side_request.cc b/src/client_side_request.cc
-index be124f3..203f89d 100644
---- a/src/client_side_request.cc
-+++ b/src/client_side_request.cc
-@@ -488,9 +488,9 @@ clientFollowXForwardedForCheck(allow_t answer, void *data)
- * Ensure that the access log shows the indirect client
- * instead of the direct client.
- */
-- ConnStateData *conn = http->getConn();
-- conn->log_addr = request->indirect_client_addr;
-- http->al->cache.caddr = conn->log_addr;
-+ http->al->cache.caddr = request->indirect_client_addr;
-+ if (ConnStateData *conn = http->getConn())
-+ conn->log_addr = request->indirect_client_addr;
- }
- request->x_forwarded_for_iterator.clean();
- request->flags.done_follow_x_forwarded_for = true;
diff --git a/src/patches/squid/squid-3.5.27-fix-max-file-descriptors.patch b/src/patches/squid/squid-3.5.28-fix-max-file-descriptors.patch
similarity index 100%
rename from src/patches/squid/squid-3.5.27-fix-max-file-descriptors.patch
rename to src/patches/squid/squid-3.5.28-fix-max-file-descriptors.patch
diff --git a/src/scripts/backupiso b/src/scripts/backupiso
index caafe92fe..495ff394e 100644
--- a/src/scripts/backupiso
+++ b/src/scripts/backupiso
@@ -18,8 +18,8 @@ esac
COREVER=$(cat /opt/pakfire/db/core/mine)
# FIXME: edit this lines before release
-URL="https://downloads.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/"
-ISO="ipfire-2.19.$arch-full-core$COREVER.iso"
+URL="https://downloads.ipfire.org/releases/ipfire-2.x/2.21-core$COREVER/"
+ISO="ipfire-2.21.$arch-full-core$COREVER.iso"
if [ -z $1 ]; then
echo usage: $0 backup-file
diff --git a/src/scripts/rebuild-initrd b/src/scripts/rebuild-initrd
index 06f30bbf0..91e68ca57 100644
--- a/src/scripts/rebuild-initrd
+++ b/src/scripts/rebuild-initrd
@@ -24,4 +24,4 @@
#
KVER=`uname -r | cut -d"-" -f1`
-dracut --force --verbose /boot/ipfirerd-$KVER.img $KVER-ipfire
+dracut --force --early-microcode --verbose /boot/ipfirerd-$KVER.img $KVER-ipfire