Re: [Spice-Gtk] SpiceSession: Create webdav even with NULL shared_dir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
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.

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.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
). 
        
    

-- 


flexVDI

Javier Celaya Alastrué

Chief Technology Officer

email javier.celaya@xxxxxxxxxxx

Phone +34696969959

Skype j_celaya

Legal 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).

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]