Commit 2d33090f by 2xsec

tools: lxc-attach: replace converting standard identifiers of namespaces to api

Signed-off-by: 's avatar2xsec <dh48.jeong@samsung.com>
parent 42067d18
...@@ -100,8 +100,6 @@ static int add_to_simple_array(char ***array, ssize_t *capacity, char *value) ...@@ -100,8 +100,6 @@ static int add_to_simple_array(char ***array, ssize_t *capacity, char *value)
static int my_parser(struct lxc_arguments *args, int c, char *arg) static int my_parser(struct lxc_arguments *args, int c, char *arg)
{ {
char **it;
char *del;
int ret; int ret;
switch (c) { switch (c) {
...@@ -121,32 +119,13 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) ...@@ -121,32 +119,13 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg)
case 's': case 's':
namespace_flags = 0; namespace_flags = 0;
/* The identifiers for namespaces used with lxc-attach as given if (lxc_namespace_2_std_identifiers(arg) < 0)
* on the manpage do not align with the standard identifiers. return -1;
* This affects network, mount, and uts namespaces. The standard
* identifiers are: "mnt", "uts", and "net" whereas lxc-attach
* uses "MOUNT", "UTSNAME", and "NETWORK". So let's use some
* cheap memmove()s to replace them by their standard
* identifiers. Let's illustrate this with an example:
* Assume the string:
*
* "IPC|MOUNT|PID"
*
* then we memmove()
*
* dest: del + 1 == OUNT|PID
* src: del + 3 == NT|PID
*/
while ((del = strstr(arg, "MOUNT")))
memmove(del + 1, del + 3, strlen(del) - 2);
for (it = (char *[]){"NETWORK", "UTSNAME", NULL}; it && *it; it++)
while ((del = strstr(arg, *it)))
memmove(del + 3, del + 7, strlen(del) - 6);
ret = lxc_fill_namespace_flags(arg, &namespace_flags); ret = lxc_fill_namespace_flags(arg, &namespace_flags);
if (ret) if (ret)
return -1; return -1;
/* -s implies -e */ /* -s implies -e */
lxc_fill_elevated_privileges(NULL, &elevated_privileges); lxc_fill_elevated_privileges(NULL, &elevated_privileges);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment