Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next

This commit is contained in:
Stefan Schantl
2020-01-05 12:15:00 +01:00
39 changed files with 5149 additions and 4696 deletions

View File

@@ -8,10 +8,10 @@ usr/bin/efivar
#usr/include/efivar/efivar.h
#usr/lib/libefiboot.so
usr/lib/libefiboot.so.1
usr/lib/libefiboot.so.1.35
usr/lib/libefiboot.so.1.37
#usr/lib/libefivar.so
usr/lib/libefivar.so.1
usr/lib/libefivar.so.1.35
usr/lib/libefivar.so.1.37
#usr/lib/pkgconfig/efiboot.pc
#usr/lib/pkgconfig/efivar.pc
#usr/share/man/man1/efivar.1

File diff suppressed because it is too large Load Diff

View File

@@ -272,11 +272,11 @@ usr/lib/libbind9.so.161.0.4
#usr/lib/libdns.la
#usr/lib/libdns.so
usr/lib/libdns.so.1107
usr/lib/libdns.so.1107.1.1
usr/lib/libdns.so.1107.1.0
#usr/lib/libisc.la
#usr/lib/libisc.so
usr/lib/libisc.so.1104
usr/lib/libisc.so.1104.0.1
usr/lib/libisc.so.1104.0.0
#usr/lib/libisccc.la
#usr/lib/libisccc.so
usr/lib/libisccc.so.161

File diff suppressed because it is too large Load Diff

View File

@@ -3,5 +3,5 @@
#usr/lib/libmpc.la
#usr/lib/libmpc.so
usr/lib/libmpc.so.3
usr/lib/libmpc.so.3.0.0
usr/lib/libmpc.so.3.1.0
#usr/share/info/mpc.info

View File

@@ -1,9 +1,11 @@
lib/udev/rules.d/01-md-raid-creating.rules
lib/udev/rules.d/63-md-raid-arrays.rules
lib/udev/rules.d/64-md-raid-assembly.rules
lib/udev/rules.d/69-md-clustered-confirm-device.rules
sbin/mdadm
sbin/mdmon
srv/web/ipfire/cgi-bin/mdstat.cgi
#usr/share/man/man4/md.4
#usr/share/man/man5/mdadm.conf.5
#usr/share/man/man8/mdadm.8
#usr/share/man/man8/mdmon.8
srv/web/ipfire/cgi-bin/mdstat.cgi

View File

@@ -3,8 +3,9 @@
#usr/lib/libmpfr.a
#usr/lib/libmpfr.la
#usr/lib/libmpfr.so
usr/lib/libmpfr.so.4
usr/lib/libmpfr.so.4.1.5
usr/lib/libmpfr.so.6
usr/lib/libmpfr.so.6.0.2
#usr/lib/pkgconfig/mpfr.pc
#usr/share/doc/mpfr
#usr/share/doc/mpfr/AUTHORS
#usr/share/doc/mpfr/BUGS
@@ -15,6 +16,7 @@ usr/lib/libmpfr.so.4.1.5
#usr/share/doc/mpfr/TODO
#usr/share/doc/mpfr/examples
#usr/share/doc/mpfr/examples/ReadMe
#usr/share/doc/mpfr/examples/can_round.c
#usr/share/doc/mpfr/examples/divworst.c
#usr/share/doc/mpfr/examples/rndo-add.c
#usr/share/doc/mpfr/examples/sample.c

View File

@@ -8,10 +8,10 @@ usr/bin/efivar
#usr/include/efivar/efivar.h
#usr/lib/libefiboot.so
usr/lib/libefiboot.so.1
usr/lib/libefiboot.so.1.35
usr/lib/libefiboot.so.1.37
#usr/lib/libefivar.so
usr/lib/libefivar.so.1
usr/lib/libefivar.so.1.35
usr/lib/libefivar.so.1.37
#usr/lib/pkgconfig/efiboot.pc
#usr/lib/pkgconfig/efivar.pc
#usr/share/man/man1/efivar.1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
../../../../common/aarch64/efivar

