Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
savoirfairelinux
jami-daemon
Commits
edd64c89
Commit
edd64c89
authored
Aug 09, 2012
by
Alexandre Savard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#14530: Validate environment variable from getenv in slfphoned
parent
0d09e0c7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
15 deletions
+15
-15
daemon/src/fileutils.cpp
daemon/src/fileutils.cpp
+2
-2
daemon/src/fileutils.h
daemon/src/fileutils.h
+8
-4
daemon/src/history/history.cpp
daemon/src/history/history.cpp
+2
-5
daemon/src/managerimpl.cpp
daemon/src/managerimpl.cpp
+3
-4
No files found.
daemon/src/fileutils.cpp
View file @
edd64c89
...
...
@@ -78,8 +78,8 @@ const char *get_data_dir()
bool
create_pidfile
()
{
const
char
*
const
xdg_env
=
XDG_CACHE_HOME
;
std
::
string
path
=
xdg_env
?
xdg_env
:
std
::
string
(
HOMEDIR
)
+
DIR_SEPARATOR_STR
".cache/"
;
std
::
string
xdg_env
(
XDG_CACHE_HOME
)
;
std
::
string
path
=
(
not
xdg_env
.
empty
())
?
xdg_env
:
std
::
string
(
HOMEDIR
)
+
DIR_SEPARATOR_STR
".cache/"
;
if
(
!
check_dir
(
path
.
c_str
()))
return
false
;
...
...
daemon/src/fileutils.h
View file @
edd64c89
...
...
@@ -31,10 +31,14 @@
#ifndef FILEUTILS_H_
#define FILEUTILS_H_
#define HOMEDIR (getenv ("HOME"))
/** Home directory */
#define XDG_DATA_HOME (getenv ("XDG_DATA_HOME"))
#define XDG_CONFIG_HOME (getenv ("XDG_CONFIG_HOME"))
#define XDG_CACHE_HOME (getenv ("XDG_CACHE_HOME"))
#define PROTECTED_GETENV(str) ({char *envvar_ = getenv((str)); \
envvar_ ? envvar_ : "";})
#define HOMEDIR (PROTECTED_GETENV("HOME"))
#define XDG_DATA_HOME (PROTECTED_GETENV("XDG_DATA_HOME"))
#define XDG_CONFIG_HOME (PROTECTED_GETENV("XDG_CONFIG_HOME"))
#define XDG_CACHE_HOME (PROTECTED_GETENV("XDG_CACHE_HOME"))
#define PIDFILE "sfl.pid"
...
...
daemon/src/history/history.cpp
View file @
edd64c89
...
...
@@ -92,11 +92,8 @@ void History::ensurePath()
string
userdata
;
// If the environment variable is set (not null and not empty), we'll use it to save the history
// Else we 'll the standard one, ie: XDG_DATA_HOME = $HOMEDIR/.local/share/sflphone
if
(
XDG_DATA_HOME
!=
NULL
)
{
string
xdg_env
(
XDG_DATA_HOME
);
(
!
xdg_env
.
empty
())
?
userdata
=
xdg_env
:
userdata
=
xdg_data
;
}
else
userdata
=
xdg_data
;
string
xdg_env
(
XDG_DATA_HOME
);
(
not
xdg_env
.
empty
())
?
userdata
=
xdg_env
:
userdata
=
xdg_data
;
if
(
mkdir
(
userdata
.
data
(),
0755
)
!=
0
)
{
// If directory creation failed
...
...
daemon/src/managerimpl.cpp
View file @
edd64c89
...
...
@@ -1779,10 +1779,9 @@ std::string ManagerImpl::createConfigFile() const
std
::
string
configdir
=
std
::
string
(
HOMEDIR
)
+
DIR_SEPARATOR_STR
+
".config"
+
DIR_SEPARATOR_STR
+
PACKAGE
;
if
(
XDG_CONFIG_HOME
!=
NULL
)
{
std
::
string
xdg_env
(
XDG_CONFIG_HOME
);
if
(
not
xdg_env
.
empty
())
configdir
=
xdg_env
;
std
::
string
xdg_env
(
XDG_CONFIG_HOME
);
if
(
not
xdg_env
.
empty
())
{
configdir
=
xdg_env
;
}
if
(
mkdir
(
configdir
.
data
(),
0700
)
!=
0
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment