254 Commits

Author SHA1 Message Date
Thomas Abraham
ef7564a7ac
Re-apply commit 58d510f90feb
Commit 58d510f90feb ("ID : 103 picmg discover messages should
be DEBUG, not INFO") changed picmg discover messages from DEBUG
to INFO. However, commit f1c6118c722b ("ID:320 - Add VITA 46.11
support") reverted this without explanation.

This patch reverts the picmg discover messages back to DEBUG.
2018-05-11 14:24:17 +03:00
Alexander Amelkin
724f7329a3
dcmi: Refactor
- Refactor the ipmi_dcmi code for better readability;
- Get rid of space indents;
- Use tabs for indent, spaces for alignment;
- Wrap too long lines;
2018-04-05 21:08:22 +03:00
Alexander Amelkin
f498e3e296
ID:508 - Refix 6d9c540: Forgotten changes
Some array terminators were left unmodifed.
This commit removes the diversity to make all terminators unified.
2018-04-05 20:11:30 +03:00
Alexander Amelkin
6d9c540f6b
ID:508 - Fix segfaults in dcmi command handlers
Some command lists were not terminated properly.
This commit fixes that.
2018-04-03 19:46:35 +03:00
Alexander Amelkin
60723084e6
vendor: Add YADRO VESNIN identification
Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-03-30 12:45:03 +03:00
Alexander Amelkin
9d41136c9b
ID:491 - Fetch vendor IDs from IANA
Prior to this commit, ipmitool had hard-coded list
of OEM Vendor IDs that it recognized.

With this commit, the list is fetched directly from
IANA PEN registry at build time, so that each release
will now contain an up-to-date list of vendors.

Only basic ASCII characters are supported now. Any
Unicode or extended ASCII will be either transliterated
(cyrillic and diacritic) or simply removed (chinese).

Closes:
ID:491 https://sourceforge.net/p/ipmitool/bugs/491/
ID:505 https://sourceforge.net/p/ipmitool/bugs/505/

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-03-30 02:33:35 +03:00
srinivasa_mareedu
ecb4cfbff8 ID:472 - Fix The Most recent Addition/Erase date
Fix the Most recent Addition/Erase date are not matched between in-band and
out-band.

ipmitool SDR code doesn't have to check for valid date to print
based on 'Delete SDR command supported' and 'Partial Add SDR command
supported', if 0xffffffff is taken. Also 'Timestamp' data type needs to change
to time_t(long) because same data type is using for gmtime(time_t) API, it has
different behaviour for Linux and Windows C.
2017-04-06 21:51:45 +02:00
Alexander Amelkin
497f7767cd ID:477 - fru: Fix decoding of non-text data in get_fru_area_str()
The get_fru_area_str() function is used to decode FRU area
fields into text. Areas may be encoded as text, binary,
BCDplus or 6-bit ASCII. Decoding of 6-bit ASCII and BCDplus
was broken. There was an error in the formulas used to
calculate the resulting string length, plus the decoding
formulas for BCDplus was wrong.

For BCDplus the resulting length was considered equal
the encoded data length, while in fact it's twice as big.
Only one character instead of two was being extracted from
a single input byte while two nibbles must have been taken
into account.

For 6-bit ASCII rounding of 3 to 4 bytes conversion was done
improperly adding 2 to the original length instead of the
result of multiplication.
2017-02-08 11:46:04 +03:00
Alexander Amelkin
7b0302cef5 ID:479 - ekanalyzer: fix processing of custom mfg. fields
Ekanalyzer was not reading the type/length byte for the 2nd and
subsequent custom fields. Also the message it displayed when
lacked data for custom fields was very relaxing and incorrect.
2017-02-08 11:45:59 +03:00
Alexander Amelkin
840f573083 ID:478 - ekanalyzer: Fixed decoding of FRU fields
Got rid of the field decoding code that was only capable of
processing ASCII and binary fields, and switched to using
get_fru_area_str() that can also decode BCDplus and 6-bit ASCII
and maybe will eventually be enabled to decode Unicode text
as well.

This is the first step to completely get rid of the completely
awfully written FRU data decoding functionality of ekanalyzer
that essentially duplicates that of ipmi_fru.c module.
2017-02-02 16:02:57 +03:00
Leonid Nevecherya
5db314f694 ID:474 - Compile fix on nonlinux systems
This patch fixes compilation on systems without a separate <malloc.h>.
2017-01-21 16:50:52 +01:00
Zdenek Styblik
076ffb5650 Merge /u/spruckb/ipmitool/ branch master into master
https://sourceforge.net/p/ipmitool/source/merge-requests/12/
2016-10-08 08:28:15 +00:00
kcl@supermicro.com.tw
1487681b8c ID:465 - Supermicro memory ecc Modify the memory ecc error display of SEL for new supermicro boards. 2016-10-06 06:14:42 +02:00
Mikko Piironen
2d4762d573 ID:463 - Removal of Nokia Siemens Networks 2016-09-24 20:50:11 +02:00
Bjoern Spruck
89cffb984b replaced/removed defines which are already present in ipmi_picmg.h
Signed-off-by: Bjoern Spruck <bspruck@uni-mainz.de>
2016-09-01 11:27:38 +02:00
B BALAJI SINGH
052655cd91 ID:456 - Unable to disable the VLAN ID using ipmitool
Currently, when a LAN parameter set command is sent through ipmitool, the
corresponding parameter data is requested and compared to the command to verify
that the data was written correctly. Since we do send the VLAN ID in this return
data, regardless of whether VLAN is disabled or not, this mismatch between
requested and received parameters causes ipmitool to retry the command 10 times
and return an error.

ipmitool is sending "0x00 0x00" reading back data from BMC as "0x01 0x00" which
is NOT matching & hence pops up the error /warning "LAN Parameter Data does not
match! Write may have failed."
After 10 retries when we check "ipmitool lan print" VLAN ID is disabled
successfully.
2016-08-31 19:34:18 +02:00
Dmitry Rakhchev
fa2c1550b9 ID: 459 - Fix reading FRU on Artesyn (Emerson) shelf manager, MF105.
Treat 0xC7 as an indication that requested data length in the
FRU read shall be decreased.
2016-08-28 10:21:55 +02:00
Zdenek Styblik
cc9a6b3964 ID:457 - Display User ID enable/disable status
Commit implements `Enable status` which shows/is in alignment with (22.27) Get
User Access Command and displays User ID Enable/Disable status of given User ID
at given channel.
2016-08-21 12:17:10 +02:00
Dan Gora
ea471ed5fa ID:454 - Add support for PICMG 3.1 R2.0 Link Types and Link Classes.
PICMG 3.1 R2.0 introduces new a new Link Class field in the FRU
Link Descriptors which is the upper 4 bits of the Link Type field.
This new Link Class field specifies SERDES lanes with 10.3125Gbd
signalling rate.

It also introduces the new Base-KX and Base-KX4 types which are the
new IEEE replacements for the PICMG 3.0 Base-BX and Base-BX4 types.

This patch decodes these new types and fields and will print out
proper descriptions for each one based on PICMG 3.1 R2.0
2016-08-21 09:48:55 +02:00
Dmitry Rakhchev
e30c357db7 ID:375 - Add lan6 subcommand to handle IPv6 LAN parameters 2016-08-21 08:59:27 +02:00
Zdenek Styblik
95eb252ecd ID:261 - Fix err. output consistency for % ipmitool chassis INV_PARAM; 2016-07-31 20:19:30 +02:00
Zdenek Styblik
2c99bf69ec Fix missing goto out_free; when ipmi_parse_hex() returns (-1) 2016-07-31 08:56:38 +02:00
Dmitry Rakhchev
34711329c2 Add mac2str() and str2mac() to print/parse MAC address 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
2f76ab3d3a Export find_lan_channel() as global 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
7f8d37493f Rewrite code with the notion that Kg is binary data, not string
- use uint8_t as the storage type
  - allocate kgkey on stack
  - do not treat incoming kgkey as 0-trminated string in
    ipmi_intf_session_set_kgkey()
2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
f9211f8ed9 Moved ipmi_parse_hex() to helper.c 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
9a6ba64651 Extend buf2str to allow separator 2016-07-31 08:52:40 +02:00
Bjoern Spruck
f8a711b9e8 ID:452 - Add PICMG extension 5.x for PICMG extension check
PICMG extension 5(UTCA, MicroTCA) is not detected as valid extension.
The following patch fixes that at one place. In the second place the board type
is detected in a similar way, but it isn't clear if a patch is needed there, too.
2016-07-31 07:29:49 +02:00
KC Li
fcf7445bce ID:451 - Modify the memory ecc error display of SEL for new supermicro motherboards. 2016-07-31 07:25:30 +02:00
Mamatha Inamdar
a3bec1d365 ID:449 - ipmitool close console session for sol deactivate command
In the new version of ipmitool 1.8.15 and above, sol deactivate command was not
closing the session, This patch is to fix close console session When we issue
sol deactivate command.
2016-06-29 20:06:29 +02:00
Zdenek Styblik
8bd9659101 ID:230 - check return value of malloc() in lib/ipmi_ekanalyzer.c
Return value of malloc() must be checked. Commit mends this.
2016-06-11 21:30:04 +02:00
Zdenek Styblik
9341982a38 ID:335 - Check return value of fseek(), prevent segfault
Commit adds a check as a workaround for segfault reported in ID:335. However,
the proper fix is to rewrite parts of lib/ipmi_hpmfwupg.c not to put whole
firmware image into memory. Also, MD5 checksum part needs to be rewritten,
because it won't work for large firmware images.
2016-06-09 12:01:48 +02:00
Zdenek Styblik
4ecac48c68 Revert "ID:335 - Check return value of fseek(), prevent segfault"
This reverts commit 6d8ad594ccd582ac0a004e55c8459409376fc264 because of wrong
e-mail address in commit.
2016-06-09 12:01:29 +02:00
Zdenek Styblik
6d8ad594cc ID:335 - Check return value of fseek(), prevent segfault
Commit adds a check as a workaround for segfault reported in ID:335. However,
the proper fix is to rewrite parts of lib/ipmi_hpmfwupg.c not to put whole
firmware image into memory. Also, MD5 checksum part needs to be rewritten,
because it won't work for large firmware images.
2016-06-09 11:48:29 +02:00
Boris Ranto
c89be0354a ID:446 - Fix broken firewall reset iterator
The netfn structures are populated sequentially in the _gather_info
function and they are accessed only by even indices (and to the double
of its real length). This results in a segmentation fault if you run

* ipmitool firewall reset

This patch fixes the behaviour so that the ipmi_firewall_reset function
treats the structure the same way as the rest of the code does.

Signed-off-by: Boris Ranto <branto@redhat.com>
2016-06-06 06:43:35 +02:00
Zdenek Styblik
7e991a18e0 ID:355 - Fix statements without effect in lib/ipmi_ekanalyzer.c 2016-05-30 20:38:46 +02:00
Zdenek Styblik
b42c16d9dc ID:355 - Fix printf format in lib/ipmi_sunoem.c 2016-05-30 20:38:17 +02:00
Zdenek Styblik
55834ec3aa ID:355 - Fix different pointer type in lib/ipmi_picmg.c
... just change `char` to uint8_t, really.
2016-05-30 20:36:37 +02:00
Zdenek Styblik
a7b0c213f9 ID:355 - Fix missing struct initializers in lib/ipmi_firewall.c 2016-05-30 20:19:33 +02:00
Zdenek Styblik
70253df032 ID:355 - Fix signedness warnings in lib/ipmi_sdr.c 2016-05-30 06:42:13 +02:00
Zdenek Styblik
ec8ba928d4 ID:355 - Comment out statement without effect in lib/ipmi_sel.c 2016-05-30 06:41:38 +02:00
Zdenek Styblik
f62a16f7f2 ID:355 - Fix printf() related warnings in lib/ipmi_delloem.c 2016-05-30 06:38:09 +02:00
Zdenek Styblik
681bc21d32 ID:355 - Move section_id from ipmi_fru. to ipmi_fru.c
... since that's the only place where it's used right now. It might be worth to
rework this concept.
2016-05-29 21:03:25 +02:00
Zdenek Styblik
8ca47f21ca ID:441 - Add support for HMAC_MD5 and HMAC_SHA256
Commit adds support for cipher suites 6/7/8 (HMAC-MD5) and cipher
suites 15/16/17 (HMAC_SHA256).
This also fixes:
* ID:442 - IPMI_AUTH_RAKP_HMAC_MD5 support in lanplus
* ID:141 - RMCP+ Cipher-suite 17 not supported

Original author Liebig Holger(Fujitsu).
Code cleanup done by Florian Breu and Zdenek Styblik.
2016-05-28 13:32:45 +02:00
Zdenek Styblik
b74c20c5d5 ID:312 - Fix bitmask in _ipmi_set_pef_policy_entry()
Commit fixes wrong bitmask in _ipmi_set_pef_policy_entry(). Also, bitmask
defined by macro is used in _ipmi_get_pef_policy_entry() as well.
2016-05-22 18:51:27 +02:00
Zdenek Styblik
ebe6b0ce48 ID:287 - Fix print-out of DDR3 SDRAM Serial Number
Commit fixes print-out of DDR3 SDRAM Serial Number. This was caused by printing
out more bytes/chars and some weird pointer tricks.
2016-05-17 20:54:09 +02:00
Dmitry Bazhenov
b44366e92d ID:400 - Add support for VITA-specific sensor types and events.
Reworked event type code/sensor type parsing in order to support
VITA-specific extensions. Added VITA-specific sensor-specific event
types and VITA-specific sensor types.
2016-05-17 20:49:06 +02:00
Zdenek Styblik
e88e5c8186 ID:287 - Remove trailing white-spaces from dimm_spd.c
Commit removes trailing white-spaces from lib/dimm_spd.c
2016-05-16 21:55:52 +02:00
Zdenek Styblik
107e6affd0 ID:312 - BREAKING CHANGE - Re-design of PEF user interface
Commit re-works user interface of PEF module as well as internal functions.
Not all of the functionality is implemented as the main aim was interface
layout.
It's possible this commit introduces some breaking changes.

Changes are based on patch submitted by Jordan Hargrave, Dell Inc.
2016-05-16 19:18:19 +02:00
Zdenek Styblik
5fca596492 Re-work ipmi_mc_get_guid() and turn it into reusable code 2016-05-16 19:18:19 +02:00