2005-10-11 Paul Jakma <paul.jakma@sun.com>

	* ospf_api.c: sign warnings.
	* ospf_apiserver.c: sign warning and convert all the struct
	  in_addr initialisations so as not to make assumptions about
	  how this struct is organised, initialise the s_addr member
	  explicitely.
	* ospf_packet.c: Add const qualifier to auth_key.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index b856ff2..c56f01b 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,12 @@
+2005-10-11 Paul Jakma <paul.jakma@sun.com>
+
+	* ospf_api.c: sign warnings.
+	* ospf_apiserver.c: sign warning and convert all the struct
+	  in_addr initialisations so as not to make assumptions about
+	  how this struct is organised, initialise the s_addr member
+	  explicitely.
+	* ospf_packet.c: Add const qualifier to auth_key.
+
 2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
 
 	* ospf_snmp.c: Avoid mixing interface and ospf_interface objects
diff --git a/ospfd/ospf_api.c b/ospfd/ospf_api.c
index 03b3186..d9960d4 100644
--- a/ospfd/ospf_api.c
+++ b/ospfd/ospf_api.c
@@ -350,12 +350,12 @@
 {
   struct msg *msg;
   struct apimsghdr hdr;
-  char buf[OSPF_API_MAX_MSG_SIZE];
+  u_char buf[OSPF_API_MAX_MSG_SIZE];
   int bodylen;
   int rlen;
 
   /* Read message header */
-  rlen = readn (fd, (char *) &hdr, sizeof (struct apimsghdr));
+  rlen = readn (fd, (u_char *) &hdr, sizeof (struct apimsghdr));
 
   if (rlen < 0)
     {
diff --git a/ospfd/ospf_apiserver.c b/ospfd/ospf_apiserver.c
index b557d01..784716b 100644
--- a/ospfd/ospf_apiserver.c
+++ b/ospfd/ospf_apiserver.c
@@ -660,7 +660,7 @@
   struct ospf_apiserver *apiserv;
   struct sockaddr_in peer_async;
   struct sockaddr_in peer_sync;
-  int peerlen;
+  unsigned int peerlen;
   int ret;
 
   /* THREAD_ARG (thread) is NULL */
@@ -1174,8 +1174,8 @@
   for (ALL_LIST_ELEMENTS (apiserv->opaque_types, node, nnode, r))
     {
       struct msg *msg;
-      struct in_addr noarea_id = { 0L };
-
+      struct in_addr noarea_id = { .s_addr = 0L };
+      
       if (r->lsa_type == OSPF_OPAQUE_AS_LSA)
 	{
 	  /* Yes, this opaque type is ready */
@@ -1296,11 +1296,11 @@
     {
 
       /* Default area for AS-External and Opaque11 LSAs */
-      struct in_addr area_id = { 0L };
+      struct in_addr area_id = { .s_addr = 0L };
 
       /* Default interface for non Opaque9 LSAs */
-      struct in_addr ifaddr = { 0L };
-
+      struct in_addr ifaddr = { .s_addr = 0L };;
+      
       if (lsa->area)
 	{
 	  area_id = lsa->area->area_id;
@@ -2356,11 +2356,11 @@
 {
   struct listnode *node, *nnode;
   struct msg *msg;
-  struct in_addr id_null = { 0L };
+  struct in_addr id_null = { .s_addr = 0L };
   struct ospf_apiserver *apiserv;
-
+  
   assert (top);
-
+  
   if (!ospf_apiserver_is_ready_type11 (top))
     {
       zlog_warn ("AS not ready for type 11?");
@@ -2429,12 +2429,12 @@
 ospf_apiserver_clients_notify_ism_change (struct ospf_interface *oi)
 {
   struct msg *msg;
-  struct in_addr ifaddr = { 0L };
-  struct in_addr area_id = { 0L };
-
+  struct in_addr ifaddr = { .s_addr = 0L };
+  struct in_addr area_id = { .s_addr = 0L };
+  
   assert (oi);
   assert (oi->ifp);
-
+  
   if (oi->address)
     {
       ifaddr = oi->address->u.prefix4;
@@ -2459,8 +2459,8 @@
 ospf_apiserver_clients_notify_nsm_change (struct ospf_neighbor *nbr)
 {
   struct msg *msg;
-  struct in_addr ifaddr = { 0L };
-  struct in_addr nbraddr = { 0L };
+  struct in_addr ifaddr = { .s_addr = 0L };
+  struct in_addr nbraddr = { .s_addr = 0L };
 
   assert (nbr);
 
@@ -2490,10 +2490,10 @@
   struct ospf_apiserver *apiserv;
 
   /* Default area for AS-External and Opaque11 LSAs */
-  struct in_addr area_id = { 0L };
+  struct in_addr area_id = { .s_addr = 0L };
 
   /* Default interface for non Opaque9 LSAs */
-  struct in_addr ifaddr = { 0L };
+  struct in_addr ifaddr = { .s_addr = 0L };
 
   if (lsa->area)
     {
@@ -2588,10 +2588,10 @@
 {
   struct msg *msg;
   /* default area for AS-External and Opaque11 LSAs */
-  struct in_addr area_id = { 0L };
+  struct in_addr area_id = { .s_addr = 0L };
 
   /* default interface for non Opaque9 LSAs */
-  struct in_addr ifaddr = { 0L };
+  struct in_addr ifaddr = { .s_addr = 0L };
 
   /* Only notify this update if the LSA's age is smaller than
      MAXAGE. Otherwise clients would see LSA updates with max age just
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index c869d3d..e50b743 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -329,7 +329,7 @@
   void *ibuf;
   u_int32_t t;
   struct crypt_key *ck;
-  const char *auth_key;
+  const u_int8_t *auth_key;
 
   ibuf = STREAM_DATA (op->s);
   ospfh = (struct ospf_header *) ibuf;
@@ -345,7 +345,7 @@
 
   /* Get MD5 Authentication key from auth_key list. */
   if (list_isempty (OSPF_IF_PARAM (oi, auth_crypt)))
-    auth_key = "";
+    auth_key = (const u_int8_t *) "";
   else
     {
       ck = listgetdata (listtail(OSPF_IF_PARAM (oi, auth_crypt)));