On Fri, Aug 02, 2013 at 11:20:16AM -0400, Daniel J Walsh wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > for some reason my git-sendmail keeps failing. Here's the wrapper script I used for that $ cat $HOME/usr/bin/git-spam #!/bin/sh dohelp() { echo "syntax: $0 TO-ADDR REV-LIST" } if [ -z "$2" ]; then dohelp; exit 1 fi TO=$1 REV=$2 shift shift git send-email --compose --to "$TO" --smtp-server=smtp.corp.redhat.com --no-chain-reply-to $REV "$@" Assuming you do your work on a branch, then you can just run git-spam libvir-list@xxxxxxxxxx master.. If you were doing your work on master directly, then you'd have to use git-spam libvir-list@xxxxxxxxxx origin/master.. Or explicitly specify the starting commit hash. > > [sandbox PATCH 1/3] Add virt-sandbox -s inherit, to execute the > [sandbox PATCH 2/3] Add comment about LIBVIRT_DEFAULT_URI to > [sandbox PATCH 3/3] virt-sandbox-service.pod did not mention upgrade > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.14 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iEYEARECAAYFAlH7zjAACgkQrlYvE4MpobPBIQCgvOYtY0ccFTUNBNA4tWWQs02t > tYwAn15nXX9WhTyG0Piw4QVYwide9/RZ > =g+dS > -----END PGP SIGNATURE----- > >From fcf2e72b78b66075ca5f061423a259e058f4f39d Mon Sep 17 00:00:00 2001 > From: Dan Walsh <dwalsh@xxxxxxxxxx> > Date: Wed, 31 Jul 2013 17:04:58 -0400 > Subject: [sandbox PATCH 1/3] Add virt-sandbox -s inherit, to execute the > sandbox from the parent. > > This will allow us to run sandbox as the calling process, If I am > running a shell as staff_u:unconfined_r:unconfined_t:s0, and I > execute virt-sandbox -c lxc/// -- /bin/sh > > /bin/sh will run as staff_u:unconfined_r:unconfined_t:s0 > --- > bin/virt-sandbox.c | 4 ++++ > libvirt-sandbox/libvirt-sandbox-config.c | 14 ++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/bin/virt-sandbox.c b/bin/virt-sandbox.c > index b51465d..9a75f3c 100644 > --- a/bin/virt-sandbox.c > +++ b/bin/virt-sandbox.c > @@ -403,6 +403,10 @@ USER:ROLE:TYPE:LEVEL, instead of the default base context. > To set a completely static label. For example, > static,label=system_u:system_r:svirt_t:s0:c412,c355 > > +=item inherit > + > +Inherit the context from the process that is executing virt-sandbox. > + > =back > > =item B<-p>, B<--privileged> > diff --git a/libvirt-sandbox/libvirt-sandbox-config.c b/libvirt-sandbox/libvirt-sandbox-config.c > index ccdb3bc..8e8ac65 100644 > --- a/libvirt-sandbox/libvirt-sandbox-config.c > +++ b/libvirt-sandbox/libvirt-sandbox-config.c > @@ -27,6 +27,8 @@ > #include <glib/gi18n.h> > > #include "libvirt-sandbox/libvirt-sandbox.h" > +#include <errno.h> > +#include <selinux/selinux.h> > > /** > * SECTION: libvirt-sandbox-config > @@ -1521,6 +1523,18 @@ gboolean gvir_sandbox_config_set_security_opts(GVirSandboxConfig *config, > gvir_sandbox_config_set_security_dynamic(config, TRUE); > } else if (g_str_equal(tmp, "static")) { > gvir_sandbox_config_set_security_dynamic(config, FALSE); > + } else if (g_str_equal(tmp, "inherit")) { > + gvir_sandbox_config_set_security_dynamic(config, FALSE); > + security_context_t scon; > + if (getcon(&scon) < 0) { > + g_set_error(error, GVIR_SANDBOX_CONFIG_ERROR, 0, > + _("Unable to get SELinux context of user: %s"), > + strerror(errno)); > + return FALSE; > + } > + gvir_sandbox_config_set_security_label(config, scon); > + freecon(scon); Looks good. I wonder if we should also have an explicit 'unconfined' string to simplify life for people who want to run the container entirely unconfined ? eg avoid them needing the verbose -s static,label=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 > + > } else { > g_set_error(error, GVIR_SANDBOX_CONFIG_ERROR, 0, > _("Unknown security option '%s'"), tmp); You'll need to re-add the code to detect selinux in configure, since we had got rid of that previously. eg create m4/virt-selinux.m4 containing AC_DEFUN([LIBVIRT_SANDBOX_SELINUX], [ fail=0 old_LIBS=$LIBS old_CFLAGS=$CFLAGS AC_CHECK_HEADER([selinux/selinux.h],[],[fail=1]) AC_CHECK_LIB([selinux], [fgetfilecon],[],[fail=1]) LIBS=$old_LIBS CFLAGS=$old_CFLAGS test $fail = 1 && AC_MSG_ERROR([You must install the libselinux development package in order to compile libvirt-sandbox]) ]) And then add LIBVIRT_SANDBOX_SELINUX to configure.ac, and update libvirt-sandbox/Makefile.am to include SELINUX_CFLAGS and SELINUX_LIBS. And make libvirt-sandbox.spec.in have a BuildRequires: libselinux-devel > diff --git a/bin/virt-sandbox.c b/bin/virt-sandbox.c > index 9a75f3c..26eefcf 100644 > --- a/bin/virt-sandbox.c > +++ b/bin/virt-sandbox.c > @@ -280,6 +280,7 @@ not allowed to open any other files. > > Set the libvirt connection URI, defaults to qemu:///session if > omitted. Currently only the QEMU and LXC drivers are supported. > +Alternatively the C<LIBVIRT_DEFAULT_URI> environment variable can be set, or the config file C</etc/libvirt/libvirt.conf> can have a default URI set. Can you add line wrap at appropriate places > >From af40cc741f69b335975f36801efe91f822a2b8cc Mon Sep 17 00:00:00 2001 > From: Dan Walsh <dwalsh@xxxxxxxxxx> > Date: Thu, 1 Aug 2013 11:09:51 -0400 > Subject: [sandbox PATCH 3/3] virt-sandbox-service.pod did not mention upgrade > > Also still had references to start, stop and list > --- > bin/virt-sandbox-service.pod | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/bin/virt-sandbox-service.pod b/bin/virt-sandbox-service.pod > index 32caad9..b317ad4 100644 > --- a/bin/virt-sandbox-service.pod > +++ b/bin/virt-sandbox-service.pod > @@ -4,7 +4,7 @@ virt-sandbox-service - Secure container tool > > =head1 SYNOPSIS > > - {create,clone,connect,delete,execute,list,reload,start,stop} > + {create,clone,connect,delete,execute,reload,upgrade} > > commands: > > @@ -20,6 +20,8 @@ virt-sandbox-service - Secure container tool > > reload Reload a running sandbox container > > + upgrade Upgrade the sandbox container > + > =head1 DESCRIPTION > > virt-sandbox-service is used to provision secure sandboxed system services. > @@ -52,7 +54,7 @@ supported currently). > > =head1 SEE ALSO > > -C<libvirt(8)>, C<selinux(8)>, C<systemd(8)>, C<virt-sandbox(1)>, C<virt-sandbox-service-create(1)>, C<virt-sandbox-service-clone(1)>, C<virt-sandbox-service-connect(1)>, C<virt-sandbox-service-delete(1)>, C<virt-sandbox-service-execute(1)>, C<virt-sandbox-service-reload(1)> > +C<libvirt(8)>, C<selinux(8)>, C<systemd(8)>, C<virt-sandbox(1)>, C<virt-sandbox-service-create(1)>, C<virt-sandbox-service-clone(1)>, C<virt-sandbox-service-connect(1)>, C<virt-sandbox-service-delete(1)>, C<virt-sandbox-service-execute(1)>, C<virt-sandbox-service-reload(1)>, C<virt-sandbox-service-upgrade(1)> This SEE ALSO section should have some line wraps add too 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list