History log of /openbmc/bmcweb/http/ (Results 1 – 25 of 506)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
e777eff230-Dec-2025 Joey Berkovitz <jberkovitz@coreweave.com>

Enable TCP keepalives for HTTP connections

This fix enables TCP keepalives at the OS layer. It also enables a 15
minute deadline timer at the bmcweb level when waiting on an idle HTTP
keepalive conn

Enable TCP keepalives for HTTP connections

This fix enables TCP keepalives at the OS layer. It also enables a 15
minute deadline timer at the bmcweb level when waiting on an idle HTTP
keepalive connection.

Tested: romulus image running bmcweb, start connections with keepalive,
block incoming connections `iptables -P INPUT DROP`, validate that
sockets eventually die and are tracked with keepalives `ss -nto`

Change-Id: I8f5040440348c060dae1d0516ec202a0e4dc349e
Signed-off-by: Joey Berkovitz <joey@berkovitz.us>

show more ...


/openbmc/bmcweb/.clang-tidy
/openbmc/bmcweb/README.md
/openbmc/bmcweb/config/bmcweb.service.in
/openbmc/bmcweb/config/bmcweb.socket.in
/openbmc/bmcweb/config/meson.build
/openbmc/bmcweb/docs/Redfish.md
http_connection.hpp
/openbmc/bmcweb/include/boost_formatters.hpp
/openbmc/bmcweb/include/dbus_utility.hpp
/openbmc/bmcweb/include/duplicatable_file_handle.hpp
/openbmc/bmcweb/include/webassets.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/event_matches_filter.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/registries.hpp
/openbmc/bmcweb/redfish-core/include/utils/eventlog_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/fan_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/log_services_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/manager_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/redfish_aggregator_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/systems_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/assembly.hpp
/openbmc/bmcweb/redfish-core/lib/bios.hpp
/openbmc/bmcweb/redfish-core/lib/chassis.hpp
/openbmc/bmcweb/redfish-core/lib/fan.hpp
/openbmc/bmcweb/redfish-core/lib/led.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_dbus_eventlog.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_journal_eventlog.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/openbmc/openbmc_managers.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/processor.hpp
/openbmc/bmcweb/redfish-core/lib/storage.hpp
/openbmc/bmcweb/redfish-core/lib/storage_chassis.hpp
/openbmc/bmcweb/redfish-core/lib/storage_controller.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_dbus_eventlog.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_hostlogger.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_journal_eventlog.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_postcodes.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/trigger.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/src/event_log.cpp
/openbmc/bmcweb/redfish-core/src/filter_expr_executor.cpp
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/redfish-core/src/registries.cpp
/openbmc/bmcweb/redfish-core/src/subscription.cpp
/openbmc/bmcweb/src/webserver_cli.cpp
/openbmc/bmcweb/subprojects/boost.wrap
/openbmc/bmcweb/test/http/http2_connection_test.cpp
/openbmc/bmcweb/test/http/http_body_test.cpp
/openbmc/bmcweb/test/http/http_response_test.cpp
/openbmc/bmcweb/test/include/ssl_key_handler_test.cpp
/openbmc/bmcweb/test/redfish-core/include/event_log_test.cpp
/openbmc/bmcweb/test/redfish-core/include/registries_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/systems_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/metadata_test.cpp
0ddb8edf15-Jul-2024 Ed Tanous <etanous@nvidia.com>

Use std::format for hex conversions

Deprecate intoToHex handler now that we can do everything using
std::format.

Tested: RSV passes
Redfish protocol validator passes

Change-Id: I71000506573314d6c9

Use std::format for hex conversions

Deprecate intoToHex handler now that we can do everything using
std::format.

Tested: RSV passes
Redfish protocol validator passes

Change-Id: I71000506573314d6c9326c4677f5fbca1ca02b46
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

8328b06913-Nov-2025 Amy Chang <yahanc@nvidia.com>

Don't log EOF as error in HTTP/2

EOF occurs when HTTP/2 clients close connection after completing
requests (e.g., curl). This is normal for multiplexed connections. EOF
indicates graceful shutdown,

Don't log EOF as error in HTTP/2

EOF occurs when HTTP/2 clients close connection after completing
requests (e.g., curl). This is normal for multiplexed connections. EOF
indicates graceful shutdown, not an error condition.

Change-Id: I3291b23c7784a2273f2de05afc71ddb57dd0c28a
Signed-off-by: Amy Chang <yahanc@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

b9bd70e404-Nov-2025 Myung Bae <myungbae@us.ibm.com>

Fix websocket error log handling

The commit b0ae71c[1] mishandles the error handling branches which
cause `operation_aborted` to be reported as an error.

