History log of /openbmc/bmcweb/http/ (Results 1 – 25 of 446)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
463a0e3e14-Oct-2024 Ed Tanous <etanous@nvidia.com>

Explicitly set verify_none

As reported, there are cases where a valid certificate isn't present,
but a browser still prompts for an MTLS cert. Fix that by explicitly
setting verify_none if strict t

Explicitly set verify_none

As reported, there are cases where a valid certificate isn't present,
but a browser still prompts for an MTLS cert. Fix that by explicitly
setting verify_none if strict tls isn't enabled. Unclear what impacts
this will have elsewhere:

Tested (not yet done on this patch): with a self-signed certificate,
logging into chrome no longer prompts the certificate screen.

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

show more ...

a0969c7019-Sep-2024 Myung Bae <myungbae@us.ibm.com>

Remove subscription for TerminateAfterRetries policy

Redfish Data Model [1] section 6.42.5.2 and EventDestination schema [2]
specify that the subscription is terminated under the following policy
an

Remove subscription for TerminateAfterRetries policy

Redfish Data Model [1] section 6.42.5.2 and EventDestination schema [2]
specify that the subscription is terminated under the following policy
and the conditions.

DeliveryRetryPolicy:
- `TerminateAfterRetries`:
```
This value shall indicate the subscription is terminated after the
maximum number of retries is reached, specified by the
DeliveryRetryAttempts property in the event service.
```

This implements this policy to delete subscription of the stale client
connections after trying `DeliveryRetryAttempts` when
`DeliveryRetryPolicy == TerminateAfterRetries`.

Tested:
1) Subscription with blocked communication between bmcweb and listener

- Run Redfish Event Listener [3] to subscribe events with
`DeliveryRetryPolicy == TerminateAfterRetries`

- Check the subscription creation
```
curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions/
```

- Generate an event and check the delivery to the listener.
For example,
```
curl -k -X POST https://${bmc}/redfish/v1/EventService/Actions/EventService.SubmitTestEvent
```

- Block the communication between bmcweb and listener
(or modify the listener not to delete the subscription at its exit, and
kill the listener so that its subscription is still alive)

- If the above task is already finished, generate more events and wait
for the sufficient time till `DeliveryRetryAttempts`.

- bmcweb journal log may contain the entries like
```
Sep 20 10:47:55 p10bmc bmcwebd[286]: [ERROR http_client.hpp:444] Maximum number of retries reached. https://9.3.62.209:8080/Redfish-Event-Listener
Sep 20 10:47:55 p10bmc bmcwebd[286]: [ERROR event_service_manager.hpp:1459] Subscription 590587653 is deleted after MaxRetryAttempts
```

- Check the subscription again if the subscription is deleted.

2) Redfish Validator passes

