| 96a194c4 | 18-Aug-2025 |
Ed Tanous <ed@tanous.net> |
Implement modernize-use-ranges
This tidy check can transform code to use std::ranges. Enable the check, apply the fixes it proposes.
Tested: Redfish service validator passes in qemu
Change-Id: I3
Implement modernize-use-ranges
This tidy check can transform code to use std::ranges. Enable the check, apply the fixes it proposes.
Tested: Redfish service validator passes in qemu
Change-Id: I3f21b27d3d30277f71b9c8a2c584a22bc16865e9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| c42eef2f | 21-Nov-2025 |
Myung Bae <myungbae@us.ibm.com> |
Fix bmcweb daemon loglevel as in meson opt
The commit[1] caused to set the loglevel to INFO even for the daemon. This commit is to use the loglevel as defined in meson.option.
Tested: - Run bmcweb
Fix bmcweb daemon loglevel as in meson opt
The commit[1] caused to set the loglevel to INFO even for the daemon. This commit is to use the loglevel as defined in meson.option.
Tested: - Run bmcweb daemon and check the log entries - Try 'bmcweb loglevel <lvl>'
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/84056
Change-Id: Ic83ff63796cef5bc6324882921b66fc0a0965de1 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| 730b00f4 | 22-Oct-2025 |
Ed Tanous <etanous@nvidia.com> |
Remove deprecated openssl call
Openssl docs show this as deprecated in OpenSSL 1.1.0, which came out in 2019. It is now just automatically set. OpenSSL =>1.0.2 is deprecated, which would be the only
Remove deprecated openssl call
Openssl docs show this as deprecated in OpenSSL 1.1.0, which came out in 2019. It is now just automatically set. OpenSSL =>1.0.2 is deprecated, which would be the only OpenSSL to use this. OpenBMC is using 3.0.8 OpenSSL, so this can be removed.
[1] https://manpages.debian.org/testing/libssl-doc/SSL_CTX_set_ecdh_auto.3ssl.en.html
Change-Id: I0aab0b00e39dc5cbbf9c6facddf338bd99c4ae67 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 0cb2bf3d | 19-Aug-2025 |
Ed Tanous <ed@tanous.net> |
Break out x509 generation
This function is a little long, and deeply nested which makes the cleanup a little confusing. Break out one method into its own function.
Tested: bmcweb starts, and certi
Break out x509 generation
This function is a little long, and deeply nested which makes the cleanup a little confusing. Break out one method into its own function.
Tested: bmcweb starts, and certificates generate correctly.
Change-Id: I315c172ae17e1efa9ba049c4fb60a9c369c6415b Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 2ca56194 | 16-Sep-2025 |
Ed Tanous <etanous@nvidia.com> |
Add back include cleaner
Include cleaner helps the code review process. Add it back, by ignoring some of the more recent boost headers.
Change-Id: I6eddd0e67cd9f469c93fbb344cc1ab46231e450f Signed-
Add back include cleaner
Include cleaner helps the code review process. Add it back, by ignoring some of the more recent boost headers.
Change-Id: I6eddd0e67cd9f469c93fbb344cc1ab46231e450f Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| e5dd4999 | 17-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 ...
|
| 55385c70 | 06-Aug-2025 |
Ed Tanous <etanous@nvidia.com> |
Clean up CLI naming
Now that all applications run through one CLI, names like run() don't make a lot of sense. Update names to match the new reality, make bmcweb with no arguments launch the webser
Clean up CLI naming
Now that all applications run through one CLI, names like run() don't make a lot of sense. Update names to match the new reality, make bmcweb with no arguments launch the webserver once again.
Tested: bmcweb boots. Change-Id: I011b57507872a9518a9c470b58779805504c7293 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| cf64ce61 | 01-Oct-2025 |
Ed Tanous <ed@tanous.net> |
Fix lifetime issue and shutdown issue
If bmcweb isn't running, the existing code stalls because io.stop() is never called. Fix that, as well as make loglevel capture by value in the lambda.
Tested
Fix lifetime issue and shutdown issue
If bmcweb isn't running, the existing code stalls because io.stop() is never called. Fix that, as well as make loglevel capture by value in the lambda.
Tested: Inspection only.
Change-Id: I61c5ea323d58b984c5b7356a6f2637d2a953a0b1 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 8de05425 | 06-Aug-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
merge binaries bmcweb and bmcwebd
Solution to reduce compressed rofs size.
Conclusion: The compiler is better at reducing binary size than the rofs compression is at deduplicating sections of alrea
merge binaries bmcweb and bmcwebd
Solution to reduce compressed rofs size.
Conclusion: The compiler is better at reducing binary size than the rofs compression is at deduplicating sections of already compiled binaries, in the case of bmcweb.
What's been changed?
`bmcweb` and `bmcwebd` have been merged into `bmcweb`. The webserver can be started with `bmcweb daemon`.
Commands used to check size
``` wc -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs
wc -c build/s8030/tmp/deploy/images/s8030/image-rofs
xz -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/rootfs/bin/bmcweb | wc -c
xz -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/rootfs/usr/libexec/bmcwebd | wc -c ```
Base commit used for testing: `2169e896448fac1b59c57516b381492e4b2161c7`
Results:
Before patch: ``` image-rofs compressed size: 25526272 build/s8030/tmp/work/s8030-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs rootfs 25526272 build/s8030/tmp/deploy/images/s8030/image-rofs bmcweb cli 95424 bmcwebd 1016004 ```
After patch: ``` image-rofs compressed size: 25477120 build/s8030/tmp/work/s8030-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs rootfs 25477120 build/s8030/tmp/deploy/images/s8030/image-rofs bmcweb cli 96 bmcwebd 1059556 ```
Calculating the difference in compressed rofs
25526272 - 25477120 = 49152
which is around 0.2% in terms of the total image but around 4.6% in terms of bmcwebd binary.
Tested: on yosemite4 qemu
`bmcweb` cli interactions work as before.
``` root@yosemite4:~# bmcweb --help BMCWeb CLI Usage: bmcweb [OPTIONS] SUBCOMMAND
Options: -h,--help Print this help message and exit
Subcommands: loglevel Set bmcweb log level daemon Run webserver root@yosemite4:~# bmcweb loglevel info <6>[webserver_cli.cpp:97] logging level changed to: INFO root@yosemite4:~# bmcweb loglevel level is required Run with --help for more information. root@yosemite4:~# bmcweb loglevel debug <6>[webserver_cli.cpp:97] logging level changed to: DEBUG ```
systemd service still working ``` root@yosemite4:~# systemctl status bmcweb ● bmcweb.service - Start bmcweb server Loaded: loaded (/usr/lib/systemd/system/bmcweb.service; enabled; preset: enabled) Active: active (running) since Thu 2025-04-03 13:35:45 PDT; 5 months 15 days ago ```
Change-Id: Ib5dde568ac1c12c5414294ed96404c6a69417424 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 3577e446 | 19-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 ...
|
| 834d99ba | 03-Aug-2025 |
Myung Bae <myungbae@us.ibm.com> |
Fix handling of ssl_key_handler for WebUI
The previous commit 90cd2e1 [1] causes WebUI to fail to load and connect. It is because a global static var (`hasWebuiRoute`) is instantiated per compile u
Fix handling of ssl_key_handler for WebUI
The previous commit 90cd2e1 [1] causes WebUI to fail to load and connect. It is because a global static var (`hasWebuiRoute`) is instantiated per compile unit and it ends up causing the inconsistency of the value of it.
Tested: - Verify WebUI to load successful - Redfish Service Validator passes
[1] https://github.com/openbmc/bmcweb/commit/90cd2e1d2e2228b0c575c9a3b6b2dc75eac9eb68
Change-Id: I09c3a9a831528e25c09299b0ee15993974d94d88 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| 39fe3af2 | 17-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 ...
|
| 3b28fa2b | 23-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Rearrange features
The backends are different things compared to generic code. Today, these are all included in the /include folder, but it's not very clear what options control which backends, or
Rearrange features
The backends are different things compared to generic code. Today, these are all included in the /include folder, but it's not very clear what options control which backends, or how things map together. This also means that we can't separate ownership between the various companies.
This commit is a proposal to try to create a features folder, separated by the code for the various backends, to make interacting with this easier. It takes the form
features/<option name>/files.hpp features/<option name>/files_test.hpp
Note, redfish-core was already at top level, and contains lots of code, so to prevent lots of conflicts, it's simply symlinked into that folder to make clear that it is a backend, but not to move the implementation and cause code conflicts.
Tested: Unit tests pass. Code compiles.
Change-Id: Idcc80ffcfd99c876734ee41d53f894ca5583fed5 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 90cd2e1d | 18-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
ssl_key_handler: enable verify_peer for Meta TLS mode
Meta does not use TLSStrict, due to wanting optional password authentication, but does need mTLS support. 463a0e3 broke this functionality in o
ssl_key_handler: enable verify_peer for Meta TLS mode
Meta does not use TLSStrict, due to wanting optional password authentication, but does need mTLS support. 463a0e3 broke this functionality in order to fix asking for client certificates on the webui side. Revert to the old behavior only if the webui is not installed.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Ed Tanous <etanous@nvidia.com> Change-Id: Iae2e62faa5e8341c0422ab0521dea340d4e927b2
show more ...
|
| 82b286fb | 06-May-2025 |
Ed Tanous <ed@tanous.net> |
Remove implicit conversions
Since 2020, nlohmann has recognized that implicit conversions to and from json are an issue. Many bugs have been caused at both development time and runtime due to unexp
Remove implicit conversions
Since 2020, nlohmann has recognized that implicit conversions to and from json are an issue. Many bugs have been caused at both development time and runtime due to unexpected implicit conversions from json to std::string/int/bool. This commit disables implicit conversions using JSON_USE_IMPLICIT_CONVERSIONS [1]. This option will become the default in the future. That comment was written 3 years ago at this point, so we should prepare.
Tested: Redfish service validator passes.
[1] https://json.nlohmann.me/api/macros/json_use_implicit_conversions/ Change-Id: Id6cc47b9bbf8889e4777fd6d77ec992f3139962c Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 6136e852 | 14-May-2025 |
Myung Bae <myungbae@us.ibm.com> |
Fix inconsistent persistent subscription load
When BMC reboots or bmcweb restarts, the persistent subscriptions may not be loaded properly but they may still be in the file.
Later on if BMC reboots
Fix inconsistent persistent subscription load
When BMC reboots or bmcweb restarts, the persistent subscriptions may not be loaded properly but they may still be in the file.
Later on if BMC reboots or bmcweb restarts, those unloaded subscriptions may potentially and unexpectedly cause the reload into the active subscriptions.
The key cause is due to the compiler evaluation order for the function arguments where the last argument is evaluated and pushed into the stack first. As the result, the first argument `newSub->id` may already be invalid after the last argument `std::make_shared<>(std::move(*newSub))` is evaluated and pushed into the parameter stack [1]. This may cause the failure of `subscriptionsConfigMap.emplace()` and results in the missing instantiation of the persistent subscriptions.
Tested: - Create many subscriptions - GET subscriptions ``` curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions { "@odata.id": "/redfish/v1/EventService/Subscriptions", "@odata.type": "#EventDestinationCollection.EventDestinationCollection", "Members": [ { "@odata.id": "/redfish/v1/EventService/Subscriptions/1187258741" }, ... { "@odata.id": "/redfish/v1/EventService/Subscriptions/949306789" } ], "Members@odata.count": 6, "Name": "Event Destination Collections" } ``` - Restart bmcweb - GET subscriptions again and check whether they are the same. - Sometimes, none or only a few may be instantiated like
``` curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions { "@odata.id": "/redfish/v1/EventService/Subscriptions", "@odata.type": "#EventDestinationCollection.EventDestinationCollection", "Members": [ { "@odata.id": "/redfish/v1/EventService/Subscriptions/1187258741" } ], "Members@odata.count": 1, "Name": "Event Destination Collections" } ``` - However, the file `/home/root/bmcweb_persistent_data.json` still has the old entries.
- Also verify Redfish Service Validator to pass
[1] https://github.com/openbmc/bmcweb/blob/0c814aa604b36cff01b495f9c335f981c7be83be/include/persistent_data.hpp#L184
Change-Id: Ia8a3c1bd3d4f4e479b599077ba8f26e47f8d22ef Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| 761cdfa5 | 15-Apr-2024 |
Ed Tanous <ed@tanous.net> |
Fix more moves
This commit is fixing coverity issues reported for copy in stead of move.
Tested: redfish service validator passes
Change-Id: I97e755830f28390e7c4bfaba6f3f947898a21423 Signed-off-by
Fix more moves
This commit is fixing coverity issues reported for copy in stead of move.
Tested: redfish service validator passes
Change-Id: I97e755830f28390e7c4bfaba6f3f947898a21423 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
| 69addd98 | 07-Apr-2025 |
Ben Peled <bpeled@nvidia.com> |
ssl: Switch to use_certificate_chain for certificate loading
Replace use_certificate with use_certificate_chain to properly handle both single certificates and certificate chains. This allows loadin
ssl: Switch to use_certificate_chain for certificate loading
Replace use_certificate with use_certificate_chain to properly handle both single certificates and certificate chains. This allows loading and sending the complete certificate chain during TLS handshake, improving client validation. Tested with generate_user_auth.py
Change-Id: I8ef1665307ee2e401901a662ac9ee6df7b50937d Signed-off-by: Ben Peled <bpeled@nvidia.com>
show more ...
|
| 177612aa | 14-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Add async_method_call to utility
Adding async_method_call in dbus utility gives us a place where we can intercept method call requests from dbus to potentially add logging/caching.
An example of lo
Add async_method_call to utility
Adding async_method_call in dbus utility gives us a place where we can intercept method call requests from dbus to potentially add logging/caching.
An example of logging is in the later commit: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/78265/
We already do this for setProperty, this moves the method calls to follow a similar pattern.
Tested: Redfish service validator passes.
Change-Id: I6d2c96e2b6b6a023ed2138106a55faebca161592 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| c1a75ebc | 03-Jan-2025 |
rohitpai <rohitpai77@gmail.com> |
OEM Route Handling Infrastructure
Goal of the MR is to provide infrastructure support in bmcweb to manage the OEM fragment handling separately. OEM schema are vendor defined and per DMTF resource we
OEM Route Handling Infrastructure
Goal of the MR is to provide infrastructure support in bmcweb to manage the OEM fragment handling separately. OEM schema are vendor defined and per DMTF resource we could have multiple vendor defined OEM schema to be enabled.
The feature allows registration of route handler per schema per OEM namespace. Example ``` REDFISH_SUB_ROUTE<"/redfish/v1/Managers/<str>/#/Oem/OpenBmc">(service, HttpVerb::Get)(oemOpenBmcCallback); REDFISH_SUB_ROUTE<"/redfish/v1/Managers/<str>/#/Oem/Nvidia">(service, HttpVerb::Get)(oemNidiaCallback); ```
We can have separate vendor defined route handlers per resource. Each of these route handlers can populate their own vendor specific OEM data. The OEM code can be better organized and enabled/disabled as per the platform needs. The current MR has the code changes related to handling GET requests alone. The feature only supports requests where the response payload is JSON.
Tests - All UT cases passes - New UT added for RF OEM router passes - Service Validator passes on qemu - GET Response on Manager/bmc resource contains the OEM fragment
``` curl -c cjar -b cjar -k -X GET https://127.0.0.1:2443/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager",
"Oem": { "OpenBmc": { "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc", "@odata.type": "#OpenBMCManager.v1_0_0.Manager", "Certificates": { "@odata.id": "/redfish/v1/Managers/bmc/Truststore/Certificates" } } },
"UUID": "40575e98-90d7-4c10-9eb5-8d8a7156c9b9" } ```
Change-Id: Ic82aa5fe760eda31e2792fbdfb6884ac3ea613dc Signed-off-by: Rohit PAI <rohitpai77@gmail.com>
show more ...
|
| cf9085ac | 24-Feb-2025 |
rohitpai <ropai@nvidia.com> |
Add support for systemd service watchdog
Systemd has support for enabling service level watchdog. The MR enables this support for bmcweb daemon. Request for watchdog monitor from systemd is added in
Add support for systemd service watchdog
Systemd has support for enabling service level watchdog. The MR enables this support for bmcweb daemon. Request for watchdog monitor from systemd is added in bmcweb.service.in. From the event loop a timer is registered to kick the watchdog periodically
The default watchdog timeout is set at 120 seconds and the timer is set to kick it at a quarter of the interval (every 30 seconds). This timeout is set somewhat arbitrarily based on the longest blocking call that could occur and still give a valid HTTP response. Suspect lower values could work equally as well.
Benefits of Service Watchdog - Bmcweb route handlers should not make any blocking IO calls which block the event loop for considerable amount of time and slowdown the response of other URI requests in the queue. Watchdog can help to detect such issues. - Watchdog can help restart the service if any route handler code has uncaught bugs resulting from system API errors (this is in theory, currently we don't have any use case).
Tested 1. UT is passing 2. Service validator is passing 3. Fw upgrade POST requests are working
Change-Id: If62397d8836c942fdcbc0618810fe82a8b248df8 Signed-off-by: rohitpai <ropai@nvidia.com> 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 ...
|
| 796ba93b | 01-Aug-2020 |
Ed Tanous <ed@tanous.net> |
Enable HTTP additional sockets
This commit attempts to add the concept of an SSL detector from beast, and add the capability into bmcweb. This allows directing multiple socket files to the bmcweb i
Enable HTTP additional sockets
This commit attempts to add the concept of an SSL detector from beast, and add the capability into bmcweb. This allows directing multiple socket files to the bmcweb instance, and bmcweb will automatically sort out whether or not they're SSL, and give the correct response. This allows users to plug in erroneous urls like "https://mybmc:80" and they will forward and work correctly.
Some key design points: The HTTP side of bmcweb implements the exact same http headers as the HTTPS side, with the exception of HSTS, which is explicitly disallowed. This is for consistency and security.
The above allows bmcweb builds to "select" the appropriate security posture (http, https, or both) for a given channel using the FileDescriptorName field within a socket file. Items ending in: both: Will support both HTTPS and HTTP redirect to HTTPS https: Will support HTTPS only http: will support HTTP only
Given the flexibility in bind statements, this allows administrators to support essentially any security posture they like. The openbmc defaults are: HTTPS + Redirect on both ports 443 and port 80 if http-redirect is enabled
And HTTPS only if http-redirect is disabled.
This commit adds the following meson options that each take an array of strings, indexex on the port. additional-ports Adds additional ports that bmcweb should listen to. This is always required when adding new ports.
additional-protocol Specifies 'http', 'https', or 'both' for whether or not tls is enfoced on this socket. 'both' allows bmcweb to detect whether a user has specified tls or not on a given connection and give the correct response.
additional-bind-to-device Accepts values that fill the SO_BINDTODEVICE flag in systemd/linux, and allows binding to a specific device
additional-auth Accepts values of 'auth' or 'noauth' that determines whether this socket should apply the normal authentication routines, or treat the socket as unauthenticated.
Tested: Previous commits ran the below tests. Ran the server with options enabled. Tried: ``` curl -vvvv --insecure --user root:0penBmc http://192.168.7.2/redfish/v1/Managers/bmc * Trying 192.168.7.2:80... * Connected to 192.168.7.2 (192.168.7.2) port 80 (#0) * Server auth using Basic with user 'root' > GET /redfish/v1/Managers/bmc HTTP/1.1 > Host: 192.168.7.2 > Authorization: Basic cm9vdDowcGVuQm1j > User-Agent: curl/7.72.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 301 Moved Permanently < Location: https://192.168.7.2 < X-Frame-Options: DENY < Pragma: no-cache < Cache-Control: no-Store,no-Cache < X-XSS-Protection: 1; mode=block < X-Content-Type-Options: nosniff < Content-Security-Policy: default-src 'none'; img-src 'self' data:; font-src 'self'; style-src 'self'; script-src 'self'; connect-src 'self' wss: < Date: Fri, 08 Jan 2021 01:43:49 GMT < Connection: close < Content-Length: 0 < * Closing connection 0 ```
Observe above: webserver returned 301 redirect. webserver returned the appropriate security headers webserver immediately closed the connection.
The same test above over https:// returns the values as expected
Loaded the webui to test static file hosting. Webui logs in and works as expected.
Used the scripts/websocket_test.py to verify that websockets work. Sensors report as expected.
Change-Id: Ib5733bbe5473fed6e0e27c56cdead0bffedf2993 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
| 504af5a0 | 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
| 9838eb20 | 29-Jan-2025 |
Ed Tanous <etanous@nvidia.com> |
Move io context to singleton
The way we pass around io contexts is somewhat odd. Boost maintainers in slack recommended that we just have a method that returns an io context, and from there we can
Move io context to singleton
The way we pass around io contexts is somewhat odd. Boost maintainers in slack recommended that we just have a method that returns an io context, and from there we can control this (context link lost years ago).
The new version of clang claims the singleton pattern of passing in an io_context pattern is a potential nullptr dereference. It's technically correct, as calling the singleton without immediately initializing the io context will lead to a crash.
This commit implements what the boost maintainers suggested, having a single method that returns "the context" that should be used. This also helps to maintain isolation, as some pieces are no longer tied directly to dbus to get their reactor.
Tested: WIP
Change-Id: Ifaa11335ae00a3d092ecfdfb26a38380227e8576 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|