```
else if (ec != <error-cases

Fix websocket error log handling

The commit b0ae71c[1] mishandles the error handling branches which
cause `operation_aborted` to be reported as an error.

```
else if (ec != <error-cases>)
{
BMCWEB_LOG_ERROR("doRead error {}", ec);
}
else if (ec == boost::asio::error::operation_aborted)
{
BMCWEB_LOG_WARNING("doRead operation is aborted: {}", ec);
}
```

This needs to handle `operation_aborted` first.

Tested:
- Unit test passes

[1] https://github.com/openbmc/bmcweb/commit/b0ae71c8f503b9e56a5bf88549346b15e7961e26

Change-Id: Ie4b0eafabcf41adf661ab3abc1fe1282c13d1d82
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

b0ae71c831-Oct-2025 Myung Bae <myungbae@us.ibm.com>

Suppress websocket aborted error log

When websocket is aborted under some situations like GUI console is
aborted earlier before websocket write is still waiting for completion,
it is currently logge

Suppress websocket aborted error log

When websocket is aborted under some situations like GUI console is
aborted earlier before websocket write is still waiting for completion,
it is currently logged as ERROR. However, it may not need to be an
error. This commit will change it as WARNING.

For example,

```
Oct 31 10:40:29 balco10 bmcwebd[1230]: [websocket_impl.hpp:305] Error in ws.async_write Operation canceled [system:125 at /usr/include/boost/beast/websocket/impl/stream_impl.hpp:355:13 in function 'bool boost::beast::websocket::stream< <template-parameter-1-1>, <anonymous> >::impl_type::check_stop_now(boost::beast::error_code&)']
```

Tested:
- While GUI page is loading pages (e.g. pcie topology), close
web-browser and check the bmcweb journal records.

Change-Id: I4b16c21d2784ec0b9774ab256f833bb38fc34a27
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

c9ca32ce01-Nov-2025 Myung Bae <myungbae@us.ibm.com>

Break out lambdas in websocket

Move out the large lambdas into normal methods to maintain more easily.

Tested:
- Unit tests pass

Change-Id: I9450af36d45b2b17e8a063f383d91026db581d27
Signed-off-by:

Break out lambdas in websocket

Move out the large lambdas into normal methods to maintain more easily.

Tested:
- Unit tests pass

Change-Id: I9450af36d45b2b17e8a063f383d91026db581d27
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...


/openbmc/bmcweb/.clang-tidy
/openbmc/bmcweb/DEVELOPING.md
/openbmc/bmcweb/config/bmcweb.service.in
/openbmc/bmcweb/config/meson.build
/openbmc/bmcweb/docs/Redfish.md
websocket_impl.hpp
/openbmc/bmcweb/include/persistent_data.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/aggregation_utils.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/certificate.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/certificate_enrollment.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/chassis.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/computer_system.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/coolant_connector.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/cooling_loop.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/cooling_unit.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/cxl_logical_device.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/leak_detector.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/memory.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/port.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/power_distribution.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/processor.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/storage.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/lib/aggregation_service.hpp
/openbmc/bmcweb/redfish-core/lib/environment_metrics.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ActionInfo_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Assembly_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AttributeRegistry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/BatteryMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Battery_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CXLLogicalDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateEnrollmentCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateEnrollment_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Certificate_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Chassis_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ComponentIntegrity_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolantConnector_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolingLoop_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolingUnit_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/DriveMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Event_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Fan_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LeakDetector_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LogEntry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LogService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Manager_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MemoryMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Memory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MessageRegistry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/NetworkAdapter_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PCIeDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PortMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Port_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PowerDistribution_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PrivilegeRegistry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ProcessorMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Processor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Redundancy_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Resource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Sensor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/SoftwareInventoryCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/SoftwareInventory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/StorageControllerMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/StorageController_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Storage_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/SwitchMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/TelemetryService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ThermalSubsystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/UpdateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VolumeCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ActionInfo.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Assembly.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AttributeRegistry.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CertificateService.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Chassis.v1_28_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComponentIntegrity.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystem.v1_26_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Event.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Fan.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntry.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogService.v1_8_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Manager.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Memory.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MessageRegistry.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDevice.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Port.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Processor.v1_21_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Redundancy.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Resource.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Sensor.v1_11_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SoftwareInventory.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Storage.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/StorageController.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TelemetryService.v1_4_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ThermalSubsystem.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/UpdateService.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-payload-annotations.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ActionInfo.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Assembly.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AttributeRegistry.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Battery.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/BatteryMetrics.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CXLLogicalDevice.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Certificate.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateEnrollment.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateEnrollmentCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateService.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Chassis.v1_28_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComponentIntegrity.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComputerSystem.v1_26_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolantConnector.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolingLoop.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolingUnit.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/DriveMetrics.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Event.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Fan.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LeakDetector.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LogEntry.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LogService.v1_8_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Manager.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Memory.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MemoryMetrics.v1_8_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MessageRegistry.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/NetworkAdapter.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PCIeDevice.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Port.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PortMetrics.v1_8_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PowerDistribution.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PrivilegeRegistry.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Processor.v1_21_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ProcessorMetrics.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Redundancy.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Resource.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Sensor.v1_11_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SoftwareInventory.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SoftwareInventoryCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Storage.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/StorageController.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/StorageControllerMetrics.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SwitchMetrics.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TelemetryService.v1_4_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ThermalSubsystem.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/UpdateService.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Volume.v1_10_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VolumeCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/redfish-payload-annotations-v1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/redfish-payload-annotations.v1_3_0.json
/openbmc/bmcweb/redfish-core/src/error_messages.cpp
/openbmc/bmcweb/redfish-core/src/heartbeat_messages.cpp
/openbmc/bmcweb/redfish-core/src/resource_messages.cpp
/openbmc/bmcweb/redfish-core/src/subscription.cpp
/openbmc/bmcweb/redfish-core/src/task_messages.cpp
/openbmc/bmcweb/redfish-core/src/update_messages.cpp
/openbmc/bmcweb/scripts/parse_registries.py
/openbmc/bmcweb/scripts/update_schemas.py
/openbmc/bmcweb/src/dbus_utility.cpp
/openbmc/bmcweb/src/ssl_key_handler.cpp
/openbmc/bmcweb/test/http/http_response_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/systems_utils_test.cpp
fa4d4c6923-Sep-2025 Ed Tanous <etanous@nvidia.com>

Bypass resolver

If we are given an ip address to the http client, there's no reason to
call the dns resolver. Implement a procedure to "skip" resolution if
the http client is an ip address.

Tested

Bypass resolver

If we are given an ip address to the http client, there's no reason to
call the dns resolver. Implement a procedure to "skip" resolution if
the http client is an ip address.

Tested:
Using an ipv4 address from a system not running OpenBMC dbus (in this
case an Ubuntu system) now can resolve an IP address. Redfish works
with later patches.

Change-Id: I094ec7b3015e1e31cb83f0e1c25f6c1fb6685219
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

2682a0e717-Sep-2025 Kamran Hasan <khasan@nvidia.com>

Aggregation: Add basic authentication support

Add support for basic authentication when connecting to aggregation
sources. This allows satellite BMCs to be authenticated using
username and password

Aggregation: Add basic authentication support

Add support for basic authentication when connecting to aggregation
sources. This allows satellite BMCs to be authenticated using
username and password credentials.

The implementation:
- Stores credentials alongside URLs in AggregationSource struct
- Validates credentials: no colons, max 40 chars, not empty strings
- Creates Basic Auth headers using base64 encoding
- Only sends Authorization header when both username and password exist
- Adds PATCH handler for updating credentials independently
- Prevents duplicate aggregation sources with same hostname
- Cleans up credentials when aggregation sources are deleted

Tested: Manual testing with authenticated aggregation sources

Change-Id: Ide17a3c08a4a8f6b90a2ffcd2c798cbbec578db8
Signed-off-by: Kamran Hasan <khasan@nvidia.com>

show more ...

e5dd499917-Feb-2025 Ed Tanous <etanous@nvidia.com>

Remove getNthStringFromPath function

This utility function is being removed for several reasons. First, it
does not verify the full string on URIs and paths, so things like
/foo/bar/baz/valid_id wo

Remove getNthStringFromPath function

This utility function is being removed for several reasons. First, it
does not verify the full string on URIs and paths, so things like
/foo/bar/baz/valid_id would still pass this check.

Second, it is used for both URIs and dbus paths, both of which we have
better utility functions these days respectively, boost::url for urls
and sdbusplus::message::object_path for dbus paths. Neither of the two
is escaped properly when this function is used.

Therefore, remove it and replace it with the appropriate alternatives.

The existing URI functions were found to not accept fragments (given
they are rarely used in PATCH). Add support for fragments to cover the
getNthStringFromPath use cases.

Tested: Redfish service validator passes.

Change-Id: Ibc6755ad69397123d7fef0e0b764042bbb48888b
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

a9da2b2b02-Oct-2025 Myung Bae <myungbae@us.ibm.com>

Fix the corrupted Trie routing tree

The routing table may potentially become corrupted during the routing
table construction as the vector element pointer becomes invalid if the
vector is resized [1

Fix the corrupted Trie routing tree

The routing table may potentially become corrupted during the routing
table construction as the vector element pointer becomes invalid if the
vector is resized [1].

http/routing/trie.hpp#L241:
```
ContainedType& node = nodes[idx];
size_t* param = &node.stringParamChild;
if (str1 == "<path>")
{
param = &node.pathParamChild;
}
if (*param == 0U)
{
L249:
*param = newNode(); // <---
}
idx = *param;
```

Here, `newNodes()` at L249 may resize the vector of `nodes[]` and thus
the reference of `nodes[idx]` becomes invalid and thus the previously
saved the pointer of `param` is invalid.

The similar issue is also at sub_route_trie construction [5].

This problem may be shown during CI/valgrind test depending on the order
of route setups in [2].

For example, for the commit 39574 [3], if `requestsRoutesAssembly()` is
added earlier than `requestRoutesProcessorCollection()`, it causes
CI/valgrind test fails [3].

The error looks like [4].

[1] https://github.com/openbmc/bmcweb/blob/master/http/routing/trie.hpp#L241
[2] https://github.com/openbmc/bmcweb/blob/master/redfish-core/src/redfish.cpp
[3] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/39574
[4] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/39574/comment/15e652e0_f8881ffc/
[5] https://github.com/openbmc/bmcweb/blob/master/redfish-core/include/sub_route_trie.hpp#L160

Tested:
- CI with https://gerrit.openbmc.org/c/openbmc/bmcweb/+/39574 passes
after rebase of having earlier `requestsRoutesAssembly()`.
- Redfish Service Validator passes

Change-Id: I349777dfab65f2d41eb5db25796d82322b3c36cc
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

d07a5ee325-Sep-2025 Ed Tanous <etanous@nvidia.com>

Tune http2 window and frame sizes

http2 maintains its own frame ACK window per stream. While the defaults
work well in most cases, for large binary uploads, like Redfish
UpdateService, the relative

Tune http2 window and frame sizes

http2 maintains its own frame ACK window per stream. While the defaults
work well in most cases, for large binary uploads, like Redfish
UpdateService, the relatively small default window size of 16KB leads to
slower performance than http1. While it's not expected to see a
performance improvement, we would prefer to not see a regression for a
normal use case.

Update the HTTP2 max frame size to 16KB. Setting the internal buffer to
the same size + the http2 header allows clocking in the entire frame in
one async read. Note, setting the value higher than 16KB doesn't appear
to allow curl to send larger frames.

Also update the HTTP window size to 512KB, or 32 times the max frame
size. Note, all streams including the control stream are set to this
value, which, while somewhat arbitrary, allows for continued
UpdateService pushing without pauses for window ACK.

Tested:
POST /redfish/v1/UpdateService/update-multipart
Of an arbitrary 100MB file through curl shows that --http1.1 option and
--http2 option are within 5% of the same upload time.

Change-Id: I7ff6296a9cc0794aad63f5058620c0f1fb9299e3
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

dd859f9023-Sep-2025 Ed Tanous <etanous@nvidia.com>

Filter http2 headers

When using aggregation with http2, :authority headers were getting
forwarded to the client, which didn't know how to deal with them on
http1.

Filter all http2 headers.

Tested:

Filter http2 headers

When using aggregation with http2, :authority headers were getting
forwarded to the client, which didn't know how to deal with them on
http1.

Filter all http2 headers.

Tested: Unit tests pass.

Change-Id: I6a834656b604004eeba1a2aa2f245ef211f28495
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

08fad5d931-Jul-2025 Corey Ethington <cethington@coreweave.com>

Add check to omit `DateTime` from etag calculation

Ignores any json property named `DateTime` when calculating
the etag value of an HTTP response as per the updated
Redfish Spec (section 6.5: ETags)

Add check to omit `DateTime` from etag calculation

Ignores any json property named `DateTime` when calculating
the etag value of an HTTP response as per the updated
Redfish Spec (section 6.5: ETags)

Tested:
- Redfish Service Validator passes
- Tested on romulus:
1. GET resource with a "DateTime" field
```
curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \
--etag-save ./etag.txt -v
...
< etag: "6A4CE897"
...
{
"@odata.id": "/redfish/v1/TaskService",
"@odata.type": "#TaskService.v1_1_4.TaskService",
"CompletedTaskOverWritePolicy": "Oldest",
"DateTime": "2025-07-23T17:08:20+00:00",
"Id": "TaskService",
"LifeCycleEventOnTaskStateChange": true,
"Name": "Task Service",
"ServiceEnabled": true,
"Status": {
"State": "Enabled"
},
"Tasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks"
}
```

2. GET same resource again later, etag is same as before
```
curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \
--etag-save ./etag.txt -v
...
< etag: "6A4CE897"
...
{
"@odata.id": "/redfish/v1/TaskService",
"@odata.type": "#TaskService.v1_1_4.TaskService",
"CompletedTaskOverWritePolicy": "Oldest",
"DateTime": "2025-07-23T17:10:48+00:00",
"Id": "TaskService",
"LifeCycleEventOnTaskStateChange": true,
"Name": "Task Service",
"ServiceEnabled": true,
"Status": {
"State": "Enabled"
},
"Tasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks"
}
```
"DateTime" is the only value to have changed, but since
it is ignored the etag did not change

3. GET with if-none-match returns 304
```
curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \
--etag-save ./etag.txt --etag-compare ./etag.txt -v
...
> if-none-match: "6A4CE897"
...
< HTTP/2 304
< allow: GET
< odata-version: 4.0
< strict-transport-security: max-age=31536000; includeSubdomains
< pragma: no-cache
< cache-control: no-store, max-age=0
< x-content-type-options: nosniff
< etag: "6A4CE897"
< date: Wed, 23 Jul 2025 17:14:39 GMT
< content-length: 0
<
...
```

Change-Id: I51f7668e75719c69c55535e4a1e48c8bae7c9488
Signed-off-by: Corey Ethington <cethington@coreweave.com>

show more ...


/openbmc/bmcweb/config/meson.build
/openbmc/bmcweb/docs/Redfish.md
complete_response_fields.hpp
http2_connection.hpp
http_connection.hpp
http_response.hpp
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/query.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/subscription.hpp
/openbmc/bmcweb/redfish-core/include/telemetry_readings.hpp
/openbmc/bmcweb/redfish-core/include/utils/etag_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/log_services_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/aggregation_service.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/fabric_adapters.hpp
/openbmc/bmcweb/redfish-core/lib/fabric_ports.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_journal.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/metric_report.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_sessions.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_journal_eventlog.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_postcodes.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/src/dbus_log_watcher.cpp
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/redfish-core/src/subscription.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
3577e44619-Aug-2025 Ed Tanous <ed@tanous.net>

Fix includes

Our includes haven't been enforced by tidy in a while. Run the script,
check in the result, minus the false positives.

Change-Id: I6a6da26f5ba5082d9b4aa17cdc9f55ebd8cd41a6
Signed-off-

Fix includes

Our includes haven't been enforced by tidy in a while. Run the script,
check in the result, minus the false positives.

Change-Id: I6a6da26f5ba5082d9b4aa17cdc9f55ebd8cd41a6
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

05c2735509-Oct-2024 Ed Tanous <etanous@nvidia.com>

Remove namespace in http layer

Within this namespace, we don't need to call crow, we are already in the
crow namespace.

Tested: Code compiles.

Change-Id: Ida57624ef1157f98f2719b5c3af536aebaca601e

Remove namespace in http layer

Within this namespace, we don't need to call crow, we are already in the
crow namespace.

Tested: Code compiles.

Change-Id: Ida57624ef1157f98f2719b5c3af536aebaca601e
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

5070c7ec29-Jul-2025 Abiola Asojo <abiola.asojo@ibm.com>

Fix 204/304 incorrectly tracing CRITICAL message

Resolve tracing of CRITICAL message on 1xx, 204(no-content) and 304(not
modified) when there is no body in the response.

The code is changed to chec

Fix 204/304 incorrectly tracing CRITICAL message

Resolve tracing of CRITICAL message on 1xx, 204(no-content) and 304(not
modified) when there is no body in the response.

The code is changed to check that 1xx, 204 and 304 response with
payloadsize of 0 will not trace the CRITICAL message.
Removed setting of no_content on PATCH that was being done before other
functions are called.

Tested: Used the following commands to check that the CRITICAL message
is no longer being traced for no-content and not modified response with
no body.

204 no-content
```
curl -k -H "Content-Type: application/json" \
-d '{"PowerRestorePolicy":"LastState"}' \
-X PATCH https://${bmc_ip}/redfish/v1/Systems/system
```

```
curl -k -H "Content-Type: application/json" \
-H "X-Auth-Token: $bmc_token" -X PATCH \
-d '{"LocationIndicatorActive":true}' \
https://${bmc_ip}/redfish/v1/Managers/bmc
```

304 not modified
```
curl -k -i https://${bmc_ip}/redfish/ --etag-save etag.out \
-H 'If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT'

