[Libwebsockets] Libwebsocket Upgrade from 1.4

Andy Green andy at warmcat.com
Mon Jul 11 17:43:39 CEST 2016


On Mon, 2016-07-11 at 11:01 -0400, Brice Hamon wrote:
> Hi Andy,
> 
> Got the latest stable 2,0 version, changed the POLLIN to now exported
> LWS_POLLIN and all is good.
> Thank you.
> 
> However I am still getting this error SNI: Unknown ServerName
> dev.xxx.com

Did you set your info.vhost_name to "xxx.com"?

-Andy

> 
> because it's coming from ssl-server.c line 191 and not from server.c
> where you patched the processing.
> 
> Thank you.
> Brice.
> 
> On Sun, Jul 10, 2016 at 10:00 PM, Andy Green <andy at warmcat.com>
> wrote:
> > On Sun, 2016-07-10 at 21:07 -0400, Brice Hamon wrote:
> > > "If even that information doesn't exist on the host (is it really
> > > true?)
> > > then you need something new, that you could call the vhost
> > > "*.xxx.com"
> > > and have it match any of them, since the wildcard cert will
> > accept
> > > any
> > > of them.
> > >
> > > Is that what we are talking about?"
> > >
> > > Yes exactly. A matching would work nicely and be more flexible.
> > >
> > > The host just has a full name like dev1.xxx.com and knows its
> > domain
> > > is xxx.com but that's all.
> > 
> > Here's a patch on master that makes it fall back to allowing
> > wildcard
> > matches if no exact match from the vhosts listening on the right
> > port
> > 
> > https://github.com/warmcat/libwebsockets/commit/b000fc7d1d52913aa5c
> > a71a
> > 23032cf2e4ebc1af9
> > 
> > You should name your vhost "xxx.com" to use that, then it will also
> > match on incoming SNI names *.xxx.com if no exact match.  If no
> > match
> > there either, it continues to bind to the "first" vhost.
> > 
> > When SSL is used the client will still confirm if wildcards are OK
> > according to the validated server cert, if not error out at that
> > point.
> >  If so, should be no warnings or errors.  Since it's anyway got no
> > other choice but bind to the "first" vhost, this should only be an
> > improvement.
> > 
> > Since it doesn't actually change the api it's also pushed on v2.0-
> > stable branch.
> > 
> > -Andy
> > 
> > >
> > >
> > > On Sun, Jul 10, 2016 at 9:02 PM, Andy Green <andy at warmcat.com>
> > wrote:
> > > > On Sun, 2016-07-10 at 20:54 -0400, Brice Hamon wrote:
> > > > > Not exactly. 
> > > > >
> > > > > We have a site wildcard certs *.xxx.com and we use it
> > everywhere.
> > > > >
> > > > > And we DNS the different environments dev.xxx.com etc to a
> > > > registered
> > > > > IP, which points to a load balancer.
> > > > >
> > > > > So the farm of WS servers have no knowledge of environments
> > they
> > > > are
> > > > > running in i.e different farms at different locations.
> > > >
> > > > Lws only needs to know if the vhost should be called
> > "dev.xxx.com",
> > > > "staging.xxx.com", or "xxx.com", nothing else like IPs or
> > whatever.
> > > >
> > > > If even that information doesn't exist on the host (is it
> > really
> > > > true?)
> > > > then you need something new, that you could call the vhost
> > > > "*.xxx.com"
> > > > and have it match any of them, since the wildcard cert will
> > accept
> > > > any
> > > > of them.
> > > >
> > > > Is that what we are talking about?
> > > >
> > > > -Andy
> > > >
> > > >
> > > > > On Sun, Jul 10, 2016 at 8:44 PM, Andy Green <andy at warmcat.com
> > >
> > > > wrote:
> > > > > > On Sun, 2016-07-10 at 20:33 -0400, Brice Hamon wrote:
> > > > > > > Great, thanks for the patches Andy.
> > > > > > >
> > > > > > > Thanks also for the SNI explanation. Correct, I don' t
> > have
> > > > > > vhosts as
> > > > > > > I am serving only one domain per server.
> > > > > >
> > > > > > OK, in lws terms, you have a single, default vhost with the
> > > > name
> > > > > > "default".
> > > > > >
> > > > > > > In our case, WS servers instances are run from different
> > > > centers
> > > > > > > (dev, staging, prod) and the same binary is installed
> > > > everywhere,
> > > > > > > behind load balancers.
> > > > > > >
> > > > > > > So the program has no way to know which is the external
> > IP
> > > > > > client's
> > > > > >
> > > > > > Hm it's not related to "IP", it's hostname.
> > > > > >
> > > > > > The hostname also features on the host's SSL cert as
> > > > identifying it
> > > > > > uniquely.
> > > > > >
> > > > > > If you are using SSL in a useful way at all, you must face
> > this
> > > > > > actually, since you chose a hostname to put on the SSL
> > cert. 
> > > > Then
> > > > > > there is no doubt what the hostname used to reach the
> > server
> > > > should
> > > > > > be,
> > > > > > it's one that matches the one on the cert.
> > > > > >
> > > > > > And your clients should check the hostname they reached the
> > > > server
> > > > > > with
> > > > > > (eg, libwebsockets.org) matches the validated cert the
> > server
> > > > gave
> > > > > > them, or blow chunks.
> > > > > >
> > > > > > The usual ways to deal with it are either
> > > > > >
> > > > > >  - mess with your local DNS or /etc/hosts to make the
> > temporary
> > > > IP
> > > > > > of
> > > > > > the server match the vhost name
> > > > > >
> > > > > >  - use a wildcard cert (*.xxx.com) and define dns for
> > > > dev.xxx.com,
> > > > > > staging.xxx.com, xxx.com that point to the correct,
> > compatible
> > > > > > hosts
> > > > > >
> > > > > > > can reach it. Of course I can specifying it at launch
> > time
> > > > but
> > > > > > it's
> > > > > > > am operation's manual procedure I would like to avoid.
> > > > > > >
> > > > > > > Is there a way to disable this feature?
> > > > > >
> > > > > > By default if the incoming SNI name doesn't match any
> > vhost,
> > > > you
> > > > > > are
> > > > > > directed to the first vhost, this is what apache does and
> > we do
> > > > the
> > > > > > same.
> > > > > >
> > > > > > So it will work, but your client should complain that the
> > valid
> > > > > > cert he
> > > > > > got (for host "xxx.xxx.com") is from a different host than
> > he
> > > > went
> > > > > > out
> > > > > > to connect to ("192.168.100.100" or whatever you are
> > doing).
> > > > > >
> > > > > > -Andy
> > > > > >
> > > > > > > Thank you.
> > > > > > > Brice.
> > > > > > >
> > > > > > >
> > > > > > > On Sun, Jul 10, 2016 at 7:45 PM, Andy Green <andy at warmcat
> > .com
> > > > >
> > > > > > wrote:
> > > > > > > > On Sun, 2016-07-10 at 10:53 -0400, Brice Hamon wrote:
> > > > > > > > > Victory !
> > > > > > > > >
> > > > > > > > > Got the server to work with 2.0.1.
> > > > > > > >
> > > > > > > > Great.
> > > > > > > >
> > > > > > > > > Thanks to Andy and Roger for your advices. 
> > > > > > > > >
> > > > > > > > > Once the code was upgraded to 2.0.1 API calls, the
> > only
> > > > non-
> > > > > > > > backward
> > > > > > > > > compatibility between 1.6 and 1.7 was in the need to
> > > > specify
> > > > > > the
> > > > > > > > > POLL_ event in both .events and .revents of the
> > > > lws_pollfd
> > > > > > > > structure.
> > > > > > > >
> > > > > > > > Right, it's also specific to EXTPOLL.  I pushed a patch
> > on
> > > > > > master
> > > > > > > > documenting that in README.coding.md, and -->
> > > > > > > >
> > > > > > > > > Other than that the upgrade was easy. Pretty good
> > > > considering
> > > > > > I
> > > > > > > > was
> > > > > > > > > many major releases behind.
> > > > > > > > >
> > > > > > > > > Only 2 small things:
> > > > > > > > >
> > > > > > > > > - The lws_pollfd is exported in libwebsocket.h, but
> > the
> > > > > > > > LWS_POLLIN
> > > > > > > > > etc   defines are in private-libwebsockets.h so not
> > > > > > accessible. I
> > > > > > > > had
> > > > > > > > > to look what you mapped and set the POLL value
> > directly.
> > > > > > > >
> > > > > > > > Yes, the patch on master now exports them in
> > > > libwebsockets.h
> > > > > > for
> > > > > > > > use in
> > > > > > > > EXTPOLL-with-event-loop-with-non-poll-semantics case.
> > > > > > > >
> > > > > > > > > - I am getting a new non critical ERROR log from lws
> > at
> > > > > > client's
> > > > > > > > > connection like: SNI: Unknown ServerName:
> > xxx.xxx.com.
> > > > Seems
> > > > > > like
> > > > > > > > I
> > > > > > > > > am not defining something on the SSL side. Any ideas?
> > > > > > > >
> > > > > > > > SNI is how SSL deals with the situation you may be
> > serving
> > > > > > multiple
> > > > > > > > vhosts on one IP, and each vhost may have different SSL
> > > > certs. 
> > > > > > For
> > > > > > > > example lws serves both libwebsockets.org and
> > warmcat.com
> > > > from
> > > > > > one
> > > > > > > > IP,
> > > > > > > > and each vhost has its own SSL cert that can only work
> > on
> > > > the
> > > > > > > > correct
> > > > > > > > connection.
> > > > > > > >
> > > > > > > > Lws supports multiple vhosts since v2.0, so when it
> > gets a
> > > > > > > > connection
> > > > > > > > on ssl, before proceeding with setting up the encrypted
> > > > session
> > > > > > it
> > > > > > > > checks the hostname the ssl client sent against the
> > name of
> > > > all
> > > > > > of
> > > > > > > > the
> > > > > > > > vhosts served by the server on the connection's
> > incoming
> > > > port,
> > > > > > so
> > > > > > > > it
> > > > > > > > can bind the connection to the right vhost and the
> > right
> > > > certs.
> > > > > > > >  (Without SSL, this is done instead by looking at the
> > Host:
> > > > > > header,
> > > > > > > > but
> > > > > > > > with SSL, there is a chicken-and-egg problem that the
> > > > headers
> > > > > > > > cannot be
> > > > > > > > sent until the correct crypto is established, so the
> > > > hostname
> > > > > > is
> > > > > > > > sent
> > > > > > > > first out-of-band using SNI).
> > > > > > > >
> > > > > > > > For backwards-compatibility if you don't create your
> > own
> > > > > > vhosts,
> > > > > > > > one
> > > > > > > > called "default" is created at context-creation time
> > for
> > > > you,
> > > > > > or
> > > > > > > > using
> > > > > > > > .vhost_name from the lws_context_creation_info struct
> > if
> > > > non-
> > > > > > NULL. 
> > > > > > > > So
> > > > > > > > just define this to be "xxx.xxx.com" at context
> > creation
> > > > time,
> > > > > > > > matching
> > > > > > > > the hostname external clients are using to reach the
> > > > server.
> > > > > > > >
> > > > > > > > -Andy
> > > > > > > >
> > > > > > > > > Thank you,
> > > > > > > > > Brice.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Thu, Jul 7, 2016 at 5:56 PM, Brice Hamon
> > <normandvikin
> > > > g at gm
> > > > > > ail.
> > > > > > > > com>
> > > > > > > > > wrote:
> > > > > > > > > > Arrgh !! :)
> > > > > > > > > >
> > > > > > > > > > Thank you ! I did not think at looking at the ev
> > > > > > > > implementation.
> > > > > > > > > >
> > > > > > > > > > I can see he does set .events and .revents in case
> > of a
> > > > > > READ
> > > > > > > > like I
> > > > > > > > > > was trying to work around that check :
> > > > > > > > > >
> > > > > > > > > > eventfd.revents = EV_NONE;
> > > > > > > > > > if (revents & EV_READ) { 
> > > > > > > > > >     eventfd.events |= LWS_POLLIN; 
> > > > > > > > > >     eventfd.revents |= LWS_POLLIN;
> > > > > > > > > > }
> > > > > > > > > >
> > > > > > > > > > I will look into this and report.
> > > > > > > > > >
> > > > > > > > > > Thanks again.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Thu, Jul 7, 2016 at 5:48 PM, Andy Green <andy at wa
> > rmca
> > > > t.co
> > > > > > m>
> > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > On July 8, 2016 4:31:54 AM GMT+08:00, Brice Hamon
> > > > > > > > <normandviking@
> > > > > > > > > > > gmail.com> wrote:
> > > > > > > > > > > >Hi Andy,
> > > > > > > > > > > >
> > > > > > > > > > > >Thanks for your response.
> > > > > > > > > > > >
> > > > > > > > > > > >Yes  I do apply your change in your POLL
> > callbacks
> > > > from
> > > > > > the
> > > > > > > > > > > ,events
> > > > > > > > > > > >fields
> > > > > > > > > > > >you give me. And this  has worked nicely.
> > > > > > > > > > > >
> > > > > > > > > > > >I was referring the other way: When I get a READ
> > > > event
> > > > > > on a
> > > > > > > > lws
> > > > > > > > > > > fd, I
> > > > > > > > > > > >have
> > > > > > > > > > > >to notify your lib that this event happens.
> > > > > > > > > > > >
> > > > > > > > > > > >I do that by calling libwebsocket_service_fd()
> > with
> > > > a
> > > > > > "fake"
> > > > > > > > > > > tmpollfd,
> > > > > > > > > > > >in
> > > > > > > > > > > >which I fill the .fd field with the correct file
> > > > > > descripto, 
> > > > > > > > and
> > > > > > > > > > > the
> > > > > > > > > > > >.revents field with whatever event I map to a
> > POLL
> > > > > > event.
> > > > > > > > > > > >In my READ EVENT, I map to a POLLIN in your poll
> > > > world.
> > > > > > > > > > > >
> > > > > > > > > > > >My question was is this the correct way to
> > notify
> > > > you?
> > > > > > > > > > >
> > > > > > > > > > > Oh I see... you can refer to how the built-in
> > support
> > > > for
> > > > > > eg,
> > > > > > > > > > > libev does it, at
> > > > > > > > > > >
> > > > > > > > > > > https://github.com/warmcat/libwebsockets/blob/mas
> > ter/
> > > > lib/
> > > > > > libe
> > > > > > > > v.c#
> > > > > > > > > > > L33
> > > > > > > > > > >
> > > > > > > > > > > he sets his fake pollfd .events = .revents.
> > > > > > > > > > >
> > > > > > > > > > > -Andy
> > > > > > > > > > >
> > > > > > > > > > > >This way used to work prior 1.6 but maybe I am
> > > > > > forgetting
> > > > > > > > > > > something
> > > > > > > > > > > >with a
> > > > > > > > > > > >newer version.
> > > > > > > > > > > >
> > > > > > > > > > > >Thanks
> > > > > > > > > > > >Brice.
> > > > > > > > > > > >
> > > > > > > > > > > >On Thu, Jul 7, 2016 at 4:05 PM, Andy Green <andy
> > @war
> > > > mcat
> > > > > > .com
> > > > > > > > >
> > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > >>
> > > > > > > > > > > >>
> > > > > > > > > > > >> On July 8, 2016 3:16:06 AM GMT+08:00, Brice
> > Hamon
> > > > > > > > > > > ><normandviking at gmail.com>
> > > > > > > > > > > >> wrote:
> > > > > > > > > > > >> >Some progress to report.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >Yes basically my event framework is buid
> > around
> > > > > > epoll. I
> > > > > > > > just
> > > > > > > > > > > add
> > > > > > > > > > > >> >remove
> > > > > > > > > > > >> >and modify fd from your callbacks, and when
> > an
> > > > event
> > > > > > > > occurs
> > > > > > > > > > > on one
> > > > > > > > > > > >of
> > > > > > > > > > > >> >thelws fd, I call lws_service_fd() with a
> > > > > > lws_pollargs
> > > > > > > > filled
> > > > > > > > > > > with
> > > > > > > > > > > >the
> > > > > > > > > > > >> >fd
> > > > > > > > > > > >> >and the event mapped to poll() type. This
> > > > framework
> > > > > > has
> > > > > > > > been
> > > > > > > > > > > working
> > > > > > > > > > > >> >with
> > > > > > > > > > > >> >1.4 for 2 years without issue, and is serving
> > all
> > > > IO
> > > > > > > > events
> > > > > > > > > > > in many
> > > > > > > > > > > >> >other
> > > > > > > > > > > >> >servers.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >So I looked at the difference between 1.6 and
> > 1.7
> > > > on
> > > > > > that
> > > > > > > > > > > side.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >Yes the code has changed quiet a bit as
> > expected.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >Before the lib was doing only one accept per
> > call
> > > > > > call
> > > > > > > > which
> > > > > > > > > > > was
> > > > > > > > > > > >> >incorrect
> > > > > > > > > > > >> >as other accept to be lost in the queue, and
> > on >
> > > > 1.6
> > > > > > > > there
> > > > > > > > > > > is a
> > > > > > > > > > > >>
> > > > > > > > > > > >> Ehhhh...  if there is still another connection
> > to
> > > > be
> > > > > > > > processed
> > > > > > > > > > > -
> > > > > > > > > > > >there is
> > > > > > > > > > > >> literally a queue of them held by the OS for
> > each
> > > > > > listen
> > > > > > > > > > > socket -
> > > > > > > > > > > >then
> > > > > > > > > > > >> POLLIN for the listen socket will fire again
> > next
> > > > time
> > > > > > > > round
> > > > > > > > > > > the
> > > > > > > > > > > >event
> > > > > > > > > > > >> loop.  Nothing was ever getting 'lost'.
> > > > > > > > > > > >>
> > > > > > > > > > > >> >while()
> > > > > > > > > > > >> >around accept to not miss any, which is
> > correct
> > > > > > > > processing.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >And as far as my failing test, indeed, the
> > test
> > > > for
> > > > > > > > .events 
> > > > > > > > > > > was
> > > > > > > > > > > >added
> > > > > > > > > > > >> >in >
> > > > > > > > > > > >> >1.6
> > > > > > > > > > > >>
> > > > > > > > > > > >> It's part of the ah (allocated_headers) pool
> > > > stuff,
> > > > > > > > processing
> > > > > > > > > > > an
> > > > > > > > > > > >incoming
> > > > > > > > > > > >> (always initially http) connection must not
> > happen
> > > > > > until
> > > > > > > > an ah
> > > > > > > > > > > is
> > > > > > > > > > > >available
> > > > > > > > > > > >> from the pool.  Previously it'd always malloc
> > an
> > > > ah,
> > > > > > but
> > > > > > > > the
> > > > > > > > > > > memory
> > > > > > > > > > > >usage
> > > > > > > > > > > >> for that was very spiky and unpredictable for
> > the
> > > > case
> > > > > > you
> > > > > > > > > > > have tens
> > > > > > > > > > > >of
> > > > > > > > > > > >> thousands of connections coming at once.
> > > > > > > > > > > >>
> > > > > > > > > > > >> >As a try, I filled the .events and .revents
> > with
> > > > > > POLLIN
> > > > > > > > when
> > > > > > > > > > > I get a
> > > > > > > > > > > >> >READ
> > > > > > > > > > > >>
> > > > > > > > > > > >> .events is meant to be read-only for you.
> > > > > > > > > > > >>
> > > > > > > > > > > >> >to pass the failing line in server.c and it
> > > > worked.
> > > > > > All
> > > > > > > > the
> > > > > > > > > > > lws
> > > > > > > > > > > >> >callbacks
> > > > > > > > > > > >> >were called and the server was operational.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >Before I was filling the .revents and I think
> > > > this
> > > > > > was
> > > > > > > > error
> > > > > > > > > > > on my
> > > > > > > > > > > >part
> > > > > > > > > > > >> >a
> > > > > > > > > > > >> >.events in the input parameter.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >So I am confused as why filling the .events
> > field
> > > > of
> > > > > > the
> > > > > > > > > > > >lws_pollargs
> > > > > > > > > > > >> >alone
> > > > > > > > > > > >> >does not make the library accepting a new
> > > > connection.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >Am I missing something?
> > > > > > > > > > > >>
> > > > > > > > > > > >> Yeah the point is lws controls .events, and
> > you
> > > > report
> > > > > > > > > > > .revents only,
> > > > > > > > > > > >> refer to the operation of poll().  If it has
> > set
> > > > > > POLLIN to
> > > > > > > > 0
> > > > > > > > > > > in
> > > > > > > > > > > >.events,
> > > > > > > > > > > >> its meaning is you should have masked your
> > > > sensitivity
> > > > > > to
> > > > > > > > > > > POLLIN
> > > > > > > > > > > >events for
> > > > > > > > > > > >> that socket.  Lws gives you the callback
> > > > > > > > > > > >LWS_CALLBACK_CHANGE_MODE_POLL_FD
> > > > > > > > > > > >> whenever he changes .events on a socket, so
> > that
> > > > you
> > > > > > can
> > > > > > > > echo
> > > > > > > > > > > the
> > > > > > > > > > > >changes
> > > > > > > > > > > >> in your external event loop mask for the
> > socket. 
> > > > It
> > > > > > > > sounds
> > > > > > > > > > > like you
> > > > > > > > > > > >don't
> > > > > > > > > > > >> process that (or possibly we fail to send it
> > for
> > > > that
> > > > > > case
> > > > > > > > > > > somehow).
> > > > > > > > > > > >>
> > > > > > > > > > > >> It's ok if due to a race between the change to
> > > > .events
> > > > > > > > > > > disabling an
> > > > > > > > > > > >event
> > > > > > > > > > > >> and the wait processing, one slips through
> > when
> > > > > > .events
> > > > > > > > > > > disabled it:
> > > > > > > > > > > >the
> > > > > > > > > > > >> checks in lws will catch it and ignore it. 
> > And
> > > > when
> > > > > > you
> > > > > > > > come
> > > > > > > > > > > back
> > > > > > > > > > > >around
> > > > > > > > > > > >> the event loop, the new mask disabling the
> > events
> > > > will
> > > > > > > > apply
> > > > > > > > > > > and no
> > > > > > > > > > > >further
> > > > > > > > > > > >> false events should occur.
> > > > > > > > > > > >>
> > > > > > > > > > > >> -Andy
> > > > > > > > > > > >>
> > > > > > > > > > > >> >Thanks
> > > > > > > > > > > >> >Brice.
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >On Thu, Jul 7, 2016 at 11:18 AM, Andy Green
> > <andy
> > > > @war
> > > > > > mcat
> > > > > > > > .com
> > > > > > > > > > > >
> > > > > > > > > > > >wrote:
> > > > > > > > > > > >> >
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> On July 7, 2016 11:01:56 PM GMT+08:00,
> > Brice
> > > > Hamon
> > > > > > <
> > > > > > > > > > > >> >> normandviking at gmail.com> wrote:
> > > > > > > > > > > >> >> >Hi Andy,
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >1.7.8 recompiled in debug, with 1 thread.
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >I traced in the debugger after the READ
> > event
> > > > on
> > > > > > the
> > > > > > > > lws
> > > > > > > > > > > fd.
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >Although I don't understand your code, it
> > > > appears
> > > > > > that
> > > > > > > > lws
> > > > > > > > > > > does
> > > > > > > > > > > >not
> > > > > > > > > > > >> >> >process
> > > > > > > > > > > >> >> >the event due to the check in line:
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >server.c line 1011.
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >as follow:
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >Breakpoint 2, lws_server_socket_service
> > > > > > > > > > > (context=0x7fffc8001670,
> > > > > > > > > > > >> >> >wsi=0x7fffc8025090, pollfd=0x7fffcfffee10)
> > > > > > > > > > > >> >> >    at
> > > > > > > > > > > >> >>
> > > > > > > > > > > >>
> > > > > > > > > > >
> > >>>/export/home/development/3rdparty/libwebsockets-
> > > > > > > > > > > 1.7.8/lib/server.c:1011
> > > > > > > > > > > >> >> >1011                            if (!(fd-
> > > > > > poll>revents
> > > > > > > > &
> > > > > > > > > > > >LWS_POLLIN)
> > > > > > > > > > > >> >||
> > > > > > > > > > > >> >> >!(pollfd->events & LWS_POLLIN))
> > > > > > > > > > > >> >> >(gdb) n
> > > > > > > > > > > >> >> >1062                    return 0;
> > > > > > > > > > > >> >> >(gdb) c
> > > > > > > > > > > >> >> >Continuing.
> > > > > > > > > > > >> >> >16-07-07 10:53:44.656235 INFO : [WEBSOCKET
> > ]:
> > > > > > > > > > > processUserEvent
> > > > > > > > > > > >> >called
> > > > > > > > > > > >> >> >for
> > > > > > > > > > > >> >> >fd=71 ret=0
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >Breakpoint 2, lws_server_socket_service
> > > > > > > > > > > (context=0x7fffc8001670,
> > > > > > > > > > > >> >> >wsi=0x7fffc8025090, pollfd=0x7fffcfffee10)
> > > > > > > > > > > >> >> >    at
> > > > > > > > > > > >> >>
> > > > > > > > > > > >>
> > > > > > > > > > >
> > >>>/export/home/development/3rdparty/libwebsockets-
> > > > > > > > > > > 1.7.8/lib/server.c:1011
> > > > > > > > > > > >> >> >1011                            if
> > (!(pollfd-
> > > > > > >revents
> > > > > > > > &
> > > > > > > > > > > >LWS_POLLIN)
> > > > > > > > > > > >> >||
> > > > > > > > > > > >> >> >!(pollfd->events & LWS_POLLIN))
> > > > > > > > > > > >> >> >(gdb) n
> > > > > > > > > > > >> >> >1062                    return 0;
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >(gdb) p *pollfd
> > > > > > > > > > > >> >> >$20 = {fd = 71, events = 0, revents = 1}
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >So the thread is spinning and the event
> > not
> > > > > > consumed.
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >I do not know why at this point, just
> > wanted
> > > > to
> > > > > > share
> > > > > > > > my
> > > > > > > > > > > early
> > > > > > > > > > > >> >> >findings.
> > > > > > > > > > > >> >> >Any ideas?
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> This is what I guessed a couple of emails
> > > > ago...
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> >>> > > If, for example, you report a
> > .revent
> > > > that
> > > > > > > > actually
> > > > > > > > > > > has no
> > > > > > > > > > > >> >> >.event
> > > > > > > > > > > >> >> >>> > > set, because your event mask at
> > epoll
> > > > is
> > > > > > > > > > > inconsistent with
> > > > > > > > > > > >> >lws
> > > > > > > > > > > >> >> >>> > > pollfd .event mask, it might spin. 
> > So
> > > > you
> > > > > > > > should
> > > > > > > > > > > be able
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >check
> > > > > > > > > > > >> >> >>> > > for that.
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> But you seemed to think your code handled
> > it.
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> Something seems wrong with how you are
> > keeping
> > > > your
> > > > > > > > event
> > > > > > > > > > > loop in
> > > > > > > > > > > >> >sync
> > > > > > > > > > > >> >> with pollfd state changes.
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> Your code about that follows the extpoll
> > code
> > > > like
> > > > > > the
> > > > > > > > test
> > > > > > > > > > > >server?
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >
> > > > > > > > > > > >>
> > > > > > > > > > > >https://github.com/warmcat/libwebsockets/blob/ma
> > ster
> > > > /tes
> > > > > > t-se
> > > > > > > > rver
> > > > > > > > > > > /test-server-http.c#L732
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> Particularly uses lws_pollargs?
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >
> > > > > > > > > > > >>
> > > > > > > > > > > >https://github.com/warmcat/libwebsockets/blob/ma
> > ster
> > > > /lib
> > > > > > /lib
> > > > > > > > webs
> > > > > > > > > > > ockets.h#L436
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> -Andy
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >> >Thanks
> > > > > > > > > > > >> >> >Brice.
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >On Wed, Jul 6, 2016 at 10:41 PM, Brice
> > Hamon
> > > > > > > > > > > >> ><normandviking at gmail.com>
> > > > > > > > > > > >> >> >wrote:
> > > > > > > > > > > >> >> >
> > > > > > > > > > > >> >> >> Thanks Andy,
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >> Maybe the event is not consumed in lws
> > due
> > > > to a
> > > > > > > > state
> > > > > > > > > > > issue,
> > > > > > > > > > > >from
> > > > > > > > > > > >> >an
> > > > > > > > > > > >> >> >> incorrect use of the lib on my side.
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >> I'll upgrade to 1.7.8 and debug it
> > tomorrow
> > > > and
> > > > > > > > report.
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >> Brice.
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >> On Wed, Jul 6, 2016 at 10:24 PM, Andy
> > Green
> > > > <and
> > > > > > y at wa
> > > > > > > > rmca
> > > > > > > > > > > t.com>
> > > > > > > > > > > >> >wrote:
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >>> On Wed, 2016-07-06 at 22:12 -0400,
> > Brice
> > > > Hamon
> > > > > > > > wrote:
> > > > > > > > > > > >> >> >>> > You're correct Andy, but in my
> > framework,
> > > > the
> > > > > > > > even is
> > > > > > > > > > > >checked
> > > > > > > > > > > >> >> >before
> > > > > > > > > > > >> >> >>> > calling that method.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> You didn't show that when you pasted
> > the
> > > > > > code...
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> > The event is READ and I am calling
> > lws on
> > > > the
> > > > > > > > correct
> > > > > > > > > > > fd.
> > > > > > > > > > > >> >> >>> >
> > > > > > > > > > > >> >> >>> > This spinning is not happening in 1.6
> > or
> > > > > > previous
> > > > > > > > > > > version.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> I wouldn't get too hung up about that
> > as
> > > > > > > > necessarily
> > > > > > > > > > > >meaningful.
> > > > > > > > > > > >> >It
> > > > > > > > > > > >> >> >>> does not happen on any version without
> > your
> > > > > > code /
> > > > > > > > > > > external
> > > > > > > > > > > >libev
> > > > > > > > > > > >> >> >>> integration for example.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> You have to debug it and see where it
> > > > leads.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> > I'll debug this tomorrow and report,
> > but
> > > > it
> > > > > > seems
> > > > > > > > to
> > > > > > > > > > > me that
> > > > > > > > > > > >> >lws
> > > > > > > > > > > >> >> >is
> > > > > > > > > > > >> >> >>> > not triggering a read() of the fd
> > hence
> > > > the
> > > > > > event
> > > > > > > > is
> > > > > > > > > > > not
> > > > > > > > > > > >> >consumed.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> Yes... but why?  And why does lws work
> > with
> > > > lws
> > > > > > own
> > > > > > > > > > > poll(),
> > > > > > > > > > > >libev
> > > > > > > > > > > >> >> >and
> > > > > > > > > > > >> >> >>> libuv support?  One reason could have
> > been
> > > > the
> > > > > > > > .event
> > > > > > > > > > > not
> > > > > > > > > > > >being
> > > > > > > > > > > >> >> >>> unmasked, but you're ruling that out.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> You'll have to follow it on one of
> > these
> > > > > > looping
> > > > > > > > events
> > > > > > > > > > > and
> > > > > > > > > > > >see
> > > > > > > > > > > >> >what
> > > > > > > > > > > >> >> >>> happens inside lws that it doesn't read
> > /
> > > > > > accept
> > > > > > > > it.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> I guess this 'read' is signalling that
> > the
> > > > > > listen
> > > > > > > > > > > socket has a
> > > > > > > > > > > >> >> >>> connection to accept, you can check it
> > in a
> > > > > > > > debugger by
> > > > > > > > > > > >looking
> > > > > > > > > > > >> >at
> > > > > > > > > > > >> >> >wsi-
> > > > > > > > > > > >> >> >>> >listener.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> Also... 1.7.0 had its share of bugs,
> > the
> > > > stable
> > > > > > > > branch
> > > > > > > > > > > for it
> > > > > > > > > > > >is
> > > > > > > > > > > >> >at
> > > > > > > > > > > >> >> >>> 1.7.8 and you should better use that. 
> > I
> > > > don't
> > > > > > > > recall
> > > > > > > > > > > anything
> > > > > > > > > > > >> >like
> > > > > > > > > > > >> >> >>> this though, and you mention the
> > problem
> > > > still
> > > > > > > > coming
> > > > > > > > > > > on
> > > > > > > > > > > >master.
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> -Andy
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>> > On Wed, Jul 6, 2016 at 2:04 PM, Andy
> > > > Green
> > > > > > > > > > > ><andy at warmcat.com>
> > > > > > > > > > > >> >> >wrote:
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > On July 7, 2016 1:27:28 AM
> > GMT+08:00,
> > > > Brice
> > > > > > > > Hamon
> > > > > > > > > > > >> >> ><normandviking at gm
> > > > > > > > > > > >> >> >>> > > ail.com> wrote:
> > > > > > > > > > > >> >> >>> > > >More findings:
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >Once the client connects to my
> > server,
> > > > I
> > > > > > am
> > > > > > > > > > > spinning in
> > > > > > > > > > > >the
> > > > > > > > > > > >> >fd
> > > > > > > > > > > >> >> >>> > > >notification
> > > > > > > > > > > >> >> >>> > > >callback from my epoll mecanism,
> > from
> > > > > > which I
> > > > > > > > call
> > > > > > > > > > > lws.
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > That sounds more like you're
> > getting
> > > > closer
> > > > > > to
> > > > > > > > the
> > > > > > > > > > > actual
> > > > > > > > > > > >> >issue.
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > >    pollfd tmpollfd;
> > > > > > > > > > > >> >> >>> > > >    memset(&tmpollfd, 0,
> > > > > > sizeof(tmpollfd));
> > > > > > > > > > > >> >> >>> > > >    tmpollfd.fd = fd;
> > > > > > > > > > > >> >> >>> > > >    tmpollfd.revents = 0;
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >    if (event & EVENT_READ || 
> > event &
> > > > > > > > > > > EVENT_READ_PRI)
> > > > > > > > > > > >> >> >>> > > >        tmpollfd.revents |=
> > POLLIN;
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >    if (event & EVENT_CLOSE)
> > > > > > > > > > > >> >> >>> > > >        tmpollfd.revents |=
> > POLLRDHUP;
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >    if(event & EVENT_ERROR)
> > > > > > > > > > > >> >> >>> > > >        tmpollfd.revents |=
> > POLLRDHUP
> > > > ;
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >    if (event & EVENT_WRITE)
> > > > > > > > > > > >> >> >>> > > >        tmpollfd.revents |=
> > POLLOUT;
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > So which event is it spinning on? 
> > Gdb
> > > > and
> > > > > > step
> > > > > > > > > > > what
> > > > > > > > > > > >happens
> > > > > > > > > > > >> >> >might
> > > > > > > > > > > >> >> >>> > > shine some light.
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > If, for example, you report a
> > .revent
> > > > that
> > > > > > > > actually
> > > > > > > > > > > has no
> > > > > > > > > > > >> >> >.event
> > > > > > > > > > > >> >> >>> > > set, because your event mask at
> > epoll
> > > > is
> > > > > > > > > > > inconsistent with
> > > > > > > > > > > >> >lws
> > > > > > > > > > > >> >> >>> > > pollfd .event mask, it might spin. 
> > So
> > > > you
> > > > > > > > should
> > > > > > > > > > > be able
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >check
> > > > > > > > > > > >> >> >>> > > for that.
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > -Andy
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > > >    return
> > > > > > libwebsocket_service_fd(context_,
> > > > > > > > > > > &tmpollfd);
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >I check and
> > libwebsocket_service_fd()
> > > > > > returns
> > > > > > > > 0.
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >This code is untouched from 1.4
> > > > version.
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >Thanks.
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >On Wed, Jul 6, 2016 at 9:02 AM,
> > Brice
> > > > > > Hamon
> > > > > > > > > > > >> >> ><normandviking at gmail.c
> > > > > > > > > > > >> >> >>> > > om>
> > > > > > > > > > > >> >> >>> > > >wrote:
> > > > > > > > > > > >> >> >>> > > >
> > > > > > > > > > > >> >> >>> > > >> Hi Andy,
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> Yes only one is running. I check
> > > > with
> > > > > > > > netstat. I
> > > > > > > > > > > >> >recompiled
> > > > > > > > > > > >> >> >lws
> > > > > > > > > > > >> >> >>> > > with
> > > > > > > > > > > >> >> >>> > > >> -DLWS_MAX_SMP=1.
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> No change, the problem is still
> > > > there.
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> I believe that the problem is in
> > the
> > > > > > > > server's
> > > > > > > > > > > side as
> > > > > > > > > > > >the
> > > > > > > > > > > >> >lws
> > > > > > > > > > > >> >> >>> > > test
> > > > > > > > > > > >> >> >>> > > >client
> > > > > > > > > > > >> >> >>> > > >> and the browser failed to
> > establish
> > > > a WS
> > > > > > > > > > > connection. At
> > > > > > > > > > > >> >least
> > > > > > > > > > > >> >> >I
> > > > > > > > > > > >> >> >>> > > now
> > > > > > > > > > > >> >> >>> > > >know it
> > > > > > > > > > > >> >> >>> > > >> is not SSL related.
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> I will now investigate the
> > server
> > > > side
> > > > > > and
> > > > > > > > > > > report back.
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> If you think at something
> > obvious in
> > > > the
> > > > > > way
> > > > > > > > 1.7
> > > > > > > > > > > server
> > > > > > > > > > > >> >side
> > > > > > > > > > > >> >> >>> > > works
> > > > > > > > > > > >> >> >>> > > >versus
> > > > > > > > > > > >> >> >>> > > >> 1.6, please let me know.
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> Thanks
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >> On Tue, Jul 5, 2016 at 11:50 PM,
> > > > Andy
> > > > > > Green
> > > > > > > > > > > >> >> ><andy at warmcat.com>
> > > > > > > > > > > >> >> >>> > > wrote:
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> On Tue, 2016-07-05 at 23:08
> > -0400,
> > > > > > Brice
> > > > > > > > Hamon
> > > > > > > > > > > wrote:
> > > > > > > > > > > >> >> >>> > > >>> > Yes I did not wait for 20
> > seconds
> > > > to
> > > > > > > > timeout
> > > > > > > > > > > the
> > > > > > > > > > > >first
> > > > > > > > > > > >> >> >time.
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > I attached the tcp dump for
> > that
> > > > port
> > > > > > > > taken
> > > > > > > > > > > from the
> > > > > > > > > > > >> >> >client
> > > > > > > > > > > >> >> >>> > > >machine.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> Clearly the client thinks he
> > sends
> > > > the
> > > > > > > > upgrade
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> 22:56:37.579369 IP
> > > > > > > > bs1.blueskysystem.net.46119
> > > > > > > > > > > >
> > > > > > > > > > > >> >> >>> > > >>> bs2.blueskysystem.net.7682:
> > Flags
> > > > [P.],
> > > > > > seq
> > > > > > > > > > > 1:293, ack
> > > > > > > > > > > >1,
> > > > > > > > > > > >> >> >win
> > > > > > > > > > > >> >> >>> > > 229,
> > > > > > > > > > > >> >> >>> > > >>> options [nop,nop,TS val
> > 1553449881
> > > > ecr
> > > > > > > > > > > 1553345730],
> > > > > > > > > > > >> >length
> > > > > > > > > > > >> >> >292
> > > > > > > > > > > >> >> >>> > > >>>         0x0000:  4500 0158 e634
> > > > 4000
> > > > > > 4006
> > > > > > > > ce87
> > > > > > > > > > > c0a8
> > > > > > > > > > > >> >> >>> > > >>> 01c9  E..X.4 at .@.......
> > > > > > > > > > > >> >> >>> > > >>>         0x0010:  c0a8 01ca b427
> > > > 1e02
> > > > > > 428c
> > > > > > > > 25ab
> > > > > > > > > > > 7144
> > > > > > > > > > > >> >> >>> > > >>> 4265  .....'..B.%.qDBe
> > > > > > > > > > > >> >> >>> > > >>>         0x0020:  8018 00e5 b057
> > > > 0000
> > > > > > 0101
> > > > > > > > 080a
> > > > > > > > > > > 5c97
> > > > > > > > > > > >> >> >>> > > >>> c399  .....W......\...
> > > > > > > > > > > >> >> >>> > > >>>         0x0030:  5c96 2cc2 4745
> > > > 5420
> > > > > > 2f20
> > > > > > > > 4854
> > > > > > > > > > > 5450
> > > > > > > > > > > >> >> >>> > > >>> 2f31  \.,.GET./.HTTP/1
> > > > > > > > > > > >> >> >>> > > >>>         0x0040:  2e31 0d0a 5072
> > > > 6167
> > > > > > 6d61
> > > > > > > > 3a20
> > > > > > > > > > > 6e6f
> > > > > > > > > > > >> >> >>> > > >>> 2d63  .1..Pragma:.no-c
> > > > > > > > > > > >> >> >>> > > >>>         0x0050:  6163 6865 0d0a
> > > > 4361
> > > > > > 6368
> > > > > > > > 652d
> > > > > > > > > > > 436f
> > > > > > > > > > > >6e74
> > > > > > > > > > > >> >> >>> > > >ache..Cache-
> > > > > > > > > > > >> >> >>> > > >>> Cont
> > > > > > > > > > > >> >> >>> > > >>>         0x0060:  726f 6c3a 206e
> > > > 6f2d
> > > > > > 6361
> > > > > > > > 6368
> > > > > > > > > > > 650d
> > > > > > > > > > > >0a48
> > > > > > > > > > > >> >> >>> > > rol:.no-
> > > > > > > > > > > >> >> >>> > > >>> cache..H
> > > > > > > > > > > >> >> >>> > > >>>         0x0070:  6f73 743a 2031
> > > > 3932
> > > > > > 2e31
> > > > > > > > 3638
> > > > > > > > > > > 2e31
> > > > > > > > > > > >> >> >>> > > >>> 2e32  ost:.192.168.1.2
> > > > > > > > > > > >> >> >>> > > >>>         0x0080:  3032 0d0a 5570
> > > > 6772
> > > > > > 6164
> > > > > > > > 653a
> > > > > > > > > > > 2077
> > > > > > > > > > > >> >> >>> > > >>> 6562  02..Upgrade:.web
> > > > > > > > > > > >> >> >>> > > >>>         0x0090:  736f 636b 6574
> > > > 0d0a
> > > > > > 436f
> > > > > > > > 6e6e
> > > > > > > > > > > 6563
> > > > > > > > > > > >> >> >>> > > >>> 7469  socket..Connecti
> > > > > > > > > > > >> >> >>> > > >>>         0x00a0:  6f6e 3a20 5570
> > > > 6772
> > > > > > 6164
> > > > > > > > 650d
> > > > > > > > > > > 0a53
> > > > > > > > > > > >> >> >>> > > >>> 6563  on:.Upgrade..Sec
> > > > > > > > > > > >> >> >>> > > >>>         0x00b0:  2d57 6562 536f
> > > > 636b
> > > > > > 6574
> > > > > > > > 2d4b
> > > > > > > > > > > 6579
> > > > > > > > > > > >3a20
> > > > > > > > > > > >> >> >>> > > >-WebSocket-
> > > > > > > > > > > >> >> >>> > > >>> Key:.
> > > > > > > > > > > >> >> >>> > > >>>         0x00c0:  2f4a 5748 7668
> > > > 3976
> > > > > > 5052
> > > > > > > > 336e
> > > > > > > > > > > 5675
> > > > > > > > > > > >> >> >>> > > >>> 5267  /JWHvh9vPR3nVuRg
> > > > > > > > > > > >> >> >>> > > >>>         0x00d0:  2f62 5554 5a77
> > > > 3d3d
> > > > > > 0d0a
> > > > > > > > 4f72
> > > > > > > > > > > 6967
> > > > > > > > > > > >> >> >>> > > >>> 696e  /bUTZw==..Origin
> > > > > > > > > > > >> >> >>> > > >>>         0x00e0:  3a20 6874 7470
> > > > 3a2f
> > > > > > 2f31
> > > > > > > > 3932
> > > > > > > > > > > 2e31
> > > > > > > > > > > >3638
> > > > > > > > > > > >> >> >>> > > >:.http://192.
> > > > > > > > > > > >> >> >>> > > >>> 168
> > > > > > > > > > > >> >> >>> > > >>>         0x00f0:  2e31 2e32 3032
> > > > 0d0a
> > > > > > 5365
> > > > > > > > 632d
> > > > > > > > > > > 5765
> > > > > > > > > > > >6253
> > > > > > > > > > > >> >> >>> > > >.1.202..Sec-
> > > > > > > > > > > >> >> >>> > > >>> WebS
> > > > > > > > > > > >> >> >>> > > >>>         0x0100:  6f63 6b65 742d
> > > > 5072
> > > > > > 6f74
> > > > > > > > 6f63
> > > > > > > > > > > 6f6c
> > > > > > > > > > > >3a20
> > > > > > > > > > > >> >> >>> > > ocket-
> > > > > > > > > > > >> >> >>> > > >>> Protocol:.
> > > > > > > > > > > >> >> >>> > > >>>         0x0110:  6273 7773 2d70
> > > > 726f
> > > > > > 746f
> > > > > > > > 636f
> > > > > > > > > > > 6c0d
> > > > > > > > > > > >0a53
> > > > > > > > > > > >> >> >bsws-
> > > > > > > > > > > >> >> >>> > > >>> protocol..S
> > > > > > > > > > > >> >> >>> > > >>>         0x0120:  6563 2d57 6562
> > > > 536f
> > > > > > 636b
> > > > > > > > 6574
> > > > > > > > > > > 2d45
> > > > > > > > > > > >7874
> > > > > > > > > > > >> >> >>> > > >ec-WebSocket-
> > > > > > > > > > > >> >> >>> > > >>> Ext
> > > > > > > > > > > >> >> >>> > > >>>         0x0130:  656e 7369 6f6e
> > > > 733a
> > > > > > 200d
> > > > > > > > 0a53
> > > > > > > > > > > 6563
> > > > > > > > > > > >> >> >>> > > >>> 2d57  ensions:...Sec-W
> > > > > > > > > > > >> >> >>> > > >>>         0x0140:  6562 536f 636b
> > > > 6574
> > > > > > 2d56
> > > > > > > > 6572
> > > > > > > > > > > 7369
> > > > > > > > > > > >6f6e
> > > > > > > > > > > >> >> >>> > > ebSocket-
> > > > > > > > > > > >> >> >>> > > >>> Version
> > > > > > > > > > > >> >> >>> > > >>>         0x0150:  3a20 3133 0d0a
> > > > 0d0a
> > > > > > > > > > > >> >> >>> > > :.13....
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> > Yes this server is a lws
> > server.
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > I don't get much on the
> > server
> > > > side:
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.519960
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >Initial
> > > > > > > > > > > >> >> >>> > > >>> > logging level 65535
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.519981
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > Libwebsockets version: 1.7.0
> > > > ac4b079
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.519988
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > IPV6
> > > > > > > > > > > >> >> >>> > > >not
> > > > > > > > > > > >> >> >>> > > >>> > compiled in
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520012
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > libev
> > > > > > > > > > > >> >> >>> > > >>> > support not compiled in
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520021
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  LWS_DEF_HEADER_LEN    : 1024
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520027
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  LWS_MAX_PROTOCOLS     : 5
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520041
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  LWS_MAX_SMP           : 32
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520049
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  SPEC_LATEST_SUPPORTED : 13
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520055
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >sizeof
> > > > > > > > > > > >> >> >>> > > >>> > (*info)        : 216
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520061
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  SYSTEM_RANDOM_FILEPATH:
> > > > > > '/dev/urandom'
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520166
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >default
> > > > > > > > > > > >> >> >>> > > >>> > timeout (secs): 20
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520213
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >Threads:
> > > > > > > > > > > >> >> >>> > > >>> > 1 each 1024 fds
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520223
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > mem:
> > > > > > > > > > > >> >> >>> > > >>> > context:          9800 bytes
> > > > (5704
> > > > > > ctx +
> > > > > > > > (1
> > > > > > > > > > > thr x
> > > > > > > > > > > >> >4096))
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520251
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > mem:
> > > > > > > > > > > >> >> >>> > > >>> > http hdr rsvd:    4232 bytes
> > (1
> > > > thr x
> > > > > > > > (1024 +
> > > > > > > > > > > 3208)
> > > > > > > > > > > >x
> > > > > > > > > > > >> >1))
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520276
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > mem:
> > > > > > > > > > > >> >> >>> > > >>> > pollfd map:       8192
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520310
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > mem:
> > > > > > > > > > > >> >> >>> > > >>> > platform fd map:  8192 bytes
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520406
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  LWS_MAX_EXTENSIONS_ACTIVE: 2
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520418
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > mem:
> > > > > > > > > > > >> >> >>> > > >>> > per-conn:          376 bytes
> > +
> > > > > > protocol
> > > > > > > > rx
> > > > > > > > > > > buf
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520501
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >Compiled
> > > > > > > > > > > >> >> >>> > > >>> > with OpenSSL support
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.520509
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > Using
> > > > > > > > > > > >> >> >>> > > >>> > non-SSL mode
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529082
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  interface lo vs eth0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529128
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  interface eth0 vs eth0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529136
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  interface eth1 vs eth0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529147
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  interface lo vs eth0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529153
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  interface eth0 vs eth0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529247
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > insert_wsi_socket_into_fds:
> > > > > > > > 0x7fad98026450:
> > > > > > > > > > > tsi=0,
> > > > > > > > > > > >> >> >sock=71,
> > > > > > > > > > > >> >> >>> > > >pos-in-
> > > > > > > > > > > >> >> >>> > > >>> > fds=1
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529278 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_LOCK_POLL fd=71
> > > > > > > > > > > context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529302 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_ADD_POLL_FD
> > fd=71
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=0
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529376 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_UNLOCK_POLL
> > fd=71
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=1
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529453
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> >  Listening on port 7682
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529470 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_PROTOCOL_INIT
> > fd=0
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=0
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529475 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http:
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_PROTOCOL_INIT
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529520 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_bsws
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_PROTOCOL_INIT
> > > > > > > > wsi=0x7fada6ffcbb0
> > > > > > > > > > > >> >> >>> > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > >>> > pss=(nil)
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.529617 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >>> > > BSThread::onRunning
> > > > > > > > > > > >> >> >>> > > >>> > called
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:00.719556 INFO
> > :
> > > > > > > > [BSWEBHTTP ]:
> > > > > > > > > > > >Start():
> > > > > > > > > > > >> >> >THREAD
> > > > > > > > > > > >> >> >>> > > >>> > WebSocket started.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> He doesn't seem to feel he
> > received
> > > > any
> > > > > > > > connect
> > > > > > > > > > > on his
> > > > > > > > > > > >> >> >>> > > listening
> > > > > > > > > > > >> >> >>> > > >>> socket.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> If it possible you have another
> > lws
> > > > > > server
> > > > > > > > > > > running on
> > > > > > > > > > > >> >7682?
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> 1.7 introduced using
> > SO_REUSEPORT
> > > > for
> > > > > > > > listening
> > > > > > > > > > > >sockets
> > > > > > > > > > > >> >when
> > > > > > > > > > > >> >> >>> > > you
> > > > > > > > > > > >> >> >>> > > >have
> > > > > > > > > > > >> >> >>> > > >>> LWS_MAX_SMP > 1, each thread
> > opens
> > > > his
> > > > > > own
> > > > > > > > > > > listening
> > > > > > > > > > > >> >socket
> > > > > > > > > > > >> >> >and
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> load is shared between them by
> > the
> > > > OS
> > > > > > > > without
> > > > > > > > > > > >conflict.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> A side effect of that is even
> > if
> > > > > > another
> > > > > > > > > > > process has a
> > > > > > > > > > > >> >> >>> > > listening
> > > > > > > > > > > >> >> >>> > > >socket
> > > > > > > > > > > >> >> >>> > > >>> on 7682, creating the new
> > listening
> > > > > > socket
> > > > > > > > will
> > > > > > > > > > > >succeed.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> I wonder if you have another
> > > > instance
> > > > > > still
> > > > > > > > > > > running
> > > > > > > > > > > >> >> >somewhere
> > > > > > > > > > > >> >> >>> > > >listening
> > > > > > > > > > > >> >> >>> > > >>> on 7682 that gets the accept.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> I notice LWS_MAX_SMP is 32 for
> > you,
> > > > how
> > > > > > > > about
> > > > > > > > > > > setting
> > > > > > > > > > > >> >that
> > > > > > > > > > > >> >> >to 1
> > > > > > > > > > > >> >> >>> > > >(cmake
> > > > > > > > > > > >> >> >>> > > >>> .. -DLWS_MAX_SMP=1 ) if you are
> > not
> > > > > > using
> > > > > > > > > > > multiple
> > > > > > > > > > > >> >service
> > > > > > > > > > > >> >> >>> > > threads.
> > > > > > > > > > > >> >> >>> > > >>>  That will disable
> > SO_REUSEPORT.
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> -Andy
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > and when I exit:
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.379324 INFO
> > :
> > > > > > > > [BSWEBHTTP ]:
> > > > > > > > > > > >> >> >BSEventMgr::run
> > > > > > > > > > > >> >> >>> > > >Leaving
> > > > > > > > > > > >> >> >>> > > >>> > mainloop. Thread exiting
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.379780 INFO
> > :
> > > > > > > > [BSWEBHTTP ]:
> > > > > > > > > > > >Stopping
> > > > > > > > > > > >> >the
> > > > > > > > > > > >> >> >>> > > >WebSocket
> > > > > > > > > > > >> >> >>> > > >>> > Thread...
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380160 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >BSEventMgr::run
> > > > > > > > > > > >> >> >>> > > >Leaving
> > > > > > > > > > > >> >> >>> > > >>> > mainloop. Thread exiting
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380302
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > lws_context_destroy
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380315
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > lws_close_free_wsi: real
> > > > > > > > > > > just_kill_connection:
> > > > > > > > > > > >> >> >0x7fad98026450
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380333 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_LOCK_POLL fd=71
> > > > > > > > > > > context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380346
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > remove_wsi_socket_from_fds:
> > > > > > > > > > > wsi=0x7fad98026450,
> > > > > > > > > > > >> >sock=71,
> > > > > > > > > > > >> >> >fds
> > > > > > > > > > > >> >> >>> > > >pos=1,
> > > > > > > > > > > >> >> >>> > > >>> > end guy pos=2, endfd=0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380361 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_DEL_POLL_FD
> > fd=71
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=0
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380389 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_UNLOCK_POLL
> > fd=71
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=1
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380398
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > not
> > > > > > > > > > > >> >> >>> > > >>> > calling back closed mode=16
> > > > state=0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380553 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_WSI_DESTROY fd=-
> > 1
> > > > > > > > > > > >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=0
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380573
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > lws_free_wsi: 0x7fad98026450,
> > > > > > remaining
> > > > > > > > wsi 0
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380602 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_PROTOCOL_DESTROY
> > > > fd=0
> > > > > > > > > > > >> >context=0x7fad98003e80
> > > > > > > > > > > >> >> >>> > > >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > len=0
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.380612 INFO
> > :
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >> >callback_bsws
> > > > > > > > > > > >> >> >>> > > >>> > LWS_CALLBACK_PROTOCOL_DESTROY
> > > > > > > > > > > wsi=0x7fada6ffccc0
> > > > > > > > > > > >> >> >>> > > >>> > context=0x7fad98003e80
> > pss=(nil)
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.381734
> > DEBUG:
> > > > > > > > [WEBSOCKET ]:
> > > > > > > > > > > >> >BSThread::
> > > > > > > > > > > >> >> >>> > > >[WEBSOCKET]
> > > > > > > > > > > >> >> >>> > > >>> > Mainloop done. Bye.
> > > > > > > > > > > >> >> >>> > > >>> > 16-07-05 23:05:17.382136 INFO
> > :
> > > > > > > > [BSWEBHTTP ]:
> > > > > > > > > > > >WebSocket
> > > > > > > > > > > >> >> >>> > > Thread
> > > > > > > > > > > >> >> >>> > > >>> > stopped.
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > Thanks,
> > > > > > > > > > > >> >> >>> > > >>> > Brice.
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>> > On Tue, Jul 5, 2016 at 5:56
> > PM,
> > > > Andy
> > > > > > > > Green
> > > > > > > > > > > >> >> ><andy at warmcat.com>
> > > > > > > > > > > >> >> >>> > > >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > > On July 6, 2016 5:44:26 AM
> > > > > > GMT+08:00,
> > > > > > > > Brice
> > > > > > > > > > > Hamon
> > > > > > > > > > > >> >> >>> > > ><normandviking at gm
> > > > > > > > > > > >> >> >>> > > >>> > > ail.com> wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >HI Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >I had to change the test
> > > > client to
> > > > > > add
> > > > > > > > my
> > > > > > > > > > > own
> > > > > > > > > > > >> >protocol
> > > > > > > > > > > >> >> >>> > > name in
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > >request
> > > > > > > > > > > >> >> >>> > > >>> > > >as my server only speaks
> > that
> > > > > > > > protocol.
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >That client also used to
> > work
> > > > with
> > > > > > > > prior
> > > > > > > > > > > version.
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >Also I could disable the
> > SSL
> > > > > > support
> > > > > > > > on
> > > > > > > > > > > both ends
> > > > > > > > > > > >> >and
> > > > > > > > > > > >> >> >the
> > > > > > > > > > > >> >> >>> > > >problem
> > > > > > > > > > > >> >> >>> > > >>> > > still
> > > > > > > > > > > >> >> >>> > > >>> > > >persisted. So I concluded
> > that
> > > > > > this is
> > > > > > > > not
> > > > > > > > > > > a SSL
> > > > > > > > > > > >> >> >problem.
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >Yes Andy, the connection
> > > > request
> > > > > > > > > > > eventually
> > > > > > > > > > > >timeout
> > > > > > > > > > > >> >> >like
> > > > > > > > > > > >> >> >>> > > this:
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >aiting for connect...
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754420:5046] CLIENT:
> > > > > > > > > > > lws_client_connect_2
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754420:5047] CLIENT:
> > > > > > > > > > > lws_client_connect_2:
> > > > > > > > > > > >> >address
> > > > > > > > > > > >> >> >>> > > >>> > > 192.168.1.202
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754420:5047] CLIENT:
> > > > > > connected
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_CHANGE_MODE_POLL_FD]
> > > > > > > > > > > >> >fd=6
> > > > > > > > > > > >> >> >>> > > >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > [LWS_CALLBACK_UNLOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > > > > >> >> >>> > >
> > > > > > [LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER]
> > > > > > > > > > > >> >> >>> > > >fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > >user=[NULL] len=3794
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > > Hmm this is also different
> > than
> > > > > > what
> > > > > > > > you
> > > > > > > > > > > said
> > > > > > > > > > > >before,
> > > > > > > > > > > >> >> >it's
> > > > > > > > > > > >> >> >>> > > >creating
> > > > > > > > > > > >> >> >>> > > >>> > > the upgrade request without
> > the
> > > > > > peer
> > > > > > > > > > > closing,
> > > > > > > > > > > >which
> > > > > > > > > > > >> >is
> > > > > > > > > > > >> >> >more
> > > > > > > > > > > >> >> >>> > > >>> > > reasonable.
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > > Check with tcpdump -s0 -X
> > what
> > > > > > happens
> > > > > > > > on
> > > > > > > > > > > the
> > > > > > > > > > > >wire.
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > > What is this server?  Also
> > > > lws? 
> > > > > > Get
> > > > > > > > some
> > > > > > > > > > > logs on
> > > > > > > > > > > >> >that
> > > > > > > > > > > >> >> >as
> > > > > > > > > > > >> >> >>> > > well
> > > > > > > > > > > >> >> >>> > > >if
> > > > > > > > > > > >> >> >>> > > >>> > > tcpdump shows it sent the
> > > > upgrade.
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > > -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5268] NOTICE:
> > wsi
> > > > > > > > 0xbea580:
> > > > > > > > > > > TIMEDOUT
> > > > > > > > > > > >> >> >WAITING
> > > > > > > > > > > >> >> >>> > > on 4
> > > > > > > > > > > >> >> >>> > > >(did
> > > > > > > > > > > >> >> >>> > > >>> > > hdr
> > > > > > > > > > > >> >> >>> > > >>> > > >0,
> > > > > > > > > > > >> >> >>> > > >>> > > >ah 0xbba730, wl 0, pfd
> > events
> > > > 0)
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5268] ERR: ***
> > not
> > > > on
> > > > > > ah
> > > > > > > > wait
> > > > > > > > > > > list
> > > > > > > > > > > >***
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5268] INFO:
> > > > > > > > > > > lws_close_free_wsi: real
> > > > > > > > > > > >> >> >>> > > >>> > > just_kill_connection:
> > > > > > > > > > > >> >> >>> > > >>> > > >0xbea580
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5269] INFO:
> > > > > > > > > > > >remove_wsi_socket_from_fds:
> > > > > > > > > > > >> >> >>> > > >wsi=0xbea580,
> > > > > > > > > > > >> >> >>> > > >>> > > >sock=6,
> > > > > > > > > > > >> >> >>> > > >>> > > >fds pos=1, end guy pos=2,
> > > > endfd=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > [LWS_CALLBACK_DEL_POLL_FD]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > [LWS_CALLBACK_UNLOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5269] DEBUG:
> > > > > > Connection
> > > > > > > > closed
> > > > > > > > > > > before
> > > > > > > > > > > >> >> >server
> > > > > > > > > > > >> >> >>> > > reply
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > > > > >[LWS_CALLBACK_CLIENT_CONNECTION_ERROR]
> > > > > > > > > > > >> >> >fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_bsws
> > > > > > > > [LWS_CALLBACK_WSI_DESTROY]
> > > > > > > > > > > fd=-1
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5270] INFO:
> > > > > > > > > > > lws_header_table_detach:
> > > > > > > > > > > >wsi
> > > > > > > > > > > >> >> >>> > > 0xbea580:
> > > > > > > > > > > >> >> >>> > > >ah
> > > > > > > > > > > >> >> >>> > > >>> > > >0xbba730
> > > > > > > > > > > >> >> >>> > > >>> > > >(tsi=0, count = 1)
> > > > > > > > > > > >> >> >>> > > >>> > > >[1467754441:5270] ERR:
> > header
> > > > > > assign -
> > > > > > > > > > > free time
> > > > > > > > > > > >21
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >It seems like after the
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER,
> > > > > > > > > > > >> >> >>> > > >>> > > >nothing happens.
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >On Tue, Jul 5, 2016 at
> > 5:26
> > > > PM,
> > > > > > Andy
> > > > > > > > Green
> > > > > > > > > > > >> >> ><andy at warmcat.c
> > > > > > > > > > > >> >> >>> > > om>
> > > > > > > > > > > >> >> >>> > > >>> > > wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> On July 6, 2016 4:28:03
> > AM
> > > > > > > > GMT+08:00,
> > > > > > > > > > > Brice
> > > > > > > > > > > >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > ><normandviking at gmail.com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Thanks Roger,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >I'll look into it if I
> > am
> > > > > > unable to
> > > > > > > > > > > find the
> > > > > > > > > > > >root
> > > > > > > > > > > >> >> >cause
> > > > > > > > > > > >> >> >>> > > >>> > > otherwise.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> Git bisect is a good
> > idea
> > > > and
> > > > > > the
> > > > > > > > lws
> > > > > > > > > > > history
> > > > > > > > > > > >is
> > > > > > > > > > > >> >> >almost
> > > > > > > > > > > >> >> >>> > > >always
> > > > > > > > > > > >> >> >>> > > >>> > > >buildable
> > > > > > > > > > > >> >> >>> > > >>> > > >> at any commit.  I
> > thought it
> > > > > > might
> > > > > > > > be
> > > > > > > > > > > quicker
> > > > > > > > > > > >to
> > > > > > > > > > > >> >pull
> > > > > > > > > > > >> >> >on
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > symptom
> > > > > > > > > > > >> >> >>> > > >>> > > >end
> > > > > > > > > > > >> >> >>> > > >>> > > >> but maybe not.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >A little bit of
> > progress.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >1) The test server and
> > > > client
> > > > > > do
> > > > > > > > work
> > > > > > > > > > > on my
> > > > > > > > > > > >> >> >platform.
> > > > > > > > > > > >> >> >>> > > So the
> > > > > > > > > > > >> >> >>> > > >>> > > problem
> > > > > > > > > > > >> >> >>> > > >>> > > >is
> > > > > > > > > > > >> >> >>> > > >>> > > >> >in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >my code somewhere.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> Too early to say, since
> > we
> > > > don't
> > > > > > > > know
> > > > > > > > > > > what the
> > > > > > > > > > > >> >> >problem
> > > > > > > > > > > >> >> >>> > > is.
> > > > > > > > > > > >> >> >>> > > >But
> > > > > > > > > > > >> >> >>> > > >>> > > it
> > > > > > > > > > > >> >> >>> > > >>> > > >means
> > > > > > > > > > > >> >> >>> > > >>> > > >> your toolchain +
> > platform +
> > > > lws
> > > > > > > > version
> > > > > > > > > > > can
> > > > > > > > > > > >> >basically
> > > > > > > > > > > >> >> >>> > > work if
> > > > > > > > > > > >> >> >>> > > >it
> > > > > > > > > > > >> >> >>> > > >>> > > does
> > > > > > > > > > > >> >> >>> > > >>> > > >what
> > > > > > > > > > > >> >> >>> > > >>> > > >> the test apps do.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >2) I changed the
> > client's
> > > > test
> > > > > > > > program
> > > > > > > > > > > and now
> > > > > > > > > > > >I
> > > > > > > > > > > >> >can
> > > > > > > > > > > >> >> >>> > > see
> > > > > > > > > > > >> >> >>> > > >that
> > > > > > > > > > > >> >> >>> > > >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> What does it mean
> > "changed
> > > > the
> > > > > > > > client's
> > > > > > > > > > > test
> > > > > > > > > > > >> >> >program"?
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >client
> > > > > > > > > > > >> >> >>> > > >>> > > >> >get connected to the
> > > > server,
> > > > > > but
> > > > > > > > > > > nothing after
> > > > > > > > > > > >> >that.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >That rules out a
> > network
> > > > > > transport
> > > > > > > > > > > problem.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> It just means
> > "'connection
> > > > > > refused"
> > > > > > > > was
> > > > > > > > > > > bogus.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libwebsockets test
> > client
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >SSL Usage: Yes
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5381]
> > NOTICE:
> > > > > > Initial
> > > > > > > > > > > logging
> > > > > > > > > > > >level
> > > > > > > > > > > >> >> >65535
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5382]
> > NOTICE:
> > > > > > > > Libwebsockets
> > > > > > > > > > > >version:
> > > > > > > > > > > >> >> >1.7.0
> > > > > > > > > > > >> >> >>> > > >ac4b079
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5382]
> > NOTICE:
> > > > IPV6
> > > > > > not
> > > > > > > > > > > compiled in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5383]
> > NOTICE:
> > > > libev
> > > > > > > > support
> > > > > > > > > > > not
> > > > > > > > > > > >> >compiled
> > > > > > > > > > > >> >> >in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5383]
> > INFO: 
> > > > > > > > > > > LWS_DEF_HEADER_LEN
> > > > > > > > > > > >:
> > > > > > > > > > > >> >> >1024
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5383]
> > INFO: 
> > > > > > > > > > > LWS_MAX_PROTOCOLS
> > > > > > > > > > > >:
> > > > > > > > > > > >> >5
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5384]
> > INFO: 
> > > > > > > > LWS_MAX_SMP
> > > > > > > > > > > >:
> > > > > > > > > > > >> >32
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> This defaults to 1 on
> > later
> > > > lws
> > > > > > > > anyway,
> > > > > > > > > > > but
> > > > > > > > > > > >it's
> > > > > > > > > > > >> >> >likely
> > > > > > > > > > > >> >> >>> > > >>> > > unrelated if
> > > > > > > > > > > >> >> >>> > > >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> test apps are ok.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5384]
> > INFO: 
> > > > > > > > > > > SPEC_LATEST_SUPPORTED
> > > > > > > > > > > >:
> > > > > > > > > > > >> >13
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5384]
> > INFO: 
> > > > sizeof
> > > > > > > > (*info)
> > > > > > > > > > > >:
> > > > > > > > > > > >> >216
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5385] INFO:
> > > > > > > > > > > >SYSTEM_RANDOM_FILEPATH:
> > > > > > > > > > > >> >> >>> > > >'/dev/urandom'
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5385]
> > INFO: 
> > > > > > default
> > > > > > > > > > > timeout
> > > > > > > > > > > >(secs):
> > > > > > > > > > > >> >20
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5386]
> > NOTICE: 
> > > > > > Threads:
> > > > > > > > 1
> > > > > > > > > > > each
> > > > > > > > > > > >1024
> > > > > > > > > > > >> >fds
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5387]
> > INFO: 
> > > > mem:
> > > > > > > > context:
> > > > > > > > > > > >> >9800
> > > > > > > > > > > >> >> >>> > > bytes
> > > > > > > > > > > >> >> >>> > > >>> > > (5704 ctx
> > > > > > > > > > > >> >> >>> > > >>> > > >+
> > > > > > > > > > > >> >> >>> > > >>> > > >> >(1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >thr x 4096))
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5387]
> > INFO: 
> > > > mem:
> > > > > > http
> > > > > > > > hdr
> > > > > > > > > > > rsvd:
> > > > > > > > > > > >> >67712
> > > > > > > > > > > >> >> >>> > > bytes
> > > > > > > > > > > >> >> >>> > > >(1
> > > > > > > > > > > >> >> >>> > > >>> > > thr x
> > > > > > > > > > > >> >> >>> > > >>> > > >> >(1024 +
> > > > > > > > > > > >> >> >>> > > >>> > > >> >3208) x 16))
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5388]
> > INFO: 
> > > > mem:
> > > > > > > > pollfd
> > > > > > > > > > > map:
> > > > > > > > > > > >> >8192
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5388]
> > NOTICE: 
> > > > mem:
> > > > > > > > > > > platform fd
> > > > > > > > > > > >map:
> > > > > > > > > > > >> >> >8192
> > > > > > > > > > > >> >> >>> > > bytes
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5389] INFO:
> > > > > > > > > > > >> >LWS_MAX_EXTENSIONS_ACTIVE:
> > > > > > > > > > > >> >> >2
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5389]
> > NOTICE: 
> > > > mem:
> > > > > > > > per-
> > > > > > > > > > > conn:
> > > > > > > > > > > >> >> >376
> > > > > > > > > > > >> >> >>> > > bytes
> > > > > > > > > > > >> >> >>> > > >+
> > > > > > > > > > > >> >> >>> > > >>> > > >protocol
> > > > > > > > > > > >> >> >>> > > >>> > > >> >rx
> > > > > > > > > > > >> >> >>> > > >>> > > >> >buf
> > > > > > > > > > > >> >> >>> > > >>> > > >> >[1467750112:5390]
> > NOTICE: 
> > > > > > > > > > > canonical_hostname
> > > > > > > > > > > >=
> > > > > > > > > > > >> >bs1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > >
> > > > >[LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >fd=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[�`ơ#] len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_PROTOCOL_INIT]
> > > > > > > > > > > >fd=0
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >[LWS_CALLBACK_CHANGE_MODE_POLL_FD]
> > > > > > > > > > > >> >> >fd=-1
> > > > > > > > > > > >> >> >>> > > >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > > > > > > lws_client_connect:
> > > > > > > > > > > >> >direct
> > > > > > > > > > > >> >> >conn
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > > > > > > lws_client_connect_2
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > > > > > > lws_client_connect_2:
> > > > > > > > > > > >> >> >address
> > > > > > > > > > > >> >> >>> > > >>> > > 192.168.1.202
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_ADD_POLL_FD] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_UNLOCK_POLL] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > nonblocking
> > > > > > > > > > > connect
> > > > > > > > > > > >retry
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >[LWS_CALLBACK_CHANGE_MODE_POLL_FD]
> > > > > > > > > > > >> >> >fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_UNLOCK_POLL] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Waiting for connect...
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > > > > > > lws_client_connect_2
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > > > > > > lws_client_connect_2:
> > > > > > > > > > > >> >> >address
> > > > > > > > > > > >> >> >>> > > >>> > > 192.168.1.202
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libbswslog: [LOG_INFO]:
> > > > > > connected
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> Hm.  "Connection
> > refused"
> > > > was a
> > > > > > red
> > > > > > > > > > > herring
> > > > > > > > > > > >then,
> > > > > > > > > > > >> >> >it's
> > > > > > > > > > > >> >> >>> > > not
> > > > > > > > > > > >> >> >>> > > >>> > > refused
> > > > > > > > > > > >> >> >>> > > >>> > > >and
> > > > > > > > > > > >> >> >>> > > >>> > > >> does connect.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Then when I kill the
> > > > server:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >[LWS_CALLBACK_CHANGE_MODE_POLL_FD]
> > > > > > > > > > > >> >> >fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_UNLOCK_POLL] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >> >> >>> > >
> > > > > > [LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER]
> > > > > > > > > > > >> >> >>> > > >>> > > fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[NULL] len=3794
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> This comes when the
> > client
> > > > is
> > > > > > > > creating
> > > > > > > > > > > his
> > > > > > > > > > > >upgrade
> > > > > > > > > > > >> >> >>> > > request to
> > > > > > > > > > > >> >> >>> > > >>> > > use ws
> > > > > > > > > > > >> >> >>> > > >>> > > >> instead of http.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> But that should be
> > sequenced
> > > > > > > > > > > automatically to
> > > > > > > > > > > >be
> > > > > > > > > > > >> >done
> > > > > > > > > > > >> >> >>> > > after
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > >connect
> > > > > > > > > > > >> >> >>> > > >>> > > >> state, not happen when
> > the
> > > > peer
> > > > > > > > died.
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> What is the situation
> > with
> > > > this
> > > > > > > > > > > "changed" test
> > > > > > > > > > > >> >client
> > > > > > > > > > > >> >> >>> > > about
> > > > > > > > > > > >> >> >>> > > >it
> > > > > > > > > > > >> >> >>> > > >>> > > >getting
> > > > > > > > > > > >> >> >>> > > >>> > > >> service?
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >[LWS_CALLBACK_CHANGE_MODE_POLL_FD]
> > > > > > > > > > > >> >> >fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_UNLOCK_POLL] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > >> >> >>> > >
> > > > > > [LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER]
> > > > > > > > > > > >> >> >>> > > >>> > > fd=6
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[NULL] len=3794
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > [LWS_CALLBACK_LOCK_POLL]
> > > > > > > > > > > fd=6
> > > > > > > > > > > >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_DEL_POLL_FD] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_UNLOCK_POLL] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_bsws
> > > > > > > > > > > [LWS_CALLBACK_WSI_DESTROY] fd=6
> > > > > > > > > > > >> >> >>> > > user=[NULL]
> > > > > > > > > > > >> >> >>> > > >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Thanks guys.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >On Tue, Jul 5, 2016 at
> > 3:47
> > > > PM,
> > > > > > > > Roger
> > > > > > > > > > > Light
> > > > > > > > > > > >> >> >>> > > ><roger at atchoo.org>
> > > > > > > > > > > >> >> >>> > > >>> > > >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> Hi Brice,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> If you've got a
> > working
> > > > and a
> > > > > > > > non-
> > > > > > > > > > > working
> > > > > > > > > > > >> >version,
> > > > > > > > > > > >> >> >>> > > then a
> > > > > > > > > > > >> >> >>> > > >>> > > good
> > > > > > > > > > > >> >> >>> > > >>> > > >option
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> is to use "git
> > bisect" to
> > > > > > find
> > > > > > > > the
> > > > > > > > > > > problem
> > > > > > > > > > > >> >commit.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> git clone
> > > > > > > > > > > >> >https://github.com/warmcat/libwebsockets
> > > > > > > > > > > >> >> >>> > > >lws-bisect
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> cd lws-bisect
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> git bisect start
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> git bisect good
> > v1.6.0-
> > > > > > chrome48-
> > > > > > > > > > > firefox42 #
> > > > > > > > > > > >> >> >assuming
> > > > > > > > > > > >> >> >>> > > this
> > > > > > > > > > > >> >> >>> > > >one
> > > > > > > > > > > >> >> >>> > > >>> > > >works
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> git bisect bad v1.7.0
> > #
> > > > > > assuming
> > > > > > > > this
> > > > > > > > > > > >version
> > > > > > > > > > > >> >> >doesn't
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> git will then
> > checkout a
> > > > > > > > changeset
> > > > > > > > > > > for you
> > > > > > > > > > > >to
> > > > > > > > > > > >> >test
> > > > > > > > > > > >> >> >-
> > > > > > > > > > > >> >> >>> > > so
> > > > > > > > > > > >> >> >>> > > >make
> > > > > > > > > > > >> >> >>> > > >>> > > your
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> build directory, run
> > > > cmake
> > > > > > and
> > > > > > > > carry
> > > > > > > > > > > out
> > > > > > > > > > > >your
> > > > > > > > > > > >> >> >tests.
> > > > > > > > > > > >> >> >>> > > If
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > test
> > > > > > > > > > > >> >> >>> > > >>> > > >is
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> successful, run "git
> > > > bisect
> > > > > > > > good",
> > > > > > > > > > > else run
> > > > > > > > > > > >> >"git
> > > > > > > > > > > >> >> >>> > > bisect
> > > > > > > > > > > >> >> >>> > > >bad".
> > > > > > > > > > > >> >> >>> > > >>> > > >You'll
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> have to carry out
> > roughly
> > > > 6
> > > > > > > > tests. At
> > > > > > > > > > > the
> > > > > > > > > > > >end
> > > > > > > > > > > >> >of
> > > > > > > > > > > >> >> >the
> > > > > > > > > > > >> >> >>> > > >process
> > > > > > > > > > > >> >> >>> > > >>> > > >you'll
> > > > > > > > > > > >> >> >>> > > >>> > > >> >be
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> told which commit in
> > > > > > > > libwebsockets
> > > > > > > > > > > produced
> > > > > > > > > > > >the
> > > > > > > > > > > >> >> >error
> > > > > > > > > > > >> >> >>> > > you
> > > > > > > > > > > >> >> >>> > > >are
> > > > > > > > > > > >> >> >>> > > >>> > > >seeing
> > > > > > > > > > > >> >> >>> > > >>> > > >> >-
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> assuming that the
> > problem
> > > > is
> > > > > > with
> > > > > > > > > > > >libwebsockets
> > > > > > > > > > > >> >of
> > > > > > > > > > > >> >> >>> > > course.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> When you're running
> > your
> > > > > > tests,
> > > > > > > > make
> > > > > > > > > > > sure
> > > > > > > > > > > >you
> > > > > > > > > > > >> >> >start
> > > > > > > > > > > >> >> >>> > > from a
> > > > > > > > > > > >> >> >>> > > >>> > > clean
> > > > > > > > > > > >> >> >>> > > >>> > > >> >build
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> and that your own
> > client
> > > > code
> > > > > > is
> > > > > > > > also
> > > > > > > > > > > >> >recompiled
> > > > > > > > > > > >> >> >>> > > against
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > test
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> version.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> Best of luck,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> Roger
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> On Tue, Jul 5, 2016
> > at
> > > > 6:48
> > > > > > PM,
> > > > > > > > Brice
> > > > > > > > > > > Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > ><normandviking at gmail.com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > Thanks Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > I will report my
> > > > progress.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > The "Connection
> > > > refused" is
> > > > > > > > > > > reported by
> > > > > > > > > > > >the
> > > > > > > > > > > >> >> >browser
> > > > > > > > > > > >> >> >>> > > >>> > > (Chrome), so
> > > > > > > > > > > >> >> >>> > > >>> > > >as
> > > > > > > > > > > >> >> >>> > > >>> > > >> >you
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > said, it could be
> > > > something
> > > > > > not
> > > > > > > > > > > transport
> > > > > > > > > > > >> >> >related,
> > > > > > > > > > > >> >> >>> > > but
> > > > > > > > > > > >> >> >>> > > >>> > > rather
> > > > > > > > > > > >> >> >>> > > >>> > > >SSL
> > > > > > > > > > > >> >> >>> > > >>> > > >> >as  I
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> am
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > inclined to think.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > Thanks
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > On Tue, Jul 5, 2016
> > at
> > > > 1:44
> > > > > > PM,
> > > > > > > > > > > Andy Green
> > > > > > > > > > > >> >> >>> > > ><andy at warmcat.co
> > > > > > > > > > > >> >> >>> > > >>> > > m>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> On July 5, 2016
> > > > 11:40:30
> > > > > > PM
> > > > > > > > > > > GMT+08:00,
> > > > > > > > > > > >Brice
> > > > > > > > > > > >> >> >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> <normandviking at gma
> > il.c
> > > > om>
> > > > > > > > wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Hi Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >I have not made
> > > > progress
> > > > > > on
> > > > > > > > > > > finding
> > > > > > > > > > > >where
> > > > > > > > > > > >> >the
> > > > > > > > > > > >> >> >>> > > problem
> > > > > > > > > > > >> >> >>> > > >is.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >One thing I was
> > doing
> > > > and
> > > > > > > > seemed
> > > > > > > > > > > strange
> > > > > > > > > > > >> >was
> > > > > > > > > > > >> >> >in
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >SSL
> > > > > > > > > > > >> >> >>> > > >>> > > certs
> > > > > > > > > > > >> >> >>> > > >>> > > >> >side:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >if (http_ssl_)
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    {
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        if
> > > > > > > > (!chain_file_.empty())
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        {
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >          // cert
> > > > file is
> > > > > > not
> > > > > > > > > > > needed as
> > > > > > > > > > > >> >it's
> > > > > > > > > > > >> >> >>> > > included
> > > > > > > > > > > >> >> >>> > > >in
> > > > > > > > > > > >> >> >>> > > >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >chain with
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >all intermediate
> > > > cert.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >           
> > > > > > > > > > > //info.ssl_cert_filepath =
> > > > > > > > > > > >> >> >>> > > >>> > > cert_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >info.ssl_private_key_filepath =
> > > > > > > > > > > >> >> >>> > > >>> > > key_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >           
> > > > > > > > > > > info.ssl_cert_filepath =
> > > > > > > > > > > >> >> >>> > > >chain_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        }
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        else
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        {
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >            //
> > Simple
> > > > > > > > key/cert
> > > > > > > > > > > WSS
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >           
> > > > > > > > > > > info.ssl_cert_filepath =
> > > > > > > > > > > >> >> >>> > > >cert_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >info.ssl_private_key_filepath =
> > > > > > > > > > > >> >> >>> > > >>> > > key_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >        }
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    }
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    else
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    {
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >       
> > > > > > > > info.ssl_cert_filepath =
> > > > > > > > > > > NULL;
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >       
> > > > > > > > > > > info.ssl_private_key_filepath =
> > > > > > > > > > > >> >NULL;
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    }
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    info.gid =
> > -1;
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    info.uid =
> > -1;
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    info.options
> > = 0;
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    info.ka_time
> > =
> > > > 10; //
> > > > > > > > keep
> > > > > > > > > > > alive
> > > > > > > > > > > >every
> > > > > > > > > > > >> >10
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >   
> > info.ka_probes =
> > > > 1;
> > > > > > //
> > > > > > > > how
> > > > > > > > > > > many
> > > > > > > > > > > >times
> > > > > > > > > > > >> >to
> > > > > > > > > > > >> >> >try
> > > > > > > > > > > >> >> >>> > > to
> > > > > > > > > > > >> >> >>> > > >get
> > > > > > > > > > > >> >> >>> > > >>> > > >response
> > > > > > > > > > > >> >> >>> > > >>> > > >> >before
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >giving up
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >   
> > info.ka_interval
> > > > = 2;
> > > > > > //
> > > > > > > > how
> > > > > > > > > > > long to
> > > > > > > > > > > >> >wait
> > > > > > > > > > > >> >> >>> > > before
> > > > > > > > > > > >> >> >>> > > >each
> > > > > > > > > > > >> >> >>> > > >>> > > >> >ka_probes
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    info.user =
> > this;
> > > > //
> > > > > > to
> > > > > > > > get
> > > > > > > > > > > ourself
> > > > > > > > > > > >> >inthe
> > > > > > > > > > > >> >> >>> > > static
> > > > > > > > > > > >> >> >>> > > >>> > > callback
> > > > > > > > > > > >> >> >>> > > >>> > > >via
> > > > > > > > > > > >> >> >>> > > >>> > > >> >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >context.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >    context_ =
> > > > > > > > > > > >> >> >>> > > libwebsocket_create_context(&info);
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >and this was the
> > only
> > > > way
> > > > > > I
> > > > > > > > made
> > > > > > > > > > > the lib
> > > > > > > > > > > >> >work
> > > > > > > > > > > >> >> >>> > > with 3
> > > > > > > > > > > >> >> >>> > > >ssl
> > > > > > > > > > > >> >> >>> > > >>> > > files
> > > > > > > > > > > >> >> >>> > > >>> > > >> >(key,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >cert
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >and chain).
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >I tried the
> > "correct"
> > > > way
> > > > > > > > with
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > >info.ssl_cert_filepath   
> > > > > >    
> > > > > > > > =
> > > > > > > > > > > >> >> >>> > > cert_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > >info.ssl_private_key_filepath
> > > > > > > > =
> > > > > > > > > > > >> >> >>> > > key_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > >info.ssl_ca_filepath 
> > > >    
> > > > > >    
> > > > > > > > =
> > > > > > > > > > > >> >> >>> > > chain_file_.c_str();
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >With no luck.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Any clues?
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> Yeah your biggest
> > clue
> > > > is
> > > > > > > > > > > "Connection
> > > > > > > > > > > >> >Refused".
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> Also you should
> > > > sanity-
> > > > > > check
> > > > > > > > the
> > > > > > > > > > > lws test
> > > > > > > > > > > >> >> >server
> > > > > > > > > > > >> >> >>> > > itself
> > > > > > > > > > > >> >> >>> > > >>> > > works
> > > > > > > > > > > >> >> >>> > > >>> > > >on
> > > > > > > > > > > >> >> >>> > > >>> > > >> >your
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> toolchain /
> > platform.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >I think if we
> > find
> > > > the
> > > > > > > > problem in
> > > > > > > > > > > 1.7,
> > > > > > > > > > > >2.0
> > > > > > > > > > > >> >> >will
> > > > > > > > > > > >> >> >>> > > work
> > > > > > > > > > > >> >> >>> > > >as
> > > > > > > > > > > >> >> >>> > > >>> > > well.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> I understand it
> > looks
> > > > like
> > > > > > > > that to
> > > > > > > > > > > you,
> > > > > > > > > > > >> >since
> > > > > > > > > > > >> >> >you
> > > > > > > > > > > >> >> >>> > > try
> > > > > > > > > > > >> >> >>> > > >1.6
> > > > > > > > > > > >> >> >>> > > >>> > > and
> > > > > > > > > > > >> >> >>> > > >>> > > >it
> > > > > > > > > > > >> >> >>> > > >>> > > >> >works
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> and
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> 1.7 acts
> > different. 
> > > > But
> > > > > > it's
> > > > > > > > not
> > > > > > > > > > > clear
> > > > > > > > > > > >the
> > > > > > > > > > > >> >> >>> > > problem is
> > > > > > > > > > > >> >> >>> > > >in
> > > > > > > > > > > >> >> >>> > > >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > >lib.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> It's not
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> even clear to me
> > what
> > > > the
> > > > > > > > problem
> > > > > > > > > > > is.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> If it was
> > happening to
> > > > me
> > > > > > I
> > > > > > > > would
> > > > > > > > > > > grab
> > > > > > > > > > > >hold
> > > > > > > > > > > >> >of
> > > > > > > > > > > >> >> >the
> > > > > > > > > > > >> >> >>> > > >>> > > Connection
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Refused
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> end
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> of it, eg look
> > what
> > > > > > netstat
> > > > > > > > says
> > > > > > > > > > > and
> > > > > > > > > > > >eyeball
> > > > > > > > > > > >> >> >>> > > traffic
> > > > > > > > > > > >> >> >>> > > >with
> > > > > > > > > > > >> >> >>> > > >>> > > >tcpdump.
> > > > > > > > > > > >> >> >>> > > >>> > > >> > The
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> lib
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> doesn't issue a
> > tcp
> > > > > > connection
> > > > > > > > > > > refused,
> > > > > > > > > > > >as I
> > > > > > > > > > > >> >> >>> > > explained
> > > > > > > > > > > >> >> >>> > > >it
> > > > > > > > > > > >> >> >>> > > >>> > > means
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> something
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> basic like the
> > listen
> > > > > > socket
> > > > > > > > is
> > > > > > > > > > > not
> > > > > > > > > > > >there.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> So the first move
> > is
> > > > > > confirm
> > > > > > > > if
> > > > > > > > > > > that is
> > > > > > > > > > > >> >> >literally
> > > > > > > > > > > >> >> >>> > > a tcp
> > > > > > > > > > > >> >> >>> > > >>> > > >connection
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> refused, or you
> > mean
> > > > some
> > > > > > > > > > > handwaving
> > > > > > > > > > > >> >> >>> > > 'communication
> > > > > > > > > > > >> >> >>> > > >>> > > failed'
> > > > > > > > > > > >> >> >>> > > >>> > > >error
> > > > > > > > > > > >> >> >>> > > >>> > > >> >that
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> is
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> actually something
> > > > totally
> > > > > > > > > > > different and
> > > > > > > > > > > >a
> > > > > > > > > > > >> >red
> > > > > > > > > > > >> >> >>> > > herring.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> Build it in debug
> > mode
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> cmake
> > > > > > -DCMAKE_BUILD_TYPE=DEBUG
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> and crank the logs
> > up,
> > > > > > > > equivalent
> > > > > > > > > > > to
> > > > > > > > > > > >-d65535
> > > > > > > > > > > >> >on
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >test
> > > > > > > > > > > >> >> >>> > > >>> > > apps
> > > > > > > > > > > >> >> >>> > > >>> > > >and
> > > > > > > > > > > >> >> >>> > > >>> > > >> >look
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> there both at init
> > and
> > > > at
> > > > > > > > > > > connection
> > > > > > > > > > > >> >attempt.
> > > > > > > > > > > >> >> >>> > > Compare
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > logs
> > > > > > > > > > > >> >> >>> > > >>> > > >> >for test
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> server in the same
> > > > cases.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Thank you in
> > advance,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >On Mon, Jul 4,
> > 2016
> > > > at
> > > > > > 5:29
> > > > > > > > PM,
> > > > > > > > > > > Brice
> > > > > > > > > > > >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > >> ><normandviking at gmail.co
> > m>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> Ok 1.7.0 breaks
> > the
> > > > > > server.
> > > > > > > > All
> > > > > > > > > > > >version
> > > > > > > > > > > >> >> >before
> > > > > > > > > > > >> >> >>> > > are
> > > > > > > > > > > >> >> >>> > > >OK.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> The only change
> > I
> > > > can
> > > > > > see
> > > > > > > > > > > impacting my
> > > > > > > > > > > >> >code
> > > > > > > > > > > >> >> >was
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > warning:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > bswebsocket.cpp:155:23:
> > > > > > > > > > > warning:
> > > > > > > > > > > >`const
> > > > > > > > > > > >> >> >>> > > >lws_extension*
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > lws_get_internal_extensions()'
> > > > > > > > > > > is
> > > > > > > > > > > >> >deprecated
> > > > > > > > > > > >> >> >>> > > >(declared
> > > > > > > > > > > >> >> >>> > > >>> > > at
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >>
> > > > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >>/export/home/development/3rdparty/include/libwebsockets.h:1877)
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> [-Wdeprecated-
> > > > > > declarations]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> So I am
> > > > investigating
> > > > > > in
> > > > > > > > that
> > > > > > > > > > > side.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> On Mon, Jul 4,
> > 2016
> > > > at
> > > > > > 4:25
> > > > > > > > PM,
> > > > > > > > > > > Brice
> > > > > > > > > > > >> >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > >> ><normandviking at gmail.co
> > m
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >> wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> Hi Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> I am working
> > > > backwards
> > > > > > in
> > > > > > > > > > > version. So
> > > > > > > > > > > >> >far
> > > > > > > > > > > >> >> >>> > > 2.0.2 to
> > > > > > > > > > > >> >> >>> > > >>> > > 1.7.2
> > > > > > > > > > > >> >> >>> > > >>> > > >does
> > > > > > > > > > > >> >> >>> > > >>> > > >> >not
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >work.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> 1.5.1 does
> > work. I
> > > > > > will
> > > > > > > > > > > eventually
> > > > > > > > > > > >where
> > > > > > > > > > > >> >it
> > > > > > > > > > > >> >> >>> > > breaks.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> I'll keep you
> > > > posted.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> On Thu, Jun
> > 30,
> > > > 2016
> > > > > > at
> > > > > > > > 1:13
> > > > > > > > > > > PM,
> > > > > > > > > > > >Brice
> > > > > > > > > > > >> >> >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> ><normandviking at gm
> > ail.
> > > > com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>> wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> Thanks Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> I do not
> > think it
> > > > is
> > > > > > a
> > > > > > > > > > > networking or
> > > > > > > > > > > >> >> >>> > > environment
> > > > > > > > > > > >> >> >>> > > >>> > > issue as
> > > > > > > > > > > >> >> >>> > > >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >same
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >code
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> running on
> > the
> > > > same
> > > > > > host
> > > > > > > > with
> > > > > > > > > > > 1.4
> > > > > > > > > > > >works
> > > > > > > > > > > >> >> >and
> > > > > > > > > > > >> >> >>> > > not
> > > > > > > > > > > >> >> >>> > > >2.0.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> I just wanted
> > to
> > > > make
> > > > > > > > sure I
> > > > > > > > > > > did not
> > > > > > > > > > > >> >> >forgot
> > > > > > > > > > > >> >> >>> > > an new
> > > > > > > > > > > >> >> >>> > > >>> > > call to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >init SSL
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >or
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> something
> > like
> > > > that
> > > > > > not
> > > > > > > > > > > present in
> > > > > > > > > > > >1.4.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> I'll dig into
> > it
> > > > and
> > > > > > > > report
> > > > > > > > > > > back.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> Thanks again
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>> On Wed, Jun
> > 29,
> > > > 2016
> > > > > > at
> > > > > > > > 1:56
> > > > > > > > > > > PM,
> > > > > > > > > > > >Andy
> > > > > > > > > > > >> >> >Green
> > > > > > > > > > > >> >> >>> > > >>> > > >> ><andy at warmcat.com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> On June 29,
> > 2016
> > > > > > > > 11:52:31 PM
> > > > > > > > > > > >> >GMT+08:00,
> > > > > > > > > > > >> >> >>> > > Brice
> > > > > > > > > > > >> >> >>> > > >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > <
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> normandvikin
> > g at gm
> > > > ail.
> > > > > > com>
> > > > > > > > > > > wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Hi Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >I just
> > upgraded
> > > > my
> > > > > > > > server
> > > > > > > > > > > from 1.4
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >2.0.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Not really
> > a
> > > > big
> > > > > > task,
> > > > > > > > just
> > > > > > > > > > > lws_
> > > > > > > > > > > >and
> > > > > > > > > > > >> >a
> > > > > > > > > > > >> >> >>> > > couple of
> > > > > > > > > > > >> >> >>> > > >>> > > >> >adjustments,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >But now my
> > > > server
> > > > > > does
> > > > > > > > not
> > > > > > > > > > > work
> > > > > > > > > > > >> >anymore.
> > > > > > > > > > > >> >> > I
> > > > > > > > > > > >> >> >>> > > use
> > > > > > > > > > > >> >> >>> > > >an
> > > > > > > > > > > >> >> >>> > > >>> > > >external
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >polling
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >mechanism,
> > and
> > > > I
> > > > > > see
> > > > > > > > the
> > > > > > > > > > > first
> > > > > > > > > > > >FD_ADD
> > > > > > > > > > > >> >so
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >epoll
> > > > > > > > > > > >> >> >>> > > >>> > > is
> > > > > > > > > > > >> >> >>> > > >>> > > >> >working.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> That doesn't
> > > > follow
> > > > > > > > > > > actually, it
> > > > > > > > > > > >means
> > > > > > > > > > > >> >> >only
> > > > > > > > > > > >> >> >>> > > that
> > > > > > > > > > > >> >> >>> > > >>> > > lws'
> > > > > > > > > > > >> >> >>> > > >>> > > >code
> > > > > > > > > > > >> >> >>> > > >>> > > >> >to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >expose
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> poll fds
> > changes
> > > > to
> > > > > > the
> > > > > > > > > > > callback is
> > > > > > > > > > > >> >> >working;
> > > > > > > > > > > >> >> >>> > > it's
> > > > > > > > > > > >> >> >>> > > >>> > > caused
> > > > > > > > > > > >> >> >>> > > >>> > > >by
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >creating the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> listen
> > socket
> > > > during
> > > > > > > > init,
> > > > > > > > > > > not by
> > > > > > > > > > > >> >> >servicing
> > > > > > > > > > > >> >> >>> > > >(e)poll
> > > > > > > > > > > >> >> >>> > > >>> > > >events.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >The
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >log
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> doesn't show
> > any
> > > > > > > > evidence of
> > > > > > > > > > > >servicing
> > > > > > > > > > > >> >> >>> > > (e)poll
> > > > > > > > > > > >> >> >>> > > >>> > > events.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >But when I
> > try
> > > > to
> > > > > > > > connect
> > > > > > > > > > > with a
> > > > > > > > > > > >> >browser
> > > > > > > > > > > >> >> >or
> > > > > > > > > > > >> >> >>> > > >client
> > > > > > > > > > > >> >> >>> > > >>> > > >program
> > > > > > > > > > > >> >> >>> > > >>> > > >> >I get
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >a CONN
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >REFUSED and
> > I
> > > > don't
> > > > > > see
> > > > > > > > > > > anything
> > > > > > > > > > > >> >> >happening
> > > > > > > > > > > >> >> >>> > > on
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > server
> > > > > > > > > > > >> >> >>> > > >>> > > >> >side. I
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >just
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >see
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >it
> > listening on
> > > > the
> > > > > > > > correct
> > > > > > > > > > > port.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> Connection
> > > > refused
> > > > > > is
> > > > > > > > really
> > > > > > > > > > > >specific,
> > > > > > > > > > > >> >it
> > > > > > > > > > > >> >> >>> > > means
> > > > > > > > > > > >> >> >>> > > >for
> > > > > > > > > > > >> >> >>> > > >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > >peer
> > > > > > > > > > > >> >> >>> > > >>> > > >> >there
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >was
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> nobody
> > listening
> > > > at
> > > > > > the
> > > > > > > > > > > port.  That
> > > > > > > > > > > >> >can
> > > > > > > > > > > >> >> >mean
> > > > > > > > > > > >> >> >>> > > the
> > > > > > > > > > > >> >> >>> > > >>> > > listen
> > > > > > > > > > > >> >> >>> > > >>> > > >> >socket
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >bound to a
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> This observation
> > is
> > > > still
> > > > > > true
> > > > > > > > if
> > > > > > > > > > > it's
> > > > > > > > > > > >> >> >literally
> > > > > > > > > > > >> >> >>> > > >>> > > "Connection
> > > > > > > > > > > >> >> >>> > > >>> > > >> >Refused".
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> different
> > > > interface
> > > > > > than
> > > > > > > > > > > your
> > > > > > > > > > > >client
> > > > > > > > > > > >> >> >reached
> > > > > > > > > > > >> >> >>> > > >(check
> > > > > > > > > > > >> >> >>> > > >>> > > it
> > > > > > > > > > > >> >> >>> > > >>> > > >with
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >netstat -pltn
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> at the
> > server,
> > > > > > 0.0.0.0
> > > > > > > > means
> > > > > > > > > > > all
> > > > > > > > > > > >> >> >interfaces)
> > > > > > > > > > > >> >> >>> > > or a
> > > > > > > > > > > >> >> >>> > > >>> > > >firewall
> > > > > > > > > > > >> >> >>> > > >>> > > >> >got in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >the way,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> or you
> > reached
> > > > the
> > > > > > wrong
> > > > > > > > ip
> > > > > > > > > > > (name
> > > > > > > > > > > >> >> >resolution
> > > > > > > > > > > >> >> >>> > > >issue
> > > > > > > > > > > >> >> >>> > > >>> > > at
> > > > > > > > > > > >> >> >>> > > >>> > > >> >client).
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >I compiled
> > the
> > > > lib
> > > > > > > > plain
> > > > > > > > > > > vanilla
> > > > > > > > > > > >with
> > > > > > > > > > > >> >no
> > > > > > > > > > > >> >> >>> > > >options.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Here is
> > what I
> > > > get
> > > > > > as
> > > > > > > > > > > startup from
> > > > > > > > > > > >> >your
> > > > > > > > > > > >> >> >>> > > lib:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694159
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Initial
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >logging
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >level 15
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694176
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > >Libwebsockets
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >version:
> > 2.0.0
> > > > > > > > > > > >> >> >xxxx at xxxx-v2.0.0-95-ge943a02
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694181
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >IPV6
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >not
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >compiled in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694193
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libev
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >support
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >not
> > compiled in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694198
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >libuv
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >support
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >not
> > compiled in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694356
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Threads: 1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >each 1024
> > fds
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694453
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> > mem:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >platform
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >fd map: 
> > 8192
> > > > bytes
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.694526
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Compiled
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >with
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >OpenSSL
> > support
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.695057
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Creating
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Vhost
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >'default'
> > port
> > > > > > 7682, 2
> > > > > > > > > > > protocols,
> > > > > > > > > > > >> >IPv6
> > > > > > > > > > > >> >> >off
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.695102
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Using SSL
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >mode
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.698961
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> > SSL
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >ECDH
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >curve
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > >'prime256v1'
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.699011
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > >
> > >>LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS
> > > > > > > > > > > >> >> >>> > > >>> > > fd=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > >context=0x7efff0002800
> > > > > > > > > > > user=[`uZ&]
> > > > > > > > > > > >> >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.699021
> > > > > > > > > > > ERROR:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_http: case
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > >
> > >>LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS
> > > > > > > > > > > >> >> >>> > > >>> > > not
> > > > > > > > > > > >> >> >>> > > >>> > > >> >handled.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700680
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > >LWS_CALLBACK_LOCK_POLL
> > > > > > > > > > > fd=85
> > > > > > > > > > > >> >> >>> > > >context=0x7efff0002800
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700719
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > >LWS_CALLBACK_ADD_POLL_FD
> > > > > > > > > > > fd=85
> > > > > > > > > > > >> >> >>> > > >>> > > context=0x7efff0002800
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700758
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > >LWS_CALLBACK_UNLOCK_POLL
> > > > > > > > > > > fd=85
> > > > > > > > > > > >> >> >>> > > >>> > > context=0x7efff0002800
> > > > > > > > > > > >> >> >>> > > >>> > > >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >len=1
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700811
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Listening
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >on
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >port 7682
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700834
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> > mem:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >per-conn:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >       
> >  496
> > > > bytes
> > > > > > +
> > > > > > > > > > > protocol rx
> > > > > > > > > > > >buf
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:24.700919
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > canonical_hostname
> > > > > > =
> > > > > > > > xxxx
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Then a
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:25.972014
> > > > > > > > > > > DEBUG:
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >libwebsocket:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > >lws_protocol_init
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:25.972043
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >callback_http
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > >LWS_CALLBACK_PROTOCOL_INIT
> > > > > > > > > > > fd=0
> > > > > > > > > > > >> >> >>> > > >>> > > context=0x7efff0002800
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >user=[NULL]
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >len=0
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >16-06-29
> > > > > > > > 11:38:25.972049
> > > > > > > > > > > INFO :
> > > > > > > > > > > >> >> >[WEBSOCKET
> > > > > > > > > > > >> >> >>> > > ]:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >callback_http:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > >LWS_CALLBACK_PROTOCOL_INIT
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >And nothing
> > > > else
> > > > > > after
> > > > > > > > > > > that.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> Connection
> > > > Refused
> > > > > > is a
> > > > > > > > tcp
> > > > > > > > > > > level
> > > > > > > > > > > >> >thing,
> > > > > > > > > > > >> >> >it
> > > > > > > > > > > >> >> >>> > > means
> > > > > > > > > > > >> >> >>> > > >>> > > you did
> > > > > > > > > > > >> >> >>> > > >>> > > >> >not
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >succeed
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> to touch the
> > > > listen
> > > > > > > > socket. 
> > > > > > > > > > > So
> > > > > > > > > > > >there
> > > > > > > > > > > >> >> >would
> > > > > > > > > > > >> >> >>> > > be no
> > > > > > > > > > > >> >> >>> > > >>> > > sign of
> > > > > > > > > > > >> >> >>> > > >>> > > >> >activity
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >from lws
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> about that.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >I guess  my
> > > > > > straight
> > > > > > > > port
> > > > > > > > > > > from 1.4
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >2.0
> > > > > > > > > > > >> >> >>> > > was
> > > > > > > > > > > >> >> >>> > > >just
> > > > > > > > > > > >> >> >>> > > >>> > > been
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >optimistic. I
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >am
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >forgetting
> > > > > > something
> > > > > > > > > > > essential in
> > > > > > > > > > > >> >order
> > > > > > > > > > > >> >> >to
> > > > > > > > > > > >> >> >>> > > have
> > > > > > > > > > > >> >> >>> > > >2.0
> > > > > > > > > > > >> >> >>> > > >>> > > >working
> > > > > > > > > > > >> >> >>> > > >>> > > >> >like
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >1.4.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> I think
> > either
> > > > lws
> > > > > > bound
> > > > > > > > to
> > > > > > > > > > > the
> > > > > > > > > > > >wrong
> > > > > > > > > > > >> >> >>> > > network
> > > > > > > > > > > >> >> >>> > > >>> > > interface
> > > > > > > > > > > >> >> >>> > > >>> > > >for
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >listen, or
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> the issue is
> > > > outside
> > > > > > > > lws.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Also the
> > only
> > > > > > question
> > > > > > > > I
> > > > > > > > > > > had
> > > > > > > > > > > >during
> > > > > > > > > > > >> >the
> > > > > > > > > > > >> >> >>> > > port is
> > > > > > > > > > > >> >> >>> > > >>> > > that I
> > > > > > > > > > > >> >> >>> > > >>> > > >used
> > > > > > > > > > > >> >> >>> > > >>> > > >> >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >context-
> > >user
> > > > > > pointer
> > > > > > > > to
> > > > > > > > > > > store my
> > > > > > > > > > > >own
> > > > > > > > > > > >> >> >>> > > websocket
> > > > > > > > > > > >> >> >>> > > >>> > > object.
> > > > > > > > > > > >> >> >>> > > >>> > > >I
> > > > > > > > > > > >> >> >>> > > >>> > > >> >now
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >need to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >to a
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >// Getting
> > the
> > > > > > context
> > > > > > > > from
> > > > > > > > > > > the
> > > > > > > > > > > >wsi
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >struct
> > > > lws_context
> > > > > > > > *wsicont
> > > > > > > > > > > =
> > > > > > > > > > > >> >> >>> > > >lws_get_context(wsi);
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >// Getting
> > the
> > > > user
> > > > > > cd
> > > > > > > > from
> > > > > > > > > > > the
> > > > > > > > > > > >> >context
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >BSWebSocket
> > > > > > *websocket
> > > > > > > > =
> > > > > > > > > > > >(BSWebSocket
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > >*)lws_context_user(wsicont);
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Is there a
> > > > better
> > > > > > way
> > > > > > > > to do
> > > > > > > > > > > that?
> > > > > > > > > > > >I
> > > > > > > > > > > >> >> >already
> > > > > > > > > > > >> >> >>> > > use
> > > > > > > > > > > >> >> >>> > > >the
> > > > > > > > > > > >> >> >>> > > >>> > > user
> > > > > > > > > > > >> >> >>> > > >>> > > >> >pointer
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >of the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >callback to
> > get
> > > > my
> > > > > > > > > > > >per_session_data
> > > > > > > > > > > >> >> >>> > > structure.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> No it looks
> > > > good. 
> > > > > > Both
> > > > > > > > of
> > > > > > > > > > > those
> > > > > > > > > > > >apis
> > > > > > > > > > > >> >are
> > > > > > > > > > > >> >> >>> > > really
> > > > > > > > > > > >> >> >>> > > >>> > > cheap,
> > > > > > > > > > > >> >> >>> > > >>> > > >just
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >resolve to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> a struct
> > member
> > > > > > > > dereference
> > > > > > > > > > > each.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Thank you,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >On Thu, Jun
> > 2,
> > > > 2016
> > > > > > at
> > > > > > > > 8:48
> > > > > > > > > > > PM,
> > > > > > > > > > > >Brice
> > > > > > > > > > > >> >> >Hamon
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> ><normandviking at gm
> > ail.
> > > > com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >> Thank you
> > > > Andy,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >> I will
> > get
> > > > going
> > > > > > and
> > > > > > > > > > > report my
> > > > > > > > > > > >> >> >findings.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >> Thanks
> > again.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >> Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >> On Thu,
> > Jun
> > > > 2,
> > > > > > 2016
> > > > > > > > at
> > > > > > > > > > > 6:20 PM,
> > > > > > > > > > > >> >Andy
> > > > > > > > > > > >> >> >>> > > Green
> > > > > > > > > > > >> >> >>> > > >>> > > >> ><andy at warmcat.com>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> On June
> > 3,
> > > > 2016
> > > > > > > > 1:08:32
> > > > > > > > > > > AM
> > > > > > > > > > > >> >GMT+08:00,
> > > > > > > > > > > >> >> >>> > > Brice
> > > > > > > > > > > >> >> >>> > > >>> > > Hamon <
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > normandvikin
> > > > g at gm
> > > > > > ail.
> > > > > > > > com>
> > > > > > > > > > > wrote:
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >Hi all,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >I have
> > been
> > > > > > using
> > > > > > > > > > > libwebsocket
> > > > > > > > > > > >> >1.4
> > > > > > > > > > > >> >> >with
> > > > > > > > > > > >> >> >>> > > >>> > > external
> > > > > > > > > > > >> >> >>> > > >>> > > >epoll
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >notification
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >loop
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >without
> > a
> > > > > > single
> > > > > > > > > > > problem for
> > > > > > > > > > > >over
> > > > > > > > > > > >> >a
> > > > > > > > > > > >> >> >>> > > year
> > > > > > > > > > > >> >> >>> > > >now.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> Great.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >All the
> > > > > > > > libwebsocket
> > > > > > > > > > > functions
> > > > > > > > > > > >> >are
> > > > > > > > > > > >> >> >>> > > happening
> > > > > > > > > > > >> >> >>> > > >in
> > > > > > > > > > > >> >> >>> > > >>> > > one
> > > > > > > > > > > >> >> >>> > > >>> > > >> >thread so
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >I
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >have
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > >followed
> > > > all
> > > > > > > > guidelines
> > > > > > > > > > > in the
> > > > > > > > > > > >> >> >>> > > README.coding
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >from
> > that
> > > > > > version.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >I think
> > it
> > > > is
> > > > > > now
> > > > > > > > time
> > > > > > > > > > > for me
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >>> > > upgrade as,
> > > > > > > > > > > >> >> >>> > > >>> > > >following
> > > > > > > > > > > >> >> >>> > > >>> > > >> >this
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >group,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >many
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >fix
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >and
> > > > enhancement
> > > > > > > > took
> > > > > > > > > > > place.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >Is
> > there
> > > > > > specific
> > > > > > > > areas
> > > > > > > > > > > of
> > > > > > > > > > > >change
> > > > > > > > > > > >> >I
> > > > > > > > > > > >> >> >>> > > should
> > > > > > > > > > > >> >> >>> > > >be
> > > > > > > > > > > >> >> >>> > > >>> > > >concerned
> > > > > > > > > > > >> >> >>> > > >>> > > >> >with,
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >or
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > >important
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >changes
> > in
> > > > the
> > > > > > > > > > > notification
> > > > > > > > > > > >area?
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> Yes at
> > 1.6
> > > > many
> > > > > > api
> > > > > > > > > > > names got
> > > > > > > > > > > >> >> >simplified
> > > > > > > > > > > >> >> >>> > > and
> > > > > > > > > > > >> >> >>> > > >>> > > >> >rationalized.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >Mainly
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> api
> > prefix
> > > > got
> > > > > > > > > > > standardized to
> > > > > > > > > > > >> >> >'lws_'.
> > > > > > > > > > > >> >> >>> > > There
> > > > > > > > > > > >> >> >>> > > >>> > > are 4
> > > > > > > > > > > >> >> >>> > > >>> > > >> >steps
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >listed in
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > changelog
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >>
> > > > > > > > > > > >>>>>https://github.com/warmcat/libwebsockets/blo
> > b/v2
> > > > .0-s
> > > > > > tabl
> > > > > > > > e/ch
> > > > > > > > > > > ange
> > > > > > > > > > > >> >> >>> > > l
> > > > > > > > > > > >> >> >>> > > >>> > > og#L643
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> to
> > search /
> > > > > > replace
> > > > > > > > > > > everything
> > > > > > > > > > > >in
> > > > > > > > > > > >> >> >your
> > > > > > > > > > > >> >> >>> > > code
> > > > > > > > > > > >> >> >>> > > >into
> > > > > > > > > > > >> >> >>> > > >>> > > >shape.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> There
> > are
> > > > many
> > > > > > other
> > > > > > > > > > > changes
> > > > > > > > > > > >and
> > > > > > > > > > > >> >> >>> > > >improvements,
> > > > > > > > > > > >> >> >>> > > >>> > > such
> > > > > > > > > > > >> >> >>> > > >>> > > >as
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >multiple
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >vhost
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> support,
> > CGI
> > > > > > > > support,
> > > > > > > > > > > protocol
> > > > > > > > > > > >> >> >plugins,
> > > > > > > > > > > >> >> >>> > > lwsws
> > > > > > > > > > > >> >> >>> > > >>> > > etc.
> > > > > > > > > > > >> >> >>> > > >>> > > >It's
> > > > > > > > > > > >> >> >>> > > >>> > > >> >hard
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >predict
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> which
> > are
> > > > > > > > interesting,
> > > > > > > > > > > if you
> > > > > > > > > > > >have
> > > > > > > > > > > >> >> >>> > > external
> > > > > > > > > > > >> >> >>> > > >>> > > epoll()
> > > > > > > > > > > >> >> >>> > > >>> > > >just
> > > > > > > > > > > >> >> >>> > > >>> > > >> >to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >get
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >epoll, the
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> new
> > built-in
> > > > > > libuv
> > > > > > > > > > > support
> > > > > > > > > > > >might
> > > > > > > > > > > >> >be
> > > > > > > > > > > >> >> >>> > > >>> > > interesting... if
> > > > > > > > > > > >> >> >>> > > >>> > > >so
> > > > > > > > > > > >> >> >>> > > >>> > > >> >then
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >lwsws
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >and
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> plugins
> > > > might
> > > > > > also
> > > > > > > > > > > simplify
> > > > > > > > > > > >your
> > > > > > > > > > > >> >> >life.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> If you
> > need
> > > > > > external
> > > > > > > > > > > event loop
> > > > > > > > > > > >to
> > > > > > > > > > > >> >> >>> > > interface
> > > > > > > > > > > >> >> >>> > > >to
> > > > > > > > > > > >> >> >>> > > >>> > > >> >something
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >else, then
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >that
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> should
> > still
> > > > > > work
> > > > > > > > the
> > > > > > > > > > > same.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >Thanks
> > all
> > > > and
> > > > > > > > > > > especially
> > > > > > > > > > > >Andy,
> > > > > > > > > > > >> >your
> > > > > > > > > > > >> >> >>> > > lib
> > > > > > > > > > > >> >> >>> > > >rocks
> > > > > > > > > > > >> >> >>> > > >>> > > :)
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> Thanks
> > for
> > > > the
> > > > > > kind
> > > > > > > > > > > words ^^
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> -Andy
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >Brice.
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >>
> > > > > > > > > > > >>>>>>>>-----------------------------------------
> > ----
> > > > ----
> > > > > > ----
> > > > > > > > ----
> > > > > > > > > > > ---
> > > > > > > > > > > >> >> >>> > > >>> > > ------------
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > >>_______________________________________________
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > >Libwebsockets
> > > > > > > > mailing
> > > > > > > > > > > list
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >>Libwebsockets at ml.libwebsockets.org
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>>http://libwebsockets.org/mailman/listinf
> > o/li
> > > > bweb
> > > > > > sock
> > > > > > > > ets
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >>
> > >_______________________________________________
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > Libwebsockets
> > mailing
> > > > list
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> > Libwebsockets at ml.li
> > bweb
> > > > sock
> > > > > > ets.
> > > > > > > > org
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >http://libwebsockets.org/mailman/listinfo/
> > libw
> > > > ebso
> > > > > > c
> > > > > > > > > > > >> >> >>> > > kets
> > > > > > > > > > > >> >> >>> > > >>> > > >> >> >
> > > > > > > > > > > >> >> >>> > > >>> > > >> >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> > >
> > > > > > > > > > > >> >> >>> > > >>> >
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > _______________________________________________
> > > > > > > > > > > >> >> >>> > > >>> Libwebsockets mailing list
> > > > > > > > > > > >> >> >>> > > >>> Libwebsockets at ml.libwebsockets.
> > org
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >http://libwebsockets.org/mailman/listinfo/libweb
> > sock
> > > > ets
> > > > > > > > > > > >> >> >>> > > >>>
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > > >>
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> > >
> > > > > > > > > > > >> >> >>> >
> > > > > > > > > > > >> >> >>>
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >> >>
> > > > > > > > > > > >>
> > > > > > > > > > > >>
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > _______________________________________________
> > Libwebsockets mailing list
> > Libwebsockets at ml.libwebsockets.org
> > http://libwebsockets.org/mailman/listinfo/libwebsockets
> > 
> 



More information about the Libwebsockets mailing list