91 lines
2.8 KiB
Diff
91 lines
2.8 KiB
Diff
|
From d68db9f2cee975aad5e07b44485615f3d842ab45 Mon Sep 17 00:00:00 2001
|
||
|
From: Darik Horn <dajhorn@vanadac.com>
|
||
|
Date: Fri, 11 Jul 2014 16:17:18 -0400
|
||
|
Subject: [PATCH] Change GetExeDir to GetStateDir in Cedar and Mayaqua.
|
||
|
|
||
|
Resolve this AppArmor error by ensuring that certificate files files are
|
||
|
written into /var/lib/softether instead of the current working directory:
|
||
|
|
||
|
Profile: /usr/sbin/softetherd
|
||
|
Operation: mkdir
|
||
|
Name: /usr/sbin/chain_certs
|
||
|
Denied: c
|
||
|
Logfile: /var/log/kern.log
|
||
|
|
||
|
type=1400 audit: apparmor="DENIED" operation="mkdir" profile="/usr/sbin/softetherd" name="/usr/sbin/chain_certs/" pid=36448 comm="softetherd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
|
||
|
|
||
|
Taken from Github
|
||
|
https://github.com/dajhorn/SoftEtherVPN/commit/d68db9f2cee975aad5e07b44485615f3d842ab45.
|
||
|
|
||
|
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
---
|
||
|
src/Cedar/Protocol.c | 12 ++++++------
|
||
|
src/Mayaqua/Network.c | 6 +++---
|
||
|
2 files changed, 9 insertions(+), 9 deletions(-)
|
||
|
|
||
|
Index: b/src/Cedar/Protocol.c
|
||
|
===================================================================
|
||
|
--- a/src/Cedar/Protocol.c
|
||
|
+++ b/src/Cedar/Protocol.c
|
||
|
@@ -161,10 +161,10 @@
|
||
|
UINT i;
|
||
|
DIRLIST *dir;
|
||
|
wchar_t dirname[MAX_SIZE];
|
||
|
- wchar_t exedir[MAX_SIZE];
|
||
|
+ wchar_t statedir[MAX_SIZE];
|
||
|
|
||
|
- GetExeDirW(exedir, sizeof(exedir));
|
||
|
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||
|
+ GetStateDirW(statedir, sizeof(statedir));
|
||
|
+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs");
|
||
|
MakeDirExW(dirname);
|
||
|
|
||
|
if (auto_save)
|
||
|
@@ -461,7 +461,7 @@
|
||
|
void AddAllChainCertsToCertList(LIST *o)
|
||
|
{
|
||
|
wchar_t dirname[MAX_SIZE];
|
||
|
- wchar_t exedir[MAX_SIZE];
|
||
|
+ wchar_t statedir[MAX_SIZE];
|
||
|
DIRLIST *dir;
|
||
|
// Validate arguments
|
||
|
if (o == NULL)
|
||
|
@@ -469,9 +469,9 @@
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- GetExeDirW(exedir, sizeof(exedir));
|
||
|
+ GetStateDirW(statedir, sizeof(statedir));
|
||
|
|
||
|
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||
|
+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs");
|
||
|
|
||
|
MakeDirExW(dirname);
|
||
|
|
||
|
Index: b/src/Mayaqua/Network.c
|
||
|
===================================================================
|
||
|
--- a/src/Mayaqua/Network.c
|
||
|
+++ b/src/Mayaqua/Network.c
|
||
|
@@ -12588,7 +12588,7 @@
|
||
|
void AddChainSslCertOnDirectory(struct ssl_ctx_st *ctx)
|
||
|
{
|
||
|
wchar_t dirname[MAX_SIZE];
|
||
|
- wchar_t exedir[MAX_SIZE];
|
||
|
+ wchar_t statedir[MAX_SIZE];
|
||
|
wchar_t txtname[MAX_SIZE];
|
||
|
DIRLIST *dir;
|
||
|
LIST *o;
|
||
|
@@ -12602,9 +12602,9 @@
|
||
|
|
||
|
o = NewListFast(NULL);
|
||
|
|
||
|
- GetExeDirW(exedir, sizeof(exedir));
|
||
|
+ GetStateDirW(statedir, sizeof(statedir));
|
||
|
|
||
|
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||
|
+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs");
|
||
|
|
||
|
MakeDirExW(dirname);
|
||
|
|