Various fixes - the plugin should work now
authorAndreas Tonnesen <andreto@olsr.org>
Fri, 19 Nov 2004 20:52:06 +0000 (20:52 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Fri, 19 Nov 2004 20:52:06 +0000 (20:52 +0000)
lib/secure/Makefile
lib/secure/src/olsrd_plugin.c
lib/secure/src/olsrd_plugin.h
lib/secure/src/olsrd_secure.c

index 53c8594..0aa765e 100644 (file)
@@ -39,7 +39,7 @@ plugin: $(OBJS)
 
 
 install:
-       strip $(NAME)
+#      strip $(NAME)
        install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
        /sbin/ldconfig -n $(LIBDIR)
 
index 91dda60..c1606d7 100644 (file)
@@ -33,7 +33,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: olsrd_plugin.c,v 1.5 2004/11/19 17:03:15 kattemat Exp $
+ * $Id: olsrd_plugin.c,v 1.6 2004/11/19 20:52:05 kattemat Exp $
  */
 
 
@@ -119,6 +119,11 @@ my_fini()
 int
 register_olsr_param(char *key, char *value)
 {
+  if(!strcmp(key, "Keyfile"))
+    {
+      strncpy(keyfile, value, FILENAME_MAX);
+    }
+
   return 1;
 }
 
@@ -201,6 +206,14 @@ fetch_olsrd_data()
     retval = 0;
   }
 
+  if(!olsr_plugin_io(GETF__NET_OUTBUFFER_PUSH, 
+                    &net_outbuffer_push, 
+                    sizeof(net_outbuffer_push)))
+  {
+    net_outbuffer_push = NULL;
+    retval = 0;
+  }
+
 
   if(!olsr_plugin_io(GETF__OLSR_PRINTF, 
                     &olsr_printf, 
index 783cd43..1a43a18 100644 (file)
@@ -33,7 +33,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: olsrd_plugin.h,v 1.6 2004/11/19 17:03:15 kattemat Exp $
+ * $Id: olsrd_plugin.h,v 1.7 2004/11/19 20:52:06 kattemat Exp $
  */
 
 
@@ -51,6 +51,7 @@
 #include <sys/time.h>
 #include <time.h>
 #include <math.h>
+#include <stdio.h>
 
 #include "olsr_plugin_io.h"
 
@@ -80,6 +81,8 @@
 #define TIMED_OUT(s1) \
         timercmp(s1, now, <)
 
+char keyfile[FILENAME_MAX];
+
 /****************************************************************************
  *           Various datastructures and definitions from olsrd              *
  ****************************************************************************/
@@ -393,7 +396,7 @@ void (*olsr_parser_add_function)(void (*)(union olsr_message *, struct interface
 int (*olsr_register_timeout_function)(void (*)());
 
 /* Register a scheduled event */
-int (*olsr_register_scheduler_event)(void (*)(), float, float, olsr_u8_t *);
+int (*olsr_register_scheduler_event)(void (*)(), void *, float, float, olsr_u8_t *);
 
 /* Get the next message seqno in line */
 olsr_u16_t (*get_msg_seqno)();
index a0942b7..9bcb138 100644 (file)
@@ -33,7 +33,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: olsrd_secure.c,v 1.6 2004/11/19 17:03:15 kattemat Exp $
+ * $Id: olsrd_secure.c,v 1.7 2004/11/19 20:52:06 kattemat Exp $
  */
 
 
@@ -78,9 +78,12 @@ olsr_plugin_init()
     }
   olsr_printf(1, "Timestamp database initialized\n");
 
-  if(read_key_from_file(KEYFILE) < 0)
+  if(!strlen(keyfile))
+    strcpy(keyfile, KEYFILE);
+
+  if(read_key_from_file(keyfile) < 0)
     {
-      olsr_printf(1, "[ENC]Could not read key from file!\nExitting!\n\n");
+      olsr_printf(1, "[ENC]Could not read key from file %s!\nExitting!\n\n", keyfile);
       exit(1);
     }
 
@@ -106,7 +109,7 @@ olsr_plugin_init()
     }
 
   /* Register timeout - poll every 2 seconds */
-  olsr_register_scheduler_event(&timeout_timestamps, 2, 0 , NULL);
+  olsr_register_scheduler_event(&timeout_timestamps, NULL, 2, 0 , NULL);
 
   return 1;
 }
@@ -1194,6 +1197,8 @@ read_key_from_file(char *file)
   keylen = 16;
   kf = fopen(file, "r");
 
+  olsr_printf(1, "[ENC]Reading key from file \"%s\"\n", file);
+
   if(kf == NULL)
     {
       olsr_printf(1, "[ENC]Could not open keyfile %s!\nError: %s\n", file, strerror(errno));