[noPoll] Issue with using "protocols" field from the client

Francis Brosnan Blázquez francis en aspl.es
Jue Mayo 28 20:26:31 CEST 2015


Hi Rahul,

I think we should have it really soon because it is stable and
includes latest reported bug fixes...

About compiling it out of the SVN, I think it is going to be best for 
you to get it compiled from SVN so you can control that part without 
having a dependency on the installer...which is more designed to 
allow users to have a quick test ---i.e. I don't find suitable for many 
users to have a dependency with libgcc_s32.dll because 
we are using mingw gcc toolkit). 

To have it compiled with your preferred tool will make it more
natural for your whole solution...

Best Regards,

> 
> Thanks for the quick update!
> 
>  
> 
> Since we foresee use of the Windows version of the library too,
> 
> I will await the next stable release that includes these changes.
> 
> When do you plan on spinning the next release? 
> Should I try to compile the Windows version myself from the 
> current SVN repository?
> 
>  
> 
> Thanks again,
> 
>  
> 
> Rahul
> 
>  
> 
> 
> From: Francis Brosnan Blázquez [mailto:francis en aspl.es] 
> Sent: Thursday, May 28, 2015 7:10 AM
> To: Kale, Rahul
> Cc: nopoll en lists.aspl.es
> Subject: Re: [noPoll] Issue with using "protocols" field from the
> client
> 
> 
> 
>  
> 
> Hello there Rahul,
> 
> Thanks for reporting. Now the issue is fixed in a consistent way at
> the SVN 217 and
> will be delivered on next stable release:
> 
> https://dolphin.aspl.es/svn/publico/nopoll/
> 
> Now, it will work for your case without any additional effort. Now I'm
> on it, I've updated
> the API to allow handling these configurations and to allow the
> listener to select which
> protocol is supported or take any other actions, including closing the
> connection, when
> the protocol requested by the client isn't supported:
> 
> - nopoll_conn_get_accepted_protocol  (listener and client)
> - nopoll_conn_get_requested_protocol (listener)
> - nopoll_conn_set_accepted_protocol (listener)
> 
> Added regression test (test_27) to reproduce bug reported, check fix
> introduced and test
> new API symbols added. 
> 
> Again, thanks for reporting ...and any twitter, web, etc, reference to
> our noPoll site 
> http://www.aspl.es/nopoll is more than welcome,
> 
> Best Regards,
> 
> 
> 
> 
> 
> Hello,
> 
>  
> 
> After struggling with libwebsocket library for some days I switched to
> using the noPoll
> 
> library. So far things are going really well except I faced one issue
> very early on:
> 
>  
> 
> I am using the library to make a client connection to a websocket
> server.
> 
> After connecting to a websocket server, the connection is rejected. I
> see the following error
> 
> after enabling debug log.
> 
>  
> 
> (proc 23267): (critical) nopoll_conn.c:1858
> (nopoll_conn_check_mime_header_repeated) 
> 
> Provided header Sec-WebSocket-Protocol twice, closing connection
> 
>  
> 
> The code is using the API somewhat like this:
> 
>  
> 
> noPollConn * connection  = nopoll_conn_new(m_pContext, "127.0.0.1",
> "8080", NULL,
> 
>                 "/", "some-protocol", "some-origin");
> 
>                                                                 
> 
> Note that we are setting the "protocols" parameter. It seems the
> server responds with the
> 
> same protocol string set in the header for Sec-WebSocket-Protocol
> 
> but the library rejects this for some reason and closes the
> connection.
> 
>  
> 
> I am not sure if I am doing something wrong in how the library is used
> 
> or there is some other problem. Please advise.
> 
> According to the specification the client can send a list of supported
> protocols
> 
> and the server can respond with a subset. In our case we only need to
> use one protocol.
> 
>  
> 
> Anyway, after modifying the library (see below) I was able to make
> progress
> 
> with our implementation and have not seen any other issue yet.
> 
>  
> 
> To 'fix' the above issue I had to comment out two lines at line 2192
> in nopoll_conn.c:
> 
>  
> 
> #if 0
> 
>         if (nopoll_conn_check_mime_header_repeated (conn, header,
> value, "Sec-WebSocket-Protocol", conn->protocols))
> 
>                 return 0;
> 
> #endif
> 
>  
> 
> Also I had to later fix an associated memory leak:
> 
>  
> 
> else if (strcasecmp (header, "Sec-Websocket-Protocol") == 0) {
> 
>         nopoll_free (conn->protocols);
> 
>         conn->protocols = value;
> 
> }
> 
>  
> 
> This may not be the correct fix but allowed me to proceed with the
> rest of
> 
> the implementation.
> 
>  
> 
> Thanks,
> 
>  
> 
> Rahul
> 
>  
> 
> Rahul Kale
> 
>  
> 
> IP Video Systems
> 
> Barco, Inc
> 
> 1287 Anvilwood Ave
> 
> Sunnyvale, CA  94089
> 
>  
> 
> Tel  +1 408 400 4238
> 
>  
> 
> 
> 
> 
>         This message is subject to the following terms and conditions:
>         MAIL DISCLAIMER 
>         
>         
>          
>         _______________________________________________
>         noPoll mailing list
>         noPoll en lists.aspl.es
>         http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll
> 
> 
>  
> 
>  
> -- 
> Francis Brosnan Blázquez <francis en aspl.es>
> ASPL
> 91 134 14 22 - 91 134 14 45 - 91 116 07 57
>  
> AVISO LEGAL
>  
> En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
> diciembre, de Protección de Datos de Carácter Personal, le informamos de
> que sus datos de carácter personal, recogidos de fuentes accesibles al
> público o datos que usted nos ha facilitado previamente, proceden de
> bases de datos propiedad de Advanced Software Production Line, S.L.
> (ASPL).
>  
> ASPL garantiza que los datos serán tratados con la finalidad de mantener
> las oportunas relaciones comerciales o promocionales con usted o la
> entidad que usted representa. No obstante, usted puede ejercitar sus
> derechos de acceso, rectificación, cancelación y oposición dispuestos en
> la mencionada Ley Orgánica, notificándolo por escrito a ASPL -
> Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de Henares
> (Madrid).
>  
>  
> 
>  
> 
> 
> 
> This message is subject to the following terms and conditions: MAIL
> DISCLAIMER


-- 
Francis Brosnan Blázquez <francis en aspl.es>
ASPL
91 134 14 22 - 91 134 14 45 - 91 116 07 57

AVISO LEGAL
 
En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL).
 
ASPL garantiza que los datos serán tratados con la finalidad de mantener
las oportunas relaciones comerciales o promocionales con usted o la
entidad que usted representa. No obstante, usted puede ejercitar sus
derechos de acceso, rectificación, cancelación y oposición dispuestos en
la mencionada Ley Orgánica, notificándolo por escrito a ASPL -
Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de Henares
(Madrid).



------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.aspl.es/pipermail/nopoll/attachments/20150528/0b5059e1/attachment.html>


Más información sobre la lista de distribución noPoll