fix warnings, move some calls to os_calls
This commit is contained in:
parent
38241f2a0b
commit
689ffe79d9
@ -2832,6 +2832,28 @@ g_setuid(int pid)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
int APP_CC
|
||||||
|
g_setsid(void)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
return -1;
|
||||||
|
#else
|
||||||
|
return setsid();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
int APP_CC
|
||||||
|
g_setlogin(const char *name)
|
||||||
|
{
|
||||||
|
#ifdef BSD
|
||||||
|
return setlogin(name);
|
||||||
|
#else
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* does not work in win32
|
/* does not work in win32
|
||||||
returns pid of process that exits or zero if signal occurred */
|
returns pid of process that exits or zero if signal occurred */
|
||||||
|
@ -156,6 +156,8 @@ int APP_CC g_initgroups(const char* user, int gid);
|
|||||||
int APP_CC g_getuid(void);
|
int APP_CC g_getuid(void);
|
||||||
int APP_CC g_getgid(void);
|
int APP_CC g_getgid(void);
|
||||||
int APP_CC g_setuid(int pid);
|
int APP_CC g_setuid(int pid);
|
||||||
|
int APP_CC g_setsid(void);
|
||||||
|
int APP_CC g_setlogin(const char *name);
|
||||||
int APP_CC g_waitchild(void);
|
int APP_CC g_waitchild(void);
|
||||||
int APP_CC g_waitpid(int pid);
|
int APP_CC g_waitpid(int pid);
|
||||||
void APP_CC g_clearenv(void);
|
void APP_CC g_clearenv(void);
|
||||||
|
@ -136,7 +136,8 @@ int DEFAULT_CC
|
|||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
enum logReturns error;
|
enum logReturns log_error;
|
||||||
|
int error;
|
||||||
int daemon = 1;
|
int daemon = 1;
|
||||||
int pid;
|
int pid;
|
||||||
char pid_s[32];
|
char pid_s[32];
|
||||||
@ -267,11 +268,11 @@ main(int argc, char **argv)
|
|||||||
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
||||||
|
|
||||||
/* starting logging subsystem */
|
/* starting logging subsystem */
|
||||||
error = log_start(cfg_file, "xrdp-sesman");
|
log_error = log_start(cfg_file, "xrdp-sesman");
|
||||||
|
|
||||||
if (error != LOG_STARTUP_OK)
|
if (log_error != LOG_STARTUP_OK)
|
||||||
{
|
{
|
||||||
switch (error)
|
switch (log_error)
|
||||||
{
|
{
|
||||||
case LOG_ERROR_MALLOC:
|
case LOG_ERROR_MALLOC:
|
||||||
g_writeln("error on malloc. cannot start logging. quitting.");
|
g_writeln("error on malloc. cannot start logging. quitting.");
|
||||||
|
@ -504,16 +504,17 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||||||
* Create a new session and process group since the 4.4BSD
|
* Create a new session and process group since the 4.4BSD
|
||||||
* setlogin() affects the entire process group
|
* setlogin() affects the entire process group
|
||||||
*/
|
*/
|
||||||
if (setsid() < 0)
|
if (g_setsid() < 0)
|
||||||
{
|
{
|
||||||
log_message(LOG_LEVEL_ERROR,
|
log_message(LOG_LEVEL_ERROR,
|
||||||
"setsid failed - pid %d", g_getpid());
|
"setsid failed - pid %d", g_getpid());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setlogin(username) < 0)
|
if (g_setlogin(username) < 0)
|
||||||
{
|
{
|
||||||
log_message(LOG_LEVEL_ERROR,
|
log_message(LOG_LEVEL_ERROR,
|
||||||
"setlogin failed for user %s - pid %d", username, g_getpid());
|
"setlogin failed for user %s - pid %d", username,
|
||||||
|
g_getpid());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user