Hi Deepaganesh,
It's possible I missed it, but I don't see a manpage entry in any of the
patches.
Al
On Tue, 2010-02-23 at 09:52 -0600, Deepaganesh Paulraj wrote:
> 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
>
--
Albert Chu
[email protected]
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory
------------------------------------------------------------------------------
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