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
+* <[email protected]>
+*
+* 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel