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/ripd/ChangeLog b/ripd/ChangeLog
index 9d56611..1372280 100644
--- a/ripd/ChangeLog
+++ b/ripd/ChangeLog
@@ -1,3 +1,7 @@
+2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR.
+
 2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* ripd.c: (rip_read) Improve 2 error messages to show the source of
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 0407065..c5baf8a 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1632,7 +1632,7 @@
   if (ret < 0)
     return ret;
 
-  for (ptr = CMSG_FIRSTHDR(&msg); ptr != NULL; ptr = CMSG_NXTHDR(&msg, ptr))
+  for (ptr = ZCMSG_FIRSTHDR(&msg); ptr != NULL; ptr = CMSG_NXTHDR(&msg, ptr))
     if (ptr->cmsg_level == IPPROTO_IP && ptr->cmsg_type == IP_PKTINFO) 
       {
 	struct in_pktinfo *pktinfo;