HTTP/1.1 200 OK
Allow: GET
.
.
.
ETag: "B3A9EAA1"
Content-Type: application/json
Date: Thu, 14 Aug 2025 22:07:27 GMT
Content-Length: 26

ETAG=`cat etag.out`; echo $ETAG

curl -k -i https://${bmc_ip}/redfish/ -H "If-None-Match: ${ETAG}"

HTTP/1.1 304 Not Modified
Allow: GET
.
.
.
ETag: "B3A9EAA1"
Date: Thu, 14 Aug 2025 22:16:27 GMT
Content-Length: 0
```

Change-Id: I98cc096c1f7e506687d4a6bf5a2e51b2231c0d68
Signed-off-by: Abiola Asojo <abiola.asojo@ibm.com>

show more ...

2e3cdf8701-Aug-2025 Ed Tanous <ed@tanous.net>

Enable Mutual TLS for http2 connections

Passing the TLS-provided credentials from the HTTP connection to the
http2 connection got missed, and appears to break mutual TLS for http2
connections. Pass

Enable Mutual TLS for http2 connections

Passing the TLS-provided credentials from the HTTP connection to the
http2 connection got missed, and appears to break mutual TLS for http2
connections. Pass the credentials.

Tested: Mutual TLS is now functional on http2 connections as shown in
the next patch.

Change-Id: Ia2bbcd5383dae859baa96908b76f221b9c74632c
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

d23d634518-Jun-2025 Abiola Asojo <abiola.asojo@ibm.com>

Trace URI when body on 204/304

Trace URI on the existing CRITICAL message when a body exists but HTTP
return code was Informational responses (100 – 199), no-content (204),
or not_modified (304).

T

Trace URI when body on 204/304

Trace URI on the existing CRITICAL message when a body exists but HTTP
return code was Informational responses (100 – 199), no-content (204),
or not_modified (304).

Tested: With these changes, the URI is traced on the CRITICAL message:

```
curl --http2 -k -H "Content-Type: application/json" \
-d '{"PowerRestorePolicy":"LastState"}' \
-X PATCH https://${bmc}/redfish/v1/Systems/system

