diff --git a/ripd/ChangeLog b/ripd/ChangeLog
index 18b3c65..8327abf 100644
--- a/ripd/ChangeLog
+++ b/ripd/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+	* *.c: Make more strings const.
+
 2004-10-08 Hasso Tepper <hasso at quagga.net>
 
 	* *.c: Fix compiler warnings: make strings const, signed -> unsigned
diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index cbb4d3e..509d5ed 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -44,7 +44,7 @@
 void rip_enable_apply (struct interface *);
 void rip_passive_interface_apply (struct interface *);
 int rip_if_down(struct interface *ifp);
-int rip_enable_if_lookup (char *ifname);
+int rip_enable_if_lookup (const char *ifname);
 int rip_enable_network_lookup2 (struct connected *connected);
 void rip_enable_apply_all ();
 
@@ -986,7 +986,7 @@
 
 /* Check interface is enabled by ifname statement. */
 int
-rip_enable_if_lookup (char *ifname)
+rip_enable_if_lookup (const char *ifname)
 {
   unsigned int i;
   char *str;
@@ -1000,7 +1000,7 @@
 
 /* Add interface to rip_enable_if. */
 int
-rip_enable_if_add (char *ifname)
+rip_enable_if_add (const char *ifname)
 {
   int ret;
 
@@ -1017,7 +1017,7 @@
 
 /* Delete interface from rip_enable_if. */
 int
-rip_enable_if_delete (char *ifname)
+rip_enable_if_delete (const char *ifname)
 {
   int index;
   char *str;
@@ -1268,7 +1268,7 @@
 
 /* Utility function for looking up passive interface settings. */
 int
-rip_passive_nondefault_lookup (char *ifname)
+rip_passive_nondefault_lookup (const char *ifname)
 {
   unsigned int i;
   char *str;
@@ -1309,7 +1309,7 @@
 
 /* Passive interface. */
 int
-rip_passive_nondefault_set (struct vty *vty, char *ifname)
+rip_passive_nondefault_set (struct vty *vty, const char *ifname)
 {
   if (rip_passive_nondefault_lookup (ifname) >= 0)
     return CMD_WARNING;
@@ -1322,7 +1322,7 @@
 }
 
 int
-rip_passive_nondefault_unset (struct vty *vty, char *ifname)
+rip_passive_nondefault_unset (struct vty *vty, const char *ifname)
 {
   int i;
   char *str;
@@ -1984,7 +1984,7 @@
        "Interface name\n"
        "default for all interfaces\n")
 {
-  char *ifname = argv[0];
+  const char *ifname = argv[0];
 
   if (!strcmp(ifname,"default")) {
     passive_default = 1;
@@ -2005,7 +2005,7 @@
        "Interface name\n"
        "default for all interfaces\n")
 {
-  char *ifname = argv[0];
+  const char *ifname = argv[0];
 
   if (!strcmp(ifname,"default")) {
     passive_default = 0;
diff --git a/ripd/rip_offset.c b/ripd/rip_offset.c
index 0d47348..6899c4d 100644
--- a/ripd/rip_offset.c
+++ b/ripd/rip_offset.c
@@ -47,7 +47,7 @@
 static struct list *rip_offset_list_master;
 
 int
-strcmp_safe (char *s1, char *s2)
+strcmp_safe (const char *s1, const char *s2)
 {
   if (s1 == NULL && s2 == NULL)
     return 0;
@@ -75,7 +75,7 @@
 }
 
 struct rip_offset_list *
-rip_offset_list_lookup (char *ifname)
+rip_offset_list_lookup (const char *ifname)
 {
   struct rip_offset_list *offset;
   struct listnode *nn;
@@ -89,7 +89,7 @@
 }
 
 struct rip_offset_list *
-rip_offset_list_get (char *ifname)
+rip_offset_list_get (const char *ifname)
 {
   struct rip_offset_list *offset;
   
@@ -106,8 +106,8 @@
 }
 
 int
-rip_offset_list_set (struct vty *vty, char *alist, char *direct_str,
-		     char *metric_str, char *ifname)
+rip_offset_list_set (struct vty *vty, const char *alist, const char *direct_str,
+		     const char *metric_str, const char *ifname)
 {
   int direct;
   int metric;
@@ -144,8 +144,9 @@
 }
 
 int
-rip_offset_list_unset (struct vty *vty, char *alist, char *direct_str,
-		       char *metric_str, char *ifname)
+rip_offset_list_unset (struct vty *vty, const char *alist,
+		       const char *direct_str, const char *metric_str,
+		       const char *ifname)
 {
   int direct;
   int metric;
diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c
index ffe1317..e9dae2a 100644
--- a/ripd/rip_routemap.c
+++ b/ripd/rip_routemap.c
@@ -47,7 +47,7 @@
 /* Add rip route map rule. */
 int
 rip_route_match_add (struct vty *vty, struct route_map_index *index,
-		     const char *command, char *arg)
+		     const char *command, const char *arg)
 {
   int ret;
 
@@ -70,7 +70,7 @@
 /* Delete rip route map rule. */
 int
 rip_route_match_delete (struct vty *vty, struct route_map_index *index,
-			const char *command, char *arg)
+			const char *command, const char *arg)
 {
   int ret;
 
@@ -93,7 +93,7 @@
 /* Add rip route map rule. */
 int
 rip_route_set_add (struct vty *vty, struct route_map_index *index,
-		   const char *command, char *arg)
+		   const char *command, const char *arg)
 {
   int ret;
 
@@ -116,7 +116,7 @@
 /* Delete rip route map rule. */
 int
 rip_route_set_delete (struct vty *vty, struct route_map_index *index,
-		      const char *command, char *arg)
+		      const char *command, const char *arg)
 {
   int ret;
 
@@ -139,7 +139,7 @@
 /* Hook function for updating route_map assignment. */
 /* ARGSUSED */
 void
-rip_route_map_update (char *notused)
+rip_route_map_update (const char *notused)
 {
   int i;
 
@@ -178,7 +178,7 @@
 
 /* Route map `match metric' match statement. `arg' is METRIC value */
 void *
-route_match_metric_compile (char *arg)
+route_match_metric_compile (const char *arg)
 {
   u_int32_t *metric;
 
@@ -239,7 +239,7 @@
 /* Route map `match interface' match statement. `arg' is IFNAME value */
 /* XXX I don`t know if I need to check does interface exist? */
 void *
-route_match_interface_compile (char *arg)
+route_match_interface_compile (const char *arg)
 {
   return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg);
 }
@@ -291,7 +291,7 @@
 /* Route map `ip next-hop' match statement.  `arg' should be
    access-list name. */
 void *
-route_match_ip_next_hop_compile (char *arg)
+route_match_ip_next_hop_compile (const char *arg)
 {
   return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg);
 }
@@ -340,7 +340,7 @@
 }
 
 void *
-route_match_ip_next_hop_prefix_list_compile (char *arg)
+route_match_ip_next_hop_prefix_list_compile (const char *arg)
 {
   return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg);
 }
@@ -384,7 +384,7 @@
 /* Route map `ip address' match statement.  `arg' should be
    access-list name. */
 void *
-route_match_ip_address_compile (char *arg)
+route_match_ip_address_compile (const char *arg)
 {
   return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg);
 }
@@ -426,7 +426,7 @@
 }
 
 void *
-route_match_ip_address_prefix_list_compile (char *arg)
+route_match_ip_address_prefix_list_compile (const char *arg)
 {
   return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg);
 }
@@ -470,7 +470,7 @@
 
 /* Route map `match tag' match statement. `arg' is TAG value */
 void *
-route_match_tag_compile (char *arg)
+route_match_tag_compile (const char *arg)
 {
   u_short *tag;
 
@@ -530,10 +530,10 @@
 
 /* set metric compilation. */
 void *
-route_set_metric_compile (char *arg)
+route_set_metric_compile (const char *arg)
 {
   int len;
-  char *pnt;
+  const char *pnt;
   int type;
   long metric;
   char *endptr = NULL;
@@ -621,7 +621,7 @@
 /* Route map `ip nexthop' compile function.  Given string is converted
    to struct in_addr structure. */
 void *
-route_set_ip_nexthop_compile (char *arg)
+route_set_ip_nexthop_compile (const char *arg)
 {
   int ret;
   struct in_addr *address;
@@ -681,7 +681,7 @@
 /* Route map `tag' compile function.  Given string is converted
    to u_short. */
 void *
-route_set_tag_compile (char *arg)
+route_set_tag_compile (const char *arg)
 {
   u_short *tag;
 
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 229fb33..d66a776 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -154,7 +154,7 @@
 
 /* RIP route-map set for redistribution */
 void
-rip_routemap_set (int type, char *name)
+rip_routemap_set (int type, const char *name)
 {
   if (rip->route_map[type].name)
     free(rip->route_map[type].name);
@@ -184,7 +184,7 @@
 
 /* RIP route-map unset for redistribution */
 int
-rip_routemap_unset (int type,char *name)
+rip_routemap_unset (int type, const char *name)
 {
   if (! rip->route_map[type].name ||
       (name != NULL && strcmp(rip->route_map[type].name,name)))
diff --git a/ripd/ripd.c b/ripd/ripd.c
index a799886..2b4e1b2 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -3107,8 +3107,8 @@
 }
 
 int
-rip_distance_set (struct vty *vty, char *distance_str, char *ip_str,
-		  char *access_list_str)
+rip_distance_set (struct vty *vty, const char *distance_str, const char *ip_str,
+		  const char *access_list_str)
 {
   int ret;
   struct prefix_ipv4 p;
@@ -3154,8 +3154,8 @@
 }
 
 int
-rip_distance_unset (struct vty *vty, char *distance_str, char *ip_str,
-		    char *access_list_str)
+rip_distance_unset (struct vty *vty, const char *distance_str,
+		    const char *ip_str, const char *access_list_str)
 {
   int ret;
   struct prefix_ipv4 p;
@@ -3948,7 +3948,7 @@
 
 /* ARGSUSED */
 void
-rip_routemap_update (char *notused)
+rip_routemap_update (const char *notused)
 {
   struct interface *ifp;
   struct listnode *node;