View File

@@ -0,0 +1 @@
../../../../common/aarch64/gcc

View File

@@ -0,0 +1 @@
../../../../common/armv5tel/gcc

View File

@@ -7,3 +7,4 @@ etc/rc.d/init.d/unbound
etc/rc.d/init.d/suricata
opt/pakfire/lib/functions.pl
srv/web/ipfire/cgi-bin/ids.cgi
usr/sbin/convert-snort

View File

@@ -0,0 +1 @@
../../../common/glib

View File

@@ -0,0 +1 @@
../../../../common/i586/gcc

View File

@@ -0,0 +1 @@
../../../common/libmpc

View File

@@ -0,0 +1 @@
../../../common/mdadm

View File

@@ -0,0 +1 @@
../../../common/mpfr

View File

@@ -0,0 +1 @@
../../../../common/x86_64/efivar

View File

@@ -0,0 +1 @@
../../../../common/x86_64/gcc

View File

@@ -1,9 +1,10 @@
usr/bin/scmp_sys_resolver
#usr/include/seccomp.h
#usr/include/seccomp-syscalls.h
#usr/lib/libseccomp.la
#usr/lib/libseccomp.so
usr/lib/libseccomp.so.2
usr/lib/libseccomp.so.2.4.0
usr/lib/libseccomp.so.2.4.2
#usr/lib/pkgconfig/libseccomp.pc
#usr/share/man/man1/scmp_sys_resolver.1
#usr/share/man/man3/seccomp_api_get.3

View File

@@ -11,6 +11,7 @@ etc/vmware-tools/scripts/vmware
etc/vmware-tools/scripts/vmware/network
etc/vmware-tools/statechange.subr
etc/vmware-tools/suspend-vm-default
etc/vmware-tools/tools.conf.example
etc/vmware-tools/vm-support
lib/udev/rules.d/99-vmware-scsi-udev.rules
sbin/mount.vmhgfs
@@ -56,6 +57,7 @@ usr/lib/open-vm-tools/plugins/vmsvc/libpowerOps.so
usr/lib/open-vm-tools/plugins/vmsvc/libresolutionKMS.so
usr/lib/open-vm-tools/plugins/vmsvc/libtimeSync.so
usr/lib/open-vm-tools/plugins/vmsvc/libvmbackup.so
usr/lib/open-vm-tools/plugins/vmusr
#usr/lib/pkgconfig/vmguestlib.pc
usr/sbin/mount.vmhgfs
#usr/share/open-vm-tools

View File

