<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    I hate saying this, but perhaps you just need to keep a static
    variable (false default) to indicate if you've already called init.<br>
    <br>
    <div class="moz-signature">
      <base href="file:///home/jkroon/.emlsig/">
      <style type="text/css">
* { padding: 0px; margin: 0px; }
body, html { font-family: Arial, San-Serif; font-size: small; color: black; padding-left: 10px; padding-top: 3px; }
a { text-decoration: none; color: #818285; }
h1 { font-size: large; }
table { font-size: 12px; }
p + p { padding-top: 1em; }
</style>
      <p>Kind Regards,<br>
        <span style="font-size: 24px;color: #8dc641">Jaco Kroon</span>
        <span style="font-size: 16px"></span><br>
      </p>
    </div>
    <div class="moz-cite-prefix"><br>
      On 13/05/2016 14:52, Andy Green wrote:<br>
    </div>
    <blockquote
      cite="mid:A4246C53-323D-4FCD-AD09-257AF6D55586@warmcat.com"
      type="cite">
      <pre wrap="">

On May 13, 2016 8:40:45 PM GMT+08:00, Andrejs Hanins <a class="moz-txt-link-rfc2396E" href="mailto:andrejs.hanins@ubnt.com"><andrejs.hanins@ubnt.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">

On 05/13/2016 03:11 PM, Andy Green wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">Still, each creation of ctx calls SSL_library_init. In my code I need
to recreate the ctx when network configuration
changes, so SSL_library_init still might be called several times for
one process. Do you think this is a problem from SSL library design
point of view?
I see the point, actually I dunno, because openssl and valgrind don't
</pre>
        </blockquote>
        <pre wrap="">play well together.  Those openssl calls just seem to set statics in
the process context, they seem to allocate but don't take any args.
</pre>
        <blockquote type="cite">
          <pre wrap="">
I guess it means add a context creation option flag to defeat the
</pre>
        </blockquote>
        <pre wrap="">openssl onetime per-process init, and set it in your code for
subsequent context creation.  It's probably better than add to the pile
of process context variables coming out of a library.
If you mean LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT to be set only for the
first ctx creation, then it doesn't work either,I tried it already.
</pre>
      </blockquote>
      <pre wrap="">
No I mean a new flag to act as a hint that this isn't the first context creation with ssl enabled for this process.  Then we skip doing the static init actions in context create.

I'll look further into it tomorrow, because it seems openssl fixed this strange init business on 1.1.0 with an alternate api OPENSSL_init_ssl()

<a class="moz-txt-link-freetext" href="https://www.openssl.org/docs/manmaster/ssl/OPENSSL_init_ssl.html">https://www.openssl.org/docs/manmaster/ssl/OPENSSL_init_ssl.html</a>

But eg fedora is still on 1.0.1.  But I am wondering if what we doin destroy context for ssltakedownis already enough.

-Andy

</pre>
      <blockquote type="cite">
        <pre wrap="">After the ctx is destroyed and created again without this flag then
nothing works well and crashes after some time. I suppose because this
flag affects not only SSL_library_init, but also
OpenSSL_add_all_algorithms, SSL_load_error_strings and
SSL_CTX_get_ex_new_index, but ctx destroy calls lws_ssl_context_destroy
always. In other words, init is done once, but deinit every time when
ctx is destroyed.
</pre>
        <blockquote type="cite">
          <pre wrap="">
</pre>
          <blockquote type="cite">
            <pre wrap="">Are you going to release 2.0.2 soon? If not, I need to stick to some
master branch git hash.
</pre>
          </blockquote>
          <pre wrap="">2.0.1 was only yesterday, let's give it a few days.
</pre>
        </blockquote>
        <pre wrap="">Ok, I'll wait. No prob.
</pre>
        <blockquote type="cite">
          <pre wrap="">
Actually I'd like more feedback about any missing bits in the plugins
</pre>
        </blockquote>
        <pre wrap="">stuff... I plan to add per-vhost additional  file suffix - mime type
mappings that the mounts can do themselves, otherwise for my current
use-cases it's already enough.  Then I think it needs to head towards
2.1 before too long.
</pre>
        <blockquote type="cite">
          <pre wrap="">
-Andy

</pre>
        </blockquote>
      </blockquote>
      <pre wrap="">
_______________________________________________
Libwebsockets mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Libwebsockets@ml.libwebsockets.org">Libwebsockets@ml.libwebsockets.org</a>
<a class="moz-txt-link-freetext" href="http://libwebsockets.org/mailman/listinfo/libwebsockets">http://libwebsockets.org/mailman/listinfo/libwebsockets</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>