<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/OpenBmc/bmcweb.git, branch master</title>
<subtitle>A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/'/>
<updated>2026-10-09T10:43:51+00:00</updated>
<entry>
<title>redfish: Refactor FabricAdapter lambda</title>
<updated>2026-10-09T10:43:51+00:00</updated>
<author>
<name>Yuvakumar Selvamani</name>
<email>yuvakumars@ami.com</email>
</author>
<published>2026-09-23T10:25:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=b83413c32874dd05359a912486ff7cb6103af1b0'/>
<id>urn:sha1:b83413c32874dd05359a912486ff7cb6103af1b0</id>
<content type='text'>
getFabricAdapterLocation() registered its D-Bus LocationCode property
response handler as an inline lambda, requiring an ast-grep-ignore
suppression for the long-lambda rule.

This commit extracts the body into a named function
(afterGetFabricAdapterLocation) wired via std::bind_front into the safe
dbus::utility::getProperty&lt;std::string&gt; API. This is a pure refactor:
logic is unchanged. The ast-grep-ignore comment is removed since the
code is no longer flagged by the rule.

Tested:
- Booted an AST2600 SoC platform and exercised the endpoint that
    actually invokes the refactored code live: GET
    /redfish/v1/Systems/system/FabricAdapters/&lt;id&gt;/ (single-adapter
    endpoint, not the collection) returned 200 OK with
    Location/PartLocation/ServiceLabel populated from the adapter's
    LocationCode D-Bus property, matching the value set on the test
    object. No errors logged for fabric_adapters.hpp for the full test
    session.
- Redfish Service Validator: 5923 Pass, 353 Warn, 0 Fail.

