In RHEL and its clones, /usr/bin/Xorg is set suid-root. To execute
Xorg with user privileges, /etc/pam.d/xserver needs be edited [1],
or suid bit of Xorg binary needs to be dropped.
In order to keep Xorg and /etc/pam.d/xserver untouched, preparing
non-suid version of Xorg as /usr/bin/Xorg.non-suid for example is
the simplest solution. However, Xorg.non-suid cannot be executed
since it is hardcoded to execute Xorg in sesman.
This change makes more flexible to execute Xorg with non-standard
name or not in PATH environment variable.
[1] https://www.centos.org/forums/viewtopic.php?t=21185
Add Autoconf archive macros to check for -Wall and its dependencies.
Adjust m4/.gitignore to only ignore libtool macros.
Require Autoconf 2.65 for compatibility with Autoconf archive macros.
Use install-data-hook to ensure restrictive permissions on rsakeys.ini.
Don't create rsakeys.ini in init scripts. This makes xrdp functional upon
"make install" without relying on the init scripts.
Packagers should not package rsakeys.ini, it should be created when the
package is installed.
Discovered in #321. The number of argument for pa_rtpoll_run have
been changed since 6.0.
>=6.0 : int pa_rtpoll_run(pa_rtpoll *f);
<6.0 : int pa_rtpoll_run(pa_rtpoll *f, bool wait);
Check pulseaudio version by PA_CHECK_VERSION macro introduced since
pulseaudio 0.9.16. In case PA_CHECK_VERSION is not defined,
pa_rtpoll_run takes 2 arguments.
tm_mon in `struct tm` uses 0 for January.
`struct session_data` and `struct SCP_DISCONNECTED_SESSION` don't specify
how dates are stored. But considering the code in sestest and sesadmin,
all date components are stored as displayed.
libdir is for shared and static libraries. Some xrdp libraries are loaded
dynamically from a non-standard directory, so they are used like modules.
Having separate libdir and moduledir would eventually allow to separate
dynamically loaded modules from shared libraries.