root@p10bmc:~# journalctl | grep Response
Jun 20 15:30:46 p10bmc bmcwebd[296]: [http_response.hpp:213]
0x1353670 Response content provided but code was no-content
or not_modified, which aren't allowed to
have a body for url : "/redfish/v1/Systems/system"
```

Change-Id: I1ef618600642d355fc9f935d055b011e044caf5c
Signed-off-by: Abiola Asojo <abiola.asojo@ibm.com>

show more ...

b253906912-Mar-2024 Ed Tanous <etanous@nvidia.com>

Implement zstd decompression

Given the size of Redfish schemas these days, it would be nice to be
able to store them on disk in a zstd format. Unfortunately, not all
clients support zstd at this ti

Implement zstd decompression

Given the size of Redfish schemas these days, it would be nice to be
able to store them on disk in a zstd format. Unfortunately, not all
clients support zstd at this time.

This commit implements reading of zstd files from disk, as well as
decompressing zstd in the case where the client does not support zstd as
a return type.

Tested:
Implanted an artificial zstd file into the system, and observed correct
decompression both with an allow-encoding header of empty string and
zstd.

Change-Id: I8b631bb943de99002fdd6745340aec010ee591ff
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

39fe3af217-Feb-2025 Ed Tanous <etanous@nvidia.com>

Move http2 out of experimental

Http2 support in bmcweb has been relatively stable for a while. The
http2 implementation passes all known Redfish tests (some of which
require ported to httpx to supp

Move http2 out of experimental

Http2 support in bmcweb has been relatively stable for a while. The
http2 implementation passes all known Redfish tests (some of which
require ported to httpx to support http2), the UI loads, and so far as
the project is concerned, is a complete improvement over the existing
http1 stack.

This commit removes the experimental classification from http2, and
declares it ready for production use, while enabling it by default.
note, that enabling this by default only makes the server advertise that
http2 is available. Http2 must still be supported by the client to
enable ALPN negotiation, so existing http1 clients that only support
http1 will continue to function as they did before.

Tested: Enabled http option and saw http2 advertised, http2 now takes
effect.

Change-Id: I92843a3afc532f0b2a64904bb872e5d84a1a54fe
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...


/openbmc/bmcweb/DEVELOPING.md
/openbmc/bmcweb/README.md
/openbmc/bmcweb/config/meson.build
/openbmc/bmcweb/docs/AGGREGATION.md
/openbmc/bmcweb/docs/CLIENTS.md
/openbmc/bmcweb/docs/COMMON_ERRORS.md
/openbmc/bmcweb/docs/DBUS_USAGE.md
/openbmc/bmcweb/docs/HEADERS.md
/openbmc/bmcweb/docs/OEM_SCHEMAS.md
/openbmc/bmcweb/docs/REDFISH_CHECKLIST.md
/openbmc/bmcweb/docs/Redfish.md
/openbmc/bmcweb/docs/TESTING.md
/openbmc/bmcweb/features/google/google_service_root.hpp
/openbmc/bmcweb/features/google/google_service_root_test.cpp
/openbmc/bmcweb/features/google/meson.build
/openbmc/bmcweb/features/ibm/configfile_test.cpp
/openbmc/bmcweb/features/ibm/ibm_management_console_rest.hpp
/openbmc/bmcweb/features/ibm/meson.build
/openbmc/bmcweb/features/ibm/utils.hpp
/openbmc/bmcweb/features/kvm/kvm_websocket.hpp
/openbmc/bmcweb/features/kvm/meson.build
/openbmc/bmcweb/features/meson.build
/openbmc/bmcweb/features/openbmc_rest/dbus_monitor.hpp
/openbmc/bmcweb/features/openbmc_rest/image_upload.hpp
/openbmc/bmcweb/features/openbmc_rest/meson.build
/openbmc/bmcweb/features/openbmc_rest/openbmc_dbus_rest.hpp
/openbmc/bmcweb/features/openbmc_rest/openbmc_dbus_rest_test.cpp
/openbmc/bmcweb/features/redfish
/openbmc/bmcweb/features/serial/meson.build
/openbmc/bmcweb/features/serial/obmc_console.hpp
/openbmc/bmcweb/features/virtual_media/meson.build
/openbmc/bmcweb/features/virtual_media/vm_websocket.hpp
/openbmc/bmcweb/features/webui_login/login_routes.hpp
/openbmc/bmcweb/features/webui_login/meson.build
http_connection.hpp
/openbmc/bmcweb/include/persistent_data.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/snmp_trap_event_clients.hpp
/openbmc/bmcweb/redfish-core/include/utils/manager_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/fabric_adapters.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/openbmc/openbmc_managers.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_v1.hpp
/openbmc/bmcweb/redfish-core/lib/service_root.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/AccountService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ActionInfo_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/AggregationService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/AggregationSourceCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/AggregationSource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Assembly_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/AttributeRegistry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Bios_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/CableCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Cable_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/CertificateCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/CertificateLocations_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/CertificateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Certificate_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ChassisCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Chassis_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ComponentIntegrityCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ComponentIntegrity_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ComputerSystemCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/DriveCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Drive_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EnvironmentMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EthernetInterfaceCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EthernetInterface_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EventDestinationCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EventDestination_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/EventService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Event_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/FabricAdapterCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/FabricAdapter_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/FanCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Fan_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/IPAddresses_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/JsonSchemaFileCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/JsonSchemaFile_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/LogEntryCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/LogEntry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/LogServiceCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/LogService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ManagerAccountCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ManagerAccount_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ManagerCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ManagerDiagnosticData_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ManagerNetworkProtocol_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Manager_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MemoryCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Memory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MessageRegistryCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MessageRegistryFileCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MessageRegistryFile_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MessageRegistry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Message_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricDefinitionCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricDefinition_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricReportCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricReportDefinitionCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricReportDefinition_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/MetricReport_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/OperatingConfigCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/OperatingConfig_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PCIeDeviceCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PCIeDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PCIeFunctionCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PCIeFunction_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PCIeSlots_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PhysicalContext_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PortCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Port_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PowerSubsystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PowerSupplyCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/PowerSupply_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Power_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Privileges_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ProcessorCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Processor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Protocol_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/RedfishError_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/RedfishExtensions_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Redundancy_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Resource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/RoleCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Role_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/SensorCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Sensor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ServiceRoot_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/SessionCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/SessionService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Session_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Settings_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/SoftwareInventoryCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/SoftwareInventory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/StorageCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/StorageControllerCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/StorageController_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Storage_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/TaskCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/TaskService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Task_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/TelemetryService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ThermalMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/ThermalSubsystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Thermal_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/TriggersCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/Triggers_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/UpdateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/VirtualMediaCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/VirtualMedia_v1.xml
/openbmc/bmcweb/redfish-core/src/utils/dbus_utils.cpp
/openbmc/bmcweb/scripts/update_schemas.py
/openbmc/bmcweb/src/ssl_key_handler.cpp
/openbmc/bmcweb/src/webserver_run.cpp
1a02c44914-Jun-2025 Myung Bae <myungbae@us.ibm.com>

Fix invalid dereference on logging

cppcheck found a case which dereferences an invalid iterator like

```
http/logging.hpp:74:12: warning: Either the condition 'it!=mapping.end()' is redundant or th

