Hi, On Mon, May 06, 2019 at 04:06:45PM +0200, Javier Celaya wrote: > Hi > El 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 andresults > > > in an error answer to all requests of the webdav channel,instead of > > > silently ignoring them. > > > This is better than just returning NULL > > > fromspice_session_get_webdav_server because:a) it crashes > > > channel_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 are > developing our new client for flexVDI. You will have to modify some of > the source code for remote-viewer to see it. > The thing is, if you do not set the shared-dir property of the > SpiceSession object, it default to the XDG public directory. This > happens if you do not pass the "shared-dir" command line option, for > instance. But how do I say "I do not want to share any directory with > the guest"? With remote-viewer, only when the user toggle 'Share folder' the channel-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() the channel. Does it make sense to your client to only connect to the channel-webdav only if you want to share something? > I can set the shared-dir property to a file, or a non- existing > directory, and the guest just complaints when I try to access > it through webdavd. However, this does not seem a good > solution... > Setting the property to NULL, on the other hand, seems a > reasonable value for "share nothing", but it makes > spice_session_get_webdav_server return NULL and start_client > crashes. I don't strong disagree that NULL is interesting to say "Nothing to share" but if you have nothing to share, you might as well ignore the channel? Similar is playback/record audio, in case you don't have a sound card in your client you might as well ignored it or if you don't have usb devices (i guess this is harder than sound card!) you might ignore channel-usbredir too. > Unless I missed something and there is some way of making > remote-viewer share nothing... then we can just use that way. > > > b) even if it did not crash, access to the shared dir from the > > > guest would fail by timeout instead of immediately notifying of > > > an error. > > > > Is that on windows as guest? > > Yes, I tested it on Windows as guest. I tried to fix a) by just > returning early from start_client if spice_session_get_webdav_server > returned NULL, but then all requests made by spice-webdavd are silently > ignored. There is a webdav channel but no webdav server... so I imagine > spice-webdavd on Linux will get the same result. > > I spent some time looking at the code, found small issue andadded a > > checks on start_client(). Still, I don't see why weshould accept a > > webdav server running on NULL instead of only ina valid folder but > > I'm also interested in fixing (a) and (b) ifpossible. > > As I explained before (maybe that should go in the commit > message 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 regards Well, having the possibility of crash needs a fix either way but let me know if what I said before works for you. Cheers, > > Cheers, > > > --- src/spice-session.c | 4 ---- 1 file changed, 4 deletions(-) > > > diff --git a/src/spice-session.c b/src/spice-session.cindex > > > 04ba124..cbcd8c4 100644--- a/src/spice-session.c+++ b/src/spice- > > > session.c@@ -2813,10 +2813,6 @@ PhodavServer* > > > spice_session_get_webdav_server(SpiceSession *session) static > > > GMutex mutex; const gchar *shared_dir = > > > spice_session_get_shared_dir(session);- if (shared_dir == NULL) > > > {- SPICE_DEBUG("No shared dir set, not creating webdav > > > server");- return NULL;- } g_mutex_lock(&mutex); -- > > > 2.20.1 > > > _______________________________________________Spice-devel mailing > > > listSpice-devel@xxxxxxxxxxxxxxxxxxxxx > > > https://lists.freedesktop.org/mailman/listinfo/spice-devel > -- > > > > > > > > > > > > > > > Javier Celaya Alastrué > > Chief Technology Officer > > > > > javier.celaya@xxxxxxxxxxx > > > > +34696969959 > > > j_celaya > > > > Legal Information and Privacy Policy > > > > > > Política de confidencialidad > Este 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ónico pdo@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). > > >
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel