Hi, El mié, 08-05-2019 a las 06:47 +0000, Victor Toso escribió: Hi,On Mon, May 06, 2019 at 04:06:45PM +0200, Javier Celaya wrote:HiEl lun, 06-05-2019 a las 10:37 +0000, Victor Toso escribió:Hi,On Fri, May 03, 2019 at 06:52:00PM +0200, Javier Celaya wrote:A phodav server created with a NULL shared dir is valid andresultsin an error answer to all requests of the webdav channel,instead ofsilently ignoring them.This is better than just returning NULLfromspice_session_get_webdav_server because:a) it crasheschannel_webdav.c:start_client.Can you give some steps on how to reproduce? I was trying withremote-viewer on F29 guest earlier and couldn't.You cannot just try an existing client, this problem happened as we aredeveloping our new client for flexVDI. You will have to modify some ofthe source code for remote-viewer to see it.The thing is, if you do not set the shared-dir property of theSpiceSession object, it default to the XDG public directory. Thishappens if you do not pass the "shared-dir" command line option, forinstance. But how do I say "I do not want to share any directory withthe guest"?With remote-viewer, only when the user toggle 'Share folder' thechannel-webdav would connect, that is, you would see in the logs:> GSpice-DEBUG: 05:55:47.703: ../src/spice-channel.c:2707 webdav-11:0: Open coroutine starting 0x55a774a10a90> GSpice-DEBUG: 05:55:47.703: ../src/spice-channel.c:2544 webdav-11:0: Started background coroutine 0x55a774a100d0> GSpice-DEBUG: 05:55:47.703: ../src/spice-session.c:2246 webdav-11:0: Using plain text, port 5900> GSpice-DEBUG: 05:55:47.704: ../src/spice-session.c:2177 open host pasta.usersys.redhat.com:5900> GSpice-DEBUG: 05:55:47.704: ../src/spice-session.c:2099 webdav-11:0: connecting 0x7f2c4bfffa40...> GSpice-DEBUG: 05:55:47.729: ../src/spice-session.c:2083 webdav-11:0: connect ready> GSpice-DEBUG: 05:55:47.730: ../src/spice-channel.c:1367 webdav-11:0: channel type 11 id 0 num common caps 1 num caps 0> GSpice-DEBUG: 05:55:47.767: ../src/spice-channel.c:1391 webdav-11:0: Peer version: 2:2> GSpice-DEBUG: 05:55:47.768: ../src/spice-channel.c:1947 webdav-11:0: spice_channel_recv_link_msg: 2 caps> GSpice-DEBUG: 05:55:47.768: ../src/spice-channel.c:1961 webdav-11:0: got remote common caps:virt-viewer-session has a bool property that's false by default,for sharing the folder. When this turns true,virt-viewer-session-spice would then spice_channel_connect() thechannel.Does it make sense to your client to only connect to thechannel-webdav only if you want to share something?I can set the shared-dir property to a file, or a non- existingdirectory, and the guest just complaints when I try to accessit through webdavd. However, this does not seem a goodsolution...Setting the property to NULL, on the other hand, seems areasonable value for "share nothing", but it makesspice_session_get_webdav_server return NULL and start_clientcrashes.I don't strong disagree that NULL is interesting to say "Nothingto share" but if you have nothing to share, you might as wellignore the channel? Similar is playback/record audio, in case youdon't have a sound card in your client you might as well ignoredit or if you don't have usb devices (i guess this is harder thansound card!) you might ignore channel-usbredir too.Unless I missed something and there is some way of makingremote-viewer share nothing... then we can just use that way.b) even if it did not crash, access to the shared dir from theguest would fail by timeout instead of immediately notifying ofan error.Is that on windows as guest?Yes, I tested it on Windows as guest. I tried to fix a) by justreturning early from start_client if spice_session_get_webdav_serverreturned NULL, but then all requests made by spice-webdavd are silentlyignored. There is a webdav channel but no webdav server... so I imaginespice-webdavd on Linux will get the same result.I spent some time looking at the code, found small issue andadded achecks on start_client(). Still, I don't see why weshould accept awebdav server running on NULL instead of only ina valid folder butI'm also interested in fixing (a) and (b) ifpossible.As I explained before (maybe that should go in the commitmessage too) I wanted a way of sharing no directory at all.Passing NULL as shared- dir property seems like a good value,but you tell me if there is a better way.Best regardsWell, having the possibility of crash needs a fix either way butlet me know if what I said before works for you. Not connecting the webdav channel works for us, thank you. The crash I mentioned should be fixed with the patch you sent recently. Thanks for your help Cheers,Cheers,--- src/spice-session.c | 4 ---- 1 file changed, 4 deletions(-)diff --git a/src/spice-session.c b/src/spice-session.cindex04ba124..cbcd8c4 100644--- a/src/spice-session.c+++ b/src/spice-session.c@@ -2813,10 +2813,6 @@ PhodavServer*spice_session_get_webdav_server(SpiceSession *session) staticGMutex mutex; const gchar *shared_dir =spice_session_get_shared_dir(session);- if (shared_dir == NULL){- SPICE_DEBUG("No shared dir set, not creating webdavserver");- return NULL;- } g_mutex_lock(&mutex); --2.20.1_______________________________________________Spice-devel mailinglistSpice-devel@xxxxxxxxxxxxxxxxxxxxxhttps://lists.freedesktop.org/mailman/listinfo/spice-devel--Javier Celaya AlastruéChief Technology Officerjavier.celaya@xxxxxxxxxxx+34696969959j_celayaLegal Information and Privacy PolicyPolítica de confidencialidadEste mensaje y los ficheros anexos son confidenciales dirigiéndose exclusivamente al destinatario mencionado en el encabezamiento. Si usted ha recibido este correo por error, tenga la amabilidad de eliminarlo de su sistema y no divulgar el contenido a terceros. Los datos personales facilitados por usted o por terceros serán tratados por FLEXIBLE SOFTWARE SOLUTIONS S.L.U. con la finalidad de gestionar y mantener los contactos y relaciones que se produzcan como consecuencia de la relación que mantiene con FLEXIBLE SOFTWARE SOLUTIONS S.L.U. Normalmente, la base jurídica que legitima este tratamiento, será su consentimiento, el interés legítimo o la necesidad para gestionar una relación contractual o similar. El plazo de conservación de sus datos vendrá determinado por la relación que mantiene con nosotros. Para más información al respecto, o para ejercer sus derechos de acceso, rectificación, supresión, oposición, limitación o portabilidad, dirija una comunicación por escrito a FLEXIBLE SOFTWARE SOLUTIONS S.L.U: Avenida de Ranillas 1D, Planta 3, Oficina 3G, Zaragoza o al correo electrónicopdo@xxxxxxxxxxx. En caso de considerar vulnerado su derecho a la protección de datos personales, podrá interponer una reclamación ante la Agencia Española de Protección de Datos (www.agpd.es). --
|
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel