Skip to content

Commit

Permalink
Merge pull request #1114 from Blub/lxc-attach-f
Browse files Browse the repository at this point in the history
lxc-attach: add -f option & cleanup
  • Loading branch information
Christian Brauner committed Aug 4, 2016
2 parents 1e7990d + b609774 commit 71634eb
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/lxc/tools/lxc_attach.c
Expand Up @@ -65,6 +65,7 @@ static const struct option my_longopts[] = {
{"keep-var", required_argument, 0, 502},
{"set-var", required_argument, 0, 'v'},
{"pty-log", required_argument, 0, 'L'},
{"rcfile", required_argument, 0, 'f'},
LXC_COMMON_OPTIONS
};

Expand Down Expand Up @@ -153,6 +154,7 @@ static int my_parser(struct lxc_arguments* args, int c, char* arg)
case 'L':
args->console_log = arg;
break;
case 'f': args->rcfile = arg; break;
}

return 0;
Expand Down Expand Up @@ -196,13 +198,16 @@ Options :\n\
is the current default behaviour, but is likely to\n\
change in the future.\n\
-L, --pty-log=FILE\n\
Log pty output to FILE\n\
Log pty output to FILE\n\
-v, --set-var Set an additional variable that is seen by the\n\
attached program in the container. May be specified\n\
multiple times.\n\
--keep-var Keep an additional environment variable. Only\n\
applicable if --clear-env is specified. May be used\n\
multiple times.\n",
multiple times.\n\
-f, --rcfile=FILE\n\
Load configuration file FILE\n\
",
.options = my_longopts,
.parser = my_parser,
.checker = NULL,
Expand Down Expand Up @@ -373,6 +378,15 @@ int main(int argc, char *argv[])
if (!c)
exit(EXIT_FAILURE);

if (my_args.rcfile) {
c->clear_config(c);
if (!c->load_config(c, my_args.rcfile)) {
ERROR("Failed to load rcfile");
lxc_container_put(c);
exit(EXIT_FAILURE);
}
}

if (!c->may_control(c)) {
fprintf(stderr, "Insufficent privileges to control %s\n", c->name);
lxc_container_put(c);
Expand Down

0 comments on commit 71634eb

Please sign in to comment.