summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Modify the session data to handle the Confidentiality algoTom Joseph2017-02-241-0/+34
| | | | | Change-Id: I1be4bb4349a5dfe0a512017cc5ed8f80e5ab14d9 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Add documentation for Cipher Key K2Tom Joseph2017-02-231-1/+5
| | | | | Change-Id: I401bffba92ea0adc05b74cdd11b2105b5148d667 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Interfaces for the AES-CBC-128 Confidentiality AlgoTom Joseph2017-02-221-0/+116
| | | | | Change-Id: I62c06435dfe95bf86c2a49873d8ab25116588afb Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Interfaces for the Confidentiality AlgorithmTom Joseph2017-02-223-1/+127
| | | | | | | | | This patch defines the interfaces for the confidentaility algorithm. It provides API to decrypt the cipher payload and encrypt the plain text payload. Change-Id: I0c47ee14d5d5574c4d4996e437dffcaa2aa62f9a Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Correct the calculation of integrity pad lengthTom Joseph2017-02-151-2/+2
| | | | | Change-Id: I34a4ab1adc7a0c510017edea20474008edaf8198 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Catch the exception when sending the IPMI response messageTom Joseph2017-02-151-2/+10
| | | | | Change-Id: Ib233a797dc13499670c35e21497f8c13c9d74e04 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Astyle changes in message_parsers.cppTom Joseph2017-02-101-6/+6
| | | | | Change-Id: Ib45da999aacb2763da43aaa2e40dc5a5c05ddfda Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Refactor the RAKP34 implementationTom Joseph2017-02-101-12/+23
| | | | | | | | Refactor the code to apply integrity algorithm to a separate function. Change-Id: I438165dd6fb4962084b319bbdcd53c47e0fc659f Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Correct the aligment for a long lineTom Joseph2017-02-091-1/+1
| | | | | Change-Id: I38e0eacc702b5415acc97f6f0148312f246e577a Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Fix compilation errors for x86-64 SDKTom Joseph2017-02-094-4/+6
| | | | | Change-Id: Ia515f3bb6687a1bfc1c37fb33e37602ab9d91950 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Change the response buffer size passed to provider libraryTom Joseph2017-01-312-3/+5
| | | | | Change-Id: Ib943cd6487beb7232d5e1ead521febd992c83ce1 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Modify the sd_event_loop to use systemd activated socketTom Joseph2017-01-311-13/+3
| | | | | Change-Id: I98cd7c3b5f8aad132e2671cbc2387a0f8b62cb6e Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Change the typename for IPMI Command PrivilegeTom Joseph2017-01-271-2/+2
| | | | | Change-Id: If099f3e57339215477e88c68b1910f1904dd7142 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Code changes to support IPMI provider librariesTom2017-01-181-2/+19
| | | | | Change-Id: I4c349d88d4e98a6ca148a040b4ed12c628c6b95f Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Load IPMI provider libraries into net-ipmidTom2017-01-185-2/+143
| | | | | | | | | The logic to scan /usr/lib/net-ipmid for shared libraries and load them and the callback function to register commands to command table. Change-Id: Ib09cce5a9b418171822208d1d7b322e4b1c8b2b9 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Command Table Entry for IPMI Provider CommandsTom2017-01-182-0/+66
| | | | | | | | This patch defines an entry for hooking IPMI provider commands in the command table and to execute the commands. Change-Id: I8a8fb7c06ccc1a3c4397540419b983556b9da6c3 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Message parser changes to support Integrity AlgoTom Joseph2017-01-172-0/+114
| | | | | | | | | | | The unflatten logic of IPMI 2.0 parser is modified to support verification of integrity data and flatten logic is modified to support adding integrity data. Resolves openbmc/openbmc#869 Change-Id: I0553b12bcd17075d72e46120eeec5e524a5be420 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Set the Integrity Algo once the Session setup succeedsTom Joseph2017-01-171-0/+13
| | | | | Change-Id: I5c6122b89c345d71e081aadb50c968344b5c697b Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Validate Integrity Algo in Open Session requestTom Joseph2017-01-171-2/+6
| | | | | Change-Id: I75de159fafd42a677b646ae6e2c5605872ebc8f3 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Authentication Algorithm keeps record of the Integrity algoTom Joseph2017-01-173-5/+20
| | | | | | | | | The Integrity algorithm negotiated during Open Session Request would be stored in the Authentication algorithm and is activated once the session setup is successful. Change-Id: I780680c8991487f8fd9030217793f2b0d0fa8a25 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Session data modified to handle integrity algoTom Joseph2017-01-171-0/+34
| | | | | Change-Id: I3ebc8f2e1599b01e3cfb89c2ab17651d549a7ca1 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Implementation of HMAC-SHA1-96 Integrity AlgorithmTom Joseph2017-01-172-0/+111
| | | | | Change-Id: Id301f0cb6e7cc9cde79385a18f3999d8d9c0feab Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Interface for the Integrity AlgorithmTom Joseph2017-01-173-1/+154
| | | | | | | | | This patch defines the interfaces for the integrity algorithm. It provides the API to verify integrity data of the incoming packet and to generate integrity data for the outgoing packet. Change-Id: Ibd645c0ab0d9f4ec26f085353d141f7a3262ab2e Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Copy the IPMI input message details to output messageTom Joseph2017-01-162-5/+5
| | | | | | | | Copy the encrytion,authentication and bmc session id from the IPMI input message to output IPMI message. Change-Id: I16e3adaad4e0c4ce3f2a9ad48c327d5b0bb0be9b Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Minor cleanup of Message parserTom Joseph2017-01-162-14/+9
| | | | | Change-Id: Ib81f6bbe52ec1ac77be6c619c89c640c20799699 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Remove the trailing backslash in the MakefileTom Joseph2017-01-161-1/+1
| | | | | Change-Id: Id06c662de7bcb13f65fd50e64a2874de8e527ae0 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Add .gitignore file for the repositoryTom Joseph2017-01-121-0/+22
| | | | | Change-Id: I6a82095f16a739f847951acfeb4604e0ffdf1928 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* IPMI Main HandlerTom Joseph2017-01-097-3/+293
| | | | | | | | | | | This patch contains the entry point for the IPMI RMCP Server. It registers the session setup commands and start the IPMI event handler. Resolves openbmc/openbmc#429 Change-Id: I98a615eef9becb29964f8ec93e59d061bfcdfac3 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Communication Module ImplementationTom Joseph2017-01-091-0/+77
| | | | | | | Registers the commands related to the Session Setup sequence. Change-Id: I7214087a1779d106173b05925dc6857c7223a503 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Session Commands ImplementationTom Joseph2017-01-094-9/+209
| | | | | | | | Implements Set Session Privilege Command and Close Session command. Change-Id: I18aeee7bcae48db3eb8a61292c9333ca2304dcf1 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* RAKP Message 3 & RAKP Message 4 ImplementationTom Joseph2017-01-022-0/+273
| | | | | Change-Id: I0206a04fec2531e5c5dfee8677d4a2b6942022f7 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* RAKP Message 1 & RAKP Message 2 ImplementationTom Joseph2017-01-022-0/+227
| | | | | Change-Id: Ibe7309651d022de6bd6c7b561493fd085d0e27c0 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Open Session Request/Response ImplementationTom Joseph2016-12-162-0/+273
| | | | | Change-Id: I2726f52c8eb331575677fb0e6a52943a2c5f5865 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Get Channel Authentication Capabilities ImplementationTom Joseph2016-12-162-0/+178
| | | | | Change-Id: Id8fa42814fe210ca8f9dbb14de746c66e391d334 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Implementation to read System UUID from Chassis DBUS objectTom Joseph2016-12-162-0/+100
| | | | | | | | Implementation for reading system UUID which would be consumed by RAKP12, RAKP34 and System GUID commands. Change-Id: Ibee1c398368f67055cdba2a0f4d16c981e38c035 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* IPMI Communication module headerTom Joseph2016-12-161-0/+41
| | | | | | | RAKP return codes and session setup command declaration. Change-Id: I04d69651db6b32e9273e977b97ae664e6f002cc3 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Add Message HandlerTom Joseph2016-12-163-0/+313
| | | | | | | | | IPMI message Handler encapsulates the operations with respective to each IPMI message.The routines are there to read the message, execute the command and send the response. Change-Id: I607416f723510326748b3eba73f3a6557c40dd06 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Message parser for parsing IPMI messageTom Joseph2016-12-162-0/+401
| | | | | | | | IPMI message parser is responsible for parsing IPMI messages. There is parser for IPMI 1.5 messages and IPMI 2.0 messages. Change-Id: I24ebb6907abb56bcc25297eee75c06e6cde8355b Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Command Router to handle commandsTom Joseph2016-12-162-0/+335
| | | | | | | | | This class encapsulates the details regarding the execution of the command and has routines for registering and execution of the command. Change-Id: Idf26e1f60f9f89aa5261fde89577ec7ddc26c096 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Sessions Manager to manage IPMI sessionsTom Joseph2016-12-122-0/+262
| | | | | | | | IPMI Sessions manager is responsible for managing IPMI sessions and routines for starting and stopping sessions. Change-Id: Ic5c559fdc0dab0145e463689026c2f1c66f24a59 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Representation of an IPMI sessionTom Joseph2016-12-122-0/+218
| | | | | | | | | IPMI session class encapsulates the details regarding an IPMI session. It includes the details of the remote session id, BMC session id Cipher suites, session state information. Change-Id: Iffae0e05f33d1b3aa32cc17e5a3c1368d53c1d38 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Implemenation of the RAKP Authentication AlgorithmsTom Joseph2016-11-212-0/+178
| | | | | | | | This patch contains the implementation of the RAKP-HMAC_SHA1 algorithm for Authentication.OpenSSL is used for the HMAC operation. Change-Id: I7e926aca9010443939e32f476c37ac1481cd2476 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* IPMI Socket Class to encapsulate the socket operationsTom Joseph2016-11-082-0/+280
| | | | | | | | | This class represents the details regarding an IPMI client like IP address, port number and the file descriptor associated with it. The operations provided are reading the UDP packet, writing the packet. Change-Id: I58cde0edb04fd2fbedd3068de83379eebea8508d Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* IPMI Message representationTom Joseph2016-11-081-0/+108
| | | | | | | | | | Message structure would represent the payload inside an IPMI session packet.The payload would have different payload types like IPMI,SOL. The Request, response and trailer for the IPMI LAN Messages. Change-Id: I45f64e3f1f29a546b29dac3de78fba8d7d0f1db3 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Endian conversions required for IPMITom Joseph2016-09-141-0/+54
| | | | | Change-Id: Iedd0bbbc84da127c96bce4b4da88da4f17a1879a Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Initial commitPatrick Williams2016-07-281-0/+201
OpenPOWER on IntegriCloud