Fix invalid dereference on logging

cppcheck found a case which dereferences an invalid iterator like

```
http/logging.hpp:74:12: warning: Either the condition 'it!=mapping.end()' is redundant or there is possible dereference of an invalid iterator: it. [derefInvalidIteratorRedundantCheck]
return it->second;
http/logging.hpp:69:12: note: Assuming that condition 'it!=mapping.end()' is not redundant
if (it != mapping.end())
^
http/logging.hpp:74:12: note: Dereference of an invalid iterator
return it->second;
^
```

Tested:
- Tries a various bmcweb loglevel.

Change-Id: Ieca8c5c5ee83f0b45a82c3d7e4f19b09bf1422e6
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...


/openbmc/bmcweb/.markdownlint.yaml
/openbmc/bmcweb/DEVELOPING.md
/openbmc/bmcweb/Redfish.md
logging.hpp
/openbmc/bmcweb/include/http_utility.hpp
/openbmc/bmcweb/redfish-core/include/aggregation_utils.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/automation_node.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/battery.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/certificate.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/connection_method.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/control.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/cooling_unit.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/job.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/job_document.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/job_service.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/leak_detector.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/manager.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/manager_account.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/memory.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/protocol.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/resource.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/sensor.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/serial_interface.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/telemetry_data.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/virtual_pci2_pci_bridge.hpp
/openbmc/bmcweb/redfish-core/include/utils/sw_utils.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AggregationSource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Assembly_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AutomationInstrumentation_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AutomationNodeCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AutomationNode_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Battery_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CertificateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Certificate_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Chassis_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ConnectionMethod_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Control_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolantConnectorCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolantConnector_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolingUnitCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CoolingUnit_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/DriveMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Drive_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/EnvironmentMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Fabric_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/FilterCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Filter_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/GraphicsController_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/JobDocumentCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/JobDocument_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/JobExecutorCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/JobExecutor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/JobService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Job_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LeakDetection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LeakDetector_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LogEntry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ManagerAccount_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ManagerNetworkProtocol_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Manager_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Memory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MetricDefinition_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MetricReportDefinition_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/NetworkAdapter_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/NetworkDeviceFunction_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PCIeDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PortCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PortMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Port_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Protocol_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PumpCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Pump_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ReservoirCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Reservoir_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Resource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Sensor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/SerialInterface_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ServiceRoot_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/SoftwareInventory_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/StorageControllerMetrics_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/StorageController_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Storage_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Switch_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/TelemetryDataCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/TelemetryData_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/TelemetryService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ThermalEquipment_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ThermalSubsystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/TrustedComponent_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/USBController_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/UpdateServiceCapabilities_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/UpdateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VirtualCXLSwitchCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VirtualCXLSwitch_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VirtualPCI2PCIBridgeCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VirtualPCI2PCIBridge_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Volume_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationSource.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CertificateService.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Chassis.v1_27_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystem.v1_25_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EnvironmentMetrics.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntry.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Manager.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerAccount.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerNetworkProtocol.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Memory.v1_21_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricDefinition.v1_3_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReportDefinition.v1_4_7.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDevice.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Resource.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Sensor.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ServiceRoot.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SoftwareInventory.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Storage.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TelemetryService.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ThermalSubsystem.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/UpdateService.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AggregationSource.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AutomationInstrumentation.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AutomationNode.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AutomationNodeCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Battery.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Certificate.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CertificateService.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Chassis.v1_27_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComputerSystem.v1_25_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ConnectionMethod.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Control.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolantConnector.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolantConnectorCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolingUnit.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolingUnitCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/EnvironmentMetrics.v1_5_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Fabric.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Filter.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/FilterCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Job.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobDocument.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobDocumentCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobExecutor.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobExecutorCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobService.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LeakDetector.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LogEntry.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Manager.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ManagerAccount.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ManagerNetworkProtocol.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Memory.v1_21_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MetricDefinition.v1_3_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MetricReportDefinition.v1_4_7.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/NetworkAdapter.v1_12_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/NetworkDeviceFunction.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PCIeDevice.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PortCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Protocol.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PumpCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ReservoirCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Resource.v1_22_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Sensor.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SerialInterface.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ServiceRoot.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SoftwareInventory.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Storage.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Switch.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TelemetryData.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TelemetryDataCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TelemetryService.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ThermalEquipment.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ThermalSubsystem.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TrustedComponent.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/UpdateService.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/UpdateServiceCapabilities.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VirtualCXLSwitch.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VirtualCXLSwitchCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VirtualPCI2PCIBridge.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VirtualPCI2PCIBridgeCollection.json
/openbmc/bmcweb/scripts/update_schemas.py
d0fd3e5410-Jun-2025 Ed Tanous <ed@tanous.net>

