qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] Ui 20180202 patches
@ 2018-02-02  7:17 Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 1/3] ui: fix mixup between qnum and qcode in SDL1 key handling Gerd Hoffmann
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2018-02-02  7:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

The following changes since commit 11ed801d3df3c6e46b2f1f97dcfbf4ca3a2a2f4f:

  Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2018-01-30 09:47:51 +0000)

are available in the git repository at:

  git://git.kraxel.org/qemu tags/ui-20180202-pull-request

for you to fetch changes up to 627ebec208a8809818589e17f4fce55a59420ad2:

  ui: correctly advance output buffer when writing SASL data (2018-02-02 07:48:18 +0100)

----------------------------------------------------------------
ui: use QIONetListener in vnc, bugfixes for sdl1 and vnc.

----------------------------------------------------------------

Daniel P. Berrange (1):
  ui: convert VNC server to QIONetListener

Daniel P. Berrangé (2):
  ui: fix mixup between qnum and qcode in SDL1 key handling
  ui: correctly advance output buffer when writing SASL data

 ui/vnc.h           |   9 +--
 ui/sdl.c           |   9 ++-
 ui/vnc-auth-sasl.c |   2 +-
 ui/vnc.c           | 195 +++++++++++++++--------------------------------------
 4 files changed, 67 insertions(+), 148 deletions(-)

-- 
2.9.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL 1/3] ui: fix mixup between qnum and qcode in SDL1 key handling
  2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
@ 2018-02-02  7:17 ` Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 2/3] ui: convert VNC server to QIONetListener Gerd Hoffmann
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2018-02-02  7:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Gerd Hoffmann

From: Daniel P. Berrangé <berrange@redhat.com>

The previous commit:

  commit 2ec78706d188df7d3dab43d07b19b05ef7800a44
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Wed Jan 17 16:47:15 2018 +0000

    ui: convert GTK and SDL1 frontends to keycodemapdb

changed the x_keymap.c keymap so that its target was qcodes instead of
qnums. It updated the GTK frontend to take account of this change, but
forgot to update the SDL1 frontend. Thus the SDL frontend was getting
qcodes but dispatching them as if they were qnums. IOW, keyboard input
was completely hosed with SDL1. Since the keyboard layout tables are
still all based on qnums, it is easier to just keep SDL1 using qnums as
it will be deleted in a few releases time.

Reported-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-id: 20180201180033.14255-1-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/sdl.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ui/sdl.c b/ui/sdl.c
index c8f102bb9f..a6bff301eb 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -242,6 +242,7 @@ static const guint16 *sdl_get_keymap(size_t *maplen)
 
 static uint8_t sdl_keyevent_to_keycode(const SDL_KeyboardEvent *ev)
 {
+    int qcode;
     if (!keycode_map) {
         return 0;
     }
@@ -249,7 +250,13 @@ static uint8_t sdl_keyevent_to_keycode(const SDL_KeyboardEvent *ev)
         return 0;
     }
 
-    return keycode_map[ev->keysym.scancode];
+    qcode = keycode_map[ev->keysym.scancode];
+
+    if (qcode > qemu_input_map_qcode_to_qnum_len) {
+        return 0;
+    }
+
+    return qemu_input_map_qcode_to_qnum[qcode];
 }
 
 static void reset_keys(void)
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL 2/3] ui: convert VNC server to QIONetListener
  2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 1/3] ui: fix mixup between qnum and qcode in SDL1 key handling Gerd Hoffmann
@ 2018-02-02  7:17 ` Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 3/3] ui: correctly advance output buffer when writing SASL data Gerd Hoffmann
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2018-02-02  7:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrange, Gerd Hoffmann

From: "Daniel P. Berrange" <berrange@redhat.com>

The VNC server already has the ability to listen on multiple sockets.
Converting it to use the QIONetListener APIs though, will reduce the
amount of code in the VNC server and improve the clarity of what is
left.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 20180201164514.10330-1-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/vnc.h |   9 +--
 ui/vnc.c | 195 ++++++++++++++++++---------------------------------------------
 2 files changed, 58 insertions(+), 146 deletions(-)

