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&#174; 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

Reply via email to