Merge pull request #454 from metalefty/change-chansrv-log-path

chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
This commit is contained in:
metalefty 2016-11-07 09:56:31 +09:00 committed by GitHub
commit 94901c9989
2 changed files with 41 additions and 1 deletions

View File

@ -36,7 +36,7 @@ UNIX socket used by external programs to implement channels.
.I /tmp/.xrdp/xrdp_api_*
UNIX socket used by \fBxrdp\-chansrv\fP to communicate with \fBxrdp\-sesman\fP.
.TP
.I $HOME/xrdp-chansrv.log
.I $XDG_DATA_HOME/xrdp/xrdp-chansrv.log
Log file used by \fBxrdp\-chansrv\fP(8).
.SH "SEE ALSO"

View File

@ -1391,12 +1391,52 @@ static char* APP_CC
get_log_path()
{
char* log_path = 0;
char* cp = 0;
log_path = g_getenv("CHANSRV_LOG_PATH");
if (log_path == 0)
{
log_path = g_getenv("XDG_DATA_HOME");
if (log_path != 0)
{
cp = malloc(strlen(log_path) + strlen("/xrdp") + 1);
if (cp != 0)
{
memcpy(cp, log_path, strlen(log_path));
memcpy(cp + strlen(log_path), "/xrdp", strlen("/xrdp") + 1);
if (g_directory_exist(cp) || g_mkdir(cp))
{
log_path = cp;
}
else
{
free(cp);
}
}
}
}
if (log_path == 0)
{
log_path = g_getenv("HOME");
if (log_path != 0)
{
cp = malloc(strlen(log_path) + strlen("/.local/share/xrdp") + 1);
if (cp != 0)
{
memcpy(cp, log_path, strlen(log_path));
memcpy(cp + strlen(log_path), "/.local/share/xrdp", strlen("/.local/share/xrdp") + 1);
if (g_directory_exist(cp) || g_mkdir(cp))
log_path = cp;
else
free(cp);
}
}
}
return log_path;
}