Minor cleanups in http client

All integers in a callback should be taken by value, not reference.
Fix a typo on "Async"
Implement a TODO on libssl, where a macro was removed, so we can now
directly

Minor cleanups in http client

All integers in a callback should be taken by value, not reference.
Fix a typo on "Async"
Implement a TODO on libssl, where a macro was removed, so we can now
directly call the function

Tested: Unit tests pass.

Change-Id: Iaccd100a6b5f0dc871ec2d2cb1f01bed3ceefde2
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

ae51879c08-Jun-2025 Myung Bae <myungbae@us.ibm.com>

Show websocket timeout log as WARNING

When websocket is closed due to a timeout under some situations like GUI
console not as responsive, itis currently logged as ERROR.
This commit changes it as WA

Show websocket timeout log as WARNING

When websocket is closed due to a timeout under some situations like GUI
console not as responsive, itis currently logged as ERROR.
This commit changes it as WARNING.

```
May 02 10:09:31 ever28bmc pldmd[836]: BIOS attribute 'hb_cap_freq_mhz_min' updated to value '2000' by BMC 'false'
May 02 10:09:31 ever28bmc pldmd[836]: BIOS attribute 'hb_cap_freq_mhz_max' updated to value '3900' by BMC 'false'
May 02 10:09:31 ever28bmc bmcweb[1100]: [ERROR websocket.hpp:268] doRead error The socket was closed due to a timeout [boost.beast:1 at /usr/include/boost/beast/websocket/impl/stream_impl.hpp:346:13 in function 'bool boost::beast::websocket::stream< <template-parameter-1-1>, <anonymous> >::impl_type::check_stop_now(boost::beast::error_code&)']
May 02 10:09:34 ever28bmc pldmd[836]: BIOS attribute 'hb_max_number_huge_pages' updated to value '64' by BMC 'false'
```

