From patchwork Fri Feb 15 17:14:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= X-Patchwork-Id: 10815585 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5A6A317D5 for ; Fri, 15 Feb 2019 17:19:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 47FF02EEC7 for ; Fri, 15 Feb 2019 17:19:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3B44B2FCA0; Fri, 15 Feb 2019 17:19:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A14B12FC9D for ; Fri, 15 Feb 2019 17:19:36 +0000 (UTC) Received: from localhost ([127.0.0.1]:43631 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1guh9D-0008AQ-Qi for patchwork-qemu-devel@patchwork.kernel.org; Fri, 15 Feb 2019 12:19:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1guh4m-0004QF-RO for qemu-devel@nongnu.org; Fri, 15 Feb 2019 12:15:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1guh4l-00060u-To for qemu-devel@nongnu.org; Fri, 15 Feb 2019 12:15:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:45248) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1guh4h-0005tT-RB; Fri, 15 Feb 2019 12:14:57 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4E8F512AD80; Fri, 15 Feb 2019 17:14:45 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-112-65.ams2.redhat.com [10.36.112.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id D041960C69; Fri, 15 Feb 2019 17:14:37 +0000 (UTC) From: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= To: qemu-devel@nongnu.org Date: Fri, 15 Feb 2019 17:14:30 +0000 Message-Id: <20190215171436.30457-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 15 Feb 2019 17:14:45 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v4 0/6] Add authorization support to all network services X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-block@nongnu.org, Juan Quintela , libvir-list@redhat.com, Markus Armbruster , Max Reitz , Gerd Hoffmann , Paolo Bonzini , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , "Dr. David Alan Gilbert" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP v1: https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg04482.html v2: https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg05727.html v3: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01639.html This series builds on the core authorization framework: v8: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg04253.html enabling its use with the VNC, chardev, NBD and migration network servers. In combination with TLS x509 client certificates, this allows these services to whitelist specific clients, which avoids the need to setup restricted child certificate authorities. In VNC it also allows whitelisting based on SASL user names. Changed in v4: - Update deprecation versions to 4.0 - Rebased to latest git Changed in v3: - Rebased to latest git master Changed in v2: - Document that authz objects are resolved at time of use, not time of network service activation - Improve docs for tls-authz parameters on services - Fix 2.13 -> 3.0 version tags - Remove redundant conditionals around g_strdup - Fix arg syntax for qemu-nbd s/-/--/ - Remove QAPI (optional) annotation - Fix some outdated usage example Based-on: <20190215155709.15777-1-berrange@redhat.com> Daniel P. Berrangé (6): qemu-nbd: add support for authorization of TLS clients nbd: allow authorization with nbd-server-start QMP command migration: add support for a "tls-authz" migration parameter chardev: add support for authorization for TLS clients vnc: allow specifying a custom authorization object name monitor: deprecate acl_show, acl_reset, acl_policy, acl_add, acl_remove blockdev-nbd.c | 11 ++++++-- chardev/char-socket.c | 12 +++++++- chardev/char.c | 3 ++ hmp.c | 11 +++++++- include/block/nbd.h | 4 +-- migration/migration.c | 8 ++++++ migration/tls.c | 2 +- monitor.c | 23 +++++++++++++++ nbd/server.c | 10 +++---- qapi/block.json | 8 +++++- qapi/char.json | 6 ++++ qapi/migration.json | 14 ++++++++- qemu-deprecated.texi | 11 ++++++++ qemu-nbd.c | 14 ++++++++- qemu-nbd.texi | 4 +++ qemu-options.hx | 44 +++++++++++++++++++++-------- tests/qemu-iotests/233 | 31 ++++++++++++++++++-- tests/qemu-iotests/233.out | 11 ++++++++ ui/vnc.c | 58 ++++++++++++++++++++++++++++++++------ 19 files changed, 245 insertions(+), 40 deletions(-)