Change-Id: I1f6594f690b8131ac17d6d38502e5674f15e7cb6
Signed-off-by: Yuvakumar Selvamani &lt;yuvakumars@ami.com&gt;
</content>
</entry>
<entry>
<title>Refactor chassis_utils getValidChassisPath lambda</title>
<updated>2026-10-08T16:34:36+00:00</updated>
<author>
<name>Yuvakumar Selvamani</name>
<email>yuvakumars@ami.com</email>
</author>
<published>2026-08-17T12:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=dba5d4ddde45989e017d3842370852266983a243'/>
<id>urn:sha1:dba5d4ddde45989e017d3842370852266983a243</id>
<content type='text'>
The getValidChassisPath function contained an inline lambda that
triggered the long-lambda ast-grep rule, requiring an inline suppression
(// ast-grep-ignore: long-lambda). Since callback is a forwarding-
reference template parameter, std::bind_front cannot be used directly
here.

This commit extracts the lambda body into a separate templated
afterGetValidChassisPath function, leaving a short delegating lambda in
getValidChassisPath that simply forwards to it. This follows the
alternative pattern documented for forwarding-reference callbacks,
improves readability, and allows the removal of the static analysis
suppression.

Tested on AST2600 SoC (live D-Bus tested).
- `HEAD /redfish/v1/Chassis/&lt;invalid-id&gt;/ThermalSubsystem` (exercises
  getValidChassisPath())
  Expected: HTTP 404 Base.1.19.ResourceNotFound
  Actual:   HTTP 404 Base.1.19.ResourceNotFound
- `HEAD /redfish/v1/Chassis/&lt;valid-id&gt;/ThermalSubsystem` (a Chassis
  object registered live on D-Bus for this test)
  Expected: HTTP 200 (chassis resolves)
  Actual:   HTTP 200 with the correct Link header - confirms the
            templated afterGetValidChassisPath() match-found branch
- RSV: 5845 Pass / 353 Warn / 0 Fail

Change-Id: I76ed9cc42fa4e49e49e6dc7c3cfc85b75f0d2741
Signed-off-by: Yuvakumar Selvamani &lt;yuvakumars@ami.com&gt;
</content>
</entry>
<entry>
<title>OWNERS: add myself as a reviewer</title>
<updated>2026-10-08T16:09:27+00:00</updated>
<author>
<name>Vinothkumar Shanmugavel</name>
<email>vinothkumars@ami.com</email>
</author>
<published>2026-10-07T05:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1b3cb562373a2a0d09d03998a1c039a7ed654f2b'/>
<id>urn:sha1:1b3cb562373a2a0d09d03998a1c039a7ed654f2b</id>
<content type='text'>
Add myself to the bmcweb OWNERS file as a reviewer.

Contributions:

https://github.com/openbmc/bmcweb/commits?author=vinothkumarshanmugavel

Change-Id: I50d5e704bbe3a3ea2d55f058c52dae8798e443a1
Signed-off-by: Vinothkumar Shanmugavel &lt;vinothkumars@ami.com&gt;
</content>
</entry>
<entry>
<title>redfish/processor: add tests for helpers</title>
<updated>2026-10-08T12:03:27+00:00</updated>
<author>
<name>Joel Pullokaran Jesin</name>
<email>joelpj@ami.com</email>
</author>
<published>2026-07-22T13:25:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=add86711a65fbe2c033ac6b9eaae5a2936244fdd'/>
<id>urn:sha1:add86711a65fbe2c033ac6b9eaae5a2936244fdd</id>
<content type='text'>
Add unit coverage for processor helper paths that were previously
untested. These tests focus on the logic that maps D-Bus data into the
Redfish processor response and handles common error cases.

These helpers directly populate processor response fields for throttle
information and manufacturer-based architecture mapping.
Adding unit tests here improves coverage for those paths and their error
handling.

Tested:
- Built and verified, all tests passed.

Change-Id: I78a588d43fe4459c1f6197dcc58646632490c041
Signed-off-by: Joel Pullokaran Jesin &lt;joelpj@ami.com&gt;
</content>
</entry>
<entry>
<title>redfish: Refactor EventService GET handler lambda</title>
<updated>2026-10-08T01:10:18+00:00</updated>
<author>
<name>Yuvakumar Selvamani</name>
<email>yuvakumars@ami.com</email>
</author>
<published>2026-10-07T09:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=c3296372f539d36c63883de9eb4cb8685a1511d1'/>
<id>urn:sha1:c3296372f539d36c63883de9eb4cb8685a1511d1</id>
<content type='text'>
requestRoutesEventService() registered its GET route as a long inline
lambda building the static EventService resource JSON, requiring an
ast-grep-ignore suppression for the long-lambda rule.

This commit extracts the body into a named free function
(handleEventServiceGet) registered via
std::bind_front(handleEventServiceGet, std::ref(app)), matching the
style already used for the POST subscriptions route in this same file
(handleEventServiceSubscriptionsPost). This is a pure refactor: logic
is unchanged. The ast-grep-ignore comment is removed since the code is
no longer flagged by the rule.

Tested:
- Booted an AST2600 SoC platform with the new bmcweb and exercised the
  endpoint live: GET /redfish/v1/EventService/ returned 200 OK with the
  expected EventService JSON body (Id, Name, ServerSentEventUri,
  DeliveryRetryAttempts/IntervalSeconds, EventFormatTypes,
  RegistryPrefixes, ResourceTypes, SSEFilterPropertiesSupported, etc.)
  identical to the pre-refactor lambda's output. bmcweb.service was
  active and journalctl -u bmcweb showed only the normal startup line,
  no errors.
- Redfish Service Validator: 5829 Pass, 353 Warn, 0 Fail.

Change-Id: Iea6bb1c6366a9ead26cb5edb921f7eb5deec976c
Signed-off-by: Yuvakumar Selvamani &lt;yuvakumars@ami.com&gt;
</content>
</entry>
<entry>
<title>Add OpenSSL 4.0 support</title>
<updated>2026-10-07T15:44:16+00:00</updated>
<author>
<name>Tan Siewert</name>
<email>tan.siewert@9elements.com</email>
</author>
<published>2026-09-08T21:58:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=33451f630a6a08502a27ab1c8c8517c74e38052d'/>
<id>urn:sha1:33451f630a6a08502a27ab1c8c8517c74e38052d</id>
<content type='text'>
With OpenSSL 4.0, ASN1_STRING and several other types are now opaque [0]
and cannot be reached like before, and X509_NAME is now constified [1],
causing the build to fail.

Given that Yocto has now migrated to OpenSSL 4.0, the code must be
compatible with both 3.x and 4.0.

Modify the accesses for ASN1_STRING to use the appropriate functions
like ASN1_STRING_get0_data() and construct the type with all options
directly, instead of assigning them afterwards.

X509_NAME is now its own RAII object as it must be duped due to the
constification. Methods like X509_NAME_add_entry_by_txt however require
a non-constified pointer.

The truncation to 255 bytes for the X509 common name is now gone since
get_index_by_NID and get0_data made the fixed-size buffer unnecessary.

Setting subject entries such as country, organization or the subject
name now returns a boolean and certificate generation aborts on failure
instead of silently continuing with an incomplete subject.

The wrap file for OpenSSL can't be updated due to a missing dependency
(wrapdb) that doesn't provide OpenSSL 4-compatible patches.

Tested: Code compiles with both OpenSSL 3.6.3, as well as 4.0.2, and
        the unit tests pass.
        On an AST2600 platform with OpenSSL 3.6.3, as well as 4.0.2,
        the cert generation works like before, and mTLS authentication
        as described in [2] how to set it up works too. Adding the
        certificate to the trusted store works like before.

References:

[0] https://github.com/openssl/openssl/blob/5ce57ab932b70e030249190a4b5a02232c080eea/CHANGES.md?plain=1#L1523
[1] https://github.com/openssl/openssl/commit/b0f2107b44049805b39434d104c8bb0daf8ae079
[2] https://github.com/openbmc/docs/blob/93b1e07c59cd8bc11e7afaaba4172b21a0a5b552/security/TLS-configuration.md

Change-Id: Iefe7d87ddda3dea1ca46929110dea06cff9079ad
Signed-off-by: Tan Siewert &lt;tan.siewert@9elements.com&gt;
</content>
</entry>
<entry>
<title>Redfish: Return correct EventDestination errors</title>
<updated>2026-10-07T05:20:40+00:00</updated>
<author>
<name>Joel Pullokaran Jesin</name>
<email>joelpj@ami.com</email>
</author>
<published>2026-08-20T07:17:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=0fd6be6dc9b179a01b409e0f99affa223012ec86'/>
<id>urn:sha1:0fd6be6dc9b179a01b409e0f99affa223012ec86</id>
<content type='text'>
Return a Redfish ResourceNotFound message when an EventDestination
subscription cannot be found.

Use EventDestination as the resource type in both the regular
subscription lookup and the SNMP trap client lookup. This makes the
error payload accurately describe the Redfish resource requested.

GET /redfish/v1/EventService/Subscriptions/{SubscriptionId}/ now
returns HTTP 404 with `Base.1.19.ResourceNotFound` and message
arguments containing `EventDestination` and the requested ID.

Tested:
GET /redfish/v1/EventService/Subscriptions/{SubscriptionId}/ with a
missing subscription ID returns HTTP 404 and
`Base.1.19.ResourceNotFound`.

DELETE /redfish/v1/EventService/Subscriptions/{SubscriptionId}/ now
contains `EventDestination`.

Redfish Service Validator passed.

Change-Id: I17f19fef887b4cea736257a9bc1e1d7424eb24f3
Signed-off-by: Joel Pullokaran Jesin &lt;joelpj@ami.com&gt;
</content>
</entry>
<entry>
<title>sensor: add ReadingTime to sensor responses</title>
<updated>2026-10-07T04:51:22+00:00</updated>
<author>
<name>Ender Hsieh</name>
<email>andhsieh@nvidia.com</email>
</author>
<published>2026-08-17T15:48:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=778d1eaa71eed629f1cec73f3790be127939b564'/>
<id>urn:sha1:778d1eaa71eed629f1cec73f3790be127939b564</id>
<content type='text'>
Add ReadingTime so a client can tell how old a reading is instead of
assuming it is current, which is what a consumer closing a control loop
on power and thermal readings needs in order to notice a device that has
stopped responding.

The value comes from the UpdatedTime property defined in:
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/84171
A service that has not obtained a reading leaves the property zero,
which is skipped rather than published as a bogus date.

ReadingTime is already in the installed Sensor schema and is not part of
any sensor excerpt, so only Redfish.md needed updating.

Tested:

```
curl -k -H "X-Auth-Token: $token" \
  https://&lt;bmc_ip&gt;/redfish/v1/Chassis/Nvidia_*/Sensors/temperature_GPU_*_TEMP_0

  {
    "@odata.id": "/redfish/v1/Chassis/Nvidia_*/Sensors/temperature_...",
    "@odata.type": "#Sensor.v1_11_1.Sensor",
    "Id": "temperature_...",
    "Name": "",
    "PhysicalContext": "Accelerator",
    "Reading": 26.19921875,
    "ReadingRangeMax": 127.0,
    "ReadingRangeMin": -128.0,
    "ReadingTime": "2026-08-17T15:54:30.392391+00:00",
    "ReadingType": "Temperature",
    "ReadingUnits": "Cel",
    "Status": { "Health": "OK", "State": "Enabled" }
  }

Redfish Service Validator:
Summary - PASS: 9453, WARN: 361, FAIL: 0, NOT TESTED: 12407
Validating /redfish/v1/Chassis/Nvidia_*/Sensors/temperature_...
  - Pass: 14, Warn: 0, Fail: 0, Skip: 54
```
1. ReadingTime carried the time the reading was acquired from the
   sensor, matching the clock to microsecond precision
2. All 58 sensor resources validated with no new failures
3. A service that does not publish UpdatedTime omits ReadingTime rather
   than reporting the Epoch

Change-Id: Ib97dff91b19a7da4b3b99384dc9940333a92c3e1
Signed-off-by: Ender Hsieh &lt;andhsieh@nvidia.com&gt;
</content>
</entry>
<entry>
<title>account-service: return proper error on deletion</title>
<updated>2026-10-06T21:22:45+00:00</updated>
<author>
<name>Tan Siewert</name>
<email>tan.siewert@9elements.com</email>
</author>
<published>2026-04-22T20:12:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=29621137d8ca08bf49e57c0a544c2263979b7e62'/>
<id>urn:sha1:29621137d8ca08bf49e57c0a544c2263979b7e62</id>
<content type='text'>
phosphor-user-manager may return an error on deletion if userdel fails
for arbitrary reasons (e.g. the user is still logged in and running
processes). Previously, any D-Bus error was unconditionally mapped to
404 Not Found, which was misleading for users that existed but could
not be removed.

Inspect the D-Bus error name and return the most appropriate Redfish
response:
- ResourceNotFound for unknown objects
- ResourceCannotBeDeleted for NotAllowed (e.g. removing the root user)
- InternalError for anything else.

Tested: Verified correct error responses when deleting a non-existent
        user, when attempting to delete root (prohibited by
        phosphor-user-manager), and on unknown errors. Ran all
        openbmc-test-automation AccountService tests with no unexpected
        regressions or, more precisely, it fixed non-included tests
        like the root user deletion test.

Change-Id: I559a4081d992b424319ae243c176baae91b1c322
Signed-off-by: Tan Siewert &lt;tan.siewert@9elements.com&gt;
</content>
</entry>
<entry>
<title>Test translateMemoryTypeToRedfish conversions</title>
<updated>2026-10-06T16:43:17+00:00</updated>
<author>
<name>Vinothkumar Shanmugavel</name>
<email>vinothkumars@ami.com</email>
</author>
<published>2026-10-01T13:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=28bfd9c61c912e369091cc12af4d156168c5730e'/>
<id>urn:sha1:28bfd9c61c912e369091cc12af4d156168c5730e</id>
<content type='text'>
Add test/redfish-core/lib/memory_test.cpp and register it in
test/meson.build. Cover translation of supported D-Bus DIMM device types
to MemoryDeviceType enum values.

Verify each supported device type maps to its corresponding Redfish
enum. Also verify unknown D-Bus values return MemoryDeviceType::Invalid.

Tested:
- meson test -C builddir memory_test --print-errorlogs
- memory_test passed

Change-Id: Iff4f05a3005e9f202e3c9c27c1b308b6490c3afa
Signed-off-by: Vinothkumar Shanmugavel &lt;vinothkumars@ami.com&gt;
</content>
</entry>
</feed>
