summaryrefslogtreecommitdiffstats
path: root/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
* use ipmiblob library from ipmi-blob-toolPatrick Venture2019-03-081-4/+3
| | | | | | | | | | Drop all code that is now handled by the ipmiblob library provided by the new ipmi-blob-tool. This is a library that can be included on the BMC if necessary, but relies on nothing that is strictly meant for the BMC. Change-Id: I2b02ae0d432e84c08e598d27eef85b57c06a70fc Signed-off-by: Patrick Venture <venture@google.com>
* Convert host-ipmid -> libipmidWilliam A. Kennington III2019-02-121-4/+4
| | | | | | | | | phosphor-host-ipmid now exposes a library along with headers for interfacing with the ipmi daemon. Compile and link against the new library. Change-Id: I663e6607f711bc8bae0a2127db524868f6d4cc32 Signed-off-by: William A. Kennington III <wak@google.com>
* stop installing manager headerPatrick Venture2019-01-151-1/+1
| | | | | | | | Stop installing the manager header as it is no longer meant to be exported, but rather used only internally within this repository. Change-Id: I2ab21a31fd745e1b3e36fc39ffea5e26d373ff51 Signed-off-by: Patrick Venture <venture@google.com>
* bugfix: ipmi: set dataLen to zero when appropriatePatrick Venture2018-12-031-0/+1
| | | | | | | | On failures (or some silent success), set the return buffer length to 0. Change-Id: I118788ffddd2bfc031b3392db4cf13ab04b49287 Signed-off-by: Patrick Venture <venture@google.com>
* main: receive blob handler path from configurePatrick Venture2018-11-281-4/+1
| | | | | | | | Add blob handler path to configure_ac and use this path for searching. Change-Id: Ie0e33e93822bc6e95ace2fed5abe66f42dae5ca5 Signed-off-by: Patrick Venture <venture@google.com>
* add dynamic library interface to enable testingPatrick Venture2018-11-281-1/+1
| | | | | | | | Add interface defining the methods for dynamic linking to enable testing. Change-Id: If4d090d3cedc019b426435a1f651191803bfc1a9 Signed-off-by: Patrick Venture <venture@google.com>
* main: add missing header: blobs-ipmid/manager.hppPatrick Venture2018-11-211-0/+1
| | | | | | | | | Add missing header: blobs-ipmid/manager.hpp. The code receives this header through another header. However, it should declare this inclusion requirement itself. Change-Id: Ib82909681a45a18489f65ec42b74a1824285efa1 Signed-off-by: Patrick Venture <venture@google.com>
* drop explicit command entryPatrick Venture2018-11-151-8/+3
| | | | | | | | | The command entry for blobTransferCmd was accepted into phosphor-host-ipmid's oem header. Therefore, no longer specify it locally. Change-Id: Ib5879cb31f855c5b5662e659d71c21e5fd6c50a3 Signed-off-by: Patrick Venture <venture@google.com>
* process: add IPMI error return mechanism and update errorsPatrick Venture2018-11-131-3/+5
| | | | | | | | | | | The IPMI packet validation code must return specific IPMI errors corresponding to what error has occurred instead of the invalid command error. Update all IPMI handler pieces to return more specific errors. Change-Id: I8d21e92015d84cc0880e3b83991aed7288e19eab Signed-off-by: Patrick Venture <venture@google.com>
* main: s/blobs-ipmid/blob-ipmid/ for library pathPatrick Venture2018-11-081-1/+1
| | | | | | | | | Fixup a typo in the library path. The library path will be specified in a later patchset from the configure.ac by default, but that typo would have just lived there instead. Change-Id: Ia9f95fc46e3835781e4dbe3b3fdb2d9d36b7e565 Signed-off-by: Patrick Venture <venture@google.com>
* main: catch exceptions when loading blob handlersBenjamin Fair2018-10-231-1/+12
| | | | | | | | | | If an error occurs while attempting to load the blob handlers (such as a filesystem error), the uncaught exception will crash the entire IPMI daemon. Instead, catch the exception and print an error message. Tested: ipmid doesn't crash when /usr/lib/blobs-ipmid is missing Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: Ic316f6e5aa3c4bc6eba4fa2e561b338f4b20f606
* manager: return abstract base typePatrick Venture2018-10-041-3/+2
| | | | | | | | Unit-tests later required knowing the vtable for a BlobManager, and this should avoid that needless complication. Change-Id: I7a208d08c2065b7383fd5095e00d17c1ab3b0cf5 Signed-off-by: Patrick Venture <venture@google.com>
* main: now seeks out shared library handlers are load-timePatrick Venture2018-10-011-8/+6
| | | | | | | | | phosphor-ipmi-blobs now detects blob handlers compiled into shared libraries on the BMC and loads them at start-up when it's loaded by phosphor-host-ipmid. Change-Id: Ib1b6b8f75aa544a263d37f71e133a9a188704de3 Signed-off-by: Patrick Venture <venture@google.com>
* manager: add getBlobManager as an exported methodPatrick Venture2018-09-271-5/+3
| | | | | | | | getBlobManager will allow a library to get ahold of the BlobManager for registration purposes. Change-Id: I75f41601d10d59293c7752da8307507cc2c88434 Signed-off-by: Patrick Venture <venture@google.com>
* add example handlerPatrick Venture2018-09-201-0/+8
| | | | | | | | This adds an example handler to demonstrate how one can add a specific type of BLOB handler. Change-Id: Ib5421f1b945b45998b40d3939a4dab9cdf39aaa9 Signed-off-by: Patrick Venture <venture@google.com>
* initial drop of phosphor-ipmi-blobsPatrick Venture2018-09-151-0/+77
This implements a majority of the OEM IPMI BLOBS protocol. The only piece missing from this is the timed expiration of sessions. Change-Id: I82c9d17b625c94fc3340edcfabbbf1ffeb5ad7ac Signed-off-by: Patrick Venture <venture@google.com>
OpenPOWER on IntegriCloud