qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: "M. Mohan Kumar" <mohan@in.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] hw/9pfs: Handle Security model parsing
Date: Wed, 12 Oct 2011 09:28:00 +0100	[thread overview]
Message-ID: <20111012082800.GE9848@redhat.com> (raw)
In-Reply-To: <1318406056-17026-1-git-send-email-mohan@in.ibm.com>

On Wed, Oct 12, 2011 at 01:24:16PM +0530, M. Mohan Kumar wrote:
> Security model is needed only for 'local' fs driver.
> 
> Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
> ---
>  fsdev/qemu-fsdev.c         |    6 +----
>  fsdev/qemu-fsdev.h         |    1 +
>  hw/9pfs/virtio-9p-device.c |   47 ++++++++++++++++++++++---------------------
>  vl.c                       |   20 +++++++++++++++--
>  4 files changed, 43 insertions(+), 31 deletions(-)
> 
> --- a/fsdev/qemu-fsdev.h
> +++ b/fsdev/qemu-fsdev.h
> @@ -40,6 +40,7 @@ typedef struct FsTypeTable {
>  typedef struct FsTypeEntry {
>      char *fsdev_id;
>      char *path;
> +    char *fsdriver;
>      char *security_model;
>      int cache_flags;
>      FileOperations *ops;
> diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
> index aac58ad..1846e36 100644
> --- a/hw/9pfs/virtio-9p-device.c
> +++ b/hw/9pfs/virtio-9p-device.c
> @@ -83,29 +83,30 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf *conf)
>          exit(1);
>      }
>  
> -    if (!strcmp(fse->security_model, "passthrough")) {
> -        /* Files on the Fileserver set to client user credentials */
> -        s->ctx.fs_sm = SM_PASSTHROUGH;
> -        s->ctx.xops = passthrough_xattr_ops;
> -    } else if (!strcmp(fse->security_model, "mapped")) {
> -        /* Files on the fileserver are set to QEMU credentials.
> -         * Client user credentials are saved in extended attributes.
> -         */
> -        s->ctx.fs_sm = SM_MAPPED;
> -        s->ctx.xops = mapped_xattr_ops;
> -    } else if (!strcmp(fse->security_model, "none")) {
> -        /*
> -         * Files on the fileserver are set to QEMU credentials.
> -         */
> -        s->ctx.fs_sm = SM_NONE;
> -        s->ctx.xops = none_xattr_ops;
> -    } else {
> -        fprintf(stderr, "Default to security_model=none. You may want"
> -                " enable advanced security model using "
> -                "security option:\n\t security_model=passthrough\n\t "
> -                "security_model=mapped\n");
> -        s->ctx.fs_sm = SM_NONE;
> -        s->ctx.xops = none_xattr_ops;
> +    /* security models is needed only for local fs driver */
> +    if (!strcmp(fse->fsdriver, "local")) {
> +        if (!strcmp(fse->security_model, "passthrough")) {
> +            /* Files on the Fileserver set to client user credentials */
> +            s->ctx.fs_sm = SM_PASSTHROUGH;
> +            s->ctx.xops = passthrough_xattr_ops;
> +        } else if (!strcmp(fse->security_model, "mapped")) {
> +            /* Files on the fileserver are set to QEMU credentials.
> +            * Client user credentials are saved in extended attributes.
> +            */
> +            s->ctx.fs_sm = SM_MAPPED;
> +            s->ctx.xops = mapped_xattr_ops;
> +        } else if (!strcmp(fse->security_model, "none")) {
> +            /*
> +            * Files on the fileserver are set to QEMU credentials.
> +            */
> +            s->ctx.fs_sm = SM_NONE;
> +            s->ctx.xops = none_xattr_ops;
> +        } else {
> +            fprintf(stderr, "Invalid security_model %s specified.\n"
> +                    "Available security models are:\t "
> +                    "passthrough,mapped or none\n", fse->security_model);
> +            exit(1);
> +        }

Are you sure there aren't use cases where people would like to
choose between  passthrough & mapped, even when using the 'proxy'
or 'handle' security drivers.

Both of the security models seem pretty generally useful to me,
regardless of the driver type.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  reply	other threads:[~2011-10-12  8:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-12  7:54 [Qemu-devel] [PATCH] hw/9pfs: Handle Security model parsing M. Mohan Kumar
2011-10-12  8:28 ` Daniel P. Berrange [this message]
2011-10-12 14:22   ` Aneesh Kumar K.V
2011-10-12 15:35   ` M. Mohan Kumar
2011-10-12 16:07     ` Daniel P. Berrange
2011-10-14  4:24       ` M. Mohan Kumar
2011-10-12 14:16 ` Aneesh Kumar K.V
  -- strict thread matches above, loose matches on Subject: below --
2011-10-14 12:06 M. Mohan Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111012082800.GE9848@redhat.com \
    --to=berrange@redhat.com \
    --cc=mohan@in.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).