pax_global_header00006660000000000000000000000064143041764270014522gustar00rootroot0000000000000052 comment=19d78782d795d0cf4ceefe655f616210c9143e62 ipmitool-IPMITOOL_1_8_19/000077500000000000000000000000001430417642700151345ustar00rootroot00000000000000ipmitool-IPMITOOL_1_8_19/.github/000077500000000000000000000000001430417642700164745ustar00rootroot00000000000000ipmitool-IPMITOOL_1_8_19/.github/workflows/000077500000000000000000000000001430417642700205315ustar00rootroot00000000000000ipmitool-IPMITOOL_1_8_19/.github/workflows/ci.yml000066400000000000000000000062171430417642700216550ustar00rootroot00000000000000# vi: set et ts=2 sw=2 : name: build on: push: branches: [ master ] pull_request: branches: [ master ] jobs: linux: strategy: matrix: os: [ ubuntu-18.04, ubuntu-20.04 ] runs-on: ${{ matrix.os }} steps: - name: install dependencies run: | sudo apt install \ automake \ gcc \ git \ libssl-dev \ libtool \ make \ wget - name: install extra libraries # This build job tries to verify as much of ipmitool code # as possible, hence these libraries. They aren't usually # needed for normal user builds: run: | sudo apt update sudo apt install \ libsystemd-dev \ libreadline-dev \ libfreeipmi-dev \ libusb-dev - uses: actions/checkout@v2 - name: bootstrap run: ./bootstrap - name: configure run: | # For Linux, build as many extra interfaces as possible # to verify the code ./configure --enable-intf-dummy \ --enable-intf-dbus \ --enable-intf-usb \ --enable-intf-free - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck macos-catalina: strategy: matrix: os: [ macos-10.15, macos-11 ] runs-on: ${{ matrix.os }} steps: - name: install dependencies run: brew install automake openssl libtool freeipmi wget - uses: actions/checkout@v2 - name: bootstrap run: ./bootstrap - name: configure run: | ./configure --enable-intf-dummy \ LDFLAGS=-L/usr/local/opt/openssl@1.1/lib \ CFLAGS=-I/usr/local/opt/openssl@1.1/include - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck win-srv-2019: runs-on: windows-2019 steps: - name: install dependencies run: |- choco install cygwin -y choco install cyg-get -y # Line continuation in PowerShell is backtick. Weird as Windows. cyg-get gcc-g++ ` make ` automake ` autoconf ` m4 ` libtool ` libncurses-devel ` libreadline-devel ` libssl-devel ` dos2unix ` wget echo "C:/tools/cygwin/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append echo "C:/tools/cygwin/usr/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - uses: actions/checkout@v2 - name: convert line ends # checkout action on Windows apparently converts line ends # so we have to convert them back because cygwin bash can't # can't handle Windows line ends run: dos2unix bootstrap configure.ac csv-revision - name: bootstrap run: bash -c "./bootstrap" - name: configure run: bash -c "./configure" - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck ipmitool-IPMITOOL_1_8_19/.gitignore000066400000000000000000000006201430417642700171220ustar00rootroot00000000000000.deps .dirstamp .libs .*.swp *.log *.rej *.orig *.o *.lo *.la *.*~ Makefile Makefile.in aclocal.m4 autom4te.cache compile config.guess config.h config.h.in config.log config.status config.sub configure depcomp install-sh ltmain.sh libtool missing stamp-h1 control/ipmitool.spec control/pkginfo control/prototype control/rpmmacros src/ipmievd src/ipmitool doc/ipmievd.8 doc/ipmitool.1 cscope.out tags ipmitool-IPMITOOL_1_8_19/AUTHORS000066400000000000000000000002741430417642700162070ustar00rootroot00000000000000Duncan Laurie Fredrik Öhrn Jon Cassorla Jeremy Ellington Petter Reinholdtsen ipmitool-IPMITOOL_1_8_19/COPYING000066400000000000000000000027641430417642700162000ustar00rootroot00000000000000Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ipmitool-IPMITOOL_1_8_19/ChangeLog000066400000000000000000001615151430417642700167170ustar00rootroot00000000000000version 1.8.19 2022-08-31 * Cast type before the left shift * sel: Fix the deasserted thresholds inequality * man: Update the text for -C option * chassis restart_cause: Add new causes * sel: Remove redundant "Reserve SEL" * zero initialize the recv structure on the stack * zero initialize the recv structure on the stack * ci: Add support for MacOS-11 * ci: Remove ubuntu-16.04 support * sdr: Fix modifier unit * Fix compile error * Refactor bridging level detection to dedicated function * Fix double bridge detection in get_max_(req|rsp)_data_size() * ipmi_mc: Fix the IPM_DEV_FWREV1_MAJOR_MASK * helper: Fix stderr file descriptor * Fix codefactor-io / CodeFactor warnings * Use /run instead of /var/run * oem: Update product IDs for YADRO * lan: Add processing of get/set specific CCs * lan: Refactor pointer style * doc: update lanplus doc to reflect default cipher suite change * ekanalyzer: Fix internal use area off-by-one bug * ekanalyzer frushow: Fix internal area size calc * sel: Fix "power supply inactive" flag offset * ci: Add support for Ubuntu 20.04 * ci: Fix Ubuntu builds * Fix compiler warning * Fix compiler warning * Fix compiler warning * ci: Update for GitHub Actions v2.274.2 * free: Fix implicit function declarations * Use "#pragma once" for headers * Remove unneeded execution bits from C source files and a header file * Convert line endings to LF * Fixed compiler warning. * RPM support: fixed broken build due to use of headers from kernel * imbapi: replace __FUNCTION__ to eleminate compiler warnings * lanplus: remove unused variable * hpmfwupg: Clean up / refactor * fru: Fix crashes on 6-bit ASCII strings * oem: Add product ID for YADRO VEGMAN * configure.ac: add '--location' for curl to follow location * configure.ac: replace '-#' by '--progress-bar' with curl * Add version info to debug output * doc, ci: Fix an error in package name for Windows * doc: Fix a small typo in INSTALL * RPM support: updated spec file changelog * RPM support: simplified build process * RPM support: fixed broken RPM build * doc: Update INSTALL with Windows info * ci: Add Windows/cygwin config * doc: Update INSTALL for new CI * ci: Add github workflow, drop travis * Fix compatibility with OpenBSD and macOS * dist: Fix dependencies and cleanup * dist: Add missing ipmi_time.h header to packaging * configure: Fix compatibility with non-bash systems * Finalize refactoring of string comparisons * channel: Refactor set_user_access option processing * Refactor string comparisons * sel: Fix OEM record definition example * sdr: harden against bad records * fru: fix memory leak in ipmi_spd_print_fru * ipmi_sel_set_time: fix strptime() return check * hpm: use portable __max() in hpmfwupg * hpmfwupg: move variable definition to .c file * sel: time: fix null pointer dereference in set * fru, sdr: Fix id_string buffer overflows * lanp: Fix buffer overflows in get_lan_param_select * channel: Fix buffer overflow * session: Fix buffer overflow in ipmi_get_session_info * fru: Fix buffer overflow in ipmi_spd_print_fru * fru: Fix buffer overflow vulnerabilities * configure: Drop requirement for curses et. al libs * configure: remove some duplicate code * doc: Update INSTALL to fix installation errors * ipmi_dcmi: fix typo in nm_policy_options initialization. * Docs: Add info on packages to install on Ubuntu 16.04 * chassis: Refactor to get rid of strncmp() * chassis: Refactor main for centralized exiting * chassis: bootdev: Refactor more * chassis: bootdev: Refactor to reduce nesting * chassis: bootdev: Fix help message and its formatting * chassis: bootparam/bootdev: Refactor for less magic * oem: supermicro: Add product codes from IPMICFG * doc: Update man page regarding `user set password` * user: Cleanup/refactor ipmi_user_password() * user: Improve password length handling * user: Alter "set password" usage information * intf: Add missing function declarations * doc: fix URL in README * event: Clean up event sending from a file * event: Clean up the event sending code * event: Fix event submission via SSIF * make: Use DESTDIR to install IANA PEN database * lanplus: Fix embedded bridged responses handling * Update .gitignore * mc: Fix reporting of manufacturers > 64K * Add installation of enterprise-numbers database * Update documentation in regard to IANA PEN registry * Use configurable path to IANA PEN registry * Load IANA PEN registry from a file * dbus: Replace obsolete INCLUDES with AM_CPPFLAGS * oem: name change from Newisys to Viking Enterprise Solutions * Fix default interface to behave as it did before * man: Add documentation for chassis bootmbox * man: Update the chassis bootparam section * chassis: Add boot initiator mailbox support * chassis: Use command-specific completion code parser * Add support for command-specific completion codes * Add a helper htoipmi24() function * Add a helper args2buf() function * man: Cleanup the manpage formatting tags * create_pen_list: only print if values are set * chassis: Refactor to reduce code duplication * chassis: Refactor to reduce code duplication * sdr: Fix segfault on invalid unit types * vendor: Add YADRO TATLIN Storage Controller ID * exchange-bmc-os-info: Remove dependency on ipmi.service * Add mechanism to configure to set the default interface * ci: Update INSTALL to reflect recent changes * ci: Set up matrix builds with Travis CI * Enable Travis build of D-Bus interface * add OpenBMC D-Bus interface * Fix "ipmitool pef {status,info}" not printing final newline * Remove unused include * Fix IPMI DCMI message typo * open: swap free() calls for free_n() * open: checking received msg id against expectation * open: fix whitespace * Refactor free_n() function * fru: swap free() calls for free_n() * fru: Fix write chunk reduction code * fru: add macro FRU_AREA macros * fru: replace magic return codes with macros * fru header: add return error codes specific to fru * fru: fix ipmi_fru_picmg_ext_edit as bool * fru: use bool with ipmi_fru_oemkontron_edit * fru: change ipmi_fru_query_new_value to return bool * fru: mark ipmi_fru_query_new_value as static * fru: add fru_cc_rq2big helper method for code checks * fru: cleanup ipmi_fru_upg_ekeying * fru: use ipmi_cc defined maros for return codes * fru: drop extraneous parentheses on negative returns * fru: delete unused variable matchInstance * fru: cleanup ipmi_fru_oemkontron_get * fru: fixup array bounds checking * hpm: Adhere to centralized exiting * hpm: Minor refactoring * hpm: Fix resource leak * sol: Make interface timeout obey the -N option * helper: add free_n method to handle clearing pointers * cygwin: imb: Fix build error (wchar_t) * lanplus: Fix segfault for truncated dcmi response * Move led color static array to source file * drop unused static arrays * move static objects to source file * cleanup all unused-parameter warnings * use __UNUSED__ macro instead of gcc specific attribute * implement __UNUSED__ macro for marking unused * Add .dirstamp to .gitignore * fru: Fix processing of unspecified board mfg. date * [compiler-warnings-fixes] use correct fall through comment * [compiler-warnings-fixes] ipmi_start_daemon: check return values * [compiler-warnings-fixes] ipmi_sdr.c: remove unused function parameters * lan: Fix processing disabled VLAN * Make ipmitool respect system locale settings * Fix strftime() non-literal argument warning * Refactor timestamp handling * doc: Update manpage with new contact info * lanplus: Refactoring * lanplus: Fix -C option processing * lanplus: Auto-select 'best' cipher suite available * lanplus: Fix compile with deprecated APIs disabled. * doc: Update home page links * doc: Update formatting of ipmitool man page * sensor: Refactor ipmi_sensor_print_fc_threshold() * sensor: Add support for csv output * plugins: open: Properly enable event receiver (#35) * lan: Refactoring: Remove unused function * general: Get rid of some unused parameter warnings * mc: guid: Implement encoding autodetection * mc: guid: Fix timestamp decoding * mc: guid: Add support for non-standard encodings * mc: guid: Fix byte ordering to follow IPMI spec * Refactoring: optimize pointer checks * imb: Refactoring: remove duplicate code * Refactoring: get rid of superfluous comparisons * Refactoring. Improve code reuse ratio. * general: Fix several misspellings * mc: Fix compiler warnings * general: Add array_byteswap() to helper * lanplus: Make byteswapping generic * framework: Update .gitignore * framework: Switch to C11 standard with GNU extensions * framework: ci: Add support for Travis CI * oem: Add basic support for Quanta * intf: Refactoring. Remove unused sendrsp() * dummy: Add default dummy socket * mc: Fix manufacturer ID masking * Refactoring. Remove useless feature test macros. * general: Make byteswapping arch-independent * sel: Minor refactoring * sdr: Refactor/optimize code. No functional changes. * Add an option to display all dates in UTC * mc: Code refactor to reduce copy-paste ratio * mc: watchdog set: Refactor to reduce complexity * mc: watchdog set: Fix intr setting * mc: watchdog get: Update to match IPMI 2.0 spec * mc: watchdog: Add `set` command * framework: Make git ignore cscope.out * plugins/open: Fix for interrupted select * nm: Fix policy range (#12) * Replace user_id masks with a macro (#8) * fru: internaluse: Fix segmentation fault (#9) * dcmi: Refactor * ID:508 - Fix segfaults in dcmi command handlers * vendor: Add YADRO VESNIN identification * ID:491 - Fetch vendor IDs from IANA * ID:472 - Fix The Most recent Addition/Erase date * ID:480 - Call EVP_CIPHER_CTX_free() instead of EVP_CIPHER_CTX_cleanup() * ID:480 - ipmitool coredumps in EVP_CIPHER_CTX_init * Make git revision more descriptive * ID:477 - fru: Fix decoding of non-text data in get_fru_area_str() * ID:479 - ekanalyzer: fix processing of custom mfg. fields * ID:478 - ekanalyzer: Fixed decoding of FRU fields * Add some more configure/build/editor byproducts to .gitignore * Add git hash and dirty mark to ipmitool version * Prevent autoreconf from complaining about missing NEWS * Add bootstrap support for Mac * ID:474 - Compile fix on nonlinux systems * ID:461 - Make compiler happier about changes related to OpenSSL 1.1 * ID:461 - OpenSSL 1.1 compatibility - "error: storage size of 'ctx' isn't known" version 1.8.18 2016-10-08 * Add mac2str() and str2mac() to print/parse MAC address * Change formatting, remove commented-out code in src/plugins/imb/imbapi.c * Export find_lan_channel() as global * Expose _ipmi_get_channel_info() * Extend buf2str to allow separator * Fix indentation of #define in src/plugins/imb/imbapi.c * Fix missing `goto out_free;` when ipmi_parse_hex() returns (-1) * Fix warning for buf2str argument * ID 408 - fix sel list last X listing * ID: 38 - Protocol violating SOL retries when talking to SIMSO-HTC * ID: 459 - Fix reading FRU on Artesyn (Emerson) shelf manager, MF105. * ID: 464 - ipmievd crash fix in log_event * ID:230 - check return value of malloc() in lib/ipmi_ekanalyzer.c * ID:261 - Fix err. output consistency for % ipmitool chassis INV_PARAM; * ID:287 - Fix print-out of DDR3 SDRAM Serial Number * ID:287 - Remove trailing white-spaces from dimm_spd.c * ID:289 - bmx-snmp-proxy: PEF alerting does not work for multiple destinations * ID:312 - BREAKING CHANGE - Re-design of PEF user interface * ID:312 - Fix bitmask in _ipmi_set_pef_policy_entry() * ID:335 - Check return value of fseek(), prevent segfault * ID:335 - Check return value of fseek(), prevent segfault * ID:355 - Comment out statement without effect in lib/ipmi_sel.c * ID:355 - Fix 'missing initializer' in struct lan_param * ID:355 - Fix ``warning: ISO C forbids zero-size array 'data''' * ID:355 - Fix different pointer type in lib/ipmi_picmg.c * ID:355 - Fix missing struct initializers in lib/ipmi_firewall.c * ID:355 - Fix printf format in lib/ipmi_sunoem.c * ID:355 - Fix printf() related warnings in lib/ipmi_delloem.c * ID:355 - Fix signedness warnings in lib/ipmi_sdr.c * ID:355 - Fix statements without effect in lib/ipmi_ekanalyzer.c * ID:355 - Move section_id from ipmi_fru. to ipmi_fru.c * ID:355 - Replace DEBUG() macro with lprintf(LOG_DEBUG, ...) * ID:375 - Add lan6 subcommand to handle IPv6 LAN parameters * ID:400 - Add support for VITA-specific sensor types and events. * ID:441 - Add support for HMAC_MD5 and HMAC_SHA256 * ID:443 - Disable USB driver by default on non-Linux systems * ID:444 - Cleanup of defaults in configure.ac * ID:445 - Fix of compilation on FreeBSD * ID:446 - Fix broken firewall reset iterator * ID:447 - Fix access beyond array limits in serial_terminal * ID:449 - ipmitool close console session for sol deactivate command * ID:451 - Modify the memory ecc error display of SEL for new supermicro motherboards. * ID:452 - Add PICMG extension 5.x for PICMG extension check * ID:454 - Add support for PICMG 3.1 R2.0 Link Types and Link Classes. * ID:456 - Unable to disable the VLAN ID using ipmitool * ID:457 - Display User ID enable/disable status * ID:463 - Removal of Nokia Siemens Networks * ID:465 - Supermicro memory ecc Modify the memory ecc error display of SEL for new supermicro boards. * Moved ipmi_parse_hex() to helper.c * Re-work ipmi_mc_get_guid() and turn it into reusable code * Revert "ID:335 - Check return value of fseek(), prevent segfault" * Rewrite code with the notion that Kg is binary data, not string version 1.8.17 2016-05-01 * Add INSTALL and NEWS, mandated by autoconf * Added missing ipmi_sel_supermicro.h to template Makefile.am * Check rsp->data_len in ipmi_sel_get_info() * Fix "redirecting incorrect #include to " warning with musl libc * Fix automake compatibility warnings * Fix implicit declaration of function 'get_nic_selection_mode_12g' in lib/ipmi_delloem.c * Fix implicit declaration of function 'ipmi_get_oem' in src/plugins/imb/imb.c * Fix implicit declaration of function 'ipmi_get_oem' in src/plugins/lanplus/lanplus.c * Fix implicit declaration of function 'ipmi_get_oem' in src/plugins/open/open.c * Fix implicit declarations of functions 'HpmfwupgPreUpgradeCheck' and 'ipmi_intf_get_max_request_data_size' in lib/ipmi_hpmfwupg.c * Fix implicit declarations of functions 'ipmi_intf_set_max_request_data_size' and 'ipmi_intf_set_max_response_data_size' in lib/hpm2.c * Fix implicit function declaration of ipmi_intf_get_max_response_data_size in lib/ipmi_sdr.c * Fix several implicit declarations of functions in lib/ipmi_main.c * Fix several implicit function declarations in lib/ipmi_fru.c * Fix warning: suggest parentheses around '+' inside '<<' in lib/ipmi_main.c * Fix warning: suggest parentheses around arithmetic in operand of '|' in include/ipmitool/hpm2 * Get rid of old INCLUDES macro, use AM_CPPFLAGS instead. * ID 440 - Fix 'unknown type name fd_set" error. * ID 440 - remove obsolete headers from lib/ipmi_sunoem.c * ID:322 - let 'ekanalyzer frushow' run without a working IPMI target * ID:355 - Add #include to lib/ipmi_sel.c * ID:355 - Add macros and #include and reduce number of warnings * ID:355 - Change CFLAG -std=c99 to -std=gnu99 * ID:355 - Move Super Micro stuff into dedicated header file * ID:355 - Remove declared, but not used variables * ID:404 - Edit FRU information update problem * ID:405 - Use meaningful Generator ID for "ipmitool sel add" * ID:407 - Avoid assert on mismatched session ID * ID:409 - Fix IPv6 socket creation on Windows/Cygwin. * ID:410 - Disable USB interface for Windows/Cygwin by default. * ID:410 - Enable/disable USB interface by "auto" * ID:411 - Fix HPM.2 revision check for R1.1 and subsequent specification revisions. * ID:412 - Check errors when setting a user password. * ID:413 - Print new line chne character when setting user privilege. * ID:414 - ekanalyzer frushow fails to show 'Product Info' correctly * ID:417 - Fix some typos * ID:418 - Fix Compiling under Mac OS X * ID:419 - List dummy.h in Makefile.am, so it gets included in a release tarball * ID:421 - Fix memleak for sol output * ID:423 - Don't assume internal use area is present in ekanalyzer * ID:424 - Update dimm_spd.c with data from the latest JEDEC List * ID:425 - Disable USB interface for OS X/darwin * ID:426 - Fallback to run-time detection of PAGESIZE if compile-time detection is not supported * ID:426 - Include sys/socket.h instead of asm/socket.h * ID:426 - Include wchar.h instead of defining wchar_t ourselves * ID:427 - Cleanup comment in ipmi_sdr_get_header() * ID:427 - The first two bytes of dumped raw SDR data is wrong. * ID:428 - Update IANA numbers / Product Name for IBM and ADLINK * ID:430 - Change Nokia Siemens Networks to Nokia Solutions and Networks * ID:431 - Fix correct interpretation of led states * ID:437 - sel: Fix "sel time set