Hi, I have implemented the 4 dell oem commands delloem lcd, mac lan and powermonitor. There are 5 patches to enable them.
This is the 1st patch out 5 patches. The purpose of this patch is to add basic support like creating entry for the delloem to support dell specific commands. Regards, Deepaganesh Paulraj diff -Naurp 01_ipmitool-1.8.11_org/configure 02_ipmitool-1.8.11_basic/configure --- 01_ipmitool-1.8.11_org/configure 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/configure 2010-02-23 20:40:27.000000000 +0530 @@ -24310,7 +24310,7 @@ _ACEOF fi fi; - +ac_config_files="$ac_config_files Makefile doc/Makefile contrib/Makefile control/Makefile control/pkginfo control/prototype control/rpmmacros control/ipmitool.spec lib/Makefile include/Makefile include/ipmitool/Makefile src/Makefile src/plugins/Makefile src/plugins/lan/Makefile src/plugins/lanplus/Makefile src/plugins/open/Makefile src/plugins/free/Makefile src/plugins/imb/Makefile src/plugins/bmc/Makefile src/plugins/lipmi/Makefile" if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 diff -Naurp 01_ipmitool-1.8.11_org/contrib/Makefile.in 02_ipmitool-1.8.11_basic/contrib/Makefile.in --- 01_ipmitool-1.8.11_org/contrib/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/contrib/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff -Naurp 01_ipmitool-1.8.11_org/control/Makefile.in 02_ipmitool-1.8.11_basic/control/Makefile.in --- 01_ipmitool-1.8.11_org/control/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/control/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff -Naurp 01_ipmitool-1.8.11_org/doc/ipmitool.1 02_ipmitool-1.8.11_basic/doc/ipmitool.1 --- 01_ipmitool-1.8.11_org/doc/ipmitool.1 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/doc/ipmitool.1 2010-02-23 20:40:27.000000000 +0530 @@ -219,6 +219,7 @@ Commands: shell Launch interactive IPMI shell exec Run list of commands from file set Set runtime variable for shell and exec + delloem Manage Dell OEM Extensions echo Used to echo lines to stdout in scripts ekanalyzer run FRU-Ekeying analyzer using FRU files diff -Naurp 01_ipmitool-1.8.11_org/doc/Makefile.in 02_ipmitool-1.8.11_basic/doc/Makefile.in --- 01_ipmitool-1.8.11_org/doc/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/doc/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff -Naurp 01_ipmitool-1.8.11_org/include/ipmitool/ipmi_delloem.h 02_ipmitool-1.8.11_basic/include/ipmitool/ipmi_delloem.h --- 01_ipmitool-1.8.11_org/include/ipmitool/ipmi_delloem.h 1970-01-01 05:30:00.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/include/ipmitool/ipmi_delloem.h 2010-02-23 20:40:27.000000000 +0530 @@ -0,0 +1,42 @@ +/**************************************************************************** +Copyright (c) 2008, Dell 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: +- Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +- Redistributions 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 Dell Inc nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +*****************************************************************************/ +#ifndef IPMI_DELLOEM_H +#define IPMI_DELLOEM_H + +#if HAVE_CONFIG_H +# include <config.h> +#endif + +#pragma pack(1) + + +int ipmi_delloem_main(struct ipmi_intf * intf, int argc, char ** argv); + +#endif /*IPMI_DELLOEM_H*/ + diff -Naurp 01_ipmitool-1.8.11_org/include/ipmitool/Makefile.am 02_ipmitool-1.8.11_basic/include/ipmitool/Makefile.am --- 01_ipmitool-1.8.11_org/include/ipmitool/Makefile.am 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/include/ipmitool/Makefile.am 2010-02-23 20:40:27.000000000 +0530 @@ -37,5 +37,5 @@ noinst_HEADERS = log.h bswap.h helper.h ipmi_strings.h ipmi_constants.h ipmi_user.h ipmi_pef.h \ ipmi_oem.h ipmi_isol.h ipmi_sunoem.h ipmi_picmg.h \ ipmi_fwum.h ipmi_main.h ipmi_tsol.h ipmi_firewall.h \ - ipmi_kontronoem.h ipmi_ekanalyzer.h ipmi_gendev.h + ipmi_kontronoem.h ipmi_delloem.h ipmi_ekanalyzer.h ipmi_gendev.h diff -Naurp 01_ipmitool-1.8.11_org/include/ipmitool/Makefile.in 02_ipmitool-1.8.11_basic/include/ipmitool/Makefile.in --- 01_ipmitool-1.8.11_org/include/ipmitool/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/include/ipmitool/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -216,7 +216,7 @@ noinst_HEADERS = log.h bswap.h helper.h ipmi_strings.h ipmi_constants.h ipmi_user.h ipmi_pef.h \ ipmi_oem.h ipmi_isol.h ipmi_sunoem.h ipmi_picmg.h \ ipmi_fwum.h ipmi_main.h ipmi_tsol.h ipmi_firewall.h \ - ipmi_kontronoem.h ipmi_ekanalyzer.h ipmi_gendev.h + ipmi_kontronoem.h ipmi_delloem.h ipmi_ekanalyzer.h ipmi_gendev.h all: all-am diff -Naurp 01_ipmitool-1.8.11_org/include/Makefile.in 02_ipmitool-1.8.11_basic/include/Makefile.in --- 01_ipmitool-1.8.11_org/include/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/include/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff -Naurp 01_ipmitool-1.8.11_org/lib/ipmi_delloem.c 02_ipmitool-1.8.11_basic/lib/ipmi_delloem.c --- 01_ipmitool-1.8.11_org/lib/ipmi_delloem.c 1970-01-01 05:30:00.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/lib/ipmi_delloem.c 2010-02-23 20:40:27.000000000 +0530 @@ -0,0 +1,114 @@ +/****************************************************************** +Copyright (c) 2008, Dell 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: +- Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +- Redistributions 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 Dell Inc nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +******************************************************************/ +/* +* Thursday Oct 7 17:30:12 2009 +* <deepaganesh_paul...@dell.com> +* +* This code implements a dell OEM proprietary commands. +*/ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <errno.h> +#include <unistd.h> +#include <signal.h> +#include <ctype.h> +#include <limits.h> +#include <ipmitool/ipmi.h> +#include <ipmitool/ipmi_intf.h> +#include <ipmitool/helper.h> +#include <ipmitool/log.h> +/*------------ipmi headers------------------*/ + + +/*--------------time header-----------------*/ +#include <time.h> + +static int current_arg =0; +static void usage(void); + + +/***************************************************************** +* Function Name: ipmi_delloem_main +* +* Description: This function processes the delloem command +* Input: intf - ipmi interface + argc - no of arguments + argv - argument string array +* Output: +* +* Return: return code 0 - success +* -1 - failure +* +******************************************************************/ + +int +ipmi_delloem_main(struct ipmi_intf * intf, int argc, char ** argv) +{ + int rc = 0; + + + if (argc == 0 || strncmp(argv[0], "help\0", 5) == 0) + { + usage(); + return 0; + } + + return rc; +} + + +/***************************************************************** +* Function Name: usage +* +* Description: This function prints help message for delloem command +* Input: +* Output: +* +* Return: +* +******************************************************************/ + +static void usage(void) +{ + lprintf(LOG_NOTICE, ""); + lprintf(LOG_NOTICE, "usage: delloem <command> [option...]"); + lprintf(LOG_NOTICE, ""); + lprintf(LOG_NOTICE, "commands:"); + lprintf(LOG_NOTICE, ""); + lprintf(LOG_NOTICE, "For help on individual commands type:"); + lprintf(LOG_NOTICE, "delloem <command> help"); + +} + diff -Naurp 01_ipmitool-1.8.11_org/lib/ipmi_event.c 02_ipmitool-1.8.11_basic/lib/ipmi_event.c --- 01_ipmitool-1.8.11_org/lib/ipmi_event.c 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/lib/ipmi_event.c 2010-02-23 20:40:27.000000000 +0530 @@ -95,10 +95,11 @@ ipmi_send_platform_event(struct ipmi_int chmed = ipmi_current_channel_medium(intf); if (chmed == IPMI_CHANNEL_MEDIUM_SYSTEM) { - /* system interface, need extra generator ID */ - req.msg.data_len = 8; - rqdata[0] = 0x20; - memcpy(rqdata+1, emsg, sizeof(struct platform_event_msg)); + /* system interface, need extra generator ID */ + req.msg.data_len = 8; + /* Valid system software ID The bit [0] of SWID must be 1b */ + rqdata[0] = (0x20 <<1) | 0x1; + memcpy(rqdata+1, emsg, sizeof(struct platform_event_msg)); } else { req.msg.data_len = 7; diff -Naurp 01_ipmitool-1.8.11_org/lib/ipmi_main.c 02_ipmitool-1.8.11_basic/lib/ipmi_main.c --- 01_ipmitool-1.8.11_org/lib/ipmi_main.c 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/lib/ipmi_main.c 2010-02-23 20:40:27.000000000 +0530 @@ -73,11 +73,12 @@ #endif #ifdef ENABLE_ALL_OPTIONS -# define OPTION_STRING "I:hVvcgsEKao:H:d:P:f:U:p:C:L:A:t:T:m:S:l:b:B:e:k:y:O:" +# define OPTION_STRING "I:hVvcgsEKao:H:d:P:f:U:p:C:L:A:t:T:m:S:l:b:B:e:k:x:y:O:" #else # define OPTION_STRING "I:hVvcH:f:U:p:d:S:" #endif +int xoptionselected =0; extern int verbose; extern int csv_output; extern const struct valstr ipmi_privlvl_vals[]; @@ -230,6 +231,7 @@ ipmi_option_usage(const char * progname, lprintf(LOG_NOTICE, " -e char Set SOL escape character"); lprintf(LOG_NOTICE, " -C ciphersuite Cipher suite to be used by lanplus interface"); lprintf(LOG_NOTICE, " -k key Use Kg key for IPMIv2 authentication"); + lprintf(LOG_NOTICE, " -x key Use Kg key in hex value"); lprintf(LOG_NOTICE, " -y hex_key Use hexadecimal-encoded Kg key for IPMIv2 authentication"); lprintf(LOG_NOTICE, " -L level Remote session privilege level [default=ADMINISTRATOR]"); lprintf(LOG_NOTICE, " Append a '+' to use name/privilege lookup in RAKP1"); @@ -254,6 +256,34 @@ ipmi_option_usage(const char * progname, ipmi_cmd_print(cmdlist); } +char IsHexValue (char ch) +{ + if ( (ch >= '0' && ch <='9') || + (ch >= 'a' && ch <='f') || + (ch >= 'A' && ch <='F') + ) + { + return 1; + } + + return 0; +} + +/* +Input - a valid hex value. +Output - 0x0 to 0xF +*/ +char AsciiToHex (char ch) +{ + if (ch >='a') + return ch-'a'+10; + if (ch >='A') + return ch-'A'+10; + if (ch >= '0') + return ch-'0'; + return ch; +} + /* ipmi_parse_hex - convert hexadecimal numbers to ascii string * Input string must be composed of two-characer hexadecimal numbers. * There is no separator between the numbers. Each number results in one character @@ -352,7 +382,14 @@ ipmi_main(int argc, char ** argv, char * sdrcache = NULL; unsigned char * kgkey = NULL; char * seloem = NULL; - int port = 0; + #define ENCRYPTION_KEY_ASCII_LENGTH 40 + #define ENCRYPTION_KEY_HEX_LENGTH 20 + + char kgkeyhexbuf[ENCRYPTION_KEY_ASCII_LENGTH+1]; + char kgkeybuf[ENCRYPTION_KEY_HEX_LENGTH+1]; + char nibble; + + int port = 0,k,m; int devnum = 0; int cipher_suite_id = 3; /* See table 22-19 of the IPMIv2 spec */ int argflag, i, found; @@ -363,6 +400,7 @@ ipmi_main(int argc, char ** argv, progname = strrchr(argv[0], '/'); progname = ((progname == NULL) ? argv[0] : progname+1); + xoptionselected = 0; while ((argflag = getopt(argc, (char **)argv, OPTION_STRING)) != -1) { switch (argflag) { @@ -392,7 +430,7 @@ ipmi_main(int argc, char ** argv, goto out_free; break; case 'V': - printf("%s version %s\n", progname, VERSION); + printf("%s version %s.dell19\n", progname, VERSION); rc = 0; goto out_free; break; @@ -449,6 +487,45 @@ ipmi_main(int argc, char ** argv, goto out_free; } break; + case 'x': + xoptionselected = 1; + kgkey = strdup(optarg); + + if (kgkey == NULL) { + lprintf(LOG_ERR, "%s: malloc failure", progname); + goto out_free; + } + if (strlen(kgkey) != ENCRYPTION_KEY_ASCII_LENGTH) + { + lprintf(LOG_ERR, "This option supports kg key. The key string size should be 40 characters."); + goto out_free; + } + + for (k=0;k<ENCRYPTION_KEY_ASCII_LENGTH+1;k++) + { + kgkeyhexbuf[k] =NULL; + } + + for(k=0;k<ENCRYPTION_KEY_ASCII_LENGTH;k++) + { + if (!IsHexValue(kgkey[k])) + { + lprintf(LOG_ERR, "This option supports kg key in hex value only."); + goto out_free; + } + nibble = AsciiToHex(kgkey[k]); + kgkeyhexbuf[k/2]= (kgkeyhexbuf[k/2]<<4) | nibble; + } + kgkeyhexbuf[ENCRYPTION_KEY_ASCII_LENGTH]=NULL; + + /*Copy from kgkeyhexbuf to target buffer kgkeybuf*/ + for (k=0;k<ENCRYPTION_KEY_HEX_LENGTH;k++) + { + kgkeybuf[k] =kgkeyhexbuf[k]; + + } + kgkeybuf [ENCRYPTION_KEY_HEX_LENGTH] = NULL; + break; case 'K': if ((tmp = getenv("IPMI_KGKEY"))) { @@ -505,6 +582,7 @@ ipmi_main(int argc, char ** argv, /* backwards compatible oem hack */ oemtype = strdup("supermicro"); break; +#define MAX_USER_PASSWORD_LENGTH (20) case 'P': if (password) free(password); @@ -513,6 +591,11 @@ ipmi_main(int argc, char ** argv, lprintf(LOG_ERR, "%s: malloc failure", progname); goto out_free; } + else if (strlen (password) > MAX_USER_PASSWORD_LENGTH) + { + printf("\nMaximum password length is 20 characters."); + goto out_free; + } /* Prevent password snooping with ps */ i = strlen(optarg); @@ -661,8 +744,12 @@ ipmi_main(int argc, char ** argv, ipmi_intf_session_set_username(intf, username); if (password != NULL) ipmi_intf_session_set_password(intf, password); - if (kgkey != NULL) - ipmi_intf_session_set_kgkey(intf, kgkey); + if (1 == xoptionselected) + if (kgkey != NULL) + ipmi_intf_session_set_kgkey(intf, kgkeybuf); + else + if (kgkey != NULL) + ipmi_intf_session_set_kgkey(intf, kgkey); if (port > 0) ipmi_intf_session_set_port(intf, port); if (authtype >= 0) diff -Naurp 01_ipmitool-1.8.11_org/lib/Makefile.am 02_ipmitool-1.8.11_basic/lib/Makefile.am --- 01_ipmitool-1.8.11_org/lib/Makefile.am 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/lib/Makefile.am 2010-02-23 20:40:27.000000000 +0530 @@ -38,7 +38,8 @@ libipmitool_la_SOURCES = helper.c ipmi_s ipmi_session.c ipmi_strings.c ipmi_user.c ipmi_raw.c \ ipmi_oem.c ipmi_isol.c ipmi_sunoem.c ipmi_fwum.c ipmi_picmg.c \ ipmi_main.c ipmi_tsol.c ipmi_firewall.c ipmi_kontronoem.c \ - ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c + ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c\ +ipmi_delloem.c libipmitool_la_LDFLAGS = -export-dynamic libipmitool_la_LIBADD = -lm diff -Naurp 01_ipmitool-1.8.11_org/lib/Makefile.in 02_ipmitool-1.8.11_basic/lib/Makefile.in --- 01_ipmitool-1.8.11_org/lib/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/lib/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libipmitool_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -84,8 +86,8 @@ am_libipmitool_la_OBJECTS = helper.lo ip ipmi_user.lo ipmi_raw.lo ipmi_oem.lo ipmi_isol.lo \ ipmi_sunoem.lo ipmi_fwum.lo ipmi_picmg.lo ipmi_main.lo \ ipmi_tsol.lo ipmi_firewall.lo ipmi_kontronoem.lo \ - ipmi_hpmfwupg.lo ipmi_sdradd.lo ipmi_ekanalyzer.lo \ - ipmi_gendev.lo + ipmi_hpmfwupg.lo ipmi_sdradd.lo ipmi_ekanalyzer.lo\ + ipmi_delloem.lo ipmi_gendev.lo libipmitool_la_OBJECTS = $(am_libipmitool_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -237,7 +239,8 @@ libipmitool_la_SOURCES = helper.c ipmi_s ipmi_session.c ipmi_strings.c ipmi_user.c ipmi_raw.c \ ipmi_oem.c ipmi_isol.c ipmi_sunoem.c ipmi_fwum.c ipmi_picmg.c \ ipmi_main.c ipmi_tsol.c ipmi_firewall.c ipmi_kontronoem.c \ - ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c + ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c\ +ipmi_delloem.c libipmitool_la_LDFLAGS = -export-dynamic libipmitool_la_LIBADD = -lm diff -Naurp 01_ipmitool-1.8.11_org/Makefile.in 02_ipmitool-1.8.11_basic/Makefile.in --- 01_ipmitool-1.8.11_org/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff -Naurp 01_ipmitool-1.8.11_org/src/ipmitool.c 02_ipmitool-1.8.11_basic/src/ipmitool.c --- 01_ipmitool-1.8.11_org/src/ipmitool.c 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/ipmitool.c 2010-02-23 20:40:27.000000000 +0530 @@ -61,6 +61,7 @@ #include <ipmitool/ipmi_kontronoem.h> #include <ipmitool/ipmi_firewall.h> #include <ipmitool/ipmi_hpmfwupg.h> +#include <ipmitool/ipmi_delloem.h> #include <ipmitool/ipmi_ekanalyzer.h> #ifdef HAVE_CONFIG_H @@ -105,6 +106,7 @@ struct ipmi_cmd ipmitool_cmd_list[] = { { ipmi_picmg_main, "picmg", "Run a PICMG/ATCA extended cmd"}, { ipmi_fwum_main, "fwum", "Update IPMC using Kontron OEM Firmware Update Manager" }, { ipmi_firewall_main,"firewall","Configure Firmware Firewall" }, + { ipmi_delloem_main, "delloem", "OEM Commands for Dell systems" }, #ifdef HAVE_READLINE { ipmi_shell_main, "shell", "Launch interactive IPMI shell" }, #endif diff -Naurp 01_ipmitool-1.8.11_org/src/Makefile.in 02_ipmitool-1.8.11_basic/src/Makefile.in --- 01_ipmitool-1.8.11_org/src/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(ipmievd_SOURCES) $(ipmitool_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/bmc/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/bmc/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/bmc/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/bmc/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_bmc_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/free/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/free/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/free/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/free/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -14,6 +14,8 @@ @SET_MAKE@ +SOURCES = $(libintf_free_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/imb/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/imb/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/imb/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/imb/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_imb_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/ipmi_intf.c 02_ipmitool-1.8.11_basic/src/plugins/ipmi_intf.c --- 01_ipmitool-1.8.11_org/src/plugins/ipmi_intf.c 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/ipmi_intf.c 2010-02-23 20:40:27.000000000 +0530 @@ -255,9 +255,10 @@ ipmi_intf_session_set_kgkey(struct ipmi_ if (kgkey == NULL) return; + memcpy(intf->session->v2_data.kg, kgkey, IPMI_KG_BUFFER_SIZE); - memcpy(intf->session->v2_data.kg, kgkey, - __min(strlen(kgkey), IPMI_KG_BUFFER_SIZE)); + /*memcpy(intf->session->v2_data.kg, kgkey, + __min(strlen(kgkey), IPMI_KG_BUFFER_SIZE));*/ } void diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/lan/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/lan/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/lan/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/lan/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_lan_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/lanplus/lanplus_crypt.c 02_ipmitool-1.8.11_basic/src/plugins/lanplus/lanplus_crypt.c --- 01_ipmitool-1.8.11_org/src/plugins/lanplus/lanplus_crypt.c 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/lanplus/lanplus_crypt.c 2010-02-23 20:40:27.000000000 +0530 @@ -42,6 +42,7 @@ #include "lanplus_crypt_impl.h" +extern int xoptionselected; /* * lanplus_rakp2_hmac_matches @@ -463,7 +464,7 @@ int lanplus_generate_sik(struct ipmi_ses int input_buffer_length, i; uint8_t * input_key; uint32_t mac_length; - + uint8_t invalid_encryption_key; memset(session->v2_data.sik, 0, IPMI_SIK_BUFFER_SIZE); @@ -535,7 +536,26 @@ int lanplus_generate_sik(struct ipmi_ses /* We will be hashing with Kuid */ input_key = session->authcode; } + if (1==xoptionselected) + { + input_key = session->v2_data.kg; + invalid_encryption_key = 1; + for (i=0;i<IPMI_SIK_BUFFER_SIZE;i++) + { + + if (input_key [i] != 0) + { + invalid_encryption_key = 0; + break; + } + } + + if (invalid_encryption_key ==1) + { + input_key = session->authcode; + } + } if (verbose >= 2) printbuf((const uint8_t *)input_buffer, input_buffer_length, "session integrity key input"); diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/lanplus/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/lanplus/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/lanplus/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/lanplus/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_lanplus_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/lipmi/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/lipmi/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/lipmi/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/lipmi/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_lipmi_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff -Naurp 01_ipmitool-1.8.11_org/src/plugins/open/Makefile.in 02_ipmitool-1.8.11_basic/src/plugins/open/Makefile.in --- 01_ipmitool-1.8.11_org/src/plugins/open/Makefile.in 2010-02-23 20:40:26.000000000 +0530 +++ 02_ipmitool-1.8.11_basic/src/plugins/open/Makefile.in 2010-02-23 20:40:27.000000000 +0530 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,6 +44,8 @@ # 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. +SOURCES = $(libintf_open_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Ipmitool-devel mailing list Ipmitool-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipmitool-devel