From nobody Mon Feb 9 00:30:09 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1583771106; cv=none; d=zohomail.com; s=zohoarc; b=KmBRUysOwFPQZro3tbIMMNpie+PA4bSFc9VwyvjV7vuIVjSFv0JYC0Euce7KBQeDj9UKAvY2iXW1w2mhpxBucrk3gSgOLaRIwDQ5vMq91wpHPrndUGJ2QIcksj0t/higRvolIoTxhU1sQQ/pdtfKqgzjDSfF7z59SEnsN7whAlg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583771106; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UMKrxCTMLrEs0C+Kdc+6cz46j3/XcTOQ0QQKH2MNLUA=; b=ZILDqoDquturzIdUGOjU35oz4kRXuaqkiD5p9Sry5hEzJ4JZqstrZ4H6AG1msr2g+GEinFty1K3ytuhvGtX6yIUmZ4W9LbyRBKHsXhs2HyxfZWGorou1I3ey93EcUTIZ5nNLCKcfTCPd+KJRc56WjU5WqUWhfX+zMF4B2d28qVw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1583771106534222.36874551330095; Mon, 9 Mar 2020 09:25:06 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-26-VueQpnwJPnyVig2ehS679w-1; Mon, 09 Mar 2020 12:24:15 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F1DA3801E77; Mon, 9 Mar 2020 16:24:07 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C64668F35E; Mon, 9 Mar 2020 16:24:07 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 7711E18034FD; Mon, 9 Mar 2020 16:24:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 029GNZ5p020888 for ; Mon, 9 Mar 2020 12:23:35 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5EBAE90779; Mon, 9 Mar 2020 16:23:35 +0000 (UTC) Received: from angien.redhat.com (unknown [10.43.2.48]) by smtp.corp.redhat.com (Postfix) with ESMTP id DA1679051C for ; Mon, 9 Mar 2020 16:23:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583771105; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=UMKrxCTMLrEs0C+Kdc+6cz46j3/XcTOQ0QQKH2MNLUA=; b=S8Dx3ZZLI3OMqTbXbWxmp2764fR3t0Wwrlf11ng6Xb8XD6HAEEGm32y4NNwtooE7RIM65x hdERYcoFCrZU0O8lc8mtwJvswwqxGrazZIf+ciNS3vvzwKD1r+PTIjwjVaGIUcrDoWfn6s UrfWnkwO70C6h5O6ibNd9Yhhx1z6dGs= X-MC-Unique: VueQpnwJPnyVig2ehS679w-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 21/30] qemu: Handle hotplug and commandline for secret objects for http cookies Date: Mon, 9 Mar 2020 17:23:01 +0100 Message-Id: <6ff7073a92985f71733a1d10f4251fc191c379d7.1583770683.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Implement both commandline support and hotplug by adding the http cookie handling to 'qemuBlockStorageSourceAttachData' handling functions for it. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 13 +++++++++++++ src/qemu/qemu_block.h | 3 +++ src/qemu/qemu_command.c | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 6bfd46a489..aba0f31f94 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1499,11 +1499,13 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStora= geSourceAttachDataPtr data) virJSONValueFree(data->formatProps); virJSONValueFree(data->prmgrProps); virJSONValueFree(data->authsecretProps); + virJSONValueFree(data->httpcookiesecretProps); virJSONValueFree(data->encryptsecretProps); virJSONValueFree(data->tlsProps); VIR_FREE(data->tlsAlias); VIR_FREE(data->authsecretAlias); VIR_FREE(data->encryptsecretAlias); + VIR_FREE(data->httpcookiesecretAlias); VIR_FREE(data->driveCmd); VIR_FREE(data->driveAlias); VIR_FREE(data); @@ -1570,6 +1572,11 @@ qemuBlockStorageSourceAttachApplyStorageDeps(qemuMon= itorPtr mon, &data->authsecretAlias) < 0) return -1; + if (data->httpcookiesecretProps && + qemuMonitorAddObject(mon, &data->httpcookiesecretProps, + &data->httpcookiesecretAlias) < 0) + return -1; + if (data->tlsProps && qemuMonitorAddObject(mon, &data->tlsProps, &data->tlsAlias) < 0) return -1; @@ -1713,6 +1720,9 @@ qemuBlockStorageSourceAttachRollback(qemuMonitorPtr m= on, if (data->encryptsecretAlias) ignore_value(qemuMonitorDelObject(mon, data->encryptsecretAlias)); + if (data->httpcookiesecretAlias) + ignore_value(qemuMonitorDelObject(mon, data->httpcookiesecretAlias= )); + if (data->tlsAlias) ignore_value(qemuMonitorDelObject(mon, data->tlsAlias)); @@ -1768,6 +1778,9 @@ qemuBlockStorageSourceDetachPrepare(virStorageSourceP= tr src, if (srcpriv->encinfo && srcpriv->encinfo->type =3D=3D VIR_DOMAIN_S= ECRET_INFO_TYPE_AES) data->encryptsecretAlias =3D g_strdup(srcpriv->encinfo->s.aes.= alias); + + if (srcpriv->httpcookie) + data->httpcookiesecretAlias =3D g_strdup(srcpriv->httpcookie->= s.aes.alias); } return g_steal_pointer(&data); diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index eab0128d5d..197f5dae97 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -100,6 +100,9 @@ struct qemuBlockStorageSourceAttachData { virJSONValuePtr encryptsecretProps; char *encryptsecretAlias; + virJSONValuePtr httpcookiesecretProps; + char *httpcookiesecretAlias; + virJSONValuePtr tlsProps; char *tlsAlias; }; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9e0334a3e7..9790c92cf8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2398,6 +2398,7 @@ qemuBuildBlockStorageSourceAttachDataCommandline(virC= ommandPtr cmd, if (qemuBuildObjectCommandline(cmd, data->prmgrProps) < 0 || qemuBuildObjectCommandline(cmd, data->authsecretProps) < 0 || qemuBuildObjectCommandline(cmd, data->encryptsecretProps) < 0 || + qemuBuildObjectCommandline(cmd, data->httpcookiesecretProps) < 0 || qemuBuildObjectCommandline(cmd, data->tlsProps) < 0) return -1; @@ -10333,6 +10334,10 @@ qemuBuildStorageSourceAttachPrepareCommon(virStora= geSourcePtr src, if (srcpriv->encinfo && qemuBuildSecretInfoProps(srcpriv->encinfo, &data->encryptsecre= tProps) < 0) return -1; + + if (srcpriv->httpcookie && + qemuBuildSecretInfoProps(srcpriv->httpcookie, &data->httpcooki= esecretProps) < 0) + return -1; } if (src->haveTLS =3D=3D VIR_TRISTATE_BOOL_YES && --=20 2.24.1