Tested:
- Load GUI pages and kill web-browser multiple times while reading BMC
journal records.

Change-Id: I7e15845be7d3762ef144744ca1aedadf96e43a2f
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

62b06bcc06-May-2025 Ed Tanous <ed@tanous.net>

Do hard close if client disobeys protocol

There are cases bmcweb might close the connection due to a violation of
the protocol. Currently these are done gracefully, under the assumption
that a clie

Do hard close if client disobeys protocol

There are cases bmcweb might close the connection due to a violation of
the protocol. Currently these are done gracefully, under the assumption
that a client might attempt to recover. But this opens us up to
potentially leaving sockets open for far longer than we intend if the
client is completely gone, due to a disconnect or explicitly closing the
socket hard.

In cases where we get a protocol error, shutdown the socket hard, rather
than attempt to do things "correctly".

Tested:

I tested this MR using a script that simulated 5,000 parallel
connections simultaneously to BMC and closed them immediately without
properly sending a close_notify alert

Observations:

The BMC became unresponsive for 30-40 seconds before recovering.

After recovery, it took approximately 90 seconds to close all
connections in QEMU.
On real hardware, connection closure times may be slightly higher
(though still within expected parameters).

Conclusion:
This behavior aligns with expectations.

After 90 seconds observed that

1) No sockets in CLOSE_WAIT state

