Accepting request 641394 from home:kbabioch:branches:hardware
- Added wpa-supplicant-log-file-permission.patch: Fixes the default file permissions of the debug log file to more sane values, i.e. it is no longer world-readable (bsc#1098854). - Added wpa-supplicant-log-file-cloexec.patch: Open the debug log file with O_CLOEXEC, which will prevent file descriptor leaking to child processes (bsc#1098854). OBS-URL: https://build.opensuse.org/request/show/641394 OBS-URL: https://build.opensuse.org/package/show/hardware/wpa_supplicant?expand=0&rev=84
This commit is contained in:
parent
64ca2f5a03
commit
ce6e50550e
48
wpa-supplicant-log-file-cloexec.patch
Normal file
48
wpa-supplicant-log-file-cloexec.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 1c7db928d6e7bbe3e1ffa029b1ce28e65ab53e8a Mon Sep 17 00:00:00 2001
|
||||
In-Reply-To: <20181011202010.29226-2-karol@babioch.de>
|
||||
References: <20181011202010.29226-2-karol@babioch.de>
|
||||
From: Karol Babioch <karol@babioch.de>
|
||||
Date: Thu, 11 Oct 2018 21:22:03 +0200
|
||||
Subject: [PATCH v2 2/2] Enable the close-on-exec flag for the debug log file
|
||||
descriptor
|
||||
|
||||
On Linux this flag will make sure that no file descriptor is accidentally
|
||||
leaked into potential child processes. While this is not a problem right now,
|
||||
it is considered to be good practice these days when dealing with file
|
||||
descriptors on the Linux.
|
||||
|
||||
Signed-off-by: Karol Babioch <karol@babioch.de>
|
||||
---
|
||||
src/utils/wpa_debug.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/src/utils/wpa_debug.c b/src/utils/wpa_debug.c
|
||||
index b412f88e3..9d159632d 100644
|
||||
--- a/src/utils/wpa_debug.c
|
||||
+++ b/src/utils/wpa_debug.c
|
||||
@@ -60,6 +60,9 @@ static int wpa_to_android_level(int level)
|
||||
#ifdef CONFIG_DEBUG_FILE
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
+#ifdef __linux__
|
||||
+#include <fcntl.h>
|
||||
+#endif /* __linux__ */
|
||||
|
||||
static int out_fd = -1;
|
||||
static FILE *out_file = NULL;
|
||||
@@ -567,6 +570,12 @@ int wpa_debug_open_file(const char *path)
|
||||
return -1;
|
||||
}
|
||||
|
||||
+#ifdef __linux__
|
||||
+ if (fcntl(out_fd, F_SETFD, FD_CLOEXEC) == -1) {
|
||||
+ wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to set O_CLOEXEC "
|
||||
+ "on output file descriptor, using standard output");
|
||||
+ }
|
||||
+#endif /* __linux__ */
|
||||
#ifndef _WIN32
|
||||
setvbuf(out_file, NULL, _IOLBF, 0);
|
||||
#endif /* _WIN32 */
|
||||
--
|
||||
2.19.1
|
||||
|
74
wpa-supplicant-log-file-permission.patch
Normal file
74
wpa-supplicant-log-file-permission.patch
Normal file
@ -0,0 +1,74 @@
|
||||
From e0e2be52057628965a4bcce2900913bc82ed011e Mon Sep 17 00:00:00 2001
|
||||
In-Reply-To: <20181011202010.29226-2-karol@babioch.de>
|
||||
References: <20181011202010.29226-2-karol@babioch.de>
|
||||
From: Karol Babioch <karol@babioch.de>
|
||||
Date: Thu, 11 Oct 2018 21:21:30 +0200
|
||||
Subject: [PATCH v2 1/2] Create debug log file with more sane file permissions
|
||||
|
||||
Previously the file permissions for the debug log file were not explicitly set.
|
||||
Instead it was implicitly relying on a secure umask, which in most cases would
|
||||
result in a file that is world-readable. This is a violation of good
|
||||
practices, since not very user of a file should have access to sensitive
|
||||
information that might be contained in the debug log file.
|
||||
|
||||
This commit will explicitly set sane default file permissions in case
|
||||
the file is newly created.
|
||||
|
||||
Unfortunately the fopen(3) function does not provide such a facility, so the
|
||||
approach needs to be changed in the following way:
|
||||
|
||||
1.) The file descriptor needs to be created manually using the open(3)
|
||||
function with the correct flags and the desired mode set.
|
||||
|
||||
2.) fdopen(3) can then be used on the file descriptor to associate a
|
||||
file stream with it.
|
||||
|
||||
Note: This modification will not change the file permissions of any already
|
||||
existing debug log files, and only applies to newly created ones.
|
||||
|
||||
Signed-off-by: Karol Babioch <karol@babioch.de>
|
||||
---
|
||||
src/utils/wpa_debug.c | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/utils/wpa_debug.c b/src/utils/wpa_debug.c
|
||||
index 62758d864..b412f88e3 100644
|
||||
--- a/src/utils/wpa_debug.c
|
||||
+++ b/src/utils/wpa_debug.c
|
||||
@@ -58,6 +58,10 @@ static int wpa_to_android_level(int level)
|
||||
#ifndef CONFIG_NO_STDOUT_DEBUG
|
||||
|
||||
#ifdef CONFIG_DEBUG_FILE
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
+static int out_fd = -1;
|
||||
static FILE *out_file = NULL;
|
||||
#endif /* CONFIG_DEBUG_FILE */
|
||||
|
||||
@@ -548,12 +552,21 @@ int wpa_debug_open_file(const char *path)
|
||||
last_path = os_strdup(path);
|
||||
}
|
||||
|
||||
- out_file = fopen(path, "a");
|
||||
+ out_fd = open(path, O_CREAT | O_APPEND, S_IRUSR | S_IWUSR | S_IRGRP);
|
||||
+ if (out_fd < 0) {
|
||||
+ wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open "
|
||||
+ "output file descriptor, using standard output");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ out_file = fdopen(out_fd, "a");
|
||||
if (out_file == NULL) {
|
||||
wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open "
|
||||
"output file, using standard output");
|
||||
+ close(out_fd);
|
||||
return -1;
|
||||
}
|
||||
+
|
||||
#ifndef _WIN32
|
||||
setvbuf(out_file, NULL, _IOLBF, 0);
|
||||
#endif /* _WIN32 */
|
||||
--
|
||||
2.19.1
|
||||
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 12 06:55:06 UTC 2018 - Karol Babioch <kbabioch@suse.com>
|
||||
|
||||
- Added wpa-supplicant-log-file-permission.patch: Fixes the default file
|
||||
permissions of the debug log file to more sane values, i.e. it is no longer
|
||||
world-readable (bsc#1098854).
|
||||
- Added wpa-supplicant-log-file-cloexec.patch: Open the debug log file with
|
||||
O_CLOEXEC, which will prevent file descriptor leaking to child processes
|
||||
(bsc#1098854).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 11 11:58:33 UTC 2018 - Karol Babioch <kbabioch@suse.com>
|
||||
|
||||
|
@ -52,6 +52,8 @@ Patch17: rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Respons
|
||||
Patch18: wpa_supplicant-bnc-1099835-fix-private-key-password.patch
|
||||
Patch19: wpa_supplicant-bnc-1099835-clear-default_passwd_cb.patch
|
||||
Patch20: rebased-v2.6-0009-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch
|
||||
Patch21: wpa-supplicant-log-file-permission.patch
|
||||
Patch22: wpa-supplicant-log-file-cloexec.patch
|
||||
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkgconfig
|
||||
@ -101,6 +103,8 @@ cp %{SOURCE1} wpa_supplicant/.config
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
|
||||
%build
|
||||
cd wpa_supplicant
|
||||
|
Loading…
x
Reference in New Issue
Block a user