summaryrefslogtreecommitdiff
path: root/src/plugins/dummy/dummy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/dummy/dummy.c')
-rw-r--r--src/plugins/dummy/dummy.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/plugins/dummy/dummy.c b/src/plugins/dummy/dummy.c
index 8bfc4cf..8600a84 100644
--- a/src/plugins/dummy/dummy.c
+++ b/src/plugins/dummy/dummy.c
@@ -31,6 +31,7 @@
#include <errno.h>
#include <limits.h>
#include <stdio.h>
+#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>
@@ -175,6 +176,14 @@ ipmi_dummyipmi_open(struct ipmi_intf *intf)
struct sockaddr_un address;
int len;
int rc;
+ char *dummy_sock_path;
+
+ dummy_sock_path = getenv("IPMI_DUMMY_SOCK");
+ if (dummy_sock_path == NULL) {
+ lprintf(LOG_DEBUG, "No IPMI_DUMMY_SOCK set. Dummy mode ON.");
+ intf->opened = 1;
+ return intf->fd;
+ }
if (intf->opened == 1) {
return intf->fd;
@@ -185,7 +194,7 @@ ipmi_dummyipmi_open(struct ipmi_intf *intf)
return (-1);
}
address.sun_family = AF_UNIX;
- strcpy(address.sun_path, DUMMY_SOCKET_PATH);
+ strcpy(address.sun_path, dummy_sock_path);
len = sizeof(address);
rc = connect(intf->fd, (struct sockaddr *)&address, len);
if (rc != 0) {
@@ -209,6 +218,12 @@ ipmi_dummyipmi_send_cmd(struct ipmi_intf *intf, struct ipmi_rq *req)
static struct ipmi_rs rsp;
struct dummy_rq req_dummy;
struct dummy_rs rsp_dummy;
+ char *dummy_sock_path;
+ dummy_sock_path = getenv("IPMI_DUMMY_SOCK");
+ if (dummy_sock_path == NULL) {
+ lprintf(LOG_DEBUG, "No IPMI_DUMMY_SOCK set. Dummy mode ON.");
+ return NULL;
+ }
if (intf == NULL || intf->fd < 0 || intf->opened != 1) {
lprintf(LOG_ERR, "dummy failed on intf check.");
return NULL;