2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* configure.ac: Added test for broken CMSG_FIRSTHDR macro
	  (relevant for Solaris 8 and unpatched Solaris 9, don't know
	  whether other platforms are affected).
	* zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
	  config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
	  by the configure test program).
	* sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
	  of CMSG_FIRSTHDR.
	* rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
	  instead of CMSG_FIRSTHDR.
	* ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR.
	* ripngd.c: (ripng_recv_packet) Use ZCMSG_FIRSTHDR instead of
	  CMSG_FIRSTHDR.
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 3ed8c63..e26204c 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
+	  instead of CMSG_FIRSTHDR.
+
 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* connected.c: (connected_add_ipv4) Limit warning about /32 addresses
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index 65b2f87..1238396 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -121,7 +121,7 @@
   if (ret < 0)
     return ret;
 
-  for (cmsgptr = CMSG_FIRSTHDR(&msg); cmsgptr != NULL;
+  for (cmsgptr = ZCMSG_FIRSTHDR(&msg); cmsgptr != NULL;
        cmsgptr = CMSG_NXTHDR(&msg, cmsgptr)) 
     {
       /* I want interface index which this packet comes from. */
@@ -288,7 +288,7 @@
   iov.iov_base = buf;
   iov.iov_len = len;
 
-  cmsgptr = CMSG_FIRSTHDR(&msg);
+  cmsgptr = ZCMSG_FIRSTHDR(&msg);
   cmsgptr->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
   cmsgptr->cmsg_level = IPPROTO_IPV6;
   cmsgptr->cmsg_type = IPV6_PKTINFO;