@@ -34,7 +34,42 @@ my $snort_config_file = "/etc/snort/snort.conf";
my $snort_rules_tarball = "/var/tmp/snortrules.tar.gz";
#
## Step 1: Setup directory and file layout, if not present and set correct
## Step 1: Convert snort user and group to suricata if exist.
#
# Check if the snort user exists.
if (getpwnam("snort")) {
# Change username.
my @command = (
'/usr/sbin/usermod',
'-l', 'suricata', 'snort'
);
system(@command) == 0 or die "Could not change username: @command failed: $?\n";
# Adjust home directory.
@command = (
'/usr/sbin/usermod',
'-d', "/var/log/suricata",
'suricata'
);
system(@command) == 0 or die "Failed to adjust home directory: @command failed: $?\n";
}
# Check if the snort group exists.
if (getgrnam("snort")) {
# Change groupname
my @command = (
'/usr/sbin/groupmod',
'-n', 'suricata', 'snort'
);
system(@command) == 0 or die "Could not rename groupname: @command failed: $?\n";
}
#
## Step 2: Setup directory and file layout, if not present and set correct
## ownership. The converter runs as a privileged user, but the files
## needs to be full access-able by the WUI user and group (nobody:nobody).
#
@@ -71,7 +106,7 @@ if (-z "$snort_settings_file") {
}
#
## Step 2: Import snort settings and convert to the required format for the new IDS
## Step 3: Import snort settings and convert to the required format for the new IDS
## (suricata).
#
@@ -135,7 +170,7 @@ if($snortsettings{"OINKCODE"}) {
}
#
## Step 3: Import guardian settings and whitelist if the addon is installed.
## Step 4: Import guardian settings and whitelist if the addon is installed.
#
# Pakfire meta file for owncloud.
@@ -183,7 +218,7 @@ if (-f $guardian_meta) {
}
#
## Step 4: Save IDS and rules settings.
## Step 5: Save IDS and rules settings.
#
# Write IDS settings.
@@ -193,7 +228,7 @@ if (-f $guardian_meta) {
&General::writehash("$IDS::rules_settings_file", \%rulessettings);
#
## Step 5: Generate and write the file to modify the ruleset.
## Step 6: Generate and write the file to modify the ruleset.
#
# Call subfunction and pass the desired IDS action.
@@ -203,7 +238,7 @@ if (-f $guardian_meta) {
&IDS::set_ownership("$IDS::modify_sids_file");
#
## Step 6: Move rulestarball to its new location.
## Step 7: Move rulestarball to its new location.
#
# Check if a rulestarball has been downloaded yet.
@@ -230,7 +265,7 @@ if (-f $snort_rules_tarball) {
}
#
## Step 7: Call oinkmaster to extract and setup the rules structures.
## Step 8: Call oinkmaster to extract and setup the rules structures.
#
# Check if a rulestarball is present.
@@ -243,7 +278,7 @@ if (-f $IDS::rulestarball) {
}
#
## Step 8: Generate file for the HOME Net.
## Step 9: Generate file for the HOME Net.
#
# Call subfunction to generate the file.
@@ -253,7 +288,7 @@ if (-f $IDS::rulestarball) {
&IDS::set_ownership("$IDS::homenet_file");
#
## Step 9: Generate file for the DNS servers.
## Step 10: Generate file for the DNS servers.
#
# Call subfunction to generate the file.
@@ -263,7 +298,7 @@ if (-f $IDS::rulestarball) {
&IDS::set_ownership("$IDS::dns_servers_file");
#
## Step 10: Setup automatic ruleset updates.
## Step 11: Setup automatic ruleset updates.
#
# Check if a ruleset is configured.
@@ -273,7 +308,7 @@ if($rulessettings{"RULES"}) {
}
#
## Step 11: Grab used ruleset files from snort config file and convert
## Step 12: Grab used ruleset files from snort config file and convert
## them into the new format.
#
@@ -319,7 +354,7 @@ close(SNORTCONF);
&IDS::write_used_rulefiles_file(@enabled_rule_files);
#
## Step 12: Start the IDS if enabled.
## Step 13: Start the IDS if enabled.
#
# Check if the IDS should be started.

View File

@@ -1522,7 +1522,7 @@ WARNING: untranslated string: quick playlist = Quick Playlist
WARNING: untranslated string: ram = RAM
WARNING: untranslated string: random number generator daemon = Random Number Generator Daemon
WARNING: untranslated string: rdns = rDNS
WARNING: untranslated string: read bytes = Read Bytes
WARNING: untranslated string: read bytes = Bytes Read
WARNING: untranslated string: read list = list with readonly hosts
WARNING: untranslated string: real address = Real Address
WARNING: untranslated string: reboot = Reboot
@@ -2204,7 +2204,7 @@ WARNING: untranslated string: wlanap wlan settings = WLan Settings
WARNING: untranslated string: wlanap wlan status = WLan Status
WARNING: untranslated string: wol wakeup = WakeUp
WARNING: untranslated string: workgroup = Workgroup
WARNING: untranslated string: written bytes = Writen Bytes
WARNING: untranslated string: written bytes = Bytes Written
WARNING: untranslated string: year = Year
WARNING: untranslated string: yes = Yes
WARNING: untranslated string: you can only define one roadwarrior connection when using pre-shared key authentication = You can only define one Roadwarrior connection when using pre-shared key authentication.<br />Either you already have a Roadwarrior connection with pre-shared key authentication, or you're trying to add one now.

View File

@@ -2070,7 +2070,7 @@
'ram' => 'RAM',
'random number generator daemon' => 'Random Number Generator Daemon',
'rdns' => 'rDNS',
'read bytes' => 'Read Bytes',
'read bytes' => 'Bytes Read',
'read list' => 'list with readonly hosts',
'real address' => 'Real Address',
'reboot' => 'Reboot',
@@ -2940,7 +2940,7 @@
'wlanap wlan status' => 'WLan Status',
'wol wakeup' => 'WakeUp',
'workgroup' => 'Workgroup',
'written bytes' => 'Writen Bytes',
'written bytes' => 'Bytes Written',
'xtaccess all error' => 'You cannot set an external access to ALL, that is done in the port forwarding record.',
'xtaccess bad transfert' => 'If you specify a port destination range, the source range must be identical !',
'year' => 'Year',

View File

@@ -25,7 +25,7 @@
include Config
VER = 9.11.14
VER = 9.11.13
THISAPP = bind-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 5aa75bcb6cdad102f151cae4a53f117f
$(DL_FILE)_MD5 = 17de0d024ab1eac377f1c2854dc25057
install : $(TARGET)

View File

@@ -24,7 +24,7 @@
include Config
VER = 35
VER = 37
THISAPP = efivar-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 53da18ea0cf7bba1fd9edf3098037edf
$(DL_FILE)_MD5 = 9f067275c5f7aafdd75bfb364280ac9c
install : $(TARGET)
@@ -72,6 +72,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/efivar-37-compile-fixes-1.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/efivar-37-compile-fixes-2.patch
cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKETUNING)
cd $(DIR_APP) && make install

12
lfs/gcc
View File

@@ -24,11 +24,11 @@
include Config
VER = 8.3.0
VER = 9.2.0
GMP_VER = 6.1.2
MPFR_VER = 3.1.6
MPC_VER = 1.0.3
MPFR_VER = 4.0.2
MPC_VER = 1.1.0
THISAPP = gcc-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -189,10 +189,10 @@ gmp-$(GMP_VER).tar.xz = $(DL_FROM)/gmp-$(GMP_VER).tar.xz
mpfr-$(MPFR_VER).tar.xz = $(DL_FROM)/mpfr-$(MPFR_VER).tar.xz
mpc-$(MPC_VER).tar.gz = $(DL_FROM)/mpc-$(MPC_VER).tar.gz
$(DL_FILE)_MD5 = 65b210b4bfe7e060051f799e0f994896
$(DL_FILE)_MD5 = 3818ad8600447f05349098232c2ddc78
gmp-$(GMP_VER).tar.xz_MD5 = f58fa8001d60c4c77595fbbb62b63c1d
mpfr-$(MPFR_VER).tar.xz_MD5 = 51bfdbf81553966c8d43808122cc81b3
mpc-$(MPC_VER).tar.gz_MD5 = d6a1d5f8ddea3abd2cc3e98f58352d26
mpfr-$(MPFR_VER).tar.xz_MD5 = 320fbc4463d4c8cb1e566929d8adc4f8
mpc-$(MPC_VER).tar.gz_MD5 = 4125404e41e482ec68282a2e687f6c73
install : $(TARGET)

View File

@@ -71,6 +71,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glib-2.54.3-compile-fixes-1.patch
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
--with-pcre=system
cd $(DIR_APP) && make $(MAKETUNING)

View File

@@ -24,7 +24,7 @@
include Config
VER = 1.0.3
VER = 1.1.0
THISAPP = mpc-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = d6a1d5f8ddea3abd2cc3e98f58352d26
$(DL_FILE)_MD5 = 4125404e41e482ec68282a2e687f6c73
install : $(TARGET)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# #
# 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 = 2.4.0
VER = 2.4.2
THISAPP = libseccomp-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libseccomp
PAK_VER = 1
PAK_VER = 2
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 91625d78af26c646b03be3de58e71988
$(DL_FILE)_MD5 = ee87fb68ae293883bde9e042c6bc324f
install : $(TARGET)

View File

@@ -24,7 +24,7 @@
include Config
VER = 4.0
VER = 4.1
THISAPP = mdadm-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 2cb4feffea9167ba71b5f346a0c0a40d
$(DL_FILE)_MD5 = 51bf3651bd73a06c413a2f964f299598
install : $(TARGET)
@@ -73,7 +73,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/mdadm/gcc-7.patch
cd $(DIR_APP) && sed 's@-Werror@@' -i Makefile
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)

View File

@@ -24,7 +24,7 @@
include Config
VER = 3.1.5
VER = 4.0.2
THISAPP = mpfr-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = c4ac246cf9795a4491e7766002cd528f
$(DL_FILE)_MD5 = 320fbc4463d4c8cb1e566929d8adc4f8
install : $(TARGET)

View File

@@ -24,7 +24,7 @@
include Config
VER = 10.2.0-7253323
VER = 11.0.0-14549434
THISAPP = open-vm-tools-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = x86_64 i586
PROG = openvmtools
PAK_VER = 3
PAK_VER = 4
DEPS = ""
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 9256c2402640ad19eb79cf49635e01b5
$(DL_FILE)_MD5 = d3d4e23b143c921f1afc90e5331d3a70
install : $(TARGET)

10
lfs/tor
View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2019 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# #
# 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 = 0.4.1.6
VER = 0.4.2.5
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 = 44
PAK_VER = 45
DEPS = "libseccomp"
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = d5e290d2a09d4225693cebc37a83097f
$(DL_FILE)_MD5 = ea9e9078ff2e175332f0095c60284458
install : $(TARGET)
@@ -107,7 +107,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -v -m 644 $(DIR_SRC)/config/tor/defaults-torrc \
/usr/share/tor/defaults-torrc
#install initscripts
# Install initscripts
$(call INSTALL_INITSCRIPT,tor)
# Install start links and backup include file.

View File

@@ -0,0 +1,56 @@
From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 7 Jan 2019 10:30:59 -0500
Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers
safely.
GCC 9 adds -Werror=address-of-packed-member, which causes us to see the
build error reported at
https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 .
That bug report shows us the following:
In file included from dp.c:26:
dp.h: In function 'format_vendor_helper':
dp.h:120:37: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
dp.h:74:25: note: in definition of macro 'format_guid'
74 | _rc = efi_guid_to_str(guid, &_guidstr); \
| ^~~~
cc1: all warnings being treated as errors
This patch makes format_guid() use a local variable as a bounce buffer
in the case that the guid we're passed is aligned as chaotic neutral.
Note that this only fixes this instance and there may be others that bz
didn't show because it exited too soon, and I don't have a gcc 9 build
in front of me right now.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/dp.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/dp.h b/src/dp.h
index aa4e390..20cb608 100644
--- a/src/dp.h
+++ b/src/dp.h
@@ -70,8 +70,15 @@
#define format_guid(buf, size, off, dp_type, guid) ({ \
int _rc; \
char *_guidstr = NULL; \
- \
- _rc = efi_guid_to_str(guid, &_guidstr); \
+ efi_guid_t _guid; \
+ const efi_guid_t * const _guid_p = \
+ likely(__alignof__(guid) == sizeof(guid)) \
+ ? guid \
+ : &_guid; \
+ \
+ if (unlikely(__alignof__(guid) == sizeof(guid))) \
+ memmove(&_guid, guid, sizeof(_guid)); \
+ _rc = efi_guid_to_str(_guid_p, &_guidstr); \
if (_rc < 0) { \
efi_error("could not build %s GUID DP string", \
dp_type); \

View File

@@ -0,0 +1,168 @@
From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 21 Feb 2019 15:20:12 -0500
Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches.
This gets rid of all the places GCC 9's -Werror=address-of-packed-member
flags as problematic.
Fixes github issue #123
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/dp-message.c | 6 ++++--
src/dp.h | 12 ++++--------
src/guid.c | 2 +-
src/include/efivar/efivar.h | 2 +-
src/ucs2.h | 27 +++++++++++++++++++--------
5 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/src/dp-message.c b/src/dp-message.c
index 3724e5f..9f96466 100644
--- a/src/dp-message.c
+++ b/src/dp-message.c
@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
) / sizeof(efi_ip_addr_t);
format(buf, size, off, "Dns", "Dns(");
for (int i=0; i < end; i++) {
- const efi_ip_addr_t *addr = &dp->dns.addrs[i];
+ efi_ip_addr_t addr;
+
+ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr));
if (i != 0)
format(buf, size, off, "Dns", ",");
format_ip_addr(buf, size, off, "Dns",
- dp->dns.is_ipv6, addr);
+ dp->dns.is_ipv6, &addr);
}
format(buf, size, off, "Dns", ")");
break;
diff --git a/src/dp.h b/src/dp.h
index 20cb608..1f921d5 100644
--- a/src/dp.h
+++ b/src/dp.h
@@ -71,13 +71,9 @@
int _rc; \
char *_guidstr = NULL; \
efi_guid_t _guid; \
- const efi_guid_t * const _guid_p = \
- likely(__alignof__(guid) == sizeof(guid)) \
- ? guid \
- : &_guid; \
- \
- if (unlikely(__alignof__(guid) == sizeof(guid))) \
- memmove(&_guid, guid, sizeof(_guid)); \
+ const efi_guid_t * const _guid_p = &_guid; \
+ \
+ memmove(&_guid, guid, sizeof(_guid)); \
_rc = efi_guid_to_str(_guid_p, &_guidstr); \
if (_rc < 0) { \
efi_error("could not build %s GUID DP string", \
@@ -86,7 +82,7 @@
_guidstr = onstack(_guidstr, \
strlen(_guidstr)+1); \
_rc = format(buf, size, off, dp_type, "%s", \
- _guidstr); \
+ _guidstr); \
} \
_rc; \
})
diff --git a/src/guid.c b/src/guid.c
index 306c9ff..3156b3b 100644
--- a/src/guid.c
+++ b/src/guid.c
@@ -31,7 +31,7 @@
extern const efi_guid_t efi_guid_zero;
int NONNULL(1, 2) PUBLIC
-efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b)
+efi_guid_cmp(const void * const a, const void * const b)
{
return memcmp(a, b, sizeof (efi_guid_t));
}
diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h
index 316891c..ad6449d 100644
--- a/src/include/efivar/efivar.h
+++ b/src/include/efivar/efivar.h
@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid)
extern int efi_guid_is_zero(const efi_guid_t *guid);
extern int efi_guid_is_empty(const efi_guid_t *guid);
-extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b);
+extern int efi_guid_cmp(const void * const a, const void * const b);
/* import / export functions */
typedef struct efi_variable efi_variable_t;
diff --git a/src/ucs2.h b/src/ucs2.h
index dbb5900..edd8367 100644
--- a/src/ucs2.h
+++ b/src/ucs2.h
@@ -23,16 +23,21 @@
(((val) & ((mask) << (shift))) >> (shift))
static inline size_t UNUSED
-ucs2len(const uint16_t * const s, ssize_t limit)
+ucs2len(const void *vs, ssize_t limit)
{
ssize_t i;
- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++)
+ const uint16_t *s = vs;
+ const uint8_t *s8 = vs;
+
+ for (i = 0;
+ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0;
+ i++, s8 += 2, s++)
;
return i;
}
static inline size_t UNUSED
-ucs2size(const uint16_t * const s, ssize_t limit)
+ucs2size(const void *s, ssize_t limit)
{
size_t rc = ucs2len(s, limit);
rc *= sizeof (uint16_t);
@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit)
}
static inline unsigned char * UNUSED
-ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
+ucs2_to_utf8(const void * const voidchars, ssize_t limit)
{
ssize_t i, j;
unsigned char *ret;
+ const uint16_t * const chars = voidchars;
if (limit < 0)
limit = ucs2len(chars, -1);
@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
}
static inline ssize_t UNUSED NONNULL(4)
-utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
+utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8)
{
ssize_t req;
ssize_t i, j;
+ uint16_t *ucs2 = ucs2void;
+ uint16_t val16;
if (!ucs2 && size > 0) {
errno = EINVAL;
@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
val = utf8[i] & 0x7f;
i += 1;
}
- ucs2[j] = val;
+ val16 = val;
+ ucs2[j] = val16;
+ }
+ if (terminate) {
+ val16 = 0;
+ ucs2[j++] = val16;
}
- if (terminate)
- ucs2[j++] = (uint16_t)0;
return j;
};

