fd = open(path, O_RDWR | O_CREAT, S_IWUSR | S_IRUSR);
if (fd < 0) {
- usernic_error("Failed to open %s: %s.\n", path,
+ usernic_error("Failed to open \"%s\": %s\n", path,
strerror(errno));
return -1;
}
group_ids = malloc(sizeof(gid_t) * ngroups);
if (!group_ids) {
usernic_error("Failed to allocate memory while getting groups "
- "the user belongs to: %s.\n",
+ "the user belongs to: %s\n",
strerror(errno));
return NULL;
}
ret = getgroups(ngroups, group_ids);
if (ret < 0) {
free(group_ids);
- usernic_error("Failed to get process groups: %s.\n",
+ usernic_error("Failed to get process groups: %s\n",
strerror(errno));
return NULL;
}
if (!groupnames) {
free(group_ids);
usernic_error("Failed to allocate memory while getting group "
- "names: %s.\n",
+ "names: %s\n",
strerror(errno));
return NULL;
}
for (i = 0; i < ngroups; i++) {
gr = getgrgid(group_ids[i]);
if (!gr) {
- usernic_error("Failed to get group name: %s.\n",
+ usernic_error("Failed to get group name: %s\n",
strerror(errno));
free(group_ids);
free_groupnames(groupnames);
groupnames[i] = strdup(gr->gr_name);
if (!groupnames[i]) {
- usernic_error("Failed to copy group name \"%s\".",
+ usernic_error("Failed to copy group name \"%s\"",
gr->gr_name);
free(group_ids);
free_groupnames(groupnames);
err = snprintf(*n2, IFNAMSIZ, "%sp", n1);
if (err < 0 || err >= IFNAMSIZ) {
- usernic_error("%s\n", "Could not create nic name.");
+ usernic_error("%s\n", "Could not create nic name");
return -1;
}
veth1buf = alloca(IFNAMSIZ);
veth2buf = alloca(IFNAMSIZ);
if (!veth1buf || !veth2buf) {
- usernic_error("Failed allocate memory: %s.\n", strerror(errno));
+ usernic_error("Failed allocate memory: %s\n", strerror(errno));
return false;
}
ret = snprintf(veth1buf, IFNAMSIZ, "%s", nic);
if (ret < 0 || ret >= IFNAMSIZ) {
- usernic_error("%s", "Could not create nic name.\n");
+ usernic_error("%s", "Could not create nic name\n");
return false;
}
/* create the nics */
if (instantiate_veth(veth1buf, &veth2buf) < 0) {
- usernic_error("%s", "Error creating veth tunnel.\n");
+ usernic_error("%s", "Error creating veth tunnel\n");
return false;
}
/* attach veth1 to bridge */
ret = lxc_bridge_attach(br, veth1buf);
if (ret < 0) {
- usernic_error("Error attaching %s to %s.\n", veth1buf, br);
+ usernic_error("Error attaching %s to %s\n", veth1buf, br);
goto out_del;
}
}
*cnic = strdup(veth2buf);
if (!*cnic) {
- usernic_error("Failed to copy string \"%s\".\n", veth2buf);
+ usernic_error("Failed to copy string \"%s\"\n", veth2buf);
return false;
}
fd = lxc_preserve_ns(pid, "net");
if (fd < 0) {
- usernic_error("Failed opening network namespace path for '%d'.", pid);
+ usernic_error("Failed opening network namespace path for %d", pid);
goto do_partial_cleanup;
}
fd = -1;
if (ret < 0) {
usernic_error("Failed to setns() to the network namespace of "
- "the container with PID %d: %s.\n",
+ "the container with PID %d: %s\n",
pid, strerror(errno));
goto do_partial_cleanup;
}
if (ret < 0) {
usernic_error("Failed to drop privilege by setting effective "
"user id and real user id to %d, and saved user "
- "ID to 0: %s.\n",
+ "ID to 0: %s\n",
ruid, strerror(errno));
- // COMMENT(brauner): It's ok to jump to do_full_cleanup here
- // since setresuid() will succeed when trying to set real,
- // effective, and saved to values they currently have.
+ /* It's ok to jump to do_full_cleanup here since setresuid()
+ * will succeed when trying to set real, effective, and saved to
+ * values they currently have.
+ */
goto do_full_cleanup;
}
return string_ret;
}
-/*
- * If the caller (real uid, not effective uid) may read the
- * /proc/[pid]/ns/net, then it is either the caller's netns or one
- * which it created.
+/* If the caller (real uid, not effective uid) may read the /proc/[pid]/ns/net,
+ * then it is either the caller's netns or one which it created.
*/
static bool may_access_netns(int pid)
{
if (ret < 0) {
usernic_error("Failed to drop privilege by setting effective "
"user id and real user id to %d, and saved user "
- "ID to %d: %s.\n",
+ "ID to %d: %s\n",
ruid, euid, strerror(errno));
return false;
}
ret = setresuid(ruid, euid, suid);
if (ret < 0) {
usernic_error("Failed to restore user id to %d, real user id "
- "to %d, and saved user ID to %d: %s.\n",
+ "to %d, and saved user ID to %d: %s\n",
ruid, euid, suid, strerror(errno));
may_access = false;
}
}
if (!create_db_dir(LXC_USERNIC_DB)) {
- usernic_error("%s", "Failed to create directory for db file.\n");
+ usernic_error("%s", "Failed to create directory for db file\n");
exit(EXIT_FAILURE);
}
}
if (!may_access_netns(pid)) {
- usernic_error("User %s may not modify netns for pid %d.\n", me, pid);
+ usernic_error("User %s may not modify netns for pid %d\n", me, pid);
exit(EXIT_FAILURE);
}