lindenbaum/eipmi
68.7
Adequate · 2 October 2026
9.9k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is an Erlang/OTP library that implements the RMCP/IPMI protocol, specifically focusing on remote console functionality and LAN interface support for IPMI v1.5 and v2.0. It provides a native API for managing IPMI sessions, handling authentication, and interacting with hardware components by reading FRU data and System Event Logs. The library also supports Platform Event Traps and includes comprehensive test coverage for its encoding, decoding, and security mechanisms.
Features
Add IPMI protocol constants and definitions
Introduces the eipmi.hrl header file containing protocol constants and macros for the IPMI over RMCP implementation. This includes definitions for RMCP and ASF message types, IPMI network functions (such as chassis, sensor/event, application, storage, transport, and PICMG), default addresses, and FRU/PICMG identifiers, providing the foundational data structures for the library's encoding and decoding logic.
include · high confidence
Initial project release with Erlang/OTP IPMI support
This release introduces the EIPMI application, a native Erlang/OTP library for RMCP/IPMI that implements the remote console part of the IPMI LAN interface (supporting IPMI v1.5 and v2.0/RMCP+). The library provides an API similar to \inet\/\gen\_udp\ for managing sessions, handling authentication, and issuing requests such as reading FRU data or System Event Logs (SEL). It includes built-in support for Platform Event Traps (PET) and automatic SEL polling, with asynchronous messages delivered to the session owner. The project is licensed under MIT and uses \rebar3\ for build management, depending on the \md2\ library.
(repo-wide) · high confidence
Removals
Removal of legacy EIPMI application and upgrade definition files
The EIPMI application definition file (eipmi.app) and its corresponding upgrade definition file (eipmi.appup) have been removed from the ebin directory. This eliminates the legacy Erlang application metadata and version upgrade path definitions previously used to manage the EIPMI application lifecycle within the system.
ebin · high confidence
Behavioural changes
eipmi library version 4.2.0 release
The eipmi application has been updated to version 4.2.0. This release includes the addition of an MIT license, improves session setup to be synchronous, and enhances the robustness of System Event Log (SEL) polling. It also adds support for decoding OEM and threshold sensor system events, implements high-level API functions for easier interaction, and standardizes the \always\_on\ configuration option to match \always\_off\.
src · high confidence
Test coverage
Added unit tests for IPMI authentication, encoding, and decoding
Added comprehensive eunit test suites for the eipmi library's core components. The new tests cover authentication logic (including MD2, MD5, password, HMAC-MD5, HMAC-SHA1, HMAC-SHA256, and AES-CBC encryption), packet encoding and decoding for RMCP and IPMI messages, request and response serialization for various IPMI commands (such as GET\_DEVICE\_SDR, GET\_SENSOR\_READING, and session management), utility functions, and trap event decoding.
test · high confidence
Dependencies
Removed Maven build configuration
The Maven project descriptor (pom.xml) has been deleted, removing the project's build definition, including the groupId, artifactId, version, and the maven-erlang-plugin dependency.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 67 → 69 (+1.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 94 → 94 (+0.0)
- Architecture 95 → 98 (+3.0)
- Maturity 53 → 53 (+0.0)
- Readiness 64 → 68 (+3.7)
- Security 90 → 95 (+5.1)
- Event Sourcing 100 → 100 (+0.0)
Resolved (2)
- Coverage not measured — no coverage collector is wired up
- Documentation: no architecture or design documentation (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
lindenbaum/eipmi was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit fadb8e37c404b6d00835421e22f7be2bf955f42f — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.