Backports fixes from develop to the v1.0.37.1-LTS branch. Each commit is a cherry-pick (-x) of the squashed PR on develop.
High priority
- #619 Scope OTP session headers to same origin: the OTP session token was attached to every request, including other devices in the swarm.
- #719 Don't build jobs without an extranonce: strlen(NULL) crash after an unusable mining.subscribe result.
- #689 Write to InfluxDB outside the telemetry lock: on LTS the lock is also taken by the power-management task (fans, temperatures) and the uptime timer (FreeRTOS timer daemon), so a slow InfluxDB could stall them. Adapted: no telemetry averaging (#686) on LTS, the snapshot is a plain copy of m_stats.
- #701 Accept SV2 mining job frames larger than 2 KB (LTS had a fixed 2048 byte frame buffer).
Medium priority
- #682 Influx: swap transposed fan1_pwm and fan1_rpm values.
- #587 TCP_NODELAY on pool sockets (slow SV2 share submits).
- #684 SV2: handle SetExtranoncePrefix. Adapted: without the coinbase verification code from develop, plus the mining_utils.h include for bin2hex.
- #725 SV2: require version rolling in SetupConnection, and drop the connection when a job forbids it.
Full Changelog: v1.0.37.3-LTS...v1.0.37.4-LTS-rc1