View File

@@ -0,0 +1,71 @@
From 566e1d61a500267c7849ad0b2552feec9c9a29a6 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Tue, 29 Jan 2019 09:50:46 +0100
Subject: [PATCH] gdbus: Avoid printing null strings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This mostly affects the 2.56 branch, but, given that GCC 9 is being
stricter about passing null string pointers to printf-like functions, it
might make sense to proactively fix such calls.
gdbusauth.c: In function '_g_dbus_auth_run_server':
gdbusauth.c:1302:11: error: '%s' directive argument is null
[-Werror=format-overflow=]
1302 | debug_print ("SERVER: WaitingForBegin, read '%s'",
line);
|
gdbusmessage.c: In function g_dbus_message_to_blob:
gdbusmessage.c:2730:30: error: %s directive argument is null [-Werror=format-overflow=]
2730 | tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
|
---
gio/gdbusauth.c | 2 +-
gio/gdbusmessage.c | 5 ++---
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c
index 1f8ea8057..752ec23fc 100644
--- a/gio/gdbusauth.c
+++ b/gio/gdbusauth.c
@@ -1272,9 +1272,9 @@ _g_dbus_auth_run_server (GDBusAuth *auth,
&line_length,
cancellable,
error);
- debug_print ("SERVER: WaitingForBegin, read '%s'", line);
if (line == NULL)
goto out;
+ debug_print ("SERVER: WaitingForBegin, read '%s'", line);
if (g_strcmp0 (line, "BEGIN") == 0)
{
/* YAY, done! */
diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c
index 3221b925d..3a1a1f9e9 100644
--- a/gio/gdbusmessage.c
+++ b/gio/gdbusmessage.c
@@ -2731,7 +2731,6 @@ g_dbus_message_to_blob (GDBusMessage *message,
if (message->body != NULL)
{
gchar *tupled_signature_str;
- tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
if (signature == NULL)
{
g_set_error (error,
@@ -2739,10 +2738,10 @@ g_dbus_message_to_blob (GDBusMessage *message,
G_IO_ERROR_INVALID_ARGUMENT,
_("Message body has signature “%s” but there is no signature header"),
signature_str);
- g_free (tupled_signature_str);
goto out;
}
- else if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0)
+ tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
+ if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0)
{
g_set_error (error,
G_IO_ERROR,
--
2.22.0

View File

@@ -1,12 +0,0 @@
diff -Naur mdadm-4.0.org/Makefile mdadm-4.0/Makefile
--- mdadm-4.0.org/Makefile 2017-01-09 22:46:34.000000000 +0100
+++ mdadm-4.0/Makefile 2018-01-19 11:18:42.868219725 +0100
@@ -43,7 +43,7 @@
CC ?= $(CROSS_COMPILE)gcc
CXFLAGS ?= -ggdb
-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
+CWFLAGS = -Wall -Werror -Werror=implicit-fallthrough=0 -Werror=format-overflow=0 -Werror=format-truncation=0 -Wstrict-prototypes -Wextra -Wno-unused-parameter
ifdef WARN_UNUSED
CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
endif