[Olsr-dev] [PATCH] dyn gw plugin - add PingCmd parameter
Ferry Huberts
(spam-protected)
Tue Oct 7 10:46:10 CEST 2014
>From d04ee8dd44b4a0c8cca80d85c3d76eccc9fba6e7 Mon Sep 17 00:00:00 2001
From: Ferry Huberts <(spam-protected)>
Date: Tue, 7 Oct 2014 10:40:09 +0200
Subject: [PATCH] fixups
---
lib/dyn_gw/src/olsrd_dyn_gw.c | 9 +++------
lib/dyn_gw/src/olsrd_dyn_gw.h | 4 ++--
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/lib/dyn_gw/src/olsrd_dyn_gw.c b/lib/dyn_gw/src/olsrd_dyn_gw.c
index e283d71..d5883d9 100644
--- a/lib/dyn_gw/src/olsrd_dyn_gw.c
+++ b/lib/dyn_gw/src/olsrd_dyn_gw.c
@@ -129,7 +129,7 @@ static bool check_gw(union olsr_ip_addr *, uint8_t, struct ping_list *);
static int ping_is_possible(struct ping_list *);
-static char ping_cmd[PING_CMD_MAX_LEN] = { DEFAULT_PING_CHECK_INTERVAL };
+static char ping_cmd[PING_CMD_MAX_LEN] = { DEFAULT_PING_CMD };
/* Event function to register with the scheduler */
static void olsr_event_doing_hna(void *);
@@ -214,13 +214,10 @@ set_plugin_cmd(const char *value, void *data __attribute__ ((unused)), set_plugi
size_t len = strlen(value);
if (len < PING_CMD_MAX_LEN) {
- memcpy(ping_cmd, value, len);
- OLSR_PRINTF(2, "Set ping command to: %s\n", ping_cmd);
+ strncpy(ping_cmd, value, sizeof(ping_cmd));
return 0;
}
- OLSR_PRINTF(0, "Ping command exceed max length: %d > %zu", PING_CMD_MAX_LEN, len);
-
return 1;
}
@@ -556,7 +553,7 @@ ping_is_possible(struct ping_list *the_ping_list)
{
struct ping_list *list;
for (list = the_ping_list; list; list = list->next) {
- char ping_command[96];
+ char ping_command[sizeof(ping_cmd) + INET6_ADDRSTRLEN];
snprintf(ping_command, sizeof(ping_command), ping_cmd, list->ping_address);
olsr_printf(1, "\nDo ping on (%s) %s ...\n", ping_cmd, list->ping_address);
if (system(ping_command) == 0) {
diff --git a/lib/dyn_gw/src/olsrd_dyn_gw.h b/lib/dyn_gw/src/olsrd_dyn_gw.h
index bdca978..5174c63 100644
--- a/lib/dyn_gw/src/olsrd_dyn_gw.h
+++ b/lib/dyn_gw/src/olsrd_dyn_gw.h
@@ -54,8 +54,8 @@
#define DEFAULT_HNA_CHECK_INTERVAL 1000
#define DEFAULT_PING_CHECK_INTERVAL 5
-#define DEFAULT_PING_CMD "ping -c 1 -q %s"
-#define PING_CMD_MAX_LEN 64
+#define DEFAULT_PING_CMD "ping -c 1 -q %s"
+#define PING_CMD_MAX_LEN 64
int olsrd_plugin_init(void);
--
1.9.3
More information about the Olsr-dev
mailing list