summaryrefslogtreecommitdiff
path: root/lib/lanplus
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lanplus')
-rw-r--r--lib/lanplus/inc/ipmitool/ipmi_sdr.h2
-rw-r--r--lib/lanplus/lanplus.c12
-rw-r--r--lib/lanplus/lanplus_crypt_impl.c21
-rw-r--r--lib/lanplus/lanplus_defs.h3
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)