#
7e5e98d3 |
| 12-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Clean up meson summary
Make the meson summary better by: Adding new sections for each value type (this implicitly sorts each section, making the pattern more clear) Remove the generated messon messa
Clean up meson summary
Make the meson summary better by: Adding new sections for each value type (this implicitly sorts each section, making the pattern more clear) Remove the generated messon message, where we print the values of ifdefs. Enable bool_yn for feature options, which allows us to pass the feature in directly, and print and colorize yes/no answers
Tested: meson setup builddir
Results in no messages printed for the ifdefs, and colorized output, with yes/no answers, summarized below.
Feature Options basic-auth : YES
String Options dns-resolver : systemd-dbus
Numeric Options http-body-limit : 30
Change-Id: I13f003846edaa355090c14113b61aacb05cbeb9a Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
4d7b5ddb |
| 26-Feb-2025 |
Malik Akbar Hashemi Rafsanjani <malikrafsan@meta.com> |
mtls: implement UPN parse mode
This commit is intended to implement the UserPrincipalName (UPN) parse mode on mutual TLS (MTLS). By implementing this we can use the X509 certificate extension Subjec
mtls: implement UPN parse mode
This commit is intended to implement the UserPrincipalName (UPN) parse mode on mutual TLS (MTLS). By implementing this we can use the X509 certificate extension Subject Alternative Name (SAN), specifically UPN to be used as the username
In our case, this feature is needed because we have a specific format on our Subject CN of X509 certificate. This format cannot directly mapped to the username of bmcweb because it contains special characters (`/` and `:`), which cannot exist in the username. Changing the format of our Subject CN is very risky. By enabling this feature we can use other field, which is the SAN extension to be used as the username and do not change our Subject CN on the X509 certificate
In general, by implementing this feature, we can enable multiple options for the system. There might be other cases where we want to have the username of the bmcweb is not equal to the Subject CN of the certificate, instead the username is added as the UserPrincipalName field in the certificate
The format of the UPN is `<username>@<domain>` [1][2]. The format is similar to email format. The domain name identifies the domain in which the user is located [3] and it should match the device name's domain (domain forest).
Tested - Test using `generate_auth_certificate.py` (extended on patch [4]) - Manual testing (please see the script mentioned above for more detail) - Setup certificate with UPN inside SAN extension - Change the CertificateMappingAttribute to use UPN - Get request to `/SessionService/Sessions` - Run unit tests
[1] UPN Format: https://learn.microsoft.com/en-us/windows/win32/secauthn/user-name-formats#user-principal-name [2] UPN Properties: https://learn.microsoft.com/en-us/windows/win32/ad/naming-properties#userprincipalname [3] UPN Glossary: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wcce/719b890d-62e6-4322-b9b1-1f34d11535b4#gt_9d606f55-b798-4def-bf96-97b878bb92c6 [4] Patch Testing Script: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/78837
Change-Id: I490da8b95aee9579546971e58ab2c4afd64c5997 Signed-off-by: Malik Akbar Hashemi Rafsanjani <malikrafsan@meta.com>
show more ...
|
#
d033fd17 |
| 13-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Remove sanitizer check
It's not clear how sanitizers pass CI without this, but lets get CI unbroken and just keep moving forward.
Change-Id: Ic88faf4688d4a5a71c0dddc21d36fa782b333a1e Signed-off-by:
Remove sanitizer check
It's not clear how sanitizers pass CI without this, but lets get CI unbroken and just keep moving forward.
Change-Id: Ic88faf4688d4a5a71c0dddc21d36fa782b333a1e Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
e60300ae |
| 23-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Break out sse into a compile unit
Verify similar to beb96b0 Break out websockets
Break out the SSE functions into a separate compile unit. This allows the SSE sockets in beast to be compiled separ
Break out sse into a compile unit
Verify similar to beb96b0 Break out websockets
Break out the SSE functions into a separate compile unit. This allows the SSE sockets in beast to be compiled separately, which significantly reduces the overall compile time by a few seconds. Code is identical with the exceptions of minor header definitions to convert header-only to compile unit.
Change-Id: I5aae4f17cbd2badf75b3e0bb644a2309f6300663 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
27f5ecf7 |
| 09-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Make code compile with latest clang
The latest clang and boost include a number of warnings that need to be explicitly handled to get code to compile. Namely: -Wno-c++26-extensions given we use some
Make code compile with latest clang
The latest clang and boost include a number of warnings that need to be explicitly handled to get code to compile. Namely: -Wno-c++26-extensions given we use some parts of c++26 -Wno-c++23-extensions out of consistency (warning isn't yet needed). -Wno-missing-include-dirs, because without it nghttp2 fails to find a missing include dir (used for windows vs linux handling) which is expected.
Change-Id: I28eda6662c95c331fffc4e3bb9c415b7947520b9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
bb1c7d30 |
| 09-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Break out dbus utilities into compile unit
ClangBuildAnalyzer shows that each of these dbus calls is relatively expensive to compile, so put them in their own compile unit so they can be compiled se
Break out dbus utilities into compile unit
ClangBuildAnalyzer shows that each of these dbus calls is relatively expensive to compile, so put them in their own compile unit so they can be compiled separately.
Tested: Redfish service validator passes
Change-Id: Ia383611182d8bc93c125248c4196898cb51fd807 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
beb96b0b |
| 09-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Break out websockets
When running clang build analyzer it shows that one of the largest templates in the Redfish compile unit (which is also the slowest compile unit) is actually the beast websocket
Break out websockets
When running clang build analyzer it shows that one of the largest templates in the Redfish compile unit (which is also the slowest compile unit) is actually the beast websocket instantiations, taking about 6 seconds to compile on their own.
Luckily, the websocket layer is already split into Websocket and WebsocketImpl classes that we inherited from crow. Unfortunately, crow puts these two classes into the same file. So.
1. Move the WebSocketImpl class into its own header. 2. Move the websocket() upgrade routes in the websocket routing rule into their own compile unit to take advantage of only needing WebsocketImpl in this compile unit.
Tested: Drops build time by several seconds depending on what other level of optimizations are present (1:15 -> 1:00)
[1] https://github.com/aras-p/ClangBuildAnalyzer
Change-Id: Ia0445eae4a793bb4ccb28136f30d2a05662c529c Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
b5edf03c |
| 09-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Sort compiler args
For all of our -Wno-* compiler args, sort them alphabetically.
Tested: Code compiles.
Change-Id: I119a8107aa5629fdc4b8c0d535a04a4c58be96ce Signed-off-by: Ed Tanous <etanous@nvid
Sort compiler args
For all of our -Wno-* compiler args, sort them alphabetically.
Tested: Code compiles.
Change-Id: I119a8107aa5629fdc4b8c0d535a04a4c58be96ce Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
1e4bc6ff |
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I76fbfada6f32c42209409e46aaa02b03b106416b Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
#
2405091d |
| 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I8791a2ead41116fb1fe087de7f3825a9482ec863 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
#
5d92fffc |
| 28-Jan-2025 |
rohitpai <rohitpai77@gmail.com> |
Move error code utils into new file
Error code utils can be used for aggregating error responses from multiples responses including use case for managing separate route handlers for OEM namespace
T
Move error code utils into new file
Error code utils can be used for aggregating error responses from multiples responses including use case for managing separate route handlers for OEM namespace
Tests Units tests are passing.
Change-Id: I2223d41fb318c0276de1ca64dd3e841bb988d902 Signed-off-by: rohitpai <rohitpai77@gmail.com>
show more ...
|
#
6c038f26 |
| 14-Jan-2025 |
Ed Tanous <etanous@nvidia.com> |
Roll out error message utils
This code should really be in a cpp/hpp file, not in a generated python script. The python script housed this temporarily to allow us to generate the registries. It's
Roll out error message utils
This code should really be in a cpp/hpp file, not in a generated python script. The python script housed this temporarily to allow us to generate the registries. It's time to roll it out.
Tested: Message registries generate successfully on GET. Redfish service validator passes.
Change-Id: I7aca2d0a7fac6d530511421b667ff732617df61e Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
5e2f0997 |
| 02-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Static link boost
We don't use the majority of the boost libraries we pull in. Static link them.
Tested: Code compiles.
Change-Id: Iccd02331abfb7eaf73f2c28c73b5b7cf810efa85 Signed-off-by: Ed Tano
Static link boost
We don't use the majority of the boost libraries we pull in. Static link them.
Tested: Code compiles.
Change-Id: Iccd02331abfb7eaf73f2c28c73b5b7cf810efa85 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
56431b29 |
| 03-Dec-2024 |
Alexander Hansen <alexander.hansen@9elements.com> |
dbus event subscriptions: test dbus_log_watcher
Currently that code is still unfinished, but we can already define some trivial testcases.
The main result of this function is populating EventLogObj
dbus event subscriptions: test dbus_log_watcher
Currently that code is still unfinished, but we can already define some trivial testcases.
The main result of this function is populating EventLogObjectsType.
Tested: Unit tests pass.
Change-Id: I2e23147190be33192d41176413c16cd98c7bfd81 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
#
04adfbca |
| 27-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Apply meson format
Apply "meson format" using command to fix minor violations in alphabetical lists and comma locations that have snuck in.
Tested: Code compiles.
Change-Id: Ie44c95a10f99573c3732b
Apply meson format
Apply "meson format" using command to fix minor violations in alphabetical lists and comma locations that have snuck in.
Tested: Code compiles.
Change-Id: Ie44c95a10f99573c3732b24a71668ebd9561e9e6 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
6e1a52fa |
| 15-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix setting gateways
There's a number of conditions in setting gateways that don't work properly. Specifically, one of the issues is setting a gateway on an address that already exists. It returns
Fix setting gateways
There's a number of conditions in setting gateways that don't work properly. Specifically, one of the issues is setting a gateway on an address that already exists. It returns a PropertyValueConflict error on Ipv4Addresses/1/Gateway with Ipv4Addresses/1/Gateway
Obviously an address can't conflict with itself, so this is wrong.
To address this, move the gateway setting and selection code into a routine outside of the main loop, after all the gateways are accounted for, and so we can treat them separately.
Tested; PATCH to an existing ip address works, and no longer returns the error.
More test cases likely needed.
Change-Id: I0339e02fc27164337416637153d0b0f744b64ad8 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
81ee0e74 |
| 20-Dec-2024 |
Chandramohan Harkude <Chandramohan.harkude@gmail.com> |
Update Submit Test event feature to send custom data
Changes Added : Updated the submit test event feature to send test data as per spec
https://www.dmtf.org/sites/default/files/standards/documents
Update Submit Test event feature to send custom data
Changes Added : Updated the submit test event feature to send test data as per spec
https://www.dmtf.org/sites/default/files/standards/documents/ DSP2046_2019.1.pdf
Testing :
Tested sending custom test data and same data received at the event listener Change-Id: I2c2363a676aafd39c121c9fe4e16402c0f5961e2 Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
show more ...
|
#
a8a5bc1b |
| 02-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Generate heartbeat registry
Generate the heartbeat registry, and adjust the #includes of the other generated registries.
Tested: Redfish service validator succeeds.
Change-Id: Iedbf1ae8dc655966669
Generate heartbeat registry
Generate the heartbeat registry, and adjust the #includes of the other generated registries.
Tested: Redfish service validator succeeds.
Change-Id: Iedbf1ae8dc6559666691f1feb71af08e856d5c80 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
847deee3 |
| 02-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Generate resource event
Generate Resource event registry
Tested: On last patch of series. No behavior changes.
Change-Id: I924919db0e7fbde8ed698de6b59b86f788de9708 Signed-off-by: Ed Tanous <etano
Generate resource event
Generate Resource event registry
Tested: On last patch of series. No behavior changes.
Change-Id: I924919db0e7fbde8ed698de6b59b86f788de9708 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
f175c280 |
| 02-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Generate task event
Generate the task event registry.
Tested: on last patch of series
Change-Id: I55b7914978f7a1d637cad6dfae398949af0a7107 Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
#
60b8de36 |
| 18-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Disable clang-19 check that doesn't yet pass
Change-Id: Ia88131173ae51284c6e6cbc0149bc6029cabfe59 Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
#
8274eb11 |
| 18-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Simplify journal paging
sd-journal has its own paging mechanisms for generating and seeking to unique ids. Ironically they look fairly similar to what we've implemented here, but they have more con
Simplify journal paging
sd-journal has its own paging mechanisms for generating and seeking to unique ids. Ironically they look fairly similar to what we've implemented here, but they have more content, presumably because they can use internal implementation details to do paging.
This commit switches all sd-journal paging to use cursors. Functionally this changes the odata.id from being a concatenated string into being a base64 encoded identifier that is much longer.
The end result is vastly simplified code.
Tested: check journal script [1] succeeds
[1] https://github.com/openbmc/openbmc-tools/blob/master/check_journal/check_journal
Script runs to completion and shows all tests passed.
Change-Id: Ia49fbfc272bef6dfbe1ea45a8d993dc785041659 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
90fcc26a |
| 11-Nov-2024 |
Jayanth Othayoth <ojayanth@gmail.com> |
boost version 1.86 support
Based on Boost 1.86 documentation https://www.boost.org/users/history/version_1_86_0.html Process: Turned v2 into a compile library.
Conditionally include
boost version 1.86 support
Based on Boost 1.86 documentation https://www.boost.org/users/history/version_1_86_0.html Process: Turned v2 into a compile library.
Conditionally included the Boost Process library for versions >= 1.86 to fix the following linker errors:
``` undefined reference to `boost::process::v2::error::get_utf8_category() undefined reference to `boost::process::v2::error::get_collect2() ```
Tested: verified build
Change-Id: I4f503722e81f7fb0a0c00271cbe2f1845255a3df Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>
show more ...
|
#
b26ff34d |
| 22-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Break out dbus telemetry watcher
EventServiceManager is too large. Make it smaller by breaking out the dbus log watching mechanisims into a class.
No changes are made, with the exception of the ad
Break out dbus telemetry watcher
EventServiceManager is too large. Make it smaller by breaking out the dbus log watching mechanisims into a class.
No changes are made, with the exception of the addition of sendTelemetryReportToSubs to allow sending events from outside the class, without needing the subscription list, which should be private.
Tested: On last patch in series.
Change-Id: Idf17886971ddff5dddeabeeb6ae44e733063b909 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
2185ddea |
| 22-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Break out filesystem watcher into separate file
EventServiceManager is very large. Break out two of the functions, and the global variables into a separate compile unit.
Code is copied as-is, with
Break out filesystem watcher into separate file
EventServiceManager is very large. Break out two of the functions, and the global variables into a separate compile unit.
Code is copied as-is, with no improvements made in this patch.
Tested: At end of series.
Change-Id: I89a3605885e5bafa86a6083f1ff8c5db3bb8daf9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|