2) Able to make new connection.

```

curl -k -H "X-Auth-Token:$bmc_token" https://${IP}/redfish/v1/AccountService/Accounts
{
"@odata.id": "/redfish/v1/AccountService/Accounts",
"@odata.type": "#ManagerAccountCollection.ManagerAccountCollection",
"Description": "BMC User Accounts",
"Members": [
{
"@odata.id": "/redfish/v1/AccountService/Accounts/root"
}
],
"Members@odata.count": 1,
"Name": "Accounts Collection"
}

```
Change-Id: I6ab4347efd8fda9ae86bfbb8575666ad3eabe88c
Signed-off-by: Ed Tanous <etanous@nvidia.com>
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>

show more ...

352ee0e104-Jun-2025 Chandramohan Harkude <chandramohan.harkude@gmail.com>

Fix DOS attack scenario

Problem : When 201 connections made in parallel to BMC and closed them
immediately without properly sending a close_notify alert it was
observed that Bmcweb server was taking

Fix DOS attack scenario

Problem : When 201 connections made in parallel to BMC and closed them
immediately without properly sending a close_notify alert it was
observed that Bmcweb server was taking several minutes to close the
sockets. All the 200 TCP sockets were in CLOSE_WAIT state.

Journal log shows below line
[CRITICAL http_connection.hpp:213] 0x29d1ef0Max connection count
exceeded.

```
Not able to make new connection

$ curl -k -H "X-Auth-Token:$bmc_token" -X GET https://${BMC_IP}/redfish
/v1/AccountService/Accounts
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to
127.0.0.1:2443

Fix : The bmcweb server failed to identify the end of stream at TCP (SSL
/TLS) layer, therefore added check to identify the end of stream which
closes the connection and socket

Test :

I tested this MR using a script that simulated 5,000 parallel
connections simultaneously to BMC and closed them immediately without
properly sending a close_notify alert

Observations:

The BMC became unresponsive for 30-40 seconds before recovering.

After recovery, it took approximately 90 seconds to close all
connections in QEMU.
On real hardware, connection closure times may be slightly higher
(though still within expected parameters).

Conclusion:
This behavior aligns with expectations.

After 90 seconds observed that
1) No sockets in CLOSE_WAIT state

2) Able to make new connection.

curl -k -H "X-Auth-Token:$bmc_token" https://${IP}/redfish/v1/AccountService/Accounts
{
"@odata.id": "/redfish/v1/AccountService/Accounts",
"@odata.type": "#ManagerAccountCollection.ManagerAccountCollection",
"Description": "BMC User Accounts",
"Members": [
{
"@odata.id": "/redfish/v1/AccountService/Accounts/root"
}
],
"Members@odata.count": 1,
"Name": "Accounts Collection"
}
```

Change-Id: I1c277db0b774d33c656b4a2b1bd14f3575535bec
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>

show more ...

12345678910>>...21