[libvirt] [PATCH sandbox v5 18/20] init-common: Exporting custom environment variables
Cedric Bosdonnat
cbosdonnat at suse.com
Wed Sep 9 12:14:32 UTC 2015
On Tue, 2015-09-08 at 17:29 +0100, Daniel P. Berrange wrote:
> From: Eren Yagdiran <erenyagdiran at gmail.com>
>
> Common-init reads config file and exports custom environment
> variables from config file and applies them to the running sandbox.
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> libvirt-sandbox/libvirt-sandbox-init-common.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/libvirt-sandbox/libvirt-sandbox-init-common.c b/libvirt-sandbox/libvirt-sandbox-init-common.c
> index e3e14a3..42beadc 100644
> --- a/libvirt-sandbox/libvirt-sandbox-init-common.c
> +++ b/libvirt-sandbox/libvirt-sandbox-init-common.c
> @@ -348,6 +348,21 @@ static gboolean setup_network(GVirSandboxConfig *config, GError **error)
> }
>
>
> +static gboolean setup_custom_env(GVirSandboxConfig *config, GError **error)
> +{
> + gboolean ret = FALSE;
> + GHashTableIter iter;
> + gpointer key, value;
> + g_hash_table_iter_init (&iter, gvir_sandbox_config_get_envs(config));
> + while (g_hash_table_iter_next (&iter, &key, &value)){
> + if(setenv(key,value,1)!=0)
> + goto cleanup;
> + }
> + ret = TRUE;
> + cleanup:
> + return ret;
> +}
> +
> static int change_user(const gchar *user,
> uid_t uid,
> gid_t gid,
> @@ -1436,6 +1451,9 @@ int main(int argc, char **argv) {
> if (!setup_disk_tags())
> exit(EXIT_FAILURE);
>
> + if (!setup_custom_env(config, &error))
> + goto error;
> +
> if (!setup_network(config, &error))
> goto error;
>
ACK
--
Cedric
More information about the libvir-list
mailing list