diff --git a/ui/vnc.h b/ui/vnc.h
index bbda0540a7..23b4dbbe72 100644
--- a/ui/vnc.h
+++ b/ui/vnc.h
@@ -37,6 +37,7 @@
 #include "qemu/buffer.h"
 #include "io/channel-socket.h"
 #include "io/channel-tls.h"
+#include "io/net-listener.h"
 #include <zlib.h>
 
 #include "keymaps.h"
@@ -146,12 +147,8 @@ struct VncDisplay
     int num_exclusive;
     int connections_limit;
     VncSharePolicy share_policy;
-    size_t nlsock;
-    QIOChannelSocket **lsock;
-    guint *lsock_tag;
-    size_t nlwebsock;
-    QIOChannelSocket **lwebsock;
-    guint *lwebsock_tag;
+    QIONetListener *listener;
+    QIONetListener *wslistener;
     DisplaySurface *ds;
     DisplayChangeListener dcl;
     kbd_layout_t *kbd_layout;
diff --git a/ui/vnc.c b/ui/vnc.c
index 33b087221f..93731accb6 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -228,12 +228,12 @@ static VncServerInfo *vnc_server_info_get(VncDisplay *vd)
     VncServerInfo *info;
     Error *err = NULL;
 
-    if (!vd->nlsock) {
+    if (!vd->listener || !vd->listener->nsioc) {
         return NULL;
     }
 
     info = g_malloc0(sizeof(*info));
-    vnc_init_basic_info_from_server_addr(vd->lsock[0],
+    vnc_init_basic_info_from_server_addr(vd->listener->sioc[0],
                                          qapi_VncServerInfo_base(info), &err);
     info->has_auth = true;
     info->auth = g_strdup(vnc_auth_name(vd));
@@ -379,7 +379,7 @@ VncInfo *qmp_query_vnc(Error **errp)
     VncDisplay *vd = vnc_display_find(NULL);
     SocketAddress *addr = NULL;
 
-    if (vd == NULL || !vd->nlsock) {
+    if (vd == NULL || !vd->listener || !vd->listener->nsioc) {
         info->enabled = false;
     } else {
         info->enabled = true;
@@ -388,11 +388,8 @@ VncInfo *qmp_query_vnc(Error **errp)
         info->has_clients = true;
         info->clients = qmp_query_client_list(vd);
 
-        if (vd->lsock == NULL) {
-            return info;
-        }
-
-        addr = qio_channel_socket_get_local_address(vd->lsock[0], errp);
+        addr = qio_channel_socket_get_local_address(vd->listener->sioc[0],
+                                                    errp);
         if (!addr) {
             goto out_error;
         }
@@ -572,13 +569,14 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp)
             info->has_display = true;
             info->display = g_strdup(dev->id);
         }
-        for (i = 0; i < vd->nlsock; i++) {
+        for (i = 0; vd->listener != NULL && i < vd->listener->nsioc; i++) {
             info->server = qmp_query_server_entry(
-                vd->lsock[i], false, vd->auth, vd->subauth, info->server);
+                vd->listener->sioc[i], false, vd->auth, vd->subauth,
+                info->server);
         }
-        for (i = 0; i < vd->nlwebsock; i++) {
+        for (i = 0; vd->wslistener != NULL && i < vd->wslistener->nsioc; i++) {
             info->server = qmp_query_server_entry(
-                vd->lwebsock[i], true, vd->ws_auth,
+                vd->wslistener->sioc[i], true, vd->ws_auth,
                 vd->ws_subauth, info->server);
         }
 
@@ -3143,36 +3141,18 @@ void vnc_start_protocol(VncState *vs)
     qemu_add_mouse_mode_change_notifier(&vs->mouse_mode_notifier);
 }
 
-static gboolean vnc_listen_io(QIOChannel *ioc,
-                              GIOCondition condition,
-                              void *opaque)
+static void vnc_listen_io(QIONetListener *listener,
+                          QIOChannelSocket *cioc,
+                          void *opaque)
 {
     VncDisplay *vd = opaque;
-    QIOChannelSocket *sioc = NULL;
-    Error *err = NULL;
-    bool isWebsock = false;
-    size_t i;
+    bool isWebsock = listener == vd->wslistener;
 
-    for (i = 0; i < vd->nlwebsock; i++) {
-        if (ioc == QIO_CHANNEL(vd->lwebsock[i])) {
-            isWebsock = true;
-            break;
-        }
-    }
-
-    sioc = qio_channel_socket_accept(QIO_CHANNEL_SOCKET(ioc), &err);
-    if (sioc != NULL) {
-        qio_channel_set_name(QIO_CHANNEL(sioc),
-                             isWebsock ? "vnc-ws-server" : "vnc-server");
-        qio_channel_set_delay(QIO_CHANNEL(sioc), false);
-        vnc_connect(vd, sioc, false, isWebsock);
-        object_unref(OBJECT(sioc));
-    } else {
-        /* client probably closed connection before we got there */
-        error_free(err);
-    }
-
-    return TRUE;
+    qio_channel_set_name(QIO_CHANNEL(cioc),
+                         isWebsock ? "vnc-ws-server" : "vnc-server");
+    qio_channel_set_delay(QIO_CHANNEL(cioc), false);
+    vnc_connect(vd, cioc, false, isWebsock);
+    object_unref(OBJECT(cioc));
 }
 
 static const DisplayChangeListenerOps dcl_ops = {
@@ -3224,34 +3204,22 @@ void vnc_display_init(const char *id)
 
 static void vnc_display_close(VncDisplay *vd)
 {
-    size_t i;
     if (!vd) {
         return;
     }
     vd->is_unix = false;
-    for (i = 0; i < vd->nlsock; i++) {
-        if (vd->lsock_tag[i]) {
-            g_source_remove(vd->lsock_tag[i]);
-        }
-        object_unref(OBJECT(vd->lsock[i]));
+
+    if (vd->listener) {
+        qio_net_listener_disconnect(vd->listener);
+        object_unref(OBJECT(vd->listener));
     }
-    g_free(vd->lsock);
-    g_free(vd->lsock_tag);
-    vd->lsock = NULL;
-    vd->lsock_tag = NULL;
-    vd->nlsock = 0;
+    vd->listener = NULL;
 
-    for (i = 0; i < vd->nlwebsock; i++) {
-        if (vd->lwebsock_tag[i]) {
-            g_source_remove(vd->lwebsock_tag[i]);
-        }
-        object_unref(OBJECT(vd->lwebsock[i]));
+    if (vd->wslistener) {
+        qio_net_listener_disconnect(vd->wslistener);
+        object_unref(OBJECT(vd->wslistener));
     }
-    g_free(vd->lwebsock);
-    g_free(vd->lwebsock_tag);
-    vd->lwebsock = NULL;
-    vd->lwebsock_tag = NULL;
-    vd->nlwebsock = 0;
+    vd->wslistener = NULL;
 
     vd->auth = VNC_AUTH_INVALID;
     vd->subauth = VNC_AUTH_INVALID;
@@ -3303,11 +3271,11 @@ static void vnc_display_print_local_addr(VncDisplay *vd)
     SocketAddress *addr;
     Error *err = NULL;
 
-    if (!vd->nlsock) {
+    if (!vd->listener || !vd->listener->nsioc) {
         return;
     }
 
-    addr = qio_channel_socket_get_local_address(vd->lsock[0], &err);
+    addr = qio_channel_socket_get_local_address(vd->listener->sioc[0], &err);
     if (!addr) {
         return;
     }
@@ -3815,68 +3783,6 @@ static int vnc_display_connect(VncDisplay *vd,
 }
 
 
-static int vnc_display_listen_addr(VncDisplay *vd,
-                                   SocketAddress *addr,
-                                   const char *name,
-                                   QIOChannelSocket ***lsock,
-                                   guint **lsock_tag,
-                                   size_t *nlsock,
-                                   Error **errp)
-{
-    QIODNSResolver *resolver = qio_dns_resolver_get_instance();
-    SocketAddress **rawaddrs = NULL;
-    size_t nrawaddrs = 0;
-    Error *listenerr = NULL;
-    bool listening = false;
-    size_t i;
-
-    if (qio_dns_resolver_lookup_sync(resolver, addr, &nrawaddrs,
-                                     &rawaddrs, errp) < 0) {
-        return -1;
-    }
-
-    for (i = 0; i < nrawaddrs; i++) {
-        QIOChannelSocket *sioc = qio_channel_socket_new();
-
-        qio_channel_set_name(QIO_CHANNEL(sioc), name);
-        if (qio_channel_socket_listen_sync(
-                sioc, rawaddrs[i], listenerr == NULL ? &listenerr : NULL) < 0) {
-            object_unref(OBJECT(sioc));
-            continue;
-        }
-        listening = true;
-        (*nlsock)++;
-        *lsock = g_renew(QIOChannelSocket *, *lsock, *nlsock);
-        *lsock_tag = g_renew(guint, *lsock_tag, *nlsock);
-
-        (*lsock)[*nlsock - 1] = sioc;
-        (*lsock_tag)[*nlsock - 1] = 0;
-    }
-
-    for (i = 0; i < nrawaddrs; i++) {
-        qapi_free_SocketAddress(rawaddrs[i]);
-    }
-    g_free(rawaddrs);
-
-    if (listenerr) {
-        if (!listening) {
-            error_propagate(errp, listenerr);
-            return -1;
-        } else {
-            error_free(listenerr);
-        }
-    }
-
-    for (i = 0; i < *nlsock; i++) {
-        (*lsock_tag)[i] = qio_channel_add_watch(
-            QIO_CHANNEL((*lsock)[i]),
-            G_IO_IN, vnc_listen_io, vd, NULL);
-    }
-
-    return 0;
-}
-
-
 static int vnc_display_listen(VncDisplay *vd,
                               SocketAddress **saddr,
                               size_t nsaddr,
@@ -3886,25 +3792,34 @@ static int vnc_display_listen(VncDisplay *vd,
 {
     size_t i;
 
-    for (i = 0; i < nsaddr; i++) {
-        if (vnc_display_listen_addr(vd, saddr[i],
-                                    "vnc-listen",
-                                    &vd->lsock,
-                                    &vd->lsock_tag,
-                                    &vd->nlsock,
-                                    errp) < 0) {
-            return -1;
+    if (nsaddr) {
+        vd->listener = qio_net_listener_new();
+        qio_net_listener_set_name(vd->listener, "vnc-listen");
+        for (i = 0; i < nsaddr; i++) {
+            if (qio_net_listener_open_sync(vd->listener,
+                                           saddr[i],
+                                           errp) < 0)  {
+                return -1;
+            }
         }
+
+        qio_net_listener_set_client_func(vd->listener,
+                                         vnc_listen_io, vd, NULL);
     }
-    for (i = 0; i < nwsaddr; i++) {
-        if (vnc_display_listen_addr(vd, wsaddr[i],
-                                    "vnc-ws-listen",
-                                    &vd->lwebsock,
-                                    &vd->lwebsock_tag,
-                                    &vd->nlwebsock,
-                                    errp) < 0) {
-            return -1;
+
+    if (nwsaddr) {
+        vd->wslistener = qio_net_listener_new();
+        qio_net_listener_set_name(vd->wslistener, "vnc-ws-listen");
+        for (i = 0; i < nwsaddr; i++) {
+            if (qio_net_listener_open_sync(vd->wslistener,
+                                           wsaddr[i],
+                                           errp) < 0)  {
+                return -1;
+            }
         }
+
+        qio_net_listener_set_client_func(vd->wslistener,
+                                         vnc_listen_io, vd, NULL);
     }
 
     return 0;
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL 3/3] ui: correctly advance output buffer when writing SASL data
  2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 1/3] ui: fix mixup between qnum and qcode in SDL1 key handling Gerd Hoffmann
  2018-02-02  7:17 ` [Qemu-devel] [PULL 2/3] ui: convert VNC server to QIONetListener Gerd Hoffmann
@ 2018-02-02  7:17 ` Gerd Hoffmann
  2018-02-02 17:49 ` [Qemu-devel] [PULL 0/3] Ui 20180202 patches Eric Blake
  2018-02-05  9:31 ` Peter Maydell
  4 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2018-02-02  7:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Gerd Hoffmann

From: Daniel P. Berrangé <berrange@redhat.com>

In this previous commit:

  commit 8f61f1c5a6bc06438a1172efa80bc7606594fa07
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Mon Dec 18 19:12:20 2017 +0000

    ui: track how much decoded data we consumed when doing SASL encoding

I attempted to fix a flaw with tracking how much data had actually been
processed when encoding with SASL. With that flaw, the VNC server could
mistakenly discard queued data that had not been sent.

The fix was not quite right though, because it merely decremented the
vs->output.offset value. This is effectively discarding data from the
end of the pending output buffer. We actually need to discard data from
the start of the pending output buffer. We also want to free memory that
is no longer required. The correct way to handle this is to use the
buffer_advance() helper method instead of directly manipulating the
offset value.

Reported-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20180201155841.27509-1-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/vnc-auth-sasl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui/vnc-auth-sasl.c b/ui/vnc-auth-sasl.c
index 74a5f513f2..fbccca8c8a 100644
--- a/ui/vnc-auth-sasl.c
+++ b/ui/vnc-auth-sasl.c
@@ -84,7 +84,7 @@ size_t vnc_client_write_sasl(VncState *vs)
         } else {
             vs->force_update_offset -= vs->sasl.encodedRawLength;
         }
-        vs->output.offset -= vs->sasl.encodedRawLength;
+        buffer_advance(&vs->output, vs->sasl.encodedRawLength);
         vs->sasl.encoded = NULL;
         vs->sasl.encodedOffset = vs->sasl.encodedLength = 0;
     }
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] Ui 20180202 patches
  2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2018-02-02  7:17 ` [Qemu-devel] [PULL 3/3] ui: correctly advance output buffer when writing SASL data Gerd Hoffmann
@ 2018-02-02 17:49 ` Eric Blake
  2018-02-02 18:29   ` Daniel P. Berrangé
  2018-02-05  9:31 ` Peter Maydell
  4 siblings, 1 reply; 7+ messages in thread
From: Eric Blake @ 2018-02-02 17:49 UTC (permalink / raw)
  To: Gerd Hoffmann, qemu-devel, Daniel P. Berrange

[-- Attachment #1: Type: text/plain, Size: 1134 bytes --]

On 02/02/2018 01:17 AM, Gerd Hoffmann wrote:
> The following changes since commit 11ed801d3df3c6e46b2f1f97dcfbf4ca3a2a2f4f:
> 
>   Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2018-01-30 09:47:51 +0000)
> 
> are available in the git repository at:
> 
>   git://git.kraxel.org/qemu tags/ui-20180202-pull-request
> 
> for you to fetch changes up to 627ebec208a8809818589e17f4fce55a59420ad2:
> 
>   ui: correctly advance output buffer when writing SASL data (2018-02-02 07:48:18 +0100)
> 
> ----------------------------------------------------------------
> ui: use QIONetListener in vnc, bugfixes for sdl1 and vnc.
> 
> ----------------------------------------------------------------
> 
> Daniel P. Berrange (1):
>   ui: convert VNC server to QIONetListener
> 
> Daniel P. Berrangé (2):

Odd effects based on choice of UTF-8 spellings.  Dan, do you want to add
a .mailmap entry to consolidate on a single preferred form of your name?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] Ui 20180202 patches
  2018-02-02 17:49 ` [Qemu-devel] [PULL 0/3] Ui 20180202 patches Eric Blake
@ 2018-02-02 18:29   ` Daniel P. Berrangé
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel P. Berrangé @ 2018-02-02 18:29 UTC (permalink / raw)
  To: Eric Blake; +Cc: Gerd Hoffmann, qemu-devel

On Fri, Feb 02, 2018 at 11:49:55AM -0600, Eric Blake wrote:
> On 02/02/2018 01:17 AM, Gerd Hoffmann wrote:
> > The following changes since commit 11ed801d3df3c6e46b2f1f97dcfbf4ca3a2a2f4f:
> > 
> >   Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2018-01-30 09:47:51 +0000)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kraxel.org/qemu tags/ui-20180202-pull-request
> > 
> > for you to fetch changes up to 627ebec208a8809818589e17f4fce55a59420ad2:
> > 
> >   ui: correctly advance output buffer when writing SASL data (2018-02-02 07:48:18 +0100)
> > 
> > ----------------------------------------------------------------
> > ui: use QIONetListener in vnc, bugfixes for sdl1 and vnc.
> > 
> > ----------------------------------------------------------------
> > 
> > Daniel P. Berrange (1):
> >   ui: convert VNC server to QIONetListener
> > 
> > Daniel P. Berrangé (2):
> 
> Odd effects based on choice of UTF-8 spellings.  Dan, do you want to add
> a .mailmap entry to consolidate on a single preferred form of your name?

Oh yes, I've just sent such a patch.  I switched to the proper unicode
spelling of my name in git since I figure enough of the software world
handles unicode correctly by now :-)

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] Ui 20180202 patches
  2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2018-02-02 17:49 ` [Qemu-devel] [PULL 0/3] Ui 20180202 patches Eric Blake
@ 2018-02-05  9:31 ` Peter Maydell
  4 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2018-02-05  9:31 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: QEMU Developers

On 2 February 2018 at 07:17, Gerd Hoffmann <kraxel@redhat.com> wrote:
> The following changes since commit 11ed801d3df3c6e46b2f1f97dcfbf4ca3a2a2f4f:
>
>   Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2018-01-30 09:47:51 +0000)
>
> are available in the git repository at:
>
>   git://git.kraxel.org/qemu tags/ui-20180202-pull-request
>
> for you to fetch changes up to 627ebec208a8809818589e17f4fce55a59420ad2:
>
>   ui: correctly advance output buffer when writing SASL data (2018-02-02 07:48:18 +0100)
>
> ----------------------------------------------------------------
> ui: use QIONetListener in vnc, bugfixes for sdl1 and vnc.
>
> ----------------------------------------------------------------
>
> Daniel P. Berrange (1):
>   ui: convert VNC server to QIONetListener
>
> Daniel P. Berrangé (2):
>   ui: fix mixup between qnum and qcode in SDL1 key handling
>   ui: correctly advance output buffer when writing SASL data
>
>  ui/vnc.h           |   9 +--
>  ui/sdl.c           |   9 ++-
>  ui/vnc-auth-sasl.c |   2 +-
>  ui/vnc.c           | 195 +++++++++++++++--------------------------------------
>  4 files changed, 67 insertions(+), 148 deletions(-)
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-02-05  9:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-02  7:17 [Qemu-devel] [PULL 0/3] Ui 20180202 patches Gerd Hoffmann
2018-02-02  7:17 ` [Qemu-devel] [PULL 1/3] ui: fix mixup between qnum and qcode in SDL1 key handling Gerd Hoffmann
2018-02-02  7:17 ` [Qemu-devel] [PULL 2/3] ui: convert VNC server to QIONetListener Gerd Hoffmann
2018-02-02  7:17 ` [Qemu-devel] [PULL 3/3] ui: correctly advance output buffer when writing SASL data Gerd Hoffmann
2018-02-02 17:49 ` [Qemu-devel] [PULL 0/3] Ui 20180202 patches Eric Blake
2018-02-02 18:29   ` Daniel P. Berrangé
2018-02-05  9:31 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).