From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0ONiL1pERGNtTwEAbAwnHQ (envelope-from ) for ; Mon, 10 Oct 2022 18:12:10 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id YIDILlpERGPTpQAA9RJhRA (envelope-from ) for ; Mon, 10 Oct 2022 18:12:10 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 745BB9305 for ; Mon, 10 Oct 2022 18:12:10 +0200 (CEST) Received: from localhost ([::1]:55046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohvNx-0007CP-J3 for larch@yhetil.org; Mon, 10 Oct 2022 12:12:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56514) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohvJ0-0003mh-9K for guix-patches@gnu.org; Mon, 10 Oct 2022 12:07:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50541) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ohvIz-0005Rb-Tc for guix-patches@gnu.org; Mon, 10 Oct 2022 12:07:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ohvIz-0000lU-IL for guix-patches@gnu.org; Mon, 10 Oct 2022 12:07:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58341] [PATCH] Add x11vnc recipe Resent-From: Mehmet Tekman Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 10 Oct 2022 16:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58341 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: moreinfo patch To: Maxim Cournoyer Cc: 58341@debbugs.gnu.org Received: via spool by 58341-submit@debbugs.gnu.org id=B58341.16654179962896 (code B ref 58341); Mon, 10 Oct 2022 16:07:01 +0000 Received: (at 58341) by debbugs.gnu.org; 10 Oct 2022 16:06:36 +0000 Received: from localhost ([127.0.0.1]:49619 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohvIZ-0000kc-8c for submit@debbugs.gnu.org; Mon, 10 Oct 2022 12:06:36 -0400 Received: from mail-lf1-f44.google.com ([209.85.167.44]:40546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohvIW-0000kI-7f for 58341@debbugs.gnu.org; Mon, 10 Oct 2022 12:06:34 -0400 Received: by mail-lf1-f44.google.com with SMTP id b1so12283504lfs.7 for <58341@debbugs.gnu.org>; Mon, 10 Oct 2022 09:06:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9AoZ5RXQPJmfgXa2gRonFK0Q5NqS4HAeUvnolrqOAWg=; b=kDOSYD4dEbFjv7qCkws+tLnFK6vzV6hV9T5XEHki3wAQC397PsCePmz3tJ73HlXc38 d45SlrvgfZi7F0/B4730VP74+RNO910/Mfni/sLqfROseR0gs4o7JzNX+I7InuhCxHyI lneUswUlVhfsj0JgI4zXpCvz2f/XoNx5QqF5cXvjZ3R6+MRF+80pBb8sXDOl4xDVTNqR ElRVlmyW+fjDxFyEH6PChHCIv0xk07eG3uhu7MbK5Ei5drR1+3KaBbMNdfV220jSsG3s qaXm1pMz0Q0wRwHVJ7jYXFXiS6w9J1LQrJNna+rtyyElzsYCnj5/5lkWryswqe2DH2h8 tXKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9AoZ5RXQPJmfgXa2gRonFK0Q5NqS4HAeUvnolrqOAWg=; b=EheG+GmJN7GCLe40Udfs8lMU55m8vyZKzA+Om/XrYtTuh95i6QNGg0352ONpsc+DJo 3SLlMCRUhcFNNrnwbN2I3vgWR5s5DdUIjDlkWwuNSgPMa6FP69bC4dbCx7+4Z2z4tjAd xULy477dAErO5iiOJacacWKvKumEe0wFZetX6kJo/wQacaXdNzoWd9B7gcJheNeUAQkY 2LKrtg561WiDQ/zAAp5U6WaGK9jCIjcTq0iYgwn7u86yewrvM3NUhSOGSP+OABiE8ecH kvtdrV/Y/DUjCfS4fSQDgsY4MlnVICVC92dJX70lppEEX0MXNbGNQUMPf+H7nyBRMlZc VXCw== X-Gm-Message-State: ACrzQf0r4hvZuVs0ELuQUGGH3L3yWUG5UqqrqF7Pa6FwpsLzBJaVPlHx kxY47NZWNoiMmyNeFgCx2p2Ga962PtGJdWxIIVY= X-Google-Smtp-Source: AMsMyM7qKO+f31uzLqkUMbsVOpwiaQHl40JvOWdwqUSh3WfNZ5LCvAfzoyqNWZhDWYKLaAjPqya/3nEPYumyks68cyk= X-Received: by 2002:a05:6512:462:b0:4a2:22ff:e628 with SMTP id x2-20020a056512046200b004a222ffe628mr7378467lfd.4.1665417985792; Mon, 10 Oct 2022 09:06:25 -0700 (PDT) MIME-Version: 1.0 References: <874jwf2atx.fsf@gmail.com> In-Reply-To: <874jwf2atx.fsf@gmail.com> From: Mehmet Tekman Date: Mon, 10 Oct 2022 18:05:49 +0200 Message-ID: Content-Type: multipart/mixed; boundary="00000000000072371505eab05764" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1665418330; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=9AoZ5RXQPJmfgXa2gRonFK0Q5NqS4HAeUvnolrqOAWg=; b=UiK65f/biGfzTy+YEElcHO558G/Kiz4cKoBBs4+AfObiSD7vCA9gS26EP2uWTg7dlVyFuI as9J6RIrmlAJXYR+5wDmRLMhF9PRmUyRJZ9mYv40LcSf44YX8UPcPeQarMYknxqrMpVoSn 8HHlBsGnIs9LkvXC/wkAeFee8MXtuK2r9XIOC8d5/v5LAZzieIGD+E5tR/80LTyfI0DxOw jPzT4ckr8HlsBTWFsWtODeHkBZKx6L1s7uiXEnXntIJ5BDDRWHqszkHYD/aTvwt5joC8Th RW1OieZrYSsDT4IILUpSY+LMEUc+xfItr9PPl7leAqJ338oYlOntz7Vopib1Ww== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665418330; a=rsa-sha256; cv=none; b=Qy9lmeUa94W8RDaCOnEbBpSMa1bjYaNarAEIvr0y4Iak/KsnmeSrHyfkTR8i7ZnpgYuoAD /7qPr7C0EGwIEVKWHAORt8CJy54VGcSovR7X6xtJ9TfYe8CDrht7Kdl/D8t91a5NjaIfJu VW2mLbmf3r9lBBocgrLp3GaN1Mq3W+pe+girfO/QLnmuqrmDsbMg6Ja7Da+Chg8B0fW8bU LBAYaLSeczf+KNIkGzKOW9IWLUdNAyAL9KmOtXcLrZ/899ZCz0OaxTPc0tpRDHmUBJh8UJ 3fFFkfRFYQpwgu58vfV4z046T6p2+EgO31C0+X3bw/lbQFMC+LGcqRXdGUtX+A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=kDOSYD4d; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 6.21 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=kDOSYD4d; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 745BB9305 X-Spam-Score: 6.21 X-Migadu-Scanner: scn1.migadu.com X-TUID: ZQtuMZvzgn6O --00000000000072371505eab05764 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, thank you for the review! I've put the recipe into vnc.scm and built to a newer commit that makes the patches redundant (thanks for the tip, I was basing my recipe off one from another distro). I've fixed the commit message and linted and styled the vnc.scm file. I created a new branch and put my changes there, so please disregard the above changes. I attach here the patch file, as I don't quite trust myself to paste the changes into this email. Looking forward to the next review, Best, Mehmet On Sat, 8 Oct 2022 at 06:33, Maxim Cournoyer wr= ote: > > Hello, and thank you for your contribution! > > Mehmet Tekman writes: > > > --- > > gnu/packages/patches/x11vnc-gcc10-fix.patch | 42 ++++++++++ > > ...c-scan-limit-access-to-shared-memory.patch | 22 ++++++ > > .../patches/x11vnc-xfc-null-ptr.patch | 29 +++++++ > > gnu/packages/x11vnc.scm | 79 +++++++++++++++++++ > > 4 files changed, 172 insertions(+) > > create mode 100644 gnu/packages/patches/x11vnc-gcc10-fix.patch > > create mode 100644 > > gnu/packages/patches/x11vnc-scan-limit-access-to-shared-memory.patch > > create mode 100644 gnu/packages/patches/x11vnc-xfc-null-ptr.patch > > create mode 100644 gnu/packages/x11vnc.scm > > Would it be possible to send the patch complete with the commit message, > as can be produced with 'git format-patch'? You can read 'info "(guix) > Submitting Patches". The git commit message should use the GNU > ChangeLog format, as mentioned there. You can look at the git history > to learn. > > The patches should be registered in the gnu/local.mk file, in the > dist_patch_DATA section. Please mind the sorting in the file. > > > diff --git a/gnu/packages/patches/x11vnc-gcc10-fix.patch > > b/gnu/packages/patches/x11vnc-gcc10-fix.patch > > new file mode 100644 > > index 0000000000..a32d5785d9 > > --- /dev/null > > +++ b/gnu/packages/patches/x11vnc-gcc10-fix.patch > > @@ -0,0 +1,42 @@ > > +From a48b0b1cd887d7f3ae67f525d7d334bd2feffe60 Mon Sep 17 00:00:00 2001 > > +From: Alexander Tsoy > > +Date: Tue, 28 Jan 2020 22:21:01 +0300 > > +Subject: [PATCH] Fix build with -fno-common > > + > > +GCC 10 defaults to -fno-common > > +--- > > + src/util.c | 3 +++ > > + src/util.h | 6 +++--- > > + 2 files changed, 6 insertions(+), 3 deletions(-) > > + > > +diff --git a/src/util.c b/src/util.c > > +index a82a1a42..6a52ebf4 100644 > > +--- a/src/util.c > > ++++ b/src/util.c > > +@@ -47,6 +47,9 @@ int hxl =3D 0; > > + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD > > + MUTEX(x11Mutex); > > + MUTEX(scrollMutex); > > ++MUTEX(clientMutex); > > ++MUTEX(inputMutex); > > ++MUTEX(pointerMutex); > > + #endif > > + > > + int nfix(int i, int n); > > +diff --git a/src/util.h b/src/util.h > > +index 35c1afd2..99b5dd1d 100644 > > +--- a/src/util.h > > ++++ b/src/util.h > > +@@ -102,9 +102,9 @@ extern struct timeval _mysleep; > > + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD > > + extern MUTEX(x11Mutex); > > + extern MUTEX(scrollMutex); > > +-MUTEX(clientMutex); > > +-MUTEX(inputMutex); > > +-MUTEX(pointerMutex); > > ++extern MUTEX(clientMutex); > > ++extern MUTEX(inputMutex); > > ++extern MUTEX(pointerMutex); > > + #endif > > + > > + #define X_INIT INIT_MUTEX(x11Mutex) > > diff --git a/gnu/packages/patches/x11vnc-scan-limit-access-to-shared-me= mory.patch > > b/gnu/packages/patches/x11vnc-scan-limit-access-to-shared-memory.patch > > new file mode 100644 > > index 0000000000..5424094434 > > --- /dev/null > > +++ b/gnu/packages/patches/x11vnc-scan-limit-access-to-shared-memory.pa= tch > > @@ -0,0 +1,22 @@ > > +From 69eeb9f7baa14ca03b16c9de821f9876def7a36a Mon Sep 17 00:00:00 2001 > > +From: =3D?UTF-8?q?Gu=3DC3=3DA9nal=3D20DAVALAN?=3D > > +Date: Wed, 18 Nov 2020 08:40:45 +0100 > > +Subject: [PATCH] scan: limit access to shared memory segments to curre= nt user > > + > > +--- > > + src/scan.c | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/src/scan.c b/src/scan.c > > +index 43e00d20..12994d52 100644 > > +--- a/src/scan.c > > ++++ b/src/scan.c > > +@@ -320,7 +320,7 @@ static int shm_create(XShmSegmentInfo *shm, > > XImage **ximg_ptr, int w, int h, > > + > > + #if HAVE_XSHM > > + shm->shmid =3D shmget(IPC_PRIVATE, > > +- xim->bytes_per_line * xim->height, IPC_CREAT | 0777); > > ++ xim->bytes_per_line * xim->height, IPC_CREAT | 0600); > > + > > + if (shm->shmid =3D=3D -1) { > > + rfbErr("shmget(%s) failed.\n", name); > > diff --git a/gnu/packages/patches/x11vnc-xfc-null-ptr.patch > > b/gnu/packages/patches/x11vnc-xfc-null-ptr.patch > > new file mode 100644 > > index 0000000000..65f339d716 > > --- /dev/null > > +++ b/gnu/packages/patches/x11vnc-xfc-null-ptr.patch > > @@ -0,0 +1,29 @@ > > +From 95a10ab64c2dbbec2c8dad91a5ffb73a0d68474b Mon Sep 17 00:00:00 2001 > > +From: Jonathan Liu > > +Date: Mon, 16 Mar 2020 20:04:06 +1100 > > +Subject: [PATCH] src/cursor: fix xfc NULL pointer dereference > > + > > +xfc->width and xfc->height for the XFixes cursor image returned from > > +XFixesGetCursorImage(dpy) are accessed without first checking that xfc > > +is not NULL. This can result in the server sometimes crashing when > > +moving a Google Chrome window. > > + > > +Fixes: 37c946191a0f ("Broken cursor bugfix for 64 bit systems (#49)") > > +Signed-off-by: Jonathan Liu > > +--- > > + src/cursor.c | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/src/cursor.c b/src/cursor.c > > +index 39e73a69..74a08c69 100644 > > +--- a/src/cursor.c > > ++++ b/src/cursor.c > > +@@ -1311,7 +1311,7 @@ static int get_exact_cursor(int init) { > > + > > + /* retrieve the cursor info + pixels from server: */ > > + xfc =3D XFixesGetCursorImage(dpy); > > +- { > > ++ if (xfc) { > > + /* 2017-07-09, Stephan Fuhrmann: This fixes an > > implementation flaw for 64 bit systems. > > + * The XFixesCursorImage structure says xfc->pixels is > > (unsigned long*) in the structure, but > > + * the protocol spec says it's 32 bit per pixel > > diff --git a/gnu/packages/x11vnc.scm b/gnu/packages/x11vnc.scm > > new file mode 100644 > > index 0000000000..55c51305b3 > > Since we are using a recent commit, shouldn't these (upstream?) patches > be unnecessary? Perhaps we can use an even newer commit that includes > them? > > > --- /dev/null > > +++ b/gnu/packages/x11vnc.scm > > @@ -0,0 +1,79 @@ > > +;;; GNU Guix --- Functional package management for GNU > > +;;; Copyright =C2=A9 2022 Mehmet Tekman > > +;;; > > +;;; This file is part of GNU Guix. > > +;;; > > +;;; GNU Guix is free software; you can redistribute it and/or modify i= t > > +;;; under the terms of the GNU General Public License as published by > > +;;; the Free Software Foundation; either version 3 of the License, or = (at > > +;;; your option) any later version. > > +;;; > > +;;; GNU Guix is distributed in the hope that it will be useful, but > > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > +;;; GNU General Public License for more details. > > +;;; > > +;;; You should have received a copy of the GNU General Public License > > +;;; along with GNU Guix. If not, see . > > + > > + > > +(define-module (gnu packages x11vnc) > > There already is a (gnu packages vnc) module; that'd be a better home. > We can group all VNC-related packages there. > > > + #:use-module (guix packages) > > + #:use-module (gnu packages) > > + #:use-module (gnu packages perl) > > + #:use-module (gnu packages tcl) > > + #:use-module (gnu packages pkg-config) > > + #:use-module (gnu packages xorg) > > + #:use-module (gnu packages tls) > > + #:use-module (guix git-download) > > + #:use-module (guix build-system gnu) > > + #:use-module ((guix licenses) #:prefix license:) > > + #:use-module (gnu packages autotools) > > + #:use-module (gnu packages avahi) > > + #:use-module (gnu packages vnc) > > + #:use-module (gnu packages compression) > > + #:use-module (gnu packages image)) > > Imports should be lexicographically sorted. > > > +(define-public x11vnc > > When using an unreleased version, it's good to mention why (issues it > fixes, a very old release, etc.). > > + (let ((commit "4ca006fed80410bd9b061a1519bd5d9366bb0bc8") > > + (version "0.9.16") > > + (revision "1")) > > + (package > > + (name "x11vnc") > > + (version (git-version version revision commit)) > > + (source (origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/LibVNC/x11vnc") > > + (commit commit))) > > + (file-name (git-file-name name version)) > > + (sha256 > > + (base32 > > + "1g652mmi79pfq4p5p7spaswa164rpzjhc5rn2phy5pm71lm0vib= 1")) > > + (patches > > + (search-patches "x11vnc-xfc-null-ptr.patch" > > + "x11vnc-gcc10-fix.patch" > > + > > "x11vnc-scan-limit-access-to-shared-memory.patch")))) > > Odd blank line here. You can try './pre-inst-env guix style x11vnc' to > see how it would do it, else I'd do it like to avoid breaking the 80 > chars max width: > > (search-patches > "patch1" > "patch2" > ...) > > > + (build-system gnu-build-system) > > + (arguments > > + '(#:phases > > + (modify-phases > > + %standard-phases > > + (add-before 'bootstrap 'delete-premature-configure > > + (lambda _ (substitute* "./autogen.sh" > > + ((".*/configure") ""))))))) > > + (native-inputs (list > > + ;; [optional requirements] > > + ;; perl tk > > + autoconf automake autobuild pkg-config avahi lib= vnc > > + libx11 libxcomposite libxdamage libxext libxfixe= s libxi > > + libxinerama libxrandr libxtst > > + openssl xdpyinfo zlib libjpeg-turbo xf86-video-d= ummy)) > > The libraries that are used at run time should appear as inputs, not > native-inputs. Native-inputs are for build tools or tests. > > > + (synopsis "VNC server for real X displays") > > + (home-page "https://github.com/LibVNC/x11vnc") > > + (description > > + "x11vnc allows one to view remotely and interact with real X > > +displays (i.e. a display corresponding to a physical monitor, keyboard= , and > > +mouse) with any VNC viewer. In this way it plays the role for Unix/X1= 1 that > > +WinVNC plays for Windows.") > > I'd remove the useless comparison with windows, perhaps stress that this > provides a VNC *server* in the description as well. > > > + (license license:gpl2)))) > > -- > Thanks, > Maxim --00000000000072371505eab05764 Content-Type: text/x-patch; charset="UTF-8"; name="0001-gnu-Add-x11vnc.patch" Content-Disposition: attachment; filename="0001-gnu-Add-x11vnc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l92ytl650 RnJvbSAzNzljMTUyYTU1OWY3NTM4Y2I1ZWM4NjhkYzU4YTAzZGFmNTkyZjA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZWhtZXQgVGVrbWFuIDxtdGVrbWFuODlAZ21haWwuY29tPgpE YXRlOiBNb24sIDEwIE9jdCAyMDIyIDE3OjU0OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gZ251 OiBBZGQgeDExdm5jLgoKKiBnbnUvcGFja2FnZXMvdm5jLnNjbSAoeDExdm5jKTogTmV3IHZhcmlh YmxlLgotLS0KIGdudS9wYWNrYWdlcy92bmMuc2NtIHwgNTUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3ZuYy5zY20gYi9nbnUvcGFja2FnZXMvdm5jLnNj bQppbmRleCA4NGM4NGFlYzc2Li4wMTdhYzZiMzQzIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMv dm5jLnNjbQorKysgYi9nbnUvcGFja2FnZXMvdm5jLnNjbQpAQCAtNiw2ICs2LDcgQEAKIDs7OyBD b3B5cmlnaHQgwqkgMjAyMCBWaW5jZW50IExlZ29sbCA8dmluY2VudC5sZWdvbGxAZ21haWwuY29t PgogOzs7IENvcHlyaWdodCDCqSAyMDIxLCAyMDIyIFRvYmlhcyBHZWVyaW5ja3gtUmljZSA8bWVA dG9iaWFzLmdyPgogOzs7IENvcHlyaWdodCDCqSAyMDIyIE1heGltIENvdXJub3llciA8bWF4aW0u Y291cm5veWVyQGdtYWlsLmNvbT4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMiBNZWhtZXQgVGVrbWFu IDxtdGVrbWFuODlAZ21haWwuY29tPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEd1aXguCiA7OzsKQEAgLTI0LDEwICsyNSwxMiBAQAogCiAoZGVmaW5lLW1vZHVsZSAoZ251IHBh Y2thZ2VzIHZuYykKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBjbWFrZSkKKyAg Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbnUpCiAgICM6dXNlLW1vZHVsZSAoZ3Vp eCBkb3dubG9hZCkKICAgIzp1c2UtbW9kdWxlIChndWl4IGdpdC1kb3dubG9hZCkKICAgIzp1c2Ut bW9kdWxlICgoZ3VpeCBsaWNlbnNlcykgIzpwcmVmaXggbGljZW5zZTopCiAgICM6dXNlLW1vZHVs ZSAoZ3VpeCBnZXhwKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2FkKQogICAjOnVz ZS1tb2R1bGUgKGd1aXggcGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKICAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMpCkBAIC01MTEsNiArNTE0LDU4IEBAIChkZWZpbmUg b3BlbmpkayAjJCh0aGlzLXBhY2thZ2UtaW5wdXQgIm9wZW5qZGsiKSkKIHJhdHBvaXNvbi4iKQog ICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKIAorKGRlZmluZS1wdWJsaWMgeDExdm5jCisg IDs7IFRoZSByZWxlYXNlIHZlcnNpb24gb2YgMC45LjE2IHJlcXVpcmVzIHBhdGNoZXMgdG8gd29y aywgc28gd2UgcGluIHRvIHRoZQorICA7OyBsYXRlc3Qgd29ya2luZyBjb21taXQKKyAgKGxldCAo KGNvbW1pdCAiM2U0ZGM4ZWYyOTg1YTZlNjcwZTFkOTY0OWZlNTUzOTVjMmIzMTAzOSIpCisgICAg ICAgICh2ZXJzaW9uICIwLjkuMTYiKQorICAgICAgICAocmV2aXNpb24gIjEiKSkKKyAgICAocGFj a2FnZQorICAgICAgKG5hbWUgIngxMXZuYyIpCisgICAgICAodmVyc2lvbiAoZ2l0LXZlcnNpb24g dmVyc2lvbiByZXZpc2lvbiBjb21taXQpKQorICAgICAgKHNvdXJjZSAob3JpZ2luCisgICAgICAg ICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJl ZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9M aWJWTkMveDExdm5jIikKKyAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0IGNvbW1pdCkpKQor ICAgICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkK KyAgICAgICAgICAgICAgICAoc2hhMjU2CisgICAgICAgICAgICAgICAgIChiYXNlMzIKKyAgICAg ICAgICAgICAgICAgICIwYTEyMGd2OWgzd2hpem5sZGRsMGozbnozNDAwampnbDk3em5haW5jbTVp Mm01cG5qaWZzIikpKSkKKyAgICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKKyAg ICAgIChhcmd1bWVudHMKKyAgICAgICAnKCM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFy ZC1waGFzZXMKKyAgICAgICAgICAgICAgICAgICAgKGFkZC1iZWZvcmUgJ2Jvb3RzdHJhcCAnZGVs ZXRlLXByZW1hdHVyZS1jb25maWd1cmUKKyAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIF8K KyAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAiLi9hdXRvZ2VuLnNoIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAoKCIuKi9jb25maWd1cmUiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiIpKSkpKSkpCisgICAgICAobmF0aXZlLWlucHV0cyAobGlzdCBhdXRvY29u ZiBhdXRvbWFrZSBhdXRvYnVpbGQgcGtnLWNvbmZpZykpCisgICAgICAoaW5wdXRzIChsaXN0IGF2 YWhpCisgICAgICAgICAgICAgICAgICAgIGxpYnZuYworICAgICAgICAgICAgICAgICAgICBsaWJ4 MTEKKyAgICAgICAgICAgICAgICAgICAgbGlieGNvbXBvc2l0ZQorICAgICAgICAgICAgICAgICAg ICBsaWJ4ZGFtYWdlCisgICAgICAgICAgICAgICAgICAgIGxpYnhleHQKKyAgICAgICAgICAgICAg ICAgICAgbGlieGZpeGVzCisgICAgICAgICAgICAgICAgICAgIGxpYnhpCisgICAgICAgICAgICAg ICAgICAgIGxpYnhpbmVyYW1hCisgICAgICAgICAgICAgICAgICAgIGxpYnhyYW5kcgorICAgICAg ICAgICAgICAgICAgICBsaWJ4dHN0CisgICAgICAgICAgICAgICAgICAgIG9wZW5zc2wKKyAgICAg ICAgICAgICAgICAgICAgeGRweWluZm8KKyAgICAgICAgICAgICAgICAgICAgemxpYgorICAgICAg ICAgICAgICAgICAgICBsaWJqcGVnLXR1cmJvCisgICAgICAgICAgICAgICAgICAgIHhmODYtdmlk ZW8tZHVtbXkpKQorICAgICAgKHN5bm9wc2lzICJWTkMgc2VydmVyIGZvciByZWFsIFggZGlzcGxh eXMiKQorICAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL0xpYlZOQy94MTF2bmMi KQorICAgICAgKGRlc2NyaXB0aW9uCisgICAgICAgIngxMXZuYyBhbGxvd3Mgb25lIHRvIHZpZXcg cmVtb3RlbHkgYW5kIGludGVyYWN0IHdpdGggcmVhbCBYCitkaXNwbGF5cyAoaS5lLiBhIGRpc3Bs YXkgY29ycmVzcG9uZGluZyB0byBhIHBoeXNpY2FsIG1vbml0b3IsIGtleWJvYXJkLCBhbmQKK21v dXNlKSB3aXRoIGFueSBWTkMgdmlld2VyLiIpCisgICAgICAobGljZW5zZSBsaWNlbnNlOmdwbDIp KSkpCisKKwogKGRlZmluZS1wdWJsaWMgbGlidm5jCiAgIChwYWNrYWdlCiAgICAgKG5hbWUgImxp YnZuYyIpCi0tIAoyLjM4LjAKCg== --00000000000072371505eab05764--