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: util.h
-config.o: caps.h nsjail.h logs.h cmdline.h config.h config.pb.h macros.h
-config.o: mnt.h user.h util.h
+config.o: caps.h nsjail.h logs.h cmdline.h config.h macros.h mnt.h user.h
+config.o: util.h
contain.o: contain.h nsjail.h logs.h caps.h cgroup.h cpu.h mnt.h net.h pid.h
contain.o: user.h uts.h
cpu.o: cpu.h nsjail.h logs.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
util.o: util.h nsjail.h logs.h macros.h
-config.pb.o: config.pb.h
char pid_str[256];
snprintf(pid_str, sizeof(pid_str), "%d", pid);
- const std::vector<std::string> argv{"/sbin/ip", "link", "add", "link",
- (char*)nsjconf->iface_vs.c_str(), "name", IFACE_NAME, "netns", pid_str, "type",
- "macvlan", "mode", "bridge"};
+ const std::vector<std::string> argv{"/sbin/ip", "link", "add", "link", nsjconf->iface_vs,
+ "name", IFACE_NAME, "netns", pid_str, "type", "macvlan", "mode", "bridge"};
if (subproc::systemExe(argv, environ) != 0) {
LOG_E("Couldn't create MACVTAP interface for '%s'", nsjconf->iface_vs.c_str());
return false;
if (!writeToFd(fd, buf, len)) {
PLOG_E("Couldn't write '%zu' bytes to file '%s' (fd='%d')", len, filename, fd);
close(fd);
- unlink(filename);
+ if (open_flags & O_CREAT) {
+ unlink(filename);
+ }
return false;
}