<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.30.3">
</HEAD>
<BODY>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Hello,
</PRE>
</BLOCKQUOTE>
<PRE>

</PRE>
Hello,<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
I recently had issues with nopoll sending incorrect PONG replies and
causing timeouts... Debugging with Fiddler showed most websocket
implementations send pong with masking while nopoll doesn't and thus
causing the connection to timeout.
</PRE>
</BLOCKQUOTE>
<PRE>

</PRE>
Ok, this depends because pong may have body and, according to the<BR>
RFC, client to server must be masked (so those pongs are) and when sent<BR>
by the server, it must go without masking...<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
This line:

nopoll_conn_send_frame(conn, nopoll_true, nopoll_false, NOPOLL_PONG_FRAME...

Should be passing true for the second parameter:

nopoll_conn_send_frame(conn, nopoll_true, nopoll_true, NOPOLL_PONG_FRAME...
</PRE>
</BLOCKQUOTE>
<BR>
...assuming this code is called by the client (but not as a server...where it will fail)<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Is this actually a bug in nopoll or just some servers require PONG with masking?
</PRE>
</BLOCKQUOTE>
<BR>
Ok, it is a bug. I've been checking the issue and the code in fact, should be updated<BR>
to the following:<BR>
<BR>
/* nopoll_bool masked = conn->role == NOPOLL_ROLE_CLIENT */<BR>
 nopoll_conn_send_frame (conn, nopoll_true, conn->role == NOPOLL_ROLE_CLIENT, NOPOLL_PONG_FRAME, 0, NULL, 0);<BR>
<BR>
...that way masked will be nopoll_true send executed by the client ... and nopoll_false<BR>
when it is a server reply (which is the common case which also explains how this bug<BR>
flew under the radar),<BR>
<BR>
Apply patch in SVN 239 (<A HREF="https://github.com/asples/nopoll/trunk">https://github.com/asples/nopoll/trunk</A>)<BR>
Thanks for reporting,<BR>
Best Regards,<BR>
<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
_______________________________________________
noPoll mailing list
<A HREF="mailto:noPoll@lists.aspl.es">noPoll@lists.aspl.es</A>
<A HREF="http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll">http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll</A>
</PRE>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
Francis Brosnan Blázquez - ASPL
91 134 14 22 - 91 134 14 45 - 91 116 07 57

<A HREF="http://aspl.es">http://aspl.es</A>
<A HREF="http://asplhosting.com">http://asplhosting.com</A>
<A HREF="http://twitter.com/aspl_es">http://twitter.com/aspl_es</A>
<A HREF="http://twitter.com/asplhosting">http://twitter.com/asplhosting</A>

AVISO LEGAL

Este mensaje se dirige exclusivamente a su destinatario. Los datos
incluidos en el presente correo son confidenciales y sometidos a secreto
profesional, se prohíbe divulgarlos, en virtud de las leyes vigentes. Si
usted no lo es y lo ha recibido por error o tiene conocimiento del mismo
por cualquier motivo, le rogamos que nos lo comunique por este medio y
proceda a destruirlo o borrarlo.

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). 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).
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>