#include "muse_server_workqueue.h"
#include "muse_server_tool.h"
#include <systemd/sd-daemon.h>
+#include <pwd.h>
+#include <grp.h>
#ifdef MUSE_TTRACE_LOG
#include <trace.h>
void ms_respawn(int signo);
int ms_get_pid(muse_module_h m);
void ms_log_process_info(int pid);
+void ms_log_user_group_info(void);
gboolean ms_is_log_enabled(void);
int ms_kill_thread(int signo);
gboolean ms_init_bufmgr(void);
fd = socket(AF_UNIX, SOCK_STREAM, 0); /* Unix Domain Socket */
if (!muse_core_fd_is_valid(fd)) {
strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX);
- LOGE("socket failed sock: %s", err_msg);
+ LOGE("socket failed sock (%d) : %s", errno, err_msg);
return MUSE_ERR;
}
/* Bind to filename */
if (bind(fd, (struct sockaddr *)&addr_un, address_len) < 0) {
strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX);
- LOGE("socket bind failed : %s", err_msg);
+ LOGE("[%d] socket bind failed (%d) %s", fd, errno, err_msg);
+ muse_core_log_file_info(UDS_files[channel]);
+ ms_log_user_group_info();
if (errno == EADDRINUSE)
unlink(addr_un.sun_path);
close(fd);
/* Setup listen queue */
if (listen(fd, 5) == MUSE_ERR) {
- LOGE("listen failed");
+ strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX);
+ LOGE("[%d] listen failed (%d) %s", fd, errno, err_msg);
+ muse_core_log_file_info(UDS_files[channel]);
+ ms_log_user_group_info();
close(fd);
return MUSE_ERR;
}
ms_log_get_cmd_info(cmd);
}
+void ms_log_user_group_info(void)
+{
+ struct passwd *p;
+ struct group *g;
+ uid_t uid;
+ gid_t gid;
+
+ uid = getuid();
+ gid = getgid();
+
+ p = getpwuid(uid);
+ g = getgrgid(gid);
+
+ LOGE("user [%s : %lu] group [%s : %lu]", p->pw_name, (unsigned long)uid, g->gr_name, (unsigned long)gid);
+}
+
gboolean ms_is_log_enabled(void)
{
return muse_server->conf->log_enabled;
muse_server->bufmgr = tbm_bufmgr_init(-1);
if (!muse_server->bufmgr) {
LOGE("Error - tbm_bufmgr_init");
+ ms_log_user_group_info();
return FALSE;
}
}
if (close(fd) == MUSE_ERR) {
- LOGE("[%d] failed to close [error %s %d]", fd, errno);
+ LOGE("[%d] failed to close [error %d]", fd, errno);
return FALSE;
}
static gboolean _server_close(int fd)
{
if (close(fd) == MUSE_ERR) {
- LOGE("[%d] failed to close [error %s %d]", fd, errno);
+ LOGE("[%d] failed to close [error %d]", fd, errno);
return FALSE;
}