diff options
Diffstat (limited to 'lib/lanplus')
-rw-r--r-- | lib/lanplus/inc/ipmitool/ipmi_sdr.h | 2 | ||||
-rw-r--r-- | lib/lanplus/lanplus.c | 12 | ||||
-rw-r--r-- | lib/lanplus/lanplus_crypt_impl.c | 21 | ||||
-rw-r--r-- | lib/lanplus/lanplus_defs.h | 3 |
4 files changed, 24 insertions, 14 deletions
diff --git a/lib/lanplus/inc/ipmitool/ipmi_sdr.h b/lib/lanplus/inc/ipmitool/ipmi_sdr.h index 65b5a8c..b0b9a03 100644 --- a/lib/lanplus/inc/ipmitool/ipmi_sdr.h +++ b/lib/lanplus/inc/ipmitool/ipmi_sdr.h @@ -281,7 +281,7 @@ struct sdr_record_mask { uint16_t settable:8; #endif } read; - }; + } mask; } threshold; } type; } __attribute__ ((packed)); diff --git a/lib/lanplus/lanplus.c b/lib/lanplus/lanplus.c index b695837..2fab966 100644 --- a/lib/lanplus/lanplus.c +++ b/lib/lanplus/lanplus.c @@ -153,7 +153,7 @@ static void ack_sol_packet( static uint8_t bridgePossible = 0; -#if defined(WIN32) || defined(SOLARIS) +#if defined(WIN32) || defined(SOLARIS) || defined(HPUX) struct ipmi_intf ipmi_lanplus_intf; void ipmilanplus_init(struct ipmi_intf *intf) { @@ -690,7 +690,7 @@ ipmiv2_lan_ping(struct ipmi_intf * intf) { uint8_t * data; int rv; -#if defined(WIN32) || defined(SOLARIS) +#if defined(WIN32) || defined(SOLARIS) || defined(HPUX) struct asf_hdr asf_ping; struct rmcp_hdr rmcp_ping; int len = sizeof(rmcp_ping) + sizeof(asf_ping); @@ -1763,7 +1763,7 @@ ipmi_lanplus_build_v2x_msg( uint8_t * msg; int len = 0; int rv = 0; -#if defined(WIN32) || defined(SOLARIS) +#if defined(WIN32) || defined(SOLARIS) || defined(HPUX) struct rmcp_hdr rmcp; rmcp.ver = RMCP_VERSION_1; @@ -2173,7 +2173,7 @@ ipmi_lanplus_build_v15_ipmi_cmd( int cs, mp, len = 0, tmp; struct ipmi_session * session = intf->session; struct ipmi_rq_entry * entry; -#if defined(WIN32) || defined(SOLARIS) +#if defined(WIN32) || defined(SOLARIS) || defined(HPUX) struct rmcp_hdr rmcp; rmcp.ver = RMCP_VERSION_1; @@ -3861,7 +3861,7 @@ ipmi_lanplus_open(struct ipmi_intf * intf) #ifdef HAVE_IPV6 lan2_nodename[0] = 0; - lprintf(LOG_ERROR,"Connected to node %s\n", session->hostname); + lprintf(LOG_NOTICE,"Connected to node %s\n", session->hostname); #else #ifdef WIN32 /* check for ws2_32.lib(getnameinfo) resolution */ @@ -3875,7 +3875,7 @@ ipmi_lanplus_open(struct ipmi_intf * intf) } #endif temp = inet_ntoa(addr.sin_addr); - lprintf(LOG_ERROR,"Connected to node %s %s\n",lan2_nodename,temp); + lprintf(LOG_NOTICE,"Connected to node %s %s\n",lan2_nodename,temp); #endif return (int)(intf->fd); diff --git a/lib/lanplus/lanplus_crypt_impl.c b/lib/lanplus/lanplus_crypt_impl.c index 3f9679e..d12ad9c 100644 --- a/lib/lanplus/lanplus_crypt_impl.c +++ b/lib/lanplus/lanplus_crypt_impl.c @@ -61,13 +61,20 @@ int lanplus_seed_prng(uint32_t bytes) static FILE *fp = NULL; size_t i; randfile = RAND_file_name(buffer, sizeof buffer); /* usu C:\.rnd */ - if ((randfile != NULL) && (fp == NULL)) { - /*first time, so open/create file*/ - fp = fopen(randfile,"w"); /*create the randfile*/ - if (fp != NULL) { - i = fwrite(" \n",2,1,fp); - fclose(fp); - } + if ((randfile != NULL) && (fp == NULL)) { + fp = fopen(randfile,"r"); /*check the randfile*/ + if (fp == NULL) { /*does not exist, create it*/ + /*first time, so open/create file*/ + fp = fopen(randfile,"w"); /*create the randfile*/ + if (fp != NULL) { + i = fwrite(" \n",2,1,fp); + fclose(fp); + } else { + printf("seed_prng: cannot create %s file\n",randfile); + } + } else { /*file opened, so close it*/ + fclose(fp); + } } if (verbose > 0) printf("seed_prng: RAND_file_name = %s, fp=%p\n",randfile,fp); diff --git a/lib/lanplus/lanplus_defs.h b/lib/lanplus/lanplus_defs.h index dbce90d..2ba35b7 100644 --- a/lib/lanplus/lanplus_defs.h +++ b/lib/lanplus/lanplus_defs.h @@ -38,10 +38,13 @@ #if defined(HAVE_CONFIG_H) #include "config.h" #else +#ifndef HPUX +/* HPUX already has socklen_t but no #define */ #ifndef socklen_t typedef unsigned int socklen_t; #endif #endif +#endif #if defined(MACOS) |