Only warning left is the known lvalue problem in ripng_nexthop.c.
diff --git a/ripngd/ChangeLog b/ripngd/ChangeLog
index 112aa19..8fb577b 100644
--- a/ripngd/ChangeLog
+++ b/ripngd/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-08 Hasso Tepper <hasso at quagga.net>
+
+	* *.[c|h]: Fix compiler warnings: make strings const, signed ->
+	  unsigned etc.
+
 2004-09-26 Hasso Tepper <hasso at quagga.net>
 
 	* ripingd.c: Access list hook argument function must have struct
diff --git a/ripngd/ripng_interface.c b/ripngd/ripng_interface.c
index 126829f..eb9005c 100644
--- a/ripngd/ripng_interface.c
+++ b/ripngd/ripng_interface.c
@@ -604,7 +604,7 @@
       return -1;
     }
   else
-    node->info = "enabled";
+    node->info = (char *) "enabled";
 
   /* XXX: One should find a better solution than a generic one */
   ripng_enable_apply_all();
@@ -638,7 +638,7 @@
 int
 ripng_enable_if_lookup (char *ifname)
 {
-  int i;
+  unsigned int i;
   char *str;
 
   for (i = 0; i < vector_max (ripng_enable_if); i++)
@@ -836,7 +836,7 @@
 void
 ripng_clean_network ()
 {
-  int i;
+  unsigned int i;
   char *str;
   struct route_node *rn;
 
@@ -862,7 +862,7 @@
 int
 ripng_passive_interface_lookup (char *ifname)
 {
-  int i;
+  unsigned int i;
   char *str;
 
   for (i = 0; i < vector_max (Vripng_passive_interface); i++)
@@ -937,7 +937,7 @@
 void
 ripng_passive_interface_clean (void)
 {
-  int i;
+  unsigned int i;
   char *str;
 
   for (i = 0; i < vector_max (Vripng_passive_interface); i++)
@@ -953,7 +953,7 @@
 int
 ripng_network_write (struct vty *vty, int config_mode)
 {
-  int i;
+  unsigned int i;
   char *ifname;
   struct route_node *node;
   char buf[BUFSIZ];
diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c
index 9219378..40d2b14 100644
--- a/ripngd/ripng_main.c
+++ b/ripngd/ripng_main.c
@@ -96,7 +96,7 @@
 struct thread_master *master;
 
 /* Process ID saved for use by init system */
-char *pid_file = PATH_RIPNGD_PID;
+const char *pid_file = PATH_RIPNGD_PID;
 
 /* Help information display. */
 static void
diff --git a/ripngd/ripng_routemap.c b/ripngd/ripng_routemap.c
index 0bd7e44..a318301 100644
--- a/ripngd/ripng_routemap.c
+++ b/ripngd/ripng_routemap.c
@@ -45,7 +45,7 @@
 
 int
 ripng_route_match_add (struct vty *vty, struct route_map_index *index,
-		       char *command, char *arg)
+		       const char *command, char *arg)
 {
   int ret;
 
@@ -69,7 +69,7 @@
 
 int
 ripng_route_match_delete (struct vty *vty, struct route_map_index *index,
-			  char *command, char *arg)
+			  const char *command, char *arg)
 {
   int ret;
 
@@ -93,7 +93,7 @@
 
 int
 ripng_route_set_add (struct vty *vty, struct route_map_index *index,
-		     char *command, char *arg)
+		     const char *command, char *arg)
 {
   int ret;
 
@@ -117,7 +117,7 @@
 
 int
 ripng_route_set_delete (struct vty *vty, struct route_map_index *index,
-			char *command, char *arg)
+			const char *command, char *arg)
 {
   int ret;
 
diff --git a/ripngd/ripng_zebra.c b/ripngd/ripng_zebra.c
index 45ba213..7aaa353 100644
--- a/ripngd/ripng_zebra.c
+++ b/ripngd/ripng_zebra.c
@@ -207,7 +207,7 @@
 static struct {
   int type;
   int str_min_len;
-  char *str;
+  const char *str;
 } redist_type[] = {
   {ZEBRA_ROUTE_KERNEL,  1, "kernel"},
   {ZEBRA_ROUTE_CONNECT, 1, "connected"},
@@ -484,8 +484,8 @@
 ripng_redistribute_write (struct vty *vty, int config_mode)
 {
   int i;
-  char *str[] = { "system", "kernel", "connected", "static", "rip",
-		  "ripng", "ospf", "ospf6", "isis", "bgp"};
+  const char *str[] = { "system", "kernel", "connected", "static", "rip",
+			"ripng", "ospf", "ospf6", "isis", "bgp"};
 
   for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
     if (i != zclient->redist_default && zclient->redist[i])
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index 4d7c021..a7254bc 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -296,11 +296,11 @@
 
 /* Dump rip packet */
 void
-ripng_packet_dump (struct ripng_packet *packet, int size, char *sndrcv)
+ripng_packet_dump (struct ripng_packet *packet, int size, const char *sndrcv)
 {
   caddr_t lim;
   struct rte *rte;
-  char *command_str;
+  const char *command_str;
 
   /* Set command string. */
   if (packet->command == RIPNG_REQUEST)
@@ -1935,12 +1935,13 @@
     }
 }
 
-/* Each route type's strings and default preference. */
+/* Each route type's strings and default preference.
+ * FIXME: ISIS? What are these distance values? */
 struct
 {  
   int key;
-  char *str;
-  char *str_long;
+  const char *str;
+  const char *str_long;
   int distance;
 } route_info[] =
 {
diff --git a/ripngd/ripngd.h b/ripngd/ripngd.h
index 609e692..bf69af4 100644
--- a/ripngd/ripngd.h
+++ b/ripngd/ripngd.h
@@ -395,7 +395,7 @@
 int ripng_send_packet (caddr_t buf, int bufsize, struct sockaddr_in6 *to, 
 		       struct interface *ifp);
 
-void ripng_packet_dump (struct ripng_packet *packet, int size, char *sndrcv);
+void ripng_packet_dump (struct ripng_packet *packet, int size, const char *sndrcv);
 
 
 #endif /* _ZEBRA_RIPNG_RIPNGD_H */