| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
This fixes a bug where the webserver requests a resource that doesn't
exist, which triggers a www-authenticate, and causes the browser to
show the wrong thing.
Change-Id: I65643a50eb269b0a7c76dcb0c65c4e7db2165c88
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
| |
This commit is the beginings of attempting to transition away from
crow, and toward boost::beast. Unit tests are passing, and
implementation appears to be slightly faster than crow.
Change-Id: Ic8d946dc7a04f514c67b1098f181eee1ced69171
|
|
|
|
|
|
|
|
|
| |
These functions are not yet used, but will be required by at least two upcoming
patchsets. This functionality has been cut out from Configuration patchset for
easier merge without having to wait for that commit.
Change-Id: Ibe5d5cefd874d4a2d896b42a2b7cfc17480f3c5a
Signed-off-by: Kowalski, Kamil <kamil.kowalski@intel.com>
|
|
|
|
|
|
|
|
| |
With the change to entity manager, move the thermal componets to the
proper inventory manager interfaces
Change-Id: I520e65b1df53ca8d3fbc12253882ae69b708bbbf
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patchset moves bmcweb from using boost-dbus over entirely to
sdbusplus. This has some nice improvements in performance (about 30%
of CPU cycles saved in dbus transactions), as well as makes this
project manuver closer to the upstream way of thinking.
Changes to bmcweb are largely ceremonial, and fall into a few
categories:
1. Moves async_method_call instances to the new format, and deletes any
use of the "endpoint" object in leiu of the sdbusplus style interface
2. sdbus object_path object doesn't allow access to the string
directly, so code that uses it moves to explicit casts.
3. The mapbox variant, while attempting to recreate boost::variant,
misses a T* get<T*>() method implementation, which allows using variant
without exceptions. Currently, there is an overload for
mapbox::get_ptr implementation which replecates the functionality.
Tested by: Booting the bmcweb on a target, iterating through redfish
basic phosphor-webui usage, and websockets usage
Change-Id: I2d95882908d6eb6dba00b9219a221dd96449ca7b
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
| |
Spelling errors found using github.com/lucasdemarchi/codespell
A tool to fix common misspellings.
This tool is licensed under GNU General Public License, version 2.
Change-Id: Iaac459596247a9063350a129d0458ebe0c0e39ce
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
| |
Needed a space.
Change-Id: Ie44a1feae140b1e6fd278afa0d07295d89f7ace2
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Spelling errors found using github.com/lucasdemarchi/codespell
A tool to fix common misspellings.
This tool is licensed under GNU General Public License, version 2.
Change-Id: Id065de1812c3eb383992533efd99b5079b74729d
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
| |
Change-Id: I9dc3173ecc4f661e526426e8044ccacfac5a263e
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
-redfish.hpp add thermal node installation
-thermal.hpp add thermal schema for chassis
-sensor.hpp add support for retrieving:
temperature, and fan
Verification:
-web server: no regression
-RSV: pass
-build on x86 and ASPEED
This patchset builds on Dawids original.
Change-Id: Ia8e40edff3c722fa02a161248bcdf602e36e3e62
Signed-off-by: Lewanczyk, Dawid <dawid.lewanczyk@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
And use external project instead. This should make it easier to keep
our systems up to date with yocto.
Change-Id: Id2c9f3e474eebf2194eaf58b0c572f7a1421def6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a python script that should be use to generate error_messages.cpp na .hpp
files. These files as are not subject to change in a dynamic manner, should be
regenerated only when MessageRegistry changes.
Tested on x86 Ubuntu VM and Wolfpass platform:
a) No regression in BMCWeb interface
- Went through WebUI observed no changes in functionality
b) No regression in Redfish functionality
- Went through nodes and observed no changes in functionality
- Sessions now return error messages in addition to HTTP codes
Change-Id: I4aba9ee247b6cd2c46a9c158d14bdc7546e9b11b
Signed-off-by: Kowalski, Kamil <kamil.kowalski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
VLAN object added to EthernetInterface schema which is visible when Ethernet Interface is a VLAN interface.
Does not break anything on Wolfpass or x86. BMCWeb working
Change-Id: I965c484e6e120568db4e6542d2b48f8a7fb54fd0
Signed-off-by: Kowalski, Kamil <kamil.kowalski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit provides Schemas for:
* Single Eth Interface (GET)
* Eth Interface Collection (GET)
Both are using EthernetProvider, which delivers data
available from xyz.openbmc_project.Network
It was tested:
* Regression (no regression in web server behaviour)
* Memory Leaks (no leaks detected via valgrind)
* Compiling multiple arch (x86, ASPEED)
* Service Validator pass all available schemas
Change-Id: Idee321cb294f48b59f7740512bbe416cf10236c0
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
| |
directory includes need to manage both the routes, just just the one
ending in slash
Change-Id: I1ba0e9021b212e88861aa720bb5a9d7610b72a9c
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes the authentication middleware attempt other auth
mechanisms if available from the user.
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Tested By: Phosphor webui launches and logs in. Redfish endpoints now
work with a cookie present.
Change-Id: I7c11d4b5eb3c32c8e2b9ba348b70a55bfb72bd4e
|
|
|
|
|
|
|
|
|
|
|
| |
Basic authentication is very slow by virtue of the fact that it has to
call into pam. THis commit rearranges the flow to accomplish 2 things.
1. If a non-basic auth mechanism is provided, prefer that.
2. Check the whitelist first, before attempting to authenticate the
user.
Change-Id: Icfe5a218c00a2aeb53acd1ab00bb8cc568424d1d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
| |
Use unique_ptr correctly to avoid seg faults from double freed objects.
Fixes the seg fault on shutdown that we've been seeing for a while.
Change-Id: I4372c3bf727d5cdd870805b3ecba7f446c9a1985
|
|
|
|
|
| |
Change-Id: Ibe3cdc2cd53470ccd437b1b6e21bc7dd29c4b85e
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
| |
This commit makes the webui more compatible with the dbus backend, and
cleans up the backend to support multiple concurrent transactions, as
well as support for the "enumerate" keyword.
Change-Id: I66144904b5c9b2ce7d1b1147cc80dfd356beb0bc
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
| |
Change-Id: I39e9ba84ab3464cf75b5bba82badb729525bf3b9
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
This increases the performance of the webserver quite a bit.
Change-Id: I20714d89163cf30c65afd18d16f4fd16c06824d5
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Role members needs to be an array, not an object
2. Fix accounts schema to use the new user manager
3. Remove "status" field hardcodes
4. Hardcode chassisType to rackmount for now
5. Work around bug in get sub routes
6. Add ID to SessionService Schema
Change-Id: Ibb13d6ace747ac028e840638868c3a01d65dedfa
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit:
* removes previous redfish_v1 Chassis implementation
* Adds Chassis and ChassisCollection implementation as Node way
* Adds Chassis Provider class for retrieving data from EntityManager
It was tested:
* Wolfpass run, to see if previous functionality was not broken
* Service Validator, which did not unveil any regression, and did
verified that implemented schemas are complient.
Change-Id: I75a9545a0abd8b85d6ce72329c523fc076affc28
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
|
|
|
|
|
|
|
| |
And enable LTO only for non debug builds
Change-Id: I3e5ea6fa88e5da3e9f8ab33a3e56355258025b9d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
| |
Make get url return a const std::string* instead of a copy. Also, make
the getSubroutes function modify strings in place rather than
construct new strings where possible
Change-Id: I68d8053a62abd8d907ecb6717e0f266eee4d09a8
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
| |
... and remove file spcific check for redfish $metadata. This allows
the $metadata to be pre-gzip compressed if we choose.
Change-Id: I697bd7f8a8f5dc1a7b448d699b2daf93a296c248
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This saves memory overall, and should lead to fewer runtime branches,
and more inlining of functions overall.
getPrivilegeIndex is now removed, as it is embedded into
getActivePrivilegeNames. oemPrivilegeBitset and basePrivilegeBitset
are now merged into a single privilegeBitset field
TestedBy: Running relevant unit tests, which pass, and verifying login
still functions
Change-Id: Iaa4189b37f39cf65fa95b72b95ed92d8826cab0d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
This reverts commit 6aa3262a915bd42a92858106c31ece8cde493821.
Change-Id: I59d74a8f435aa9e265706d555421e95ffc8f3d12
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Create char* overloads for the things that need it.
2. Fix up a couple errant moves
3. Use the gtest APIs for testing container membership, rather than sort
4. Move the index management to vector rather than map to avoid a lookup
5. Remove errant use of .at()
6. Move privilege comparison into the privilege class, in order to keep
the bitset implementation private. This removes the requirment on the
forward declaration of PrivilegeProvider, and the use of friend class
7. Remove unimplemented override strcutures. Feel free to add them
back once implemented
8. Make setSignlePrivilege return a code if the set failed
9. Remove the need for an extra construction of a blank privileges
object for things that require no privileges.
Tested by: updating unit tests with the appropriate APIs. Relevant
unit tests pass
Change-Id: Ie9cde003b6c865979b4cac086379d0a3473896ce
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
While not ideal for a real deployment, making crow "pretty print" the
json values aids in debug, and only introduces a mild performance
degredation.
TestedBy: checking /redfish/v1/ and verifying that it publishes
correctly
Change-Id: I9dbaa3a0500ef762ef4408852511b0e9b74cbd1f
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
... and replace with the nothrow equivalent of get_ptr
Change-Id: I2d2b83f757d06e8b088e62c6474003ca5cd53de5
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
Node version of the Manager and ManagerCollection implementation.
Change-Id: I693fa57add670fb0ecfc0cf0046e06142571c543
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|
|
|
|
|
|
|
|
|
| |
- added node version of the SessionService implementation
- added a default timeout member and a get timeout method
to the SessionStore class
Change-Id: I532080789b3d687208510f8b748402735ed888d8
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|
|
|
|
|
|
|
| |
Node version of the NetworkProtocol implementation.
Change-Id: I6f52dca4e530917a5b815a32f1222b481059aa23
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
- getSubroutes() is now a method of the Node class
- getSubroutes() is called only once per node at construction time,
not at each GET request
- template parameter removed from the Node class
Change-Id: Ie4eb8766717aae566c13c295458fe0dba8ab84c0
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
- privilege_registry.json has been removed
- PrivilegeProvider class has been removed
- default privileges for nodes are now hard-coded
- privilege overriding feature is not yet implemented
Change-Id: Ic9fdfa1c692c1abd26e339e2a8c702fc4aebd19f
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|
|
|
|
|
|
|
| |
Initial version moved to separate node.
Change-Id: I3fe4e2eb00bcb754ea81de0a0656f4de9eb9156c
Signed-off-by: Lewanczyk, Dawid <dawid.lewanczyk@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Redfish privilege authorization subsystem controlled by the
privilege_registy.json configuration file.
PropertyOverrides, SubordinateOverrides and ResourceURIOverrides
are not yet implemented.
Change-Id: I4d5670d557f4da172460ada3512e015830dab667
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
| |
Change-Id: If8a96107c4ec85947469a0b7d32d6cbf217516b2
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
The DEVELOPING file is intended to set expectations and requirements
around the behavior or the OpenBmc webserver. While not a complete
requirement list, it improves considerably upon the docs previously
available.
Change-Id: I0a7119017133aaf15874f9edab4967650e29dc63
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
| |
Enable LTO, strip unnecassary symbols from .dynsym,
use shared version of tinyxml2.
Change-Id: I1883926f47f4dd00c7499af2bf952baefbde0d4f
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Reimplemented persistent data file loading in no-throw approach
to avoid errors during startup when bmcweb_persistent_data.json
has been corrupted. Additionally this will allow to turn off all
exceptions in the project (removed try-catch).
Change-Id: I9bf863ebfd7ce9125d1e7e948f7ac739db94e009
Signed-off-by: Kowalski, Kamil <kamil.kowalski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Connection objects wheren't deleted in case the async_accept() function
returned an error.
Fix found in the upstream crow repo:
https://github.com/ipkn/crow/pull/205
Change-Id: I7d230c96a64cebf2b702ee58eac271bd0b989d3e
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
1. Remove extra copy in loading body
2. Add gif and ico to the supported list
3. Log an error if the system fails to look up a content-type
4. Remove commented out caching code
Change-Id: Ib079bb6f0eeacdcd60553af70b391e4b5150fb99
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
| |
Move roles and roles collection to new class based implementation
Change-Id: I70f39bf8289fb45483a1e7f2c4eb3dbc1c7a7090
Signed-off-by: Lewanczyk, Dawid <dawid.lewanczyk@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
g3log is no longer used. Remove references to it.
Change-Id: I5c9be513a0f688ca5d5ad8411f9a61d2e331b5cd
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
| |
Until now code 405 in crow::reponse caused an Internal Server Error 500
- added HTTP 405 code handling to crow
Change-Id: I9e07fb35eb4a2b697128fc036a391493e0258cb4
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
| |
bmcweb will still build with submodules if the right flags are sent
Change-Id: I227e011043a2242db29288b38b9f6069939635d4
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
New Redfish-Core nodes added (removed from redfish_v1.hpp) - Session
and SessionCollection. Tested manually on x86 VM and Wolfpass Platform.
Behavior almost identical to what was before - differences:
- SessionCollection - now only returns TIMEOUT presistence sessions, not SINGLE
- Aquiring sessions from session storage now applies timeouts
Change-Id: I68bf4fa7fa1c8371216a7d4daa30bbfb653cfa72
Signed-off-by: Kowalski, Kamil <kamil.kowalski@intel.com>
|