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
> +* <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
> 
-- 
Albert Chu
ch...@llnl.gov
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory


------------------------------------------------------------------------------
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