Skip to content

mINK Framework v1.1.2

Compare
Choose a tag to compare
@dfranusic dfranusic released this 05 Jan 14:19
· 89 commits to main since this release

Summary

Core

  • update ASN1 and GDT modules with an option to disable debug strings and lower memory consumption
  • updated mINI utils
  • legacy plugin methods moved to a separate module
  • error codes moved to a single header file

Build system

  • --enable-jrpc (build jrpcd)
  • --enable-openssl (TLS dependency)
  • --enable-tlsv12 (enable insecure TLS v1.2)
  • --enable-ws-single-session (single user session)
  • --enable-plain-ws (unencrypted WebSocket support)
  • --enable-sysagent (build sysagentd)
  • --enable-openwrt (build OpenWrt plugin)
  • --enable-grpc (build gRPCD)
  • --enable-configd (build configd)
  • --enable-gdttrapc (build GDT Trap Client)
  • --enable-codegen (build mINK Code Generator)

System Agent Daemon

  • generic plugin system
  • implement better error handling for OpenWrt plugin and ubus related commands
  • implementation of a new threading model; enable concurrent execution of plugin handlers
  • enable fragmented (streamed) and regular params for plugin input values
  • zLib compression of UBUS JSON data

JSON RPC Daemon

  • added json rpc handler based on nlohmann c++ parser (bundled single header include)
  • generate JSON RPC strings from "gdt.proto" along with protobuf class and mink plugins
  • better error handling for OpenWrt plugin and ubus related commands
  • implementation of a new threading model; enable concurrent execution of plugin handlers
  • enable fragmented (streamed) and regular params for plugin input values
  • added support for WS and WSS JSON RPC protocol handlers
  • added validation, error handling, and logging
  • implemented "per-request" timeout and expiration of uncorrelated messages
  • added UTF-8 support for JSON messages
  • added TLSv1.3 support (boost::beast and OpenSSL)
  • added JSON-RPC AAA: user level, command level, and command-specific implement (generic 3rd level)
  • added user session support (single and multiple)
  • zLib compression of JSON data