caps.o: caps.h nsjail.h logs.h macros.h util.h
cgroup.o: cgroup.h nsjail.h logs.h util.h
-cmdline.o: cmdline.h nsjail.h logs.h caps.h config.h macros.h mnt.h user.h
+cmdline.o: cmdline.h nsjail.h caps.h config.h logs.h macros.h mnt.h user.h
cmdline.o: util.h
-config.o: caps.h nsjail.h logs.h cmdline.h config.h config.pb.h macros.h
+config.o: caps.h nsjail.h cmdline.h config.h config.pb.h logs.h macros.h
config.o: mnt.h user.h util.h
-contain.o: contain.h nsjail.h logs.h caps.h cgroup.h cpu.h macros.h mnt.h
+contain.o: contain.h nsjail.h caps.h cgroup.h cpu.h logs.h macros.h mnt.h
contain.o: net.h pid.h user.h uts.h
cpu.o: cpu.h nsjail.h logs.h util.h
logs.o: logs.h macros.h util.h nsjail.h
mnt.o: mnt.h nsjail.h logs.h macros.h subproc.h util.h
net.o: net.h nsjail.h logs.h subproc.h
-nsjail.o: nsjail.h logs.h cmdline.h macros.h net.h sandbox.h subproc.h util.h
+nsjail.o: nsjail.h cmdline.h logs.h macros.h net.h sandbox.h subproc.h util.h
pid.o: pid.h nsjail.h logs.h subproc.h
-sandbox.o: sandbox.h nsjail.h logs.h kafel/include/kafel.h
-subproc.o: subproc.h nsjail.h logs.h cgroup.h contain.h macros.h net.h
+sandbox.o: sandbox.h nsjail.h kafel/include/kafel.h logs.h
+subproc.o: subproc.h nsjail.h cgroup.h contain.h logs.h macros.h net.h
subproc.o: sandbox.h user.h util.h
uts.o: uts.h nsjail.h logs.h
user.o: user.h nsjail.h logs.h macros.h subproc.h util.h
nsjconf->max_conns_per_ip = strtoul(optarg, NULL, 0);
break;
case 'l':
- logs::logFile(optarg);
+ logs::logFile(optarg);
break;
case 'L':
- logs::logFile(std::string("/dev/fd/") + optarg);
+ logs::logFile(std::string("/dev/fd/") + optarg);
break;
case 'd':
nsjconf->daemonize = true;
}
if (nsjconf->daemonize && !logs::logSet()) {
- logs::logFile(_LOG_DEFAULT_FILE);
+ logs::logFile(_LOG_DEFAULT_FILE);
}
if (!setupMounts(nsjconf.get(), tmpfs_mounts, tmpfs_size)) {
return nullptr;
nsjconf->daemonize = njc.daemon();
if (njc.has_log_fd()) {
- logs::logFile(std::string("/dev/fd/") + std::to_string(njc.log_fd()));
+ logs::logFile(std::string("/dev/fd/") + std::to_string(njc.log_fd()));
}
if (njc.has_log_file()) {
- logs::logFile(njc.log_file());
+ logs::logFile(njc.log_file());
}
if (njc.has_log_level()) {
switch (njc.log_level()) {
case nsjail::LogLevel::DEBUG:
- logs::logLevel(logs::DEBUG);
+ logs::logLevel(logs::DEBUG);
break;
case nsjail::LogLevel::INFO:
- logs::logLevel(logs::INFO);
+ logs::logLevel(logs::INFO);
break;
case nsjail::LogLevel::WARNING:
- logs::logLevel(logs::WARNING);
+ logs::logLevel(logs::WARNING);
break;
case nsjail::LogLevel::ERROR:
- logs::logLevel(logs::ERROR);
+ logs::logLevel(logs::ERROR);
break;
case nsjail::LogLevel::FATAL:
- logs::logLevel(logs::FATAL);
+ logs::logLevel(logs::FATAL);
break;
default:
LOG_E("Unknown log_level: %d", njc.log_level());
}
bool logSet() {
- return _log_set;
+ return _log_set;
}
/*
}
void logFile(const std::string& logfile) {
- _log_set = true;
+ _log_set = true;
/* Close previous log_fd */
if (_log_fd > STDERR_FILENO) {
close(_log_fd);
}
if (logfile.empty()) {
_log_fd = fcntl(_log_fd, F_DUPFD_CLOEXEC, 0);
+ if (_log_fd == -1) {
+ _log_fd = STDERR_FILENO;
+ }
} else {
if (TEMP_FAILURE_RETRY(_log_fd = open(logfile.c_str(),
O_CREAT | O_RDWR | O_APPEND | O_CLOEXEC, 0640)) == -1) {
_log_fd = STDERR_FILENO;
- _log_fd_isatty = (isatty(_log_fd) == 1 ? true : false);
PLOG_W("Couldn't open logfile open('%s')", logfile.c_str());
}
}