<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    I'm trying to run the following:<br>
    qemu (latest git, with spice from latest git):<br>
    ./x86_64-softmmu/qemu-system-x86_64 -spice
    port=6901,disable-ticketing,sasl -k en-us -name XP -boot c -soundhw
    pcspk -m 1024 -cpu core2duo,+x2apic -smp 2 -balloon none -bios
    /usr/share/seabios/bios.bin -monitor stdio --parallel none -vga qxl<br>
    <br>
    spicy is run, trying to connect to localhost:6901. I have no idea
    what password it is asking from me, so anyway the password is wrong.
    The result is that spicy seems to get stuck.<br>
    qemu stdio:<br>
    <br>
    do_spice_init: starting 0.9.1<br>
    spice_server_add_interface: SPICE_INTERFACE_KEYBOARD<br>
    spice_server_add_interface: SPICE_INTERFACE_MOUSE<br>
    spice_server_add_interface: SPICE_INTERFACE_QXL<br>
    red_worker_main: begin<br>
    ensure_display_channel_created: create display channel<br>
    ensure_cursor_channel_created: create cursor channel<br>
    spice_server_add_interface: SPICE_INTERFACE_PLAYBACK<br>
    QEMU 0.15.50 monitor - type 'help' for more information<br>
    (qemu) reds_handle_auth_mechanism: Auth method: 2<br>
    reds_handle_auth_mechanism: Starting SASL<br>
    reds_start_auth_sasl: Available mechanisms for client: 'DIGEST-MD5'<br>
    reds_start_auth_sasl: Wait for client mechname length<br>
    reds_handle_auth_mechlen: Wait for client mechname<br>
    reds_handle_auth_mechname: Got client mechname 'DIGEST-MD5' check
    against 'DIGEST-MD5'<br>
    reds_handle_auth_mechname: Validated mechname 'DIGEST-MD5'<br>
    reds_handle_auth_startlen: Got client start len 0<br>
    reds_handle_auth_sasl_start: Start SASL auth with mechanism
    DIGEST-MD5. Data (nil) (0 bytes)<br>
    reds_handle_auth_sasl_start: SASL return data 167 bytes, 0x2400c20<br>
    reds_handle_auth_sasl_start: Authentication must continue (start)<br>
    reds_handle_auth_mechanism: Auth method: 2<br>
    reds_handle_auth_mechanism: Starting SASL<br>
    reds_start_auth_sasl: Available mechanisms for client: 'DIGEST-MD5'<br>
    reds_start_auth_sasl: Wait for client mechname length<br>
    reds_handle_auth_mechlen: Wait for client mechname<br>
    reds_handle_auth_mechname: Got client mechname 'DIGEST-MD5' check
    against 'DIGEST-MD5'<br>
    reds_handle_auth_mechname: Validated mechname 'DIGEST-MD5'<br>
    reds_handle_auth_startlen: Got client start len 0<br>
    reds_handle_auth_sasl_start: Start SASL auth with mechanism
    DIGEST-MD5. Data (nil) (0 bytes)<br>
    reds_handle_auth_sasl_start: SASL return data 167 bytes, 0x23ff9c0<br>
    reds_handle_auth_sasl_start: Authentication must continue (start)<br>
    reds_handle_auth_sasl_steplen: Got steplen 275<br>
    reds_handle_auth_sasl_step: Step using SASL Data 0x24007d0 (274
    bytes)<br>
    reds_handle_auth_sasl_step: sasl step failed -20 (SASL(-13): user
    not found: no secret in database)<br>
    <br>
    <br>
    spicy (with --spice-debug, just relevant data):<br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1118 Client
    initialize SASL authentication 0<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1148 Client SASL new
    host:'localhost' local:'127.0.0.1;58244' remote:'127.0.0.1;6901'<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1215 Client start
    negotiation mechlist 'DIGEST-MD5'<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1240 Server start
    negotiation with mech DIGEST-MD5. Data 0 bytes (nil) '(null)'<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1266 Getting sever
    start negotiation reply<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1291 Client start
    result complete: 0. Data 167 bytes 0xf25e90
'nonce="Q0M2g53D4eAeUq+4Dgz2U89KEi7PPO5Nx6FEAJeFZxA=",realm="ykaul.tlv.redhat.com",qop="auth-conf",cipher="rc4-56,rc4,3des",maxbuf=8192,charset=utf-8,algorithm=md5-sess'<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1044 Filled SASL
    interact<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1325 Client step
    result 1. Data 274 bytes 0xfa6cd0
'username="ykaul",realm="ykaul.tlv.redhat.com",nonce="Q0M2g53D4eAeUq+4Dgz2U89KEi7PPO5Nx6FEAJeFZxA=",cnonce="neIJ96okvwMIvKSzfR1bUWR/odlI17QJxX03QgtMI44=",nc=00000001,qop=auth-conf,cipher=rc4,maxbuf=100000,digest-uri="spice/localhost",response=28918a1cee0d0be7f9ecd091981eddda'<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1346 Server step
    with 274 bytes 0xfa6cd0<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:717 Closing the
    connection: spice_channel_read() - ret=0<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1842 channel has
    error, breaking loop<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:2024 Coroutine exit
    main-1:0<br>
    (lt-spicy:19854): GSpice-DEBUG: spice-channel.c:1882 Delayed unref
    channel main-1:0 0x1045a60<br>
    <br>
    And then the spicy UI is gone, though it's still alive. Seems like
    the following fixes this (on the spice server), but I'm not sure
    what it might affect other than that:<br>
    <br>
    <br>
    diff --git a/server/reds.c b/server/reds.c<br>
    index acd8495..ce48ac5 100644<br>
    --- a/server/reds.c<br>
    +++ b/server/reds.c<br>
    @@ -2105,7 +2105,7 @@ static void reds_handle_auth_sasl_step(void
    *opaque)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; err != SASL_CONTINUE) {<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; red_printf("sasl step failed %d (%s)",<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; err, sasl_errdetail(sasl-&gt;conn));<br>
    -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto authabort;<br>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto authreject;<br>
    &nbsp;&nbsp;&nbsp;&nbsp; }<br>
    &nbsp;<br>
    &nbsp;&nbsp;&nbsp;&nbsp; if (serveroutlen &gt; SASL_DATA_MAX_LEN) {<br>
    <br>
    <br>
  </body>
</html>