Skip to content
代码片段 群组 项目
该项目从 https://github.com/warmcat/libwebsockets 镜像。 Pull mirroring failed .
由于尝试失败次数过多,仓库镜像已暂停,可以由项目维护者或所有者恢复。
上次成功更新
  1. 10月 26, 2020
  2. 9月 30, 2020
  3. 9月 17, 2020
  4. 9月 15, 2020
  5. 9月 04, 2020
  6. 9月 03, 2020
  7. 8月 31, 2020
  8. 8月 10, 2020
  9. 7月 21, 2020
    • Andy Green's avatar
      ss: static policy: dynamic vhost instantiation · 625bade6
      Andy Green 创作于
      Presently a vh is allocated per trust store at policy parsing-time, this
      is no problem on a linux-class device or if you decide you need a dynamic
      policy for functionality reasons.
      
      However if you're in a constrained enough situation that the static policy
      makes sense, in the case your trust stores do not have 100% duty cycle, ie,
      are anyway always in use, the currently-unused vhosts and their x.509 stack
      are sitting there taking up heap for no immediate benefit.
      
      This patch modifies behaviour in ..._STATIC_POLICY_ONLY so that vhosts and
      associated x.509 tls contexts are not instantiated until a secure stream using
      them is created; they are refcounted, and when the last logical secure
      stream using a vhost is destroyed, the vhost and its tls context is also
      destroyed.
      
      If another ss connection is created that wants to use the trust store, the
      vhost and x.509 context is regenerated again as needed.
      
      Currently the refcounting is by ss, it's also possible to move the refcounting
      to be by connection.  The choice is between the delay to generate the vh
      being visisble at logical ss creation-time, or at connection-time.  It's anyway
      not preferable to have ss instantiated and taking up space with no associated
      connection or connection attempt underway.
      
      NB you will need to reprocess any static policies after this patch so they
      conform to the trust_store changes.
      625bade6
  10. 7月 20, 2020
  11. 7月 15, 2020
    • Andy Green's avatar
      sul: LWS_WITH_SUL_DEBUGGING · 30761e76
      Andy Green 创作于
      30761e76
    • Andy Green's avatar
      remove: old esp32 helper pieces · 6762c736
      Andy Green 创作于
      The old esp32 -factory stuff along with the lws support doesn't have a
      future in its old form.  It has users but the ratio of effort to
      contribution is really especially bad.  I haven't updated it for more
      than a year since esp-idf changes broke the original stuff.
      
      Freertos plat is alive and well and getting a lot of new use, ESP-32 is
      supported both there and by modern lws_drivers pieces, including in CI
      on real hardware, any further effort will be invested in that direction
      instead of more vendor api-specific code (outside of wrapper
      implementation).
      
      lws_drivers wraps any SDK apis in generic lws apis such that your code
      just uses those, enabling it to become SDK / SoC / vendor independent.
      Its first implementation is on esp-idf, the low and mid-level features
      that were in the old -factory are already available using that and
      new technologies like lws_struct and Secure Streams.
      6762c736
    • Andy Green's avatar
      remove: generic sessions · 599625be
      Andy Green 创作于
      As far as I know there are no users of this, although it worked
      it's basically unmaintainable due to handling the sql and JSON
      manually.
      
      Gradually better capabilities have appeared in lws, like
      lws_struct abstracting out the sql and JSON, and now generic
      JWT... these have been used in Sai to great effect and displaced
      the only organic would-be user of this.
      
      There is a better path to do this stuff now and no point keeping
      this around.
      599625be
  12. 6月 27, 2020
  13. 6月 11, 2020
    • Andy Green's avatar
      drivers: initial generic gpio and i2c plus bitbang · 15ce46d9
      Andy Green 创作于
      Make a start on generic peripheral and bus drivers to provide
      meta-functionality regardless of platform.
      
      On the one hand this simply provides...
      
       - bitbang i2c on top of esp-idf gpio apis
       - ssd1306 oled chip driver as found on Heltec WB32
       - modifications to the minimal example test for esp32 to use that
      
      ... on the other hand, those capabilities are provided by creating:
      
       - an abstract i2c class object
       - an abstract gpio class object
       - i2c class implementation using the abstract gpio for bitbang
       - an abstract display class object
       - an abstract display state (brightness, animated change,
          on/off/init tracking, autodim after inactive, auto-off /
          blanking after inactive)
      
      ... with the intention, eg, you only have to add a platform
      implementation for the gpio to be able to use the i2c-based
      display drivers and state handling, and i2c bitbang, without
      any other modifications.
      15ce46d9
  14. 6月 07, 2020
    • Andy Green's avatar
      windows: for data exports use explicit extern · 2a772776
      Andy Green 创作于
      LWS_EXTERN needs to be empty for windows when declaring functions in the
      headers.  But for data, it needs the explicit extern otherwise on windows
      or mingw based builds, it thinks we are redeclaring the data each time.
      2a772776
  15. 6月 04, 2020
  16. 6月 03, 2020
  17. 6月 02, 2020
  18. 5月 27, 2020
    • Andy Green's avatar
      cmakelist: Augean Stables refactor · b3131fdf
      Andy Green 创作于
      Establish a new distributed CMake architecture with CMake code related to
      a source directory moving to be in the subdir in its own CMakeLists.txt.
      In particular, there's now one in ./lib which calls through to ones
      further down the directory tree like ./lib/plat/xxx, ./lib/roles/xxx etc.
      
      This cuts the main CMakelists.txt from 98KB -> 33KB, about a 66% reduction,
      and it's much easier to maintain sub-CMakeLists.txt that are in the same
      directory as the sources they manage, and conceal all the details that that
      level.
      
      Child CMakelists.txt become responsible for:
      
       - include_directories() definition (this is not supported by CMake
         directly, it passes it back up via PARENT_SCOPE vars in helper
         macros)
      
       - Addition child CMakeLists.txt inclusion, for example toplevel ->
         role -> role subdir
      
       - Source file addition to the build
      
       - Dependent library path resolution... this is now a private thing
         in the child CMakeLists.txt, it just passes back any adaptations
         to include_directories() and the LIB_LIST without filling the
         parent namespace with the details
      b3131fdf
    • Andy Green's avatar
      esp32: shift to support latest esp-idf · cabe0219
      Andy Green 创作于
      Esp-idf has an improved but still kind of abused cmake-
      based build system now.
      
      If we see ESP_PLATFORM coming as a cmake var, we can know we
      are being built from inside the esp-idf config system.
      
      Leave the existing esp32 arrangements alone but triggered off
      ESP_PLATFORM, adapt to use the cross toolchain file and
      various quirks automatically.
      
      In this way you can build lws a part of your project in a
      much cleaner way.
      
      Prepare a minimal esp32 test app for use in Sai
      
      Adapt .sai.json to build for esp32
      cabe0219
  19. 5月 11, 2020
    • Andy Green's avatar
      CTest: migrate and deprecate existing selftest scripts · 9f1d0193
      Andy Green 创作于
      Replace the bash selftest plumbing with CTest.
      
      To use the selftests, build with -DLWS_WITH_MINIMAL_EXAMPLES=1
      and `CTEST_OUTPUT_ON_FAILURE=1 make test` or just
      `make test`.
      
      To disable tests that require internet access, also give
      -DLWS_CTEST_INTERNET_AVAILABLE=0
      
      Remove travis and appveyor scripts on master.
      
      Remove travis and appveyor decals on README.md.
      9f1d0193
  20. 5月 03, 2020
  21. 4月 25, 2020
  22. 4月 24, 2020
    • Andy Green's avatar
      http: add cmake option for header reduction defeat · 99e778ac
      Andy Green 创作于
      Lws now strips out http headers releated to h2, ws and unusual headers
      based on cmake config settings for those features... it saves some heap
      for the ah and reduces the table size in .rodata.
      
      It's possible code might have some external dependency on the original
      header indexes, but, eg, you don't enable h2 so those indexes are
      optimized with the h2 ones taken out.
      
      This introduces a cmake option "LWS_HTTP_HEADERS_ALL", default-OFF, that
      defeats the header table optimization for compatibility with older
      versions in the case the client software can't be adapted to use the
      lws-exported matching header enums.
      
      You probably don't need this.
      99e778ac
  23. 4月 23, 2020
    • huangkaicheng's avatar
      iOS: detect and avoid net/route.h · 974b65a2
      huangkaicheng 创作于
      LWS builds OK on iOS SDK as unix type plat, except it
      doesn't have net/route.h.
      
      Detect we're building on iOS at CMake and export a
      preprocessor define we can use to snip out the missing
      include.
      974b65a2
  24. 4月 22, 2020
    • Andy Green's avatar
      logs: allow giving log bitfields from cmake to force build or exclusion · d9f793ae
      Andy Green 创作于
      By default this doesn't change any existing logging behaviour at all.
      
      But it allows you to define cmake options to force or force-disable the
      build of individual log levels using new cmake option bitfields
      LWS_LOGGING_BITFIELD_SET and LWS_LOGGING_BITFIELD_CLEAR.
      
      Eg, -DLWS_LOGGING_BITFIELD_SET="(LLL_INFO)" can force INFO log level
      built even in release mode.  -DLWS_LOGGING_BITFIELD_CLEAR="(LLL_NOTICE)"
      will likewise remove NOTICE logging from the build regardless of
      DEBUG or RELEASE mode.
      d9f793ae
  25. 4月 21, 2020
    • Valentin B's avatar
      CMake: Silence CMP0048 warnings · aa0e94ca
      Valentin B 创作于
      When libwebsockets is included as a subdirectory in other projects that rely on a minimum CMake version of 3.x, a CMP0048 policy warning will be raised due to the project not specifying a version in the project call.
      
      This patch silences the warning by explicitly setting the policy within libwebsockets to NEW if it has already been forwarded as such, without any further impact on the behavior of CMake.
      aa0e94ca
加载中