[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2024.3.html
[2] https://github.com/openbmc/bmcweb/blob/878edd599b1706ec8ffe6c3d81ba7cb3534f6393/redfish-core/schema/dmtf/csdl/EventDestination_v1.xml#L857
[3] https://github.com/DMTF/Redfish-Event-Listener

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

show more ...

116370d808-Oct-2024 Ed Tanous <etanous@nvidia.com>

Break out lambdas in http server

These lambdas originally came from crow[1] and are a lot harder to
maintain than normal methods. Move to normal methods.

Tested: Unit tests pass. Good coverage on

Break out lambdas in http server

These lambdas originally came from crow[1] and are a lot harder to
maintain than normal methods. Move to normal methods.

Tested: Unit tests pass. Good coverage on connection class.

[1] https://github.com/CrowCpp/Crow/blob/master/include/crow/http_connection.h#L485

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

show more ...


/openbmc/bmcweb/Redfish.md
http_connection.hpp
/openbmc/bmcweb/include/event_service_store.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/redfish-core/include/error_messages.hpp
/openbmc/bmcweb/redfish-core/include/event_matches_filter.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/certificate_service.hpp
/openbmc/bmcweb/redfish-core/lib/chassis.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/hypervisor_system.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/metric_report_definition.hpp
/openbmc/bmcweb/redfish-core/lib/network_protocol.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/processor.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_sessions.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/thermal.hpp
/openbmc/bmcweb/redfish-core/lib/thermal_metrics.hpp
/openbmc/bmcweb/redfish-core/lib/trigger.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/lib/virtual_media.hpp
/openbmc/bmcweb/redfish-core/src/error_messages.cpp
/openbmc/bmcweb/redfish-core/src/filter_expr_executor.cpp
/openbmc/bmcweb/redfish-core/src/utils/dbus_utils.cpp
/openbmc/bmcweb/test/http/utility_test.cpp
/openbmc/bmcweb/test/redfish-core/include/event_matches_filter_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
4b712a2902-Aug-2023 Ed Tanous <edtanous@google.com>

Move UserSubscription to composition

This allows for two very important simplifying changes. First, we can
use the default copy operators on the UserSubscription class, which is
far less error pron

Move UserSubscription to composition

This allows for two very important simplifying changes. First, we can
use the default copy operators on the UserSubscription class, which is
far less error prone than writing it manually, which we have two copies
of in code already.

Second, it allows the Subscription class to move to using values rather
than shared_ptr everywhere, which cleans up a significant amount of
code.

Tested:
Ran Redfish-Event-Listener, subscription created and destroyed
correctly.
Calling POST SubmitTestEvent showed events propagating to server.

Change-Id: I6d258cfe3594edddf3960ae2d4559d70acca1bf8
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

41868c6609-Oct-2024 Myung Bae <myungbae@us.ibm.com>

Reformat with Never-AlignTrailingComments style

clang-format currently formats the codes to align the trailing comments
of the consecutive lines via `AlignTrailingComments/Kind` as `Always` in
`.cla

Reformat with Never-AlignTrailingComments style

clang-format currently formats the codes to align the trailing comments
of the consecutive lines via `AlignTrailingComments/Kind` as `Always` in
`.clang-format` file.

This could shift the comment lines by the neighboring code changes and
also potentially mislead the `diff` of code changes.

This commit is to keep the existing trailing comments as they were.

Tested:
- Check whitespace only
- Code compiles & CI passes.

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

show more ...


/openbmc/bmcweb/.clang-format
/openbmc/bmcweb/COMMON_ERRORS.md
/openbmc/bmcweb/Redfish.md
utility.hpp
/openbmc/bmcweb/include/authentication.hpp
/openbmc/bmcweb/include/event_service_store.hpp
/openbmc/bmcweb/include/ibm/management_console_rest.hpp
/openbmc/bmcweb/include/persistent_data.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/account_service.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/certificate.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/component_integrity.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/computer_system.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/pcie_device.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/physical_context.hpp
/openbmc/bmcweb/redfish-core/include/registries/base_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/utils/dbus_event_log_entry.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/time_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/certificate_service.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/metadata.hpp
/openbmc/bmcweb/redfish-core/lib/power_supply.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_sessions.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AccountService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AggregationSource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/CXLLogicalDevice_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/Control_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Drive_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/EventDestination_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Event_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ExternalAccountProvider_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/Manager_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MemoryRegion_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Message_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PCIeDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PhysicalContext_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/Resource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Sensor_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/UpdateService_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AccountService.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationSource.v1_4_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_9_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Chassis.v1_25_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComponentIntegrity.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystem.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Drive.v1_20_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Event.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EventDestination.v1_15_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntry.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Manager.v1_19_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerAccount.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Message.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDevice.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Port.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Resource.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Sensor.v1_10_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Storage.v1_17_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/StorageController.v1_8_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/UpdateService.v1_14_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AccountService.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AggregationSource.v1_4_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CXLLogicalDevice.v1_2_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Certificate.v1_9_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Chassis.v1_25_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComponentIntegrity.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComputerSystem.v1_23_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Control.v1_5_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Drive.v1_20_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Event.v1_11_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ExternalAccountProvider.v1_8_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LeakDetection.v1_1_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LeakDetector.v1_2_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LogEntry.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Manager.v1_19_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ManagerAccount.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Message.v1_3_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PCIeDevice.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PhysicalContext.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Port.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PortMetrics.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Resource.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Sensor.v1_10_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Storage.v1_17_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/StorageController.v1_8_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/UpdateService.v1_14_1.json
/openbmc/bmcweb/redfish-core/src/utils/time_utils.cpp
/openbmc/bmcweb/scripts/parse_registries.py
/openbmc/bmcweb/scripts/update_schemas.py
/openbmc/bmcweb/subprojects/nlohmann_json.wrap
/openbmc/bmcweb/test/redfish-core/include/event_service_manager_test.cpp
/openbmc/bmcweb/test/redfish-core/include/redfish_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/dbus_utils.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/time_utils_test.cpp
d51c61b413-Sep-2024 Myung Bae <myungbae@us.ibm.com>

Fix status for non-existent JsonSchema FileGet

This will fix the incorrect status 500 to status 404 for the
non-eixstent JsonSchema FileGet.

```
% redfishtool raw GET -r ${bmc} -u root -p 0penBmc

Fix status for non-existent JsonSchema FileGet

This will fix the incorrect status 500 to status 404 for the
non-eixstent JsonSchema FileGet.

```
% redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.v1_99_1.json
redfishtool: Transport: Response Error: status_code: 500 -- Internal Server Error
redfishtool: raw: Error getting response
```

This commit also refactor `Response::openFile()` to return `ec` so that
the caller can check the reason of the failure.

Tested:
- Verify redfishtool result for the non-existent JsonSchema file like
```
% redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/<schema>/<non-existent-schema>.json
redfishtool: Transport: Response Error: status_code: 404 -- Not Found
redfishtool: raw: Error getting response
```
- Redfish Service validator passes

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

show more ...

6d799e1411-Sep-2024 Ed Tanous <etanous@nvidia.com>

Rename sendEvent

There are currently 3 function prototypes that hold the name
"sendEvent". This makes them hard to search for, and even though they
take different arguments, and are attached to dif

Rename sendEvent

There are currently 3 function prototypes that hold the name
"sendEvent". This makes them hard to search for, and even though they
take different arguments, and are attached to different classes, they're
still difficult to trace.

Rename two of the classes.

Tested: Code compiles. Rename only.

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

show more ...

ad6dd39b12-Sep-2024 Lei YU <yulei.sh@bytedance.com>

websocket: Handle eof and truncated stream

When doRead() fails, the code was checking the `closed` error code and
print the error log if it's other error codes.
In field we noticed that the error co

websocket: Handle eof and truncated stream

When doRead() fails, the code was checking the `closed` error code and
print the error log if it's other error codes.
In field we noticed that the error code could be `eof` or
`stream_truncated` if the websocket gets closed.
Add the above error codes as well so that it does not print error log on
closed websocket.

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: Id25f9750521d67643a125d7641eb73c75c328a85

show more ...

6be832e210-Sep-2024 Ed Tanous <etanous@nvidia.com>

Remove duplicated block comments

Static analysis flags that these two comments are redundant[1], which
seem to be duplicated a lot in copyright headers. Although there is a
larger discussion that c

Remove duplicated block comments

Static analysis flags that these two comments are redundant[1], which
seem to be duplicated a lot in copyright headers. Although there is a
larger discussion that can likely be had.

[1] https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=edtanous_bmcweb&open=AY9_HYjgKXKyw1ZFwgVP

Tested: Comment change only. Code compiles.

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

show more ...


/openbmc/bmcweb/Redfish.md
http_client.hpp
/openbmc/bmcweb/include/dbus_utility.hpp
/openbmc/bmcweb/include/openbmc_dbus_rest.hpp
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/error_messages.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/privileges.hpp
/openbmc/bmcweb/redfish-core/include/registries.hpp
/openbmc/bmcweb/redfish-core/include/task_messages.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/systemd_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/chassis.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/led.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/memory.hpp
/openbmc/bmcweb/redfish-core/lib/message_registries.hpp
/openbmc/bmcweb/redfish-core/lib/network_protocol.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/processor.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_sessions.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_util.hpp
/openbmc/bmcweb/redfish-core/lib/roles.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/service_root.hpp
/openbmc/bmcweb/redfish-core/lib/storage.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/thermal.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/lib/virtual_media.hpp
/openbmc/bmcweb/redfish-core/src/error_messages.cpp
/openbmc/bmcweb/redfish-core/src/utils/json_utils.cpp
4ff0f1f404-Sep-2024 Ed Tanous <etanous@nvidia.com>

static -> inline

Declaring a function static in a header makes no sense, because a header
isn't a compile unit. Find all the issues and replace them with inline.

Change-Id: Icfc2b72d94b41a3a880da1

static -> inline

Declaring a function static in a header makes no sense, because a header
isn't a compile unit. Find all the issues and replace them with inline.

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

show more ...


/openbmc/bmcweb/.clang-tidy
/openbmc/bmcweb/DEVELOPING.md
http_client.hpp
/openbmc/bmcweb/include/dbus_monitor.hpp
/openbmc/bmcweb/include/dbus_utility.hpp
/openbmc/bmcweb/include/http_utility.hpp
/openbmc/bmcweb/include/openbmc_dbus_rest.hpp
/openbmc/bmcweb/include/pam_authenticate.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/redfish-core/include/error_messages.hpp
/openbmc/bmcweb/redfish-core/include/privileges.hpp
/openbmc/bmcweb/redfish-core/include/query.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/registries.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/query_param.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/time_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/certificate_service.hpp
/openbmc/bmcweb/redfish-core/lib/fan.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/storage.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_hostlogger.hpp
/openbmc/bmcweb/redfish-core/lib/systems_logservices_postcodes.hpp
/openbmc/bmcweb/redfish-core/lib/thermal.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCAccountService_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCManager_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCVirtualMedia_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/meson.build
/openbmc/bmcweb/redfish-core/src/error_messages.cpp
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/src/webserver_cli.cpp
/openbmc/bmcweb/test/http/crow_getroutes_test.cpp
/openbmc/bmcweb/test/http/mutual_tls.cpp
/openbmc/bmcweb/test/http/mutual_tls_meta.cpp
/openbmc/bmcweb/test/http/router_test.cpp
/openbmc/bmcweb/test/http/utility_test.cpp
/openbmc/bmcweb/test/http/verb_test.cpp
/openbmc/bmcweb/test/include/dbus_utility_test.cpp
/openbmc/bmcweb/test/include/http_utility_test.cpp
/openbmc/bmcweb/test/include/human_sort_test.cpp
/openbmc/bmcweb/test/include/ibm/configfile_test.cpp
/openbmc/bmcweb/test/include/json_html_serializer.cpp
/openbmc/bmcweb/test/include/multipart_test.cpp
/openbmc/bmcweb/test/include/openbmc_dbus_rest_test.cpp
/openbmc/bmcweb/test/include/ossl_random.cpp
/openbmc/bmcweb/test/include/str_utility_test.cpp
/openbmc/bmcweb/test/redfish-core/include/privileges_test.cpp
/openbmc/bmcweb/test/redfish-core/include/redfish_aggregator_test.cpp
/openbmc/bmcweb/test/redfish-core/include/registries_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/hex_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/ip_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/query_param_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/stl_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/time_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/manager_logservices_journal_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/service_root_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/systems_logservices_postcode.cpp
41fe81c202-Sep-2024 Ed Tanous <etanous@nvidia.com>

Fix includes

This commit is automatically generated by enabling clang-include-fixer.

Tested: Code compiles.

Change-Id: I475d7b9d43e95bbdeeaadf11905d3b2a60aa8ef3
Signed-off-by: Ed Tanous <etanous@n

Fix includes

This commit is automatically generated by enabling clang-include-fixer.

Tested: Code compiles.

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

show more ...


mutual_tls.cpp
server_sent_event.hpp
/openbmc/bmcweb/include/pam_authenticate.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/redfish-core/include/filter_expr_parser_ast.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/hypervisor_system.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_journal.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/thermal.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationSource.v1_4_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_8_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystem.v1_22_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Drive.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EthernetInterface.v1_12_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntry.v1_16_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReport.v1_5_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDevice.v1_15_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Port.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Processor.v1_20_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Resource.v1_19_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Sensor.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Storage.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-payload-annotations.v1_2_3.json
/openbmc/bmcweb/redfish-core/src/filter_expr_executor.cpp
/openbmc/bmcweb/redfish-core/src/filter_expr_printer.cpp
/openbmc/bmcweb/src/ossl_random.cpp
/openbmc/bmcweb/src/ssl_key_handler.cpp
/openbmc/bmcweb/src/webserver_cli.cpp
/openbmc/bmcweb/src/webserver_run.cpp
/openbmc/bmcweb/subprojects/boost.wrap
/openbmc/bmcweb/test/http/server_sent_event_test.cpp
/openbmc/bmcweb/test/include/credential_pipe_test.cpp
/openbmc/bmcweb/test/include/ssl_key_handler_test.cpp
/openbmc/bmcweb/test/redfish-core/include/filter_expr_executor_test.cpp
/openbmc/bmcweb/test/redfish-core/include/filter_expr_parser_test.cpp
/openbmc/bmcweb/test/redfish-core/include/redfish_aggregator_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/chassis_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/metadata_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/service_root_test.cpp
50bfc91729-Jul-2024 Ed Tanous <etanous@nvidia.com>

Fix redfish response for unknown method

Redfish protocol validator recently added a new test to check for
invalid methods[1] and expect a valid redfish response.

bmcweb will return the correct resp

Fix redfish response for unknown method

Redfish protocol validator recently added a new test to check for
invalid methods[1] and expect a valid redfish response.

bmcweb will return the correct response if the HTTP method is known, but
returns 404 for unknown methods.

This commit implements support for returning the proper code for
completely unknown methods.

Tested: Redfish protocol validator passes.

```
curl -k -X METHODNOTEXIST "https://192.168.7.2/redfish/v1"
curl --http1.1 -k -X METHODNOTEXIST "https://192.168.7.2/redfish/v1"
```

works for both HTTP1 and HTTP2.

[1] https://github.com/DMTF/Redfish-Protocol-Validator/commit/2476e126b818f040c7231de3e9dc4df93ee636a1

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

show more ...

7a16ddc825-Aug-2024 Ed Tanous <etanous@nvidia.com>

Clang-format-18

These files were checked in during the clang-18 merge. Update them.

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

bd1299b712-Aug-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Enable bmcweb dynamic logging

Create a CLI app called "bmcweb" that can set logging levels on
"bmcwebd", the new bmcweb daemon. Create a dbus connection to set log
level using the CLI app Define th

Enable bmcweb dynamic logging

Create a CLI app called "bmcweb" that can set logging levels on
"bmcwebd", the new bmcweb daemon. Create a dbus connection to set log
level using the CLI app Define the "setLogLevel" method on dbus to
control logging level in bmcwebd Add logic to move logging level from
build option to dynamic overloading

Reason: bmcweb picks up logging level as a compile flag. We want it to
be more flexible to debug errors in the field. Using the bmcweb CLI
app, we can set log levels on the bmcweb daemon during runtime.
Splitting bmcweb.

For example, to set logging level to INFO on the target:
bmcweb -l INFO

Change-Id: I7192e4d0ac7aa3a91babecc473521be27ea8acd1
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...


/openbmc/bmcweb/DEVELOPING.md
/openbmc/bmcweb/TESTING.md
/openbmc/bmcweb/config/bmcweb.service.in
/openbmc/bmcweb/config/bmcweb_config.h.in
/openbmc/bmcweb/config/meson.build
logging.hpp
/openbmc/bmcweb/include/authentication.hpp
/openbmc/bmcweb/include/login_routes.hpp
/openbmc/bmcweb/include/pam_authenticate.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/generated/enums/drive.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/physical_context.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/storage.hpp
/openbmc/bmcweb/redfish-core/include/utils/sensor_utils.hpp
/openbmc/bmcweb/redfish-core/lib/hypervisor_system.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_sessions.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/trigger.hpp
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/AggregationSource_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Certificate_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Circuit_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Drive_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/EthernetInterface_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/LogEntry_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MemoryRegion_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/MetricReport_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Outlet_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PCIeDevice_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/PhysicalContext_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Port_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Processor_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/RedfishExtensions_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/Storage_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/VolumeCollection_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Volume_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AggregationSource.v1_4_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Certificate.v1_8_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Circuit.v1_8_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ComputerSystem.v1_22_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Drive.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/EthernetInterface.v1_12_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/LogEntry.v1_16_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MemoryRegion.v1_0_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/MetricReport.v1_5_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Outlet.v1_4_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PCIeDevice.v1_15_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/PhysicalContext.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Port.v1_13_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Processor.v1_20_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Resource.v1_19_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Sensor.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Storage.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Volume.v1_10_0.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_2_3.json
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/scripts/update_schemas.py
/openbmc/bmcweb/src/webserver_cli.cpp
/openbmc/bmcweb/src/webserver_run.cpp
/openbmc/bmcweb/subprojects/boost.wrap
/openbmc/bmcweb/subprojects/cli11.wrap
/openbmc/bmcweb/test/redfish-core/include/utils/sensor_utils_test.cpp
cd504a9419-Aug-2024 Ed Tanous <etanous@nvidia.com>

Partial revert of http_client

4d69861f shows that after being applied, connections are no longer
reused. It's unclear why, but very likely due to a use after move of
the request object we've seen b

Partial revert of http_client

4d69861f shows that after being applied, connections are no longer
reused. It's unclear why, but very likely due to a use after move of
the request object we've seen before. This doesn't cause functional
issues, only performance ones.

Considering that this was only a minor size reduction in the first
place, Revert the http_client part of the patch for now.

https://gerrit.openbmc.org/c/openbmc/bmcweb/+/69234

Tested:
Aggregation through /redfish/v1/Chassis works as expected.

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

show more ...

bd79bce816-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: Iceec1dc95b6c908ec6c21fb40093de9dd18bf11a
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


/openbmc/bmcweb/.clang-format
http2_connection.hpp
http_body.hpp
http_client.hpp
http_connection.hpp
http_server.hpp
logging.hpp
mutual_tls.cpp
nghttp2_adapters.hpp
routing.hpp
utility.hpp
websocket.hpp
/openbmc/bmcweb/include/async_resolve.hpp
/openbmc/bmcweb/include/authentication.hpp
/openbmc/bmcweb/include/dbus_monitor.hpp
/openbmc/bmcweb/include/dbus_privileges.hpp
/openbmc/bmcweb/include/dbus_utility.hpp
/openbmc/bmcweb/include/event_service_store.hpp
/openbmc/bmcweb/include/forward_unauthorized.hpp
/openbmc/bmcweb/include/google/google_service_root.hpp
/openbmc/bmcweb/include/hostname_monitor.hpp
/openbmc/bmcweb/include/http_utility.hpp
/openbmc/bmcweb/include/ibm/management_console_rest.hpp
/openbmc/bmcweb/include/image_upload.hpp
/openbmc/bmcweb/include/kvm_websocket.hpp
/openbmc/bmcweb/include/login_routes.hpp
/openbmc/bmcweb/include/multipart_parser.hpp
/openbmc/bmcweb/include/obmc_console.hpp
/openbmc/bmcweb/include/openbmc_dbus_rest.hpp
/openbmc/bmcweb/include/security_headers.hpp
/openbmc/bmcweb/include/sessions.hpp
/openbmc/bmcweb/include/vm_websocket.hpp
/openbmc/bmcweb/include/webassets.hpp
/openbmc/bmcweb/redfish-core/include/error_messages.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/filter_expr_parser_grammar.hpp
/openbmc/bmcweb/redfish-core/include/gzfile.hpp
/openbmc/bmcweb/redfish-core/include/query.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/registries.hpp
/openbmc/bmcweb/redfish-core/include/snmp_trap_event_clients.hpp
/openbmc/bmcweb/redfish-core/include/utils/chassis_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/collection.hpp
/openbmc/bmcweb/redfish-core/include/utils/dbus_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/json_utils.hpp
/openbmc/bmcweb/redfish-core/include/utils/query_param.hpp
/openbmc/bmcweb/redfish-core/include/utils/sw_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/bios.hpp
/openbmc/bmcweb/redfish-core/lib/cable.hpp
/openbmc/bmcweb/redfish-core/lib/certificate_service.hpp
/openbmc/bmcweb/redfish-core/lib/chassis.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/fabric_adapters.hpp
/openbmc/bmcweb/redfish-core/lib/fan.hpp
/openbmc/bmcweb/redfish-core/lib/hypervisor_system.hpp
/openbmc/bmcweb/redfish-core/lib/led.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/manager_diagnostic_data.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_journal.hpp
/openbmc/bmcweb/redfish-core/lib/managers.hpp
/openbmc/bmcweb/redfish-core/lib/memory.hpp
/openbmc/bmcweb/redfish-core/lib/message_registries.hpp
/openbmc/bmcweb/redfish-core/lib/metric_report.hpp
/openbmc/bmcweb/redfish-core/lib/metric_report_definition.hpp
/openbmc/bmcweb/redfish-core/lib/network_protocol.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/pcie_slots.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/power_supply.hpp
/openbmc/bmcweb/redfish-core/lib/processor.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_util.hpp
/openbmc/bmcweb/redfish-core/lib/redfish_v1.hpp
/openbmc/bmcweb/redfish-core/lib/roles.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/storage.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/telemetry_service.hpp
/openbmc/bmcweb/redfish-core/lib/thermal.hpp
/openbmc/bmcweb/redfish-core/lib/thermal_metrics.hpp
/openbmc/bmcweb/redfish-core/lib/trigger.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/lib/virtual_media.hpp
/openbmc/bmcweb/redfish-core/src/error_messages.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/utils/dbus_utils.cpp
/openbmc/bmcweb/src/json_html_serializer.cpp
/openbmc/bmcweb/src/ssl_key_handler.cpp
/openbmc/bmcweb/src/webserver_main.cpp
/openbmc/bmcweb/test/http/http2_connection_test.cpp
/openbmc/bmcweb/test/http/http_response_test.cpp
/openbmc/bmcweb/test/http/mutual_tls.cpp
/openbmc/bmcweb/test/http/router_test.cpp
/openbmc/bmcweb/test/http/server_sent_event_test.cpp
/openbmc/bmcweb/test/include/human_sort_test.cpp
/openbmc/bmcweb/test/include/json_html_serializer.cpp
/openbmc/bmcweb/test/include/multipart_test.cpp
/openbmc/bmcweb/test/redfish-core/include/privileges_test.cpp
/openbmc/bmcweb/test/redfish-core/include/redfish_aggregator_test.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/dbus_utils.cpp
/openbmc/bmcweb/test/redfish-core/lib/service_root_test.cpp
608fb7b709-Aug-2024 Potin Lai <potin.lai@quantatw.com>

http_body: Implement static bmcweb::HttpBody::size() function

In boost::beast::http::message::prepare_payload(), if HttpBody does
not implement a size() function, it defaults to calling chunked(true

http_body: Implement static bmcweb::HttpBody::size() function

In boost::beast::http::message::prepare_payload(), if HttpBody does
not implement a size() function, it defaults to calling chunked(true)
for HTTP/1.1 and chunked(false) for other versions.

We encountered an issue with request data (an extra final chunk) when
`chunked(true)` is called with empty data. To ensure prepare_payload
behaves as expected, we want it to follow the code path that handles the
payload size correctly. Specifically, we want it to:

- Use `content_length(n)` for requests with data.
- Use `chunked(false)` for requests without data.

By adding a static implementation of the bmcweb::HttpBody::size()
function, we ensure the payload size is returned correctly, guiding
prepare_payload to the expected code section[1]

Tested on Catalina with continuous Redfish aggregation queries; no
errors or incorrect responses were observed.

[1] https://github.com/boostorg/beast/blob/fee9be0be10c9c9a22ac1505a710d1d8ed5a3dfb/include/boost/beast/http/impl/message.hpp#L364-L374

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>
Change-Id: I4d84c8b6b9b3d65ce97e010b875ea49b3e1fc9d0

show more ...

4f46796306-Aug-2024 Ed Tanous <etanous@nvidia.com>

Add case default

Clang-18 notes that this doesn't have a case default. Rearrange.

Tested: unit test pass.

Change-Id: I0e1c9e5aa576ef48466a1ff98d12a3e0cbab3978
Signed-off-by: Ed Tanous <etanous@nv

Add case default

Clang-18 notes that this doesn't have a case default. Rearrange.

Tested: unit test pass.

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

show more ...

ea5e224206-Aug-2024 Ed Tanous <etanous@nvidia.com>

Fix overflow

Static analysis correctly notes that in the case of empty string, this
can overflow. Given that this is coming from a constexpr expression,
that would be impossible in practice, but hav

Fix overflow

Static analysis correctly notes that in the case of empty string, this
can overflow. Given that this is coming from a constexpr expression,
that would be impossible in practice, but having static analysis pass is
helpful.

Refactor the code to account for index overflows.

Tested: Code compiles

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

show more ...


logging.hpp
/openbmc/bmcweb/include/openbmc_dbus_rest.hpp
/openbmc/bmcweb/include/vm_websocket.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/redfish_aggregator.hpp
/openbmc/bmcweb/redfish-core/include/snmp_trap_event_clients.hpp
/openbmc/bmcweb/redfish-core/include/utils/sw_utils.hpp
/openbmc/bmcweb/redfish-core/lib/account_service.hpp
/openbmc/bmcweb/redfish-core/lib/cable.hpp
/openbmc/bmcweb/redfish-core/lib/chassis.hpp
/openbmc/bmcweb/redfish-core/lib/ethernet.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/fabric_adapters.hpp
/openbmc/bmcweb/redfish-core/lib/fan.hpp
/openbmc/bmcweb/redfish-core/lib/hypervisor_system.hpp
/openbmc/bmcweb/redfish-core/lib/led.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/memory.hpp
/openbmc/bmcweb/redfish-core/lib/metric_report_definition.hpp
/openbmc/bmcweb/redfish-core/lib/network_protocol.hpp
/openbmc/bmcweb/redfish-core/lib/odata.hpp
/openbmc/bmcweb/redfish-core/lib/pcie.hpp
/openbmc/bmcweb/redfish-core/lib/power.hpp
/openbmc/bmcweb/redfish-core/lib/power_subsystem.hpp
/openbmc/bmcweb/redfish-core/lib/power_supply.hpp
/openbmc/bmcweb/redfish-core/lib/processor.hpp
/openbmc/bmcweb/redfish-core/lib/sensors.hpp
/openbmc/bmcweb/redfish-core/lib/storage.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/telemetry_service.hpp
/openbmc/bmcweb/redfish-core/lib/thermal_subsystem.hpp
/openbmc/bmcweb/redfish-core/lib/trigger.hpp
/openbmc/bmcweb/redfish-core/lib/update_service.hpp
/openbmc/bmcweb/redfish-core/lib/virtual_media.hpp
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/scripts/csdl-to-json-converter/README.md
/openbmc/bmcweb/src/ssl_key_handler.cpp
724985ff05-Jun-2024 Ed Tanous <ed@tanous.net>

Break out SSL key handler into a compile unit

This commit allows for no code to have to pull in openssl headers
directly. All openssl code is now included in compile units, or
transitively from boo

Break out SSL key handler into a compile unit

This commit allows for no code to have to pull in openssl headers
directly. All openssl code is now included in compile units, or
transitively from boost.

Because http2 is optional, no-unneeded-internal-declaration is needed to
prevent clang from marking the functions as unused. Chromium has
disabled this as well[1]

Tested:
Redfish service validator passes.

[1] https://issues.chromium.org/issues/40340369

Change-Id: I327e8ffa45941c2282db804d0be56cf64155e67d
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

f80a87f216-Jun-2024 Ed Tanous <etanous@nvidia.com>

Add SSE filter param support

The Redfish spec require filtering of SSE entries to be supported.
This commit rearranges the code, and implements SSE sorting as well
as support for Last-Event-Id. To

Add SSE filter param support

The Redfish spec require filtering of SSE entries to be supported.
This commit rearranges the code, and implements SSE sorting as well
as support for Last-Event-Id. To do this it adds a dependency on
boost circular_buffer.

Tested:

SSE connections succeed. Show filtered results.

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

show more ...


routing/sserule.hpp
server_sent_event.hpp
/openbmc/bmcweb/include/ssl_key_handler.hpp
/openbmc/bmcweb/include/webassets.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/redfish-core/include/aggregation_utils.hpp
/openbmc/bmcweb/redfish-core/include/event_service_manager.hpp
/openbmc/bmcweb/redfish-core/include/filter_expr_executor.hpp
/openbmc/bmcweb/redfish-core/include/generated/enums/open_bmc_computer_system.hpp
/openbmc/bmcweb/redfish-core/include/utils/query_param.hpp
/openbmc/bmcweb/redfish-core/lib/event_service.hpp
/openbmc/bmcweb/redfish-core/lib/eventservice_sse.hpp
/openbmc/bmcweb/redfish-core/lib/log_services.hpp
/openbmc/bmcweb/redfish-core/lib/manager_logservices_journal.hpp
/openbmc/bmcweb/redfish-core/lib/systems.hpp
/openbmc/bmcweb/redfish-core/lib/task.hpp
/openbmc/bmcweb/redfish-core/lib/virtual_media.hpp
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/csdl/OpenBMCVirtualMedia_v1.xml
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OemComputerSystem.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCAccountService.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCAccountService.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCManager.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCManager.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCVirtualMedia.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCVirtualMedia.v1_0_0.json
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/meson.build
/openbmc/bmcweb/redfish-core/src/filter_expr_executor.cpp
/openbmc/bmcweb/redfish-core/src/redfish.cpp
/openbmc/bmcweb/scripts/csdl-to-json-converter/README.md
/openbmc/bmcweb/scripts/csdl-to-json-converter/openbmc-config.json
/openbmc/bmcweb/scripts/generate_schema_collections.py
/openbmc/bmcweb/test/http/server_sent_event_test.cpp
/openbmc/bmcweb/test/redfish-core/include/filter_expr_executor_test.cpp
/openbmc/bmcweb/test/redfish-core/include/redfish_aggregator_test.cpp
/openbmc/bmcweb/test/redfish-core/lib/log_services_test.cpp
19bb362b05-Jul-2024 Ed Tanous <etanous@nvidia.com>

EventDestination: Implement VerifyCertificate

VerifyCertificate is a property on the Redfish EventDestination schema.
It specifies that this property is:
``` An indication of whether the service wil

EventDestination: Implement VerifyCertificate

VerifyCertificate is a property on the Redfish EventDestination schema.
It specifies that this property is:
``` An indication of whether the service will verify the certificate of
the server referenced by the `Destination` property prior to sending the
event ```

To keep prior behavior, and to ensure behavior that's secure by default,
if the user omits the property, it is assumed to be true. This property
is also persisted and restored.

Tested:
Redfish-Event-Listener succeeds with the following procedure
Start Redfish-Event-Listener
PATCH /redfish/v1/Subscriptions/<subid> VerifyCertificate: false
POST /redfish/v1/EventService/Actions/EventService.SubmitTestEvent

Redfish-Event-Listener then hits an internal error, due to an encoding
compatibility unrelated to this patch, but is documented in the receiver
[1]

POST of a subscription with VerifyCertificate: false set, succeeds.

[1] https://github.com/DMTF/Redfish-Event-Listener/blob/6f3f98beafc89fa9bbf86aa4f8cac6c1987390fb/RedfishEventListener_v1.py#L61

Change-Id: I27e0a3fe87b4dbd0432bfaa22ebf593c3955db11
Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

f51d863516-May-2024 Ed Tanous <ed@tanous.net>

Break out DuplicatableFileHandle

Static analysis notes that writing non-trivial move constructors and
move operator= handlers is non trivial [1]. Funnily enough, we actually
already had bugs on thi

Break out DuplicatableFileHandle

Static analysis notes that writing non-trivial move constructors and
move operator= handlers is non trivial [1]. Funnily enough, we actually
already had bugs on this that were fixed in 06fc9be.

Simplify the code.

Tested: Redfish service validator passes.

[1] https://sonarcloud.io/project/issues?issues=AY9_HYiwKXKyw1ZFwgUG%2CAY9_HYiwKXKyw1ZFwgUF&id=edtanous_bmcweb&open=AY9_HYiwKXKyw1ZFwgUG

Change-Id: If96383d8c669ae9e5a8cc13304071b2dfe1ff2d2
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...


/openbmc/bmcweb/.eslintignore
http_body.hpp
/openbmc/bmcweb/include/duplicatable_file_handle.hpp
/openbmc/bmcweb/meson.build
/openbmc/bmcweb/redfish-core/lib/redfish_v1.hpp
/openbmc/bmcweb/redfish-core/meson.build
/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/OemComputerSystem_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/OemManager_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/OemVirtualMedia_v1.xml
/openbmc/bmcweb/redfish-core/schema/dmtf/installed/OpenBMCAccountService_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/schema/dmtf/json-schema-installed/AccountService.v1_15_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ActionInfo.v1_4_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationService.v1_0_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationSource.v1_4_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AggregationSourceCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Assembly.v1_5_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/AttributeRegistry.v1_3_9.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Bios.v1_2_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Cable.v1_2_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CableCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_8_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CertificateCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CertificateLocations.v1_0_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/CertificateService.v1_0_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Chassis.v1_25_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ChassisCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComponentIntegrity.v1_2_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComponentIntegrityCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystem.v1_22_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ComputerSystemCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Drive.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/DriveCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EnvironmentMetrics.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EthernetInterface.v1_12_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EthernetInterfaceCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Event.v1_10_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EventDestination.v1_14_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EventDestinationCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/EventService.v1_10_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/FabricAdapter.v1_5_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/FabricAdapterCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Fan.v1_5_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/FanCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/IPAddresses.v1_1_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/JsonSchemaFile.v1_1_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/JsonSchemaFileCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntry.v1_16_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogEntryCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogService.v1_7_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/LogServiceCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Manager.v1_19_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerAccount.v1_12_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerAccountCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerDiagnosticData.v1_2_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ManagerNetworkProtocol.v1_10_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Memory.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MemoryCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Message.v1_2_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MessageRegistry.v1_6_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MessageRegistryCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MessageRegistryFile.v1_1_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MessageRegistryFileCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricDefinition.v1_3_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricDefinitionCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReport.v1_5_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReportCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReportDefinition.v1_4_6.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/MetricReportDefinitionCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/OperatingConfig.v1_0_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/OperatingConfigCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDevice.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeDeviceCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeFunction.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeFunctionCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PCIeSlots.v1_6_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PhysicalContext.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Port.v1_12_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PortCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Power.v1_7_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PowerSubsystem.v1_1_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PowerSupply.v1_6_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/PowerSupplyCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Privileges.v1_0_6.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Processor.v1_20_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ProcessorCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Protocol.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Redundancy.v1_4_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Resource.v1_19_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Role.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/RoleCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Sensor.v1_9_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SensorCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ServiceRoot.v1_17_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Session.v1_7_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SessionCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SessionService.v1_1_9.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Settings.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SoftwareInventory.v1_10_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/SoftwareInventoryCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Storage.v1_16_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/StorageCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/StorageController.v1_7_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/StorageControllerCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Task.v1_7_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TaskCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TaskService.v1_2_1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TelemetryService.v1_3_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Thermal.v1_7_3.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ThermalMetrics.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/ThermalSubsystem.v1_3_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/Triggers.v1_4_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/TriggersCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/UpdateService.v1_14_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/VirtualMedia.v1_6_4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/VirtualMediaCollection.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/odata-v4.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/odata.v4_0_5.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-error.v1_0_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-payload-annotations.v1_2_2.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-schema-v1.json
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema-installed/redfish-schema.v1_10_0.json
/openbmc/bmcweb/redfish-core/schema/dmtf/meson.build
/openbmc/bmcweb/redfish-core/schema/meson.build
/openbmc/bmcweb/redfish-core/schema/oem/meson.build
/openbmc/bmcweb/redfish-core/schema/oem/openbmc/meson.build
/openbmc/bmcweb/scripts/generate_schema_enums.py
/openbmc/bmcweb/scripts/update_schemas.py
/openbmc/bmcweb/src/json_html_serializer.cpp
/openbmc/bmcweb/static/images/DMTF_Redfish_logo_2017.svg
/openbmc/bmcweb/static/meson.build
/openbmc/bmcweb/static/styles/redfish.css
/openbmc/bmcweb/test/include/json_html_serializer.cpp
3281bcf125-Jun-2024 Ed Tanous <ed@tanous.net>

Support RespondToUnauthenticatedClients PATCH

RespondToUnauthenticatedClients allows users to explicitly select mTLS
as their only authentication mechanism, thus significantly reducing
their code ex

Support RespondToUnauthenticatedClients PATCH

RespondToUnauthenticatedClients allows users to explicitly select mTLS
as their only authentication mechanism, thus significantly reducing
their code exposure to unauthenticated clients.

From the Redfish specification

```
The RespondToUnauthenticatedClients property within the
ClientCertificate property within the MFA property of the AccountService
resource controls the response behavior when an invalid certificate is
provided by the client.
• If the property contains true or is not
supported by the service, the service shall not fail the TLS handshake.
This is to allow the service to send error messages or unauthenticated
resources to the client.
• If the property contains false , the service
shall fail the TLS handshake.
```

This commit implements that behavior.

This also has some added benefits in that we no longer have to check the
filesystem for every connection, as TLS is controlled explicitly, and
not whether or not a root cert is in place.

Note, this also implements a TODO to disable cookie auth when using
mTLS. Clients can still use IsAuthenticated to determine if they are
authenticated on request.

Tested:
Run scripts/generate_auth_certs.py to set up a root certificate and
client certificate. This verifies that mTLS as optional has not been
broken. Script succeeds.

```
PATCH /redfish/v1/AccountService
{"MultiFactorAuth": {"ClientCertificate": {"RespondToUnauthenticatedClients": false}}}
```

GET /redfish/v1
without a client certificate now fails with an ssl verification error

GET /redfish/v1
with a client certificate returns the result

```
PATCH /redfish/v1/AccountService
{"MultiFactorAuth": {"ClientCertificate": {"RespondToUnauthenticatedClients": false}}}
With certificate returns non mTLS functionality.
```

Change-Id: I5a9d6d6b1698bff83ab62b1f760afed6555849c9
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

89cda63d16-Apr-2024 Ed Tanous <ed@tanous.net>

Store Request Fields that are needed later

Because of recent changes to how dbus authentication is done, Requests
might be moved out before they can be used. This commit is an attempt
to mitigate t

Store Request Fields that are needed later

Because of recent changes to how dbus authentication is done, Requests
might be moved out before they can be used. This commit is an attempt
to mitigate the problem without needing to revert that patch.

This commit does two relatively distinct things.

First, it moves basic auth types to a model where they're timed out
instead of removed on destruction. This removes the need for a Request
object to track that state, and arguably gives better behavior, as
basic auth sessions will survive through the timeout.
To prevent lots of basic auth sessions getting created, a basic auth
session is reused if it was:
1. Created by basic auth previously.
2. Created by the same user.
3. Created from the same source IP address.

Second, both connection classes now store the accept, and origin headers
from the request in the connection class itself, removing the need for
them.

Tested: HTML page now loads when pointing at a redfish URL with a
browser.

Change-Id: I623b43cbcbb43d9e65b408853660be09a5edb2b3
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

12345678910>>...18