From 9a9f8a6bfd64c22a08a0759dc66a0cd05dcfd987 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Sat, 13 Mar 2004 02:56:27 +0000 Subject: [PATCH] renamed set*() to parse*() set the correct secure attributes call set_flags/set_ccaps only, when there is something to do git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1243 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/src/vattribute.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/util-vserver/src/vattribute.c b/util-vserver/src/vattribute.c index 12b44b9..e6cab56 100644 --- a/util-vserver/src/vattribute.c +++ b/util-vserver/src/vattribute.c @@ -87,7 +87,7 @@ showVersion() } static void -setFlags(char const *str, struct vc_ctx_flags *flags) +parseFlags(char const *str, struct vc_ctx_flags *flags) { struct vc_err_listparser err; int rc; @@ -103,7 +103,7 @@ setFlags(char const *str, struct vc_ctx_flags *flags) } static void -setBCaps(char const *str, struct vc_ctx_caps *caps) +parseBCaps(char const *str, struct vc_ctx_caps *caps) { struct vc_err_listparser err; int rc; @@ -119,7 +119,7 @@ setBCaps(char const *str, struct vc_ctx_caps *caps) } static void -setCCaps(char const *str, struct vc_ctx_caps *caps) +parseCCaps(char const *str, struct vc_ctx_caps *caps) { struct vc_err_listparser err; int rc; @@ -135,12 +135,12 @@ setCCaps(char const *str, struct vc_ctx_caps *caps) } static void -setSecure(struct vc_ctx_flags UNUSED * flags, - struct vc_ctx_caps UNUSED * caps) +parseSecure(struct vc_ctx_flags UNUSED * flags, + struct vc_ctx_caps UNUSED * caps) { - caps->ccaps = ~vc_get_securecaps(); + caps->ccaps = ~0; caps->cmask = ~0; - caps->bcaps = ~0; + caps->bcaps = ~vc_get_securecaps(); } int main(int argc, char *argv[]) @@ -160,10 +160,10 @@ int main(int argc, char *argv[]) case CMD_VERSION : showVersion(); case CMD_SET : break; // default op currently case CMD_XID : args.xid = atoi(optarg); break; - case CMD_FLAG : setFlags(optarg, &args.flags); break; - case CMD_CCAP : setCCaps(optarg, &args.caps); break; - case CMD_BCAP : setBCaps(optarg, &args.caps); break; - case CMD_SECURE : setSecure(&args.flags, &args.caps); break; + case CMD_FLAG : parseFlags(optarg, &args.flags); break; + case CMD_CCAP : parseCCaps(optarg, &args.caps); break; + case CMD_BCAP : parseBCaps(optarg, &args.caps); break; + case CMD_SECURE : parseSecure(&args.flags, &args.caps); break; default : WRITE_MSG(2, "Try '"); WRITE_STR(2, argv[0]); @@ -175,9 +175,11 @@ int main(int argc, char *argv[]) if (args.xid==VC_NOCTX) args.xid = Evc_get_task_xid(0); - if (vc_set_ccaps(args.xid, &args.caps)==-1) + if ((args.caps.cmask || args.caps.bcaps) && + vc_set_ccaps(args.xid, &args.caps)==-1) perror(ENSC_WRAPPERS_PREFIX "vc_set_ccaps()"); - else if (vc_set_flags(args.xid, &args.flags)==-1) + else if (args.flags.mask && + vc_set_flags(args.xid, &args.flags)==-1) perror(ENSC_WRAPPERS_PREFIX "vc_set_flags()"); else if (optind