diff -ru squid3.cvs/doc/Programming-Guide/prog-guide.sgml squid3/doc/Programming-Guide/prog-guide.sgml
--- squid3.cvs/doc/Programming-Guide/prog-guide.sgml	2004-08-12 04:12:59.000000000 +0200
+++ squid3/doc/Programming-Guide/prog-guide.sgml	2005-04-15 17:27:56.000000000 +0200
@@ -2579,7 +2579,7 @@
     } flags;
     long expiretime;
     /* IP addr this user authenticated from */
-    struct in_addr ipaddr;
+    struct IN_ADDR ipaddr;
     time_t ip_expiretime;
     /* how many references are outstanding to this instance*/
     size_t references;
diff -ru squid3.cvs/helpers/basic_auth/MSNT/rfcnb-priv.h squid3/helpers/basic_auth/MSNT/rfcnb-priv.h
--- squid3.cvs/helpers/basic_auth/MSNT/rfcnb-priv.h	2002-10-14 02:18:14.000000000 +0200
+++ squid3/helpers/basic_auth/MSNT/rfcnb-priv.h	2005-04-15 17:27:59.000000000 +0200
@@ -55,7 +55,7 @@
 
 struct redirect_addr {
 
-    struct in_addr ip_addr;
+    struct IN_ADDR ip_addr;
     int port;
     redirect_ptr next;
 
diff -ru squid3.cvs/helpers/basic_auth/MSNT/rfcnb-util.c squid3/helpers/basic_auth/MSNT/rfcnb-util.c
--- squid3.cvs/helpers/basic_auth/MSNT/rfcnb-util.c	2005-03-11 04:15:09.000000000 +0100
+++ squid3/helpers/basic_auth/MSNT/rfcnb-util.c	2005-04-15 17:27:59.000000000 +0200
@@ -345,7 +345,7 @@
 /* Resolve a name into an address */
 
 int
-RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP)
+RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP)
 {
     int addr;			/* Assumes IP4, 32 bit network addresses */
     struct hostent *hp;
@@ -366,12 +366,12 @@
 
 	} else {		/* We got a name */
 
-	    memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct in_addr));
+	    memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct IN_ADDR));
 
 	}
     } else {			/* It was an IP address */
 
-	memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct in_addr));
+	memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct IN_ADDR));
 
     }
 
@@ -397,7 +397,7 @@
  * Not sure how to handle socket options etc.         */
 
 int
-RFCNB_IP_Connect(struct in_addr Dest_IP, int port)
+RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port)
 {
     struct sockaddr_in Socket;
     int fd;
@@ -439,7 +439,7 @@
     char *Called_Name,
     char *Calling_Name,
     BOOL * redirect,
-    struct in_addr *Dest_IP,
+    struct IN_ADDR *Dest_IP,
     int *port)
 {
     char *sess_pkt;
@@ -539,7 +539,7 @@
 
 	*redirect = TRUE;	/* Copy port and ip addr       */
 
-	memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct in_addr));
+	memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct IN_ADDR));
 	*port = SVAL(resp, RFCNB_Pkt_Port_Offset);
 
 	return (0);
diff -ru squid3.cvs/helpers/basic_auth/MSNT/rfcnb-util.h squid3/helpers/basic_auth/MSNT/rfcnb-util.h
--- squid3.cvs/helpers/basic_auth/MSNT/rfcnb-util.h	2002-10-14 02:18:14.000000000 +0200
+++ squid3/helpers/basic_auth/MSNT/rfcnb-util.h	2005-04-15 17:27:59.000000000 +0200
@@ -35,17 +35,17 @@
 
 void RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len);
 
-int RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP);
+int RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP);
 
 int RFCNB_Close(int socket);
 
-int RFCNB_IP_Connect(struct in_addr Dest_IP, int port);
+int RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port);
 
 int RFCNB_Session_Req(RFCNB_Con * con,
     char *Called_Name,
     char *Calling_Name,
     BOOL * redirect,
-    struct in_addr *Dest_IP,
+    struct IN_ADDR *Dest_IP,
     int *port);
 
 void RFCNB_Free_Pkt(struct RFCNB_Pkt *pkt);
diff -ru squid3.cvs/helpers/basic_auth/MSNT/session.c squid3/helpers/basic_auth/MSNT/session.c
--- squid3.cvs/helpers/basic_auth/MSNT/session.c	2002-10-14 02:18:14.000000000 +0200
+++ squid3/helpers/basic_auth/MSNT/session.c	2005-04-15 17:27:59.000000000 +0200
@@ -56,7 +56,7 @@
     int port)
 {
     struct RFCNB_Con *con;
-    struct in_addr Dest_IP;
+    struct IN_ADDR Dest_IP;
     int Client;
     BOOL redirect;
     struct redirect_addr *redir_addr;
diff -ru squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-priv.h squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-priv.h
--- squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-priv.h	2002-10-14 02:18:17.000000000 +0200
+++ squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-priv.h	2005-04-15 17:27:59.000000000 +0200
@@ -59,7 +59,7 @@
 
 struct redirect_addr {
 
-    struct in_addr ip_addr;
+    struct IN_ADDR ip_addr;
     int port;
     redirect_ptr next;
 
diff -ru squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c
--- squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c	2005-03-11 04:15:10.000000000 +0100
+++ squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c	2005-04-15 17:27:59.000000000 +0200
@@ -320,7 +320,7 @@
 /* Resolve a name into an address */
 
 int
-RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP)
+RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP)
 {
     int addr;			/* Assumes IP4, 32 bit network addresses */
     struct hostent *hp;
@@ -341,12 +341,12 @@
 
 	} else {		/* We got a name */
 
-	    memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct in_addr));
+	    memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct IN_ADDR));
 
 	}
     } else {			/* It was an IP address */
 
-	memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct in_addr));
+	memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct IN_ADDR));
 
     }
 
@@ -372,7 +372,7 @@
  * Not sure how to handle socket options etc.         */
 
 int
-RFCNB_IP_Connect(struct in_addr Dest_IP, int port)
+RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port)
 {
     struct sockaddr_in Socket;
     int fd;
@@ -414,7 +414,7 @@
     char *Called_Name,
     char *Calling_Name,
     BOOL * redirect,
-    struct in_addr *Dest_IP,
+    struct IN_ADDR *Dest_IP,
     int *port)
 {
     char *sess_pkt;
@@ -514,7 +514,7 @@
 
 	*redirect = TRUE;	/* Copy port and ip addr       */
 
-	memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct in_addr));
+	memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct IN_ADDR));
 	*port = SVAL(resp, RFCNB_Pkt_Port_Offset);
 
 	return (0);
diff -ru squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h
--- squid3.cvs/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h	2002-10-14 02:18:17.000000000 +0200
+++ squid3/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h	2005-04-15 17:27:59.000000000 +0200
@@ -38,15 +38,15 @@
 
 void RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len);
 
-int RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP);
+int RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP);
 
 int RFCNB_Close(int socket);
 
-int RFCNB_IP_Connect(struct in_addr Dest_IP, int port);
+int RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port);
 
 int RFCNB_Session_Req(struct RFCNB_Con *con,
     char *Called_Name,
     char *Calling_Name,
     BOOL * redirect,
-    struct in_addr *Dest_IP,
+    struct IN_ADDR *Dest_IP,
     int *port);
diff -ru squid3.cvs/helpers/ntlm_auth/SMB/smbval/session.c squid3/helpers/ntlm_auth/SMB/smbval/session.c
--- squid3.cvs/helpers/ntlm_auth/SMB/smbval/session.c	2003-08-04 04:12:45.000000000 +0200
+++ squid3/helpers/ntlm_auth/SMB/smbval/session.c	2005-04-15 17:27:59.000000000 +0200
@@ -77,7 +77,7 @@
     int port)
 {
     struct RFCNB_Con *con;
-    struct in_addr Dest_IP;
+    struct IN_ADDR Dest_IP;
     int Client;
     BOOL redirect;
     struct redirect_addr *redir_addr;
diff -ru squid3.cvs/include/config.h squid3/include/config.h
--- squid3.cvs/include/config.h	2004-12-24 04:14:09.000000000 +0100
+++ squid3/include/config.h	2005-04-15 17:27:20.000000000 +0200
@@ -194,6 +194,17 @@
 
 
 
+/* 
+ * This is hack to allow compiling IPv6-IPv4 version,
+ * not disturbing branches others than squid3-ipv6 
+ */
+
+#ifdef INET6 
+#define IN_ADDR in6_addr
+#else
+#define IN_ADDR in_addr
+#endif
+
 /* Typedefs for missing entries on a system */
 
 #include "squid_types.h"
diff -ru squid3.cvs/include/rfc1035.h squid3/include/rfc1035.h
--- squid3.cvs/include/rfc1035.h	2003-12-18 04:12:41.000000000 +0100
+++ squid3/include/rfc1035.h	2005-04-15 17:27:59.000000000 +0200
@@ -59,7 +59,7 @@
 SQUIDCEXTERN unsigned short rfc1035BuildAQuery(const char *hostname,
     char *buf,
     size_t * szp);
-SQUIDCEXTERN unsigned short rfc1035BuildPTRQuery(const struct in_addr,
+SQUIDCEXTERN unsigned short rfc1035BuildPTRQuery(const struct IN_ADDR,
     char *buf,
     size_t * szp);
 SQUIDCEXTERN unsigned short rfc1035RetryQuery(char *);
diff -ru squid3.cvs/include/util.h squid3/include/util.h
--- squid3.cvs/include/util.h	2005-02-16 04:15:26.000000000 +0100
+++ squid3/include/util.h	2005-04-15 17:27:59.000000000 +0200
@@ -126,7 +126,7 @@
 extern void xmalloc_find_leaks(void);
 #endif
 
-typedef struct in_addr SIA;
+typedef struct IN_ADDR SIA;
 SQUIDCEXTERN int safe_inet_addr(const char *, SIA *);
 SQUIDCEXTERN time_t parse_iso3307_time(const char *buf);
 SQUIDCEXTERN char *base64_decode(const char *coded);
diff -ru squid3.cvs/lib/rfc1035.c squid3/lib/rfc1035.c
--- squid3.cvs/lib/rfc1035.c	2005-01-24 04:13:47.000000000 +0100
+++ squid3/lib/rfc1035.c	2005-04-15 17:27:56.000000000 +0200
@@ -636,7 +636,7 @@
  * Return value is the query ID.
  */
 unsigned short
-rfc1035BuildPTRQuery(const struct in_addr addr, char *buf, size_t * szp)
+rfc1035BuildPTRQuery(const struct IN_ADDR addr, char *buf, size_t * szp)
 {
     static rfc1035_header h;
     size_t offset = 0;
@@ -710,7 +710,7 @@
     S.sin_port = htons(atoi(argv[2]));
     S.sin_addr.s_addr = inet_addr(argv[1]);
     while (fgets(input, 512, stdin)) {
-	struct in_addr junk;
+	struct IN_ADDR junk;
 	strtok(input, "\r\n");
 	memset(buf, '\0', 512);
 	sz = 512;
@@ -752,7 +752,7 @@
 		printf("%d answers\n", n);
 		for (i = 0; i < n; i++) {
 		    if (answers[i].type == RFC1035_TYPE_A) {
-			struct in_addr a;
+			struct IN_ADDR a;
 			memcpy(&a, answers[i].rdata, 4);
 			printf("A\t%d\t%s\n", answers[i].ttl, inet_ntoa(a));
 		    } else if (answers[i].type == RFC1035_TYPE_PTR) {
diff -ru squid3.cvs/lib/safe_inet_addr.c squid3/lib/safe_inet_addr.c
--- squid3.cvs/lib/safe_inet_addr.c	2005-02-16 04:15:26.000000000 +0100
+++ squid3/lib/safe_inet_addr.c	2005-04-15 17:27:56.000000000 +0200
@@ -31,11 +31,11 @@
 #include "snprintf.h"
 
 int
-safe_inet_addr(const char *buf, struct in_addr *addr)
+safe_inet_addr(const char *buf, struct IN_ADDR *addr)
 {
     static char addrbuf[32];
     int a1 = 0, a2 = 0, a3 = 0, a4 = 0;
-    struct in_addr A;
+    struct IN_ADDR A;
     char x;
 #if defined(_SQUID_HPUX_)
     /*
diff -ru squid3.cvs/src/AccessLogEntry.h squid3/src/AccessLogEntry.h
--- squid3.cvs/src/AccessLogEntry.h	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/AccessLogEntry.h	2005-04-15 17:27:57.000000000 +0200
@@ -90,7 +90,7 @@
             memset(&caddr, '\0', sizeof(caddr));
         }
 
-        struct in_addr caddr;
+        struct IN_ADDR caddr;
         size_t size;
         off_t highOffset;
         size_t objectSize;
diff -ru squid3.cvs/src/ACLARP.cc squid3/src/ACLARP.cc
--- squid3.cvs/src/ACLARP.cc	2005-01-07 04:13:20.000000000 +0100
+++ squid3/src/ACLARP.cc	2005-04-15 17:27:58.000000000 +0200
@@ -82,7 +82,7 @@
 #endif
 static void aclParseArpList(SplayNode<acl_arp_data *> **curlist);
 static int decode_eth(const char *asc, char *eth);
-static int aclMatchArp(SplayNode<acl_arp_data *> **dataptr, struct in_addr c);
+static int aclMatchArp(SplayNode<acl_arp_data *> **dataptr, struct IN_ADDR c);
 static SplayNode<acl_arp_data *>::SPLAYCMP aclArpCompare;
 static SplayNode<acl_arp_data *>::SPLAYWALKEE aclDumpArpListWalkee;
 
@@ -231,7 +231,7 @@
 /* aclMatchArp */
 /***************/
 int
-aclMatchArp(SplayNode<acl_arp_data *> **dataptr, struct in_addr c)
+aclMatchArp(SplayNode<acl_arp_data *> **dataptr, struct IN_ADDR c)
 {
 #if defined(_SQUID_LINUX_)
 
diff -ru squid3.cvs/src/ACLASN.h squid3/src/ACLASN.h
--- squid3.cvs/src/ACLASN.h	2004-08-31 04:14:26.000000000 +0200
+++ squid3/src/ACLASN.h	2005-04-15 17:27:57.000000000 +0200
@@ -40,11 +40,11 @@
 #include "ACLStrategised.h"
 #include "ACLChecklist.h"
 
-SQUIDCEXTERN int asnMatchIp(List<int> *, struct in_addr);
+SQUIDCEXTERN int asnMatchIp(List<int> *, struct IN_ADDR);
 SQUIDCEXTERN void asnInit(void);
 SQUIDCEXTERN void asnFreeMemory(void);
 
-class ACLASN : public ACLData<struct in_addr>
+class ACLASN : public ACLData<struct IN_ADDR>
 {
 
 public:
@@ -52,17 +52,17 @@
 
     virtual ~ACLASN();
 
-    virtual bool match(struct in_addr);
+    virtual bool match(struct IN_ADDR);
     virtual wordlist *dump();
     virtual void parse();
-    virtual ACLData<struct in_addr> *clone() const;
+    virtual ACLData<struct IN_ADDR> *clone() const;
     virtual void prepareForUse();
 
 private:
     static ACL::Prototype SourceRegistryProtoype;
-    static ACLStrategised<struct in_addr> SourceRegistryEntry_;
+    static ACLStrategised<struct IN_ADDR> SourceRegistryEntry_;
     static ACL::Prototype DestinationRegistryProtoype;
-    static ACLStrategised<struct in_addr> DestinationRegistryEntry_;
+    static ACLStrategised<struct IN_ADDR> DestinationRegistryEntry_;
     List<int> *data;
 };
 
diff -ru squid3.cvs/src/ACLChecklist.cc squid3/src/ACLChecklist.cc
--- squid3.cvs/src/ACLChecklist.cc	2005-02-16 04:15:26.000000000 +0100
+++ squid3/src/ACLChecklist.cc	2005-04-15 17:27:57.000000000 +0200
@@ -301,11 +301,11 @@
         sourceDomainChecked_(false)
 {
 
-    memset (&src_addr, '\0', sizeof (struct in_addr));
+    memset (&src_addr, '\0', sizeof (struct IN_ADDR));
 
-    memset (&dst_addr, '\0', sizeof (struct in_addr));
+    memset (&dst_addr, '\0', sizeof (struct IN_ADDR));
 
-    memset (&my_addr, '\0', sizeof (struct in_addr));
+    memset (&my_addr, '\0', sizeof (struct IN_ADDR));
     rfc931[0] = '\0';
 }
 
diff -ru squid3.cvs/src/ACLChecklist.h squid3/src/ACLChecklist.h
--- squid3.cvs/src/ACLChecklist.h	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/ACLChecklist.h	2005-04-15 17:27:57.000000000 +0200
@@ -114,11 +114,11 @@
 
     const acl_access *accessList;
 
-    struct in_addr src_addr;
+    struct IN_ADDR src_addr;
 
-    struct in_addr dst_addr;
+    struct IN_ADDR dst_addr;
 
-    struct in_addr my_addr;
+    struct IN_ADDR my_addr;
     unsigned short my_port;
     HttpRequest *request;
     /* for acls that look at reply data */
diff -ru squid3.cvs/src/ACLDestinationASN.h squid3/src/ACLDestinationASN.h
--- squid3.cvs/src/ACLDestinationASN.h	2003-02-26 04:15:22.000000000 +0100
+++ squid3/src/ACLDestinationASN.h	2005-04-15 17:27:58.000000000 +0200
@@ -38,7 +38,7 @@
 #include "ACLASN.h"
 #include "ACLStrategy.h"
 
-class ACLDestinationASNStrategy : public ACLStrategy<struct in_addr>
+class ACLDestinationASNStrategy : public ACLStrategy<struct IN_ADDR>
 {
 
 public:
diff -ru squid3.cvs/src/ACLIP.cc squid3/src/ACLIP.cc
--- squid3.cvs/src/ACLIP.cc	2005-01-14 04:14:10.000000000 +0100
+++ squid3/src/ACLIP.cc	2005-04-15 17:27:57.000000000 +0200
@@ -112,11 +112,11 @@
 aclIpAddrNetworkCompare(acl_ip_data * const &p, acl_ip_data * const &q)
 {
 
-    struct in_addr A = p->addr1;
+    struct IN_ADDR A = p->addr1;
 
-    const struct in_addr B = q->addr1;
+    const struct IN_ADDR B = q->addr1;
 
-    const struct in_addr C = q->addr2;
+    const struct IN_ADDR C = q->addr2;
     A.s_addr &= q->mask.s_addr;	/* apply netmask */
 
     if (C.s_addr == 0) {	/* single address check */
@@ -181,7 +181,7 @@
  */
 bool
 
-acl_ip_data::DecodeMask(const char *asc, struct in_addr *mask)
+acl_ip_data::DecodeMask(const char *asc, struct IN_ADDR *mask)
 {
     char junk;
     int a1 = 0;
@@ -360,7 +360,7 @@
 
 int
 
-ACLIP::match(struct in_addr &clientip)
+ACLIP::match(struct IN_ADDR &clientip)
 {
     static acl_ip_data ClientAddress (any_addr, any_addr, no_addr, NULL);
     /*
@@ -380,4 +380,4 @@
 
 acl_ip_data::acl_ip_data () :addr1(any_addr), addr2(any_addr), mask (any_addr), next (NULL) {}
 
-acl_ip_data::acl_ip_data (struct in_addr const &anAddress1, struct in_addr const &anAddress2, struct in_addr const &aMask, acl_ip_data *aNext) : addr1(anAddress1), addr2(anAddress2), mask(aMask), next(aNext){}
+acl_ip_data::acl_ip_data (struct IN_ADDR const &anAddress1, struct IN_ADDR const &anAddress2, struct IN_ADDR const &aMask, acl_ip_data *aNext) : addr1(anAddress1), addr2(anAddress2), mask(aMask), next(aNext){}
diff -ru squid3.cvs/src/ACLIP.h squid3/src/ACLIP.h
--- squid3.cvs/src/ACLIP.h	2005-01-14 04:14:11.000000000 +0100
+++ squid3/src/ACLIP.h	2005-04-15 17:27:58.000000000 +0200
@@ -48,19 +48,19 @@
 
     acl_ip_data ();
 
-    acl_ip_data (struct in_addr const &, struct in_addr const &, struct in_addr const &, acl_ip_data *);
+    acl_ip_data (struct IN_ADDR const &, struct IN_ADDR const &, struct IN_ADDR const &, acl_ip_data *);
     void toStr(char *buf, int len) const;
 
-    struct in_addr addr1;	/* if addr2 non-zero then its a range */
+    struct IN_ADDR addr1;	/* if addr2 non-zero then its a range */
 
-    struct in_addr addr2;
+    struct IN_ADDR addr2;
 
-    struct in_addr mask;
+    struct IN_ADDR mask;
     acl_ip_data *next;		/* used for parsing, not for storing */
 
 private:
 
-    static bool DecodeMask(const char *asc, struct in_addr *mask);
+    static bool DecodeMask(const char *asc, struct IN_ADDR *mask);
 };
 
 MEMPROXY_CLASS_INLINE(acl_ip_data)
@@ -87,7 +87,7 @@
 
 protected:
 
-    int match(struct in_addr &);
+    int match(struct IN_ADDR &);
     IPSplay *data;
 
 private:
diff -ru squid3.cvs/src/ACLMaxUserIP.cc squid3/src/ACLMaxUserIP.cc
--- squid3.cvs/src/ACLMaxUserIP.cc	2004-08-31 04:14:26.000000000 +0200
+++ squid3/src/ACLMaxUserIP.cc	2005-04-15 17:27:58.000000000 +0200
@@ -109,7 +109,7 @@
 int
 ACLMaxUserIP::match(auth_user_request_t * auth_user_request,
 
-                    struct in_addr const &src_addr)
+                    struct IN_ADDR const &src_addr)
 {
     /*
      * the logic for flush the ip list when the limit is hit vs keep
diff -ru squid3.cvs/src/ACLMaxUserIP.h squid3/src/ACLMaxUserIP.h
--- squid3.cvs/src/ACLMaxUserIP.h	2004-08-31 04:14:26.000000000 +0200
+++ squid3/src/ACLMaxUserIP.h	2005-04-15 17:27:57.000000000 +0200
@@ -61,7 +61,7 @@
     static Prototype RegistryProtoype;
     static ACLMaxUserIP RegistryEntry_;
 
-    int match(auth_user_request_t *, struct in_addr const &);
+    int match(auth_user_request_t *, struct IN_ADDR const &);
     char const *class_;
     size_t maximum;
 
diff -ru squid3.cvs/src/ACLSourceASN.h squid3/src/ACLSourceASN.h
--- squid3.cvs/src/ACLSourceASN.h	2003-02-26 04:15:34.000000000 +0100
+++ squid3/src/ACLSourceASN.h	2005-04-15 17:27:58.000000000 +0200
@@ -38,7 +38,7 @@
 #include "ACLASN.h"
 #include "ACLStrategy.h"
 
-class ACLSourceASNStrategy : public ACLStrategy<struct in_addr>
+class ACLSourceASNStrategy : public ACLStrategy<struct IN_ADDR>
 {
 
 public:
diff -ru squid3.cvs/src/asn.cc squid3/src/asn.cc
--- squid3.cvs/src/asn.cc	2004-08-31 04:14:27.000000000 +0200
+++ squid3/src/asn.cc	2005-04-15 17:27:58.000000000 +0200
@@ -130,7 +130,7 @@
 /* PUBLIC */
 
 int
-asnMatchIp(List<int> *data, struct in_addr addr)
+asnMatchIp(List<int> *data, struct IN_ADDR addr)
 {
     unsigned long lh;
 
@@ -393,7 +393,7 @@
     List<int> *q = NULL;
     as_info *asinfo = NULL;
 
-    struct in_addr in_a, in_m;
+    struct IN_ADDR in_a, in_m;
     long mask, addr;
     char *t;
     int bitl;
@@ -539,9 +539,9 @@
     List<int> *q;
     as_info *asinfo;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 
-    struct in_addr mask;
+    struct IN_ADDR mask;
     assert(e);
     assert(e->e_info);
     (void) get_m_int(addr.s_addr, e->e_addr);
@@ -567,7 +567,7 @@
 
 bool
 
-ACLASN::match(struct in_addr toMatch)
+ACLASN::match(struct IN_ADDR toMatch)
 {
     return asnMatchIp(data, toMatch);
 }
@@ -606,7 +606,7 @@
     }
 }
 
-ACLData<struct in_addr> *
+ACLData<struct IN_ADDR> *
 ACLASN::clone() const
 {
     if (data)
@@ -617,17 +617,17 @@
 
 /* explicit template instantiation required for some systems */
 
-template class ACLStrategised<struct in_addr>
+template class ACLStrategised<struct IN_ADDR>
 
 ;
 
 ACL::Prototype ACLASN::SourceRegistryProtoype(&ACLASN::SourceRegistryEntry_, "src_as");
 
-ACLStrategised<struct in_addr> ACLASN::SourceRegistryEntry_(new ACLASN, ACLSourceASNStrategy::Instance(), "src_as");
+ACLStrategised<struct IN_ADDR> ACLASN::SourceRegistryEntry_(new ACLASN, ACLSourceASNStrategy::Instance(), "src_as");
 
 ACL::Prototype ACLASN::DestinationRegistryProtoype(&ACLASN::DestinationRegistryEntry_, "dst_as");
 
-ACLStrategised<struct in_addr> ACLASN::DestinationRegistryEntry_(new ACLASN, ACLDestinationASNStrategy::Instance(), "dst_as");
+ACLStrategised<struct IN_ADDR> ACLASN::DestinationRegistryEntry_(new ACLASN, ACLDestinationASNStrategy::Instance(), "dst_as");
 
 int
 ACLSourceASNStrategy::match (ACLData<MatchType> * &data, ACLChecklist *checklist)
diff -ru squid3.cvs/src/auth/digest/auth_digest.cc squid3/src/auth/digest/auth_digest.cc
--- squid3.cvs/src/auth/digest/auth_digest.cc	2005-02-16 04:15:28.000000000 +0100
+++ squid3/src/auth/digest/auth_digest.cc	2005-04-15 17:27:56.000000000 +0200
@@ -639,7 +639,7 @@
             } else {
                 const char *useragent = httpHeaderGetStr(&request->header, HDR_USER_AGENT);
 
-                static struct in_addr last_broken_addr;
+                static struct IN_ADDR last_broken_addr;
                 static int seen_broken_client = 0;
 
                 if (!seen_broken_client) {
diff -ru squid3.cvs/src/AuthUserRequest.cc squid3/src/AuthUserRequest.cc
--- squid3.cvs/src/AuthUserRequest.cc	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/AuthUserRequest.cc	2005-04-15 17:27:57.000000000 +0200
@@ -201,7 +201,7 @@
 
 static void
 
-authenticateAuthUserRequestSetIp(auth_user_request_t * auth_user_request, struct in_addr ipaddr)
+authenticateAuthUserRequestSetIp(auth_user_request_t * auth_user_request, struct IN_ADDR ipaddr)
 {
     auth_user_ip_t *ipdata, *tempnode;
     auth_user_t *auth_user;
@@ -266,7 +266,7 @@
 
 void
 
-authenticateAuthUserRequestRemoveIp(auth_user_request_t * auth_user_request, struct in_addr ipaddr)
+authenticateAuthUserRequestRemoveIp(auth_user_request_t * auth_user_request, struct IN_ADDR ipaddr)
 {
     auth_user_ip_t *ipdata;
     auth_user_t *auth_user;
@@ -403,7 +403,7 @@
  */
 auth_acl_t
 
-AuthUserRequest::authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct in_addr src_addr)
+AuthUserRequest::authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct IN_ADDR src_addr)
 {
     const char *proxy_auth;
     assert(headertype != 0);
@@ -616,7 +616,7 @@
 
 auth_acl_t
 
-AuthUserRequest::tryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct in_addr src_addr)
+AuthUserRequest::tryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct IN_ADDR src_addr)
 {
     /* If we have already been called, return the cached value */
     auth_user_request_t *t = authTryGetUser (auth_user_request, conn, request);
diff -ru squid3.cvs/src/AuthUserRequest.h squid3/src/AuthUserRequest.h
--- squid3.cvs/src/AuthUserRequest.h	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/AuthUserRequest.h	2005-04-15 17:27:57.000000000 +0200
@@ -49,7 +49,7 @@
     dlink_node node;
     /* IP addr this user authenticated from */
 
-    struct in_addr ipaddr;
+    struct IN_ADDR ipaddr;
     time_t ip_expiretime;
 };
 
@@ -81,7 +81,7 @@
 
 public:
 
-    static auth_acl_t tryToAuthenticateAndSetAuthUser(auth_user_request_t **, http_hdr_type, HttpRequest *, ConnStateData::Pointer, struct in_addr);
+    static auth_acl_t tryToAuthenticateAndSetAuthUser(auth_user_request_t **, http_hdr_type, HttpRequest *, ConnStateData::Pointer, struct IN_ADDR);
     static void addReplyAuthHeader(HttpReply * rep, auth_user_request_t * auth_user_request, HttpRequest * request, int accelerated, int internal);
 
     AuthUserRequest();
@@ -110,7 +110,7 @@
 
 private:
 
-    static auth_acl_t authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct in_addr src_addr);
+    static auth_acl_t authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, HttpRequest * request, ConnStateData::Pointer conn, struct IN_ADDR src_addr);
 
     /* return a message on the 407 error pages */
     char *message;
@@ -131,7 +131,7 @@
 extern void authenticateFixHeader(HttpReply *, auth_user_request_t *, HttpRequest *, int, int);
 extern void authenticateAddTrailer(HttpReply *, auth_user_request_t *, HttpRequest *, int);
 
-extern void authenticateAuthUserRequestRemoveIp(auth_user_request_t *, struct in_addr);
+extern void authenticateAuthUserRequestRemoveIp(auth_user_request_t *, struct IN_ADDR);
 extern void authenticateAuthUserRequestClearIp(auth_user_request_t *);
 extern size_t authenticateAuthUserRequestIPCount(auth_user_request_t *);
 extern int authenticateDirection(auth_user_request_t *);
diff -ru squid3.cvs/src/cache_cf.cc squid3/src/cache_cf.cc
--- squid3.cvs/src/cache_cf.cc	2005-03-19 09:30:25.000000000 +0100
+++ squid3/src/cache_cf.cc	2005-04-15 17:27:58.000000000 +0200
@@ -861,14 +861,14 @@
 
 static void
 
-dump_address(StoreEntry * entry, const char *name, struct in_addr addr)
+dump_address(StoreEntry * entry, const char *name, struct IN_ADDR addr)
 {
     storeAppendPrintf(entry, "%s %s\n", name, inet_ntoa(addr));
 }
 
 static void
 
-parse_address(struct in_addr *addr)
+parse_address(struct IN_ADDR *addr)
 {
 
     const struct hostent *hp;
@@ -887,10 +887,10 @@
 
 static void
 
-free_address(struct in_addr *addr)
+free_address(struct IN_ADDR *addr)
 {
 
-    memset(addr, '\0', sizeof(struct in_addr));
+    memset(addr, '\0', sizeof(struct IN_ADDR));
 }
 
 CBDATA_TYPE(acl_address);
diff -ru squid3.cvs/src/cachemgr.cc squid3/src/cachemgr.cc
--- squid3.cvs/src/cachemgr.cc	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/cachemgr.cc	2005-04-15 17:27:58.000000000 +0200
@@ -162,7 +162,7 @@
 static const char *progname = NULL;
 static time_t now;
 
-static struct in_addr no_addr;
+static struct IN_ADDR no_addr;
 
 /*
  * Function prototypes
diff -ru squid3.cvs/src/client_db.cc squid3/src/client_db.cc
--- squid3.cvs/src/client_db.cc	2004-12-23 04:14:16.000000000 +0100
+++ squid3/src/client_db.cc	2005-04-15 17:27:58.000000000 +0200
@@ -39,7 +39,7 @@
 
 static hash_table *client_table = NULL;
 
-static ClientInfo *clientdbAdd(struct in_addr addr);
+static ClientInfo *clientdbAdd(struct IN_ADDR addr);
 static FREE clientdbFreeItem;
 static void clientdbStartGC(void);
 static void clientdbScheduledGC(void *);
@@ -53,7 +53,7 @@
 
 static ClientInfo *
 
-clientdbAdd(struct in_addr addr)
+clientdbAdd(struct IN_ADDR addr)
 {
     ClientInfo *c;
     c = (ClientInfo *)memAllocate(MEM_CLIENT_INFO);
@@ -87,7 +87,7 @@
 
 void
 
-clientdbUpdate(struct in_addr addr, log_type ltype, protocol_t p, size_t size)
+clientdbUpdate(struct IN_ADDR addr, log_type ltype, protocol_t p, size_t size)
 {
     char *key;
     ClientInfo *c;
@@ -135,7 +135,7 @@
  */
 int
 
-clientdbEstablished(struct in_addr addr, int delta)
+clientdbEstablished(struct IN_ADDR addr, int delta)
 {
     char *key;
     ClientInfo *c;
@@ -161,7 +161,7 @@
 #define CUTOFF_SECONDS 3600
 int
 
-clientdbCutoffDenied(struct in_addr addr)
+clientdbCutoffDenied(struct IN_ADDR addr)
 {
     char *key;
     int NR;
@@ -377,9 +377,9 @@
 
 #if SQUID_SNMP
 
-struct in_addr *
+struct IN_ADDR *
 
-            client_entry(struct in_addr *current)
+            client_entry(struct IN_ADDR *current)
 {
     ClientInfo *c = NULL;
     char *key;
diff -ru squid3.cvs/src/client_side.h squid3/src/client_side.h
--- squid3.cvs/src/client_side.h	2003-08-15 04:12:38.000000000 +0200
+++ squid3/src/client_side.h	2005-04-15 17:27:58.000000000 +0200
@@ -182,7 +182,7 @@
 
     struct sockaddr_in me;
 
-    struct in_addr log_addr;
+    struct IN_ADDR log_addr;
     char rfc931[USER_IDENT_SZ];
     int nrequests;
 
diff -ru squid3.cvs/src/client_side_reply.cc squid3/src/client_side_reply.cc
--- squid3.cvs/src/client_side_reply.cc	2005-03-10 04:13:12.000000000 +0100
+++ squid3/src/client_side_reply.cc	2005-04-15 17:27:58.000000000 +0200
@@ -59,7 +59,7 @@
 extern "C" CSS clientReplyStatus;
 extern ErrorState *clientBuildError(err_type, http_status, char const *,
 
-                                        struct in_addr *, HttpRequest *);
+                                        struct IN_ADDR *, HttpRequest *);
 
 /* privates */
 
@@ -88,7 +88,7 @@
 clientReplyContext::setReplyToError(
     err_type err, http_status status, method_t method, char const *uri,
 
-    struct in_addr *addr, HttpRequest * failedrequest, char *unparsedrequest,
+    struct IN_ADDR *addr, HttpRequest * failedrequest, char *unparsedrequest,
     auth_user_request_t * auth_user_request)
 {
     ErrorState *errstate =
@@ -2167,7 +2167,7 @@
 ErrorState *
 clientBuildError(err_type page_id, http_status status, char const *url,
 
-                 struct in_addr * src_addr, HttpRequest * request)
+                 struct IN_ADDR * src_addr, HttpRequest * request)
 {
     ErrorState *err = errorCon(page_id, status);
     err->src_addr = *src_addr;
diff -ru squid3.cvs/src/client_side_reply.h squid3/src/client_side_reply.h
--- squid3.cvs/src/client_side_reply.h	2003-08-11 04:13:02.000000000 +0200
+++ squid3/src/client_side_reply.h	2005-04-15 17:27:58.000000000 +0200
@@ -73,7 +73,7 @@
     int storeOKTransferDone() const;
     int storeNotOKTransferDone() const;
 
-    void setReplyToError(err_type, http_status, method_t, char const *, struct in_addr *, HttpRequest *, char *, auth_user_request_t *);
+    void setReplyToError(err_type, http_status, method_t, char const *, struct IN_ADDR *, HttpRequest *, char *, auth_user_request_t *);
     void createStoreEntry(method_t m, request_flags flags);
     void removeStoreReference(store_client ** scp, StoreEntry ** ep);
     void removeClientStoreReference(store_client **scp, ClientHttpRequest *http);
diff -ru squid3.cvs/src/comm.cc squid3/src/comm.cc
--- squid3.cvs/src/comm.cc	2005-04-07 04:14:21.000000000 +0200
+++ squid3/src/comm.cc	2005-04-15 17:27:57.000000000 +0200
@@ -66,7 +66,7 @@
     struct sockaddr_in S;
     CallBack<CNCB> callback;
 
-    struct in_addr in_addr;
+    struct IN_ADDR in_addr;
     int fd;
     int tries;
     int addrcount;
@@ -78,7 +78,7 @@
 
 /* STATIC */
 
-static comm_err_t commBind(int s, struct in_addr, u_short port);
+static comm_err_t commBind(int s, struct IN_ADDR, u_short port);
 static void commSetReuseAddr(int);
 static void commSetNoLinger(int);
 static void CommWriteStateCallbackAndFree(int fd, comm_err_t code);
@@ -1015,7 +1015,7 @@
 
 static comm_err_t
 
-commBind(int s, struct in_addr in_addr, u_short port)
+commBind(int s, struct IN_ADDR in_addr, u_short port)
 {
 
     struct sockaddr_in S;
@@ -1044,7 +1044,7 @@
 comm_open(int sock_type,
           int proto,
 
-          struct in_addr addr,
+          struct IN_ADDR addr,
           u_short port,
           int flags,
           const char *note)
@@ -1064,7 +1064,7 @@
 comm_openex(int sock_type,
             int proto,
 
-            struct in_addr addr,
+            struct IN_ADDR addr,
             u_short port,
             int flags,
             unsigned char TOS,
diff -ru squid3.cvs/src/CompositePoolNode.h squid3/src/CompositePoolNode.h
--- squid3.cvs/src/CompositePoolNode.h	2003-08-05 04:12:48.000000000 +0200
+++ squid3/src/CompositePoolNode.h	2005-04-15 17:27:58.000000000 +0200
@@ -76,7 +76,7 @@
     public:
         CompositeSelectionDetails() {}
 
-        struct in_addr src_addr;
+        struct IN_ADDR src_addr;
         AuthUserRequest *user;
         String tag;
     };
diff -ru squid3.cvs/src/delay_pools.cc squid3/src/delay_pools.cc
--- squid3.cvs/src/delay_pools.cc	2003-08-05 04:12:49.000000000 +0200
+++ squid3/src/delay_pools.cc	2005-04-15 17:27:58.000000000 +0200
@@ -149,7 +149,7 @@
 
     virtual char const *label() const = 0;
 
-    virtual unsigned int const makeKey (struct in_addr &src_addr) const = 0;
+    virtual unsigned int const makeKey (struct IN_ADDR &src_addr) const = 0;
 
     DelaySpec spec;
 
@@ -179,7 +179,7 @@
 protected:
     virtual char const *label() const {return "Individual";}
 
-    virtual unsigned int const makeKey (struct in_addr &src_addr) const;
+    virtual unsigned int const makeKey (struct IN_ADDR &src_addr) const;
 
 };
 
@@ -193,7 +193,7 @@
 protected:
     virtual char const *label() const {return "Network";}
 
-    virtual unsigned int const makeKey (struct in_addr &src_addr) const;
+    virtual unsigned int const makeKey (struct IN_ADDR &src_addr) const;
 };
 
 /* don't use remote storage for these */
@@ -236,9 +236,9 @@
 
     virtual char const *label() const {return "Individual";}
 
-    virtual unsigned int const makeKey (struct in_addr &src_addr) const;
+    virtual unsigned int const makeKey (struct IN_ADDR &src_addr) const;
 
-    unsigned char const makeHostKey (struct in_addr &src_addr) const;
+    unsigned char const makeHostKey (struct IN_ADDR &src_addr) const;
 
     DelaySpec spec;
     VectorMap<unsigned char, ClassCBucket> buckets;
@@ -837,7 +837,7 @@
 
 unsigned int const
 
-IndividualPool::makeKey (struct in_addr &src_addr) const
+IndividualPool::makeKey (struct IN_ADDR &src_addr) const
 {
     unsigned int host;
     host = ntohl(src_addr.s_addr) & 0xff;
@@ -860,7 +860,7 @@
 
 unsigned int const
 
-ClassCNetPool::makeKey (struct in_addr &src_addr) const
+ClassCNetPool::makeKey (struct IN_ADDR &src_addr) const
 {
     unsigned int net;
     net = (ntohl(src_addr.s_addr) >> 8) & 0xff;
@@ -930,7 +930,7 @@
 
 unsigned char const
 
-ClassCHostPool::makeHostKey (struct in_addr &src_addr) const
+ClassCHostPool::makeHostKey (struct IN_ADDR &src_addr) const
 {
     unsigned int host;
     host = ntohl(src_addr.s_addr) & 0xff;
@@ -939,7 +939,7 @@
 
 unsigned int const
 
-ClassCHostPool::makeKey (struct in_addr &src_addr) const
+ClassCHostPool::makeKey (struct IN_ADDR &src_addr) const
 {
     unsigned int net;
     net = (ntohl(src_addr.s_addr) >> 8) & 0xff;
diff -ru squid3.cvs/src/dns_internal.cc squid3/src/dns_internal.cc
--- squid3.cvs/src/dns_internal.cc	2004-10-11 04:13:14.000000000 +0200
+++ squid3/src/dns_internal.cc	2005-04-15 17:27:59.000000000 +0200
@@ -122,7 +122,7 @@
 idnsAddNameserver(const char *buf)
 {
 
-    struct in_addr A;
+    struct IN_ADDR A;
 
     if (!safe_inet_addr(buf, &A)) {
         debug(78, 0) ("WARNING: rejecting '%s' as a name server, because it is not a numeric IP address\n", buf);
@@ -795,7 +795,7 @@
     if (DnsSocket < 0) {
         int port;
 
-        struct in_addr addr;
+        struct IN_ADDR addr;
 
         if (Config.Addrs.udp_outgoing.s_addr != no_addr.s_addr)
             addr = Config.Addrs.udp_outgoing;
@@ -933,7 +933,7 @@
 
 void
 
-idnsPTRLookup(const struct in_addr addr, IDNSCB * callback, void *data)
+idnsPTRLookup(const struct IN_ADDR addr, IDNSCB * callback, void *data)
 {
     idns_query *q;
 
diff -ru squid3.cvs/src/dnsserver.cc squid3/src/dnsserver.cc
--- squid3.cvs/src/dnsserver.cc	2004-12-21 17:37:17.000000000 +0100
+++ squid3/src/dnsserver.cc	2005-04-15 17:27:58.000000000 +0200
@@ -160,7 +160,7 @@
 #define gethostbyname _res_gethostbyname
 #endif /* _SQUID_NEXT_ */
 
-static struct in_addr no_addr;
+static struct IN_ADDR no_addr;
 
 #ifdef _SQUID_OS2_
 
@@ -198,7 +198,7 @@
     int retry = 0;
     int i;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 
     if (0 == strcmp(buf, "$shutdown"))
         exit(0);
diff -ru squid3.cvs/src/ESI.cc squid3/src/ESI.cc
--- squid3.cvs/src/ESI.cc	2004-12-22 04:13:56.000000000 +0100
+++ squid3/src/ESI.cc	2005-04-15 17:27:57.000000000 +0200
@@ -1437,7 +1437,7 @@
     /* don't touch incoming, it's a pointer into buffered anyway */
 }
 
-extern ErrorState *clientBuildError (err_type, http_status, char const *, struct in_addr *, HttpRequest *);
+extern ErrorState *clientBuildError (err_type, http_status, char const *, struct IN_ADDR *, HttpRequest *);
 
 
 /* This can ONLY be used before we have sent *any* data to the client */
diff -ru squid3.cvs/src/fde.h squid3/src/fde.h
--- squid3.cvs/src/fde.h	2005-03-19 09:30:34.000000000 +0100
+++ squid3/src/fde.h	2005-04-15 17:27:57.000000000 +0200
@@ -50,7 +50,7 @@
     u_short local_port;
     u_short remote_port;
 
-    struct in_addr local_addr;
+    struct IN_ADDR local_addr;
     unsigned char tos;
     char ipaddr[16];            /* dotted decimal address of peer */
     char desc[FD_DESC_SZ];
diff -ru squid3.cvs/src/forward.cc squid3/src/forward.cc
--- squid3.cvs/src/forward.cc	2005-03-19 09:30:34.000000000 +0100
+++ squid3/src/forward.cc	2005-04-15 17:27:57.000000000 +0200
@@ -484,12 +484,12 @@
     comm_close(fd);
 }
 
-static struct in_addr
+static struct IN_ADDR
             aclMapAddr(acl_address * head, ACLChecklist * ch)
 {
     acl_address *l;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 
     for (l = head; l; l = l->next)
     {
@@ -514,7 +514,7 @@
     return 0;
 }
 
-struct in_addr
+struct IN_ADDR
             getOutgoingAddr(HttpRequest * request)
 {
     ACLChecklist ch;
@@ -559,7 +559,7 @@
     int ctimeout;
     int ftimeout = Config.Timeout.forward - (squid_curtime - fwdState->start);
 
-    struct in_addr outgoing;
+    struct IN_ADDR outgoing;
     unsigned short tos;
     assert(fs);
     assert(fwdState->server_fd == -1);
diff -ru squid3.cvs/src/fqdncache.cc squid3/src/fqdncache.cc
--- squid3.cvs/src/fqdncache.cc	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/fqdncache.cc	2005-04-15 17:27:57.000000000 +0200
@@ -432,7 +432,7 @@
 
 void
 
-fqdncache_nbgethostbyaddr(struct in_addr addr, FQDNH * handler, void *handlerData)
+fqdncache_nbgethostbyaddr(struct IN_ADDR addr, FQDNH * handler, void *handlerData)
 {
     fqdncache_entry *f = NULL;
     char *name = inet_ntoa(addr);
@@ -531,12 +531,12 @@
 
 const char *
 
-fqdncache_gethostbyaddr(struct in_addr addr, int flags)
+fqdncache_gethostbyaddr(struct IN_ADDR addr, int flags)
 {
     char *name = inet_ntoa(addr);
     fqdncache_entry *f = NULL;
 
-    struct in_addr ip;
+    struct IN_ADDR ip;
     assert(name);
     FqdncacheStats.requests++;
     f = fqdncache_get(name);
@@ -636,7 +636,7 @@
 
 const char *
 
-fqdnFromAddr(struct in_addr addr)
+fqdnFromAddr(struct IN_ADDR addr)
 {
     const char *n;
     static char buf[32];
diff -ru squid3.cvs/src/globals.h squid3/src/globals.h
--- squid3.cvs/src/globals.h	2005-03-19 09:30:35.000000000 +0100
+++ squid3/src/globals.h	2005-04-15 17:27:58.000000000 +0200
@@ -103,15 +103,15 @@
 
 extern struct _acl_deny_info_list *DenyInfoList;	/* NULL */
 
-extern struct in_addr any_addr;
+extern struct IN_ADDR any_addr;
 
-extern struct in_addr local_addr;
+extern struct IN_ADDR local_addr;
 
-extern struct in_addr no_addr;
+extern struct IN_ADDR no_addr;
 
-extern struct in_addr theOutICPAddr;
+extern struct IN_ADDR theOutICPAddr;
 
-extern struct in_addr theOutSNMPAddr;
+extern struct IN_ADDR theOutSNMPAddr;
 
 extern struct timeval current_time;
 
diff -ru squid3.cvs/src/HttpRequest.cc squid3/src/HttpRequest.cc
--- squid3.cvs/src/HttpRequest.cc	2004-08-31 04:14:26.000000000 +0200
+++ squid3/src/HttpRequest.cc	2005-04-15 17:27:57.000000000 +0200
@@ -63,9 +63,9 @@
     int max_forwards;
     /* these in_addr's could probably be sockaddr_in's */
 
-    struct in_addr client_addr;
+    struct IN_ADDR client_addr;
 
-    struct in_addr my_addr;
+    struct IN_ADDR my_addr;
     unsigned short my_port;
     unsigned short client_port;
     HttpHeader header;
diff -ru squid3.cvs/src/HttpRequest.h squid3/src/HttpRequest.h
--- squid3.cvs/src/HttpRequest.h	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/HttpRequest.h	2005-04-15 17:27:58.000000000 +0200
@@ -82,9 +82,9 @@
     int max_forwards;
     /* these in_addr's could probably be sockaddr_in's */
 
-    struct in_addr client_addr;
+    struct IN_ADDR client_addr;
 
-    struct in_addr my_addr;
+    struct IN_ADDR my_addr;
     unsigned short my_port;
     unsigned short client_port;
     HttpHeader header;
diff -ru squid3.cvs/src/icmp.cc squid3/src/icmp.cc
--- squid3.cvs/src/icmp.cc	2003-06-13 04:13:32.000000000 +0200
+++ squid3/src/icmp.cc	2005-04-15 17:27:58.000000000 +0200
@@ -54,7 +54,7 @@
 
 static void
 
-icmpSendEcho(struct in_addr to, int opcode, const char *payload, int len)
+icmpSendEcho(struct IN_ADDR to, int opcode, const char *payload, int len)
 {
     static pingerEchoData pecho;
 
@@ -179,7 +179,7 @@
 #if ALLOW_SOURCE_PING
 void
 
-icmpSourcePing(struct in_addr to, const icp_common_t * header, const char *url)
+icmpSourcePing(struct IN_ADDR to, const icp_common_t * header, const char *url)
 {
 #if USE_ICMP
     char *payload;
@@ -211,7 +211,7 @@
 
 void
 
-icmpDomainPing(struct in_addr to, const char *domain)
+icmpDomainPing(struct IN_ADDR to, const char *domain)
 {
 #if USE_ICMP
     debug(37, 3) ("icmpDomainPing: '%s'\n", domain);
diff -ru squid3.cvs/src/icp_v2.cc squid3/src/icp_v2.cc
--- squid3.cvs/src/icp_v2.cc	2003-09-21 04:13:17.000000000 +0200
+++ squid3/src/icp_v2.cc	2005-04-15 17:27:58.000000000 +0200
@@ -42,7 +42,7 @@
 #include "ACL.h"
 #include "AccessLogEntry.h"
 
-static void icpLogIcp(struct in_addr, log_type, int, const char *, int);
+static void icpLogIcp(struct IN_ADDR, log_type, int, const char *, int);
 
 static void icpHandleIcpV2(int, struct sockaddr_in, char *, int);
 static void icpCount(void *, int, size_t, int);
@@ -155,7 +155,7 @@
 
 static void
 
-icpLogIcp(struct in_addr caddr, log_type logcode, int len, const char *url, int delay)
+icpLogIcp(struct IN_ADDR caddr, log_type logcode, int len, const char *url, int delay)
 {
     AccessLogEntry al;
 
@@ -566,7 +566,7 @@
 icpPktDump(icp_common_t * pkt)
 {
 
-    struct in_addr a;
+    struct IN_ADDR a;
 
     debug(12, 9) ("opcode:     %3d %s\n",
                   (int) pkt->opcode,
@@ -663,7 +663,7 @@
 {
     u_int16_t port;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 
     struct sockaddr_in xaddr;
     int x;
@@ -729,7 +729,7 @@
         theOutIcpConnection = theInIcpConnection;
     }
 
-    memset(&theOutICPAddr, '\0', sizeof(struct in_addr));
+    memset(&theOutICPAddr, '\0', sizeof(struct IN_ADDR));
 
     len = sizeof(struct sockaddr_in);
     memset(&xaddr, '\0', len);
diff -ru squid3.cvs/src/ipcache.cc squid3/src/ipcache.cc
--- squid3.cvs/src/ipcache.cc	2005-02-16 04:15:27.000000000 +0100
+++ squid3/src/ipcache.cc	2005-04-15 17:27:57.000000000 +0200
@@ -333,7 +333,7 @@
     if (ipcount > 0) {
         int j, k;
 
-        i->addrs.in_addrs = (struct in_addr *)xcalloc(ipcount, sizeof(struct in_addr));
+        i->addrs.in_addrs = (struct IN_ADDR *)xcalloc(ipcount, sizeof(struct IN_ADDR));
         i->addrs.bad_mask = (unsigned char *)xcalloc(ipcount, sizeof(unsigned char));
 
         for (j = 0, k = 0; k < ipcount; k++) {
@@ -416,7 +416,7 @@
         return 0;
     }
 
-    i->addrs.in_addrs = (struct in_addr *)xcalloc(na, sizeof(struct in_addr));
+    i->addrs.in_addrs = (struct IN_ADDR *)xcalloc(na, sizeof(struct IN_ADDR));
     i->addrs.bad_mask = (unsigned char *)xcalloc(na, sizeof(unsigned char));
 
     for (j = 0, k = 0; k < nr; k++) {
@@ -571,7 +571,7 @@
 
     memset(&static_addrs, '\0', sizeof(ipcache_addrs));
 
-    static_addrs.in_addrs = (struct in_addr *)xcalloc(1, sizeof(struct in_addr));
+    static_addrs.in_addrs = (struct IN_ADDR *)xcalloc(1, sizeof(struct IN_ADDR));
     static_addrs.bad_mask = (unsigned char *)xcalloc(1, sizeof(unsigned char));
     ipcache_high = (long) (((float) Config.ipcache.size *
                             (float) Config.ipcache.high) / (float) 100);
@@ -718,7 +718,7 @@
 ipcacheCheckNumeric(const char *name)
 {
 
-    struct in_addr ip;
+    struct IN_ADDR ip;
     /* check if it's already a IP address in text form. */
 
     if (!safe_inet_addr(name, &ip))
@@ -804,7 +804,7 @@
  */
 void
 
-ipcacheMarkBadAddr(const char *name, struct in_addr addr)
+ipcacheMarkBadAddr(const char *name, struct IN_ADDR addr)
 {
     ipcache_entry *i;
     ipcache_addrs *ia;
@@ -837,7 +837,7 @@
 
 void
 
-ipcacheMarkGoodAddr(const char *name, struct in_addr addr)
+ipcacheMarkGoodAddr(const char *name, struct IN_ADDR addr)
 {
     ipcache_entry *i;
     ipcache_addrs *ia;
@@ -906,7 +906,7 @@
 {
     ipcache_entry *i;
 
-    struct in_addr ip;
+    struct IN_ADDR ip;
 
     if (!safe_inet_addr(ipaddr, &ip)) {
         if (strchr(ipaddr, ':') && strspn(ipaddr, "0123456789abcdefABCDEF:") == strlen(ipaddr)) {
@@ -936,7 +936,7 @@
     i->addrs.cur = 0;
     i->addrs.badcount = 0;
 
-    i->addrs.in_addrs = (struct in_addr *)xcalloc(1, sizeof(struct in_addr));
+    i->addrs.in_addrs = (struct IN_ADDR *)xcalloc(1, sizeof(struct IN_ADDR));
     i->addrs.bad_mask = (unsigned char *)xcalloc(1, sizeof(unsigned char));
     i->addrs.in_addrs[0].s_addr = ip.s_addr;
     i->addrs.bad_mask[0] = FALSE;
diff -ru squid3.cvs/src/main.cc squid3/src/main.cc
--- squid3.cvs/src/main.cc	2005-04-07 04:14:22.000000000 +0200
+++ squid3/src/main.cc	2005-04-15 17:27:57.000000000 +0200
@@ -931,15 +931,15 @@
     if (oldmask)
         umask(oldmask);
 
-    memset(&local_addr, '\0', sizeof(struct in_addr));
+    memset(&local_addr, '\0', sizeof(struct IN_ADDR));
 
     safe_inet_addr(localhost, &local_addr);
 
-    memset(&any_addr, '\0', sizeof(struct in_addr));
+    memset(&any_addr, '\0', sizeof(struct IN_ADDR));
 
     safe_inet_addr("0.0.0.0", &any_addr);
 
-    memset(&no_addr, '\0', sizeof(struct in_addr));
+    memset(&no_addr, '\0', sizeof(struct IN_ADDR));
 
     safe_inet_addr("255.255.255.255", &no_addr);
 
diff -ru squid3.cvs/src/neighbors.cc squid3/src/neighbors.cc
--- squid3.cvs/src/neighbors.cc	2005-03-11 04:15:11.000000000 +0100
+++ squid3/src/neighbors.cc	2005-04-15 17:27:57.000000000 +0200
@@ -96,7 +96,7 @@
     int j;
     u_short port = ntohs(from->sin_port);
 
-    struct in_addr ip = from->sin_addr;
+    struct IN_ADDR ip = from->sin_addr;
     peer *p = NULL;
     debug(15, 3) ("whichPeer: from %s port %d\n", inet_ntoa(ip), port);
 
diff -ru squid3.cvs/src/net_db.cc squid3/src/net_db.cc
--- squid3.cvs/src/net_db.cc	2005-01-06 04:13:10.000000000 +0100
+++ squid3/src/net_db.cc	2005-04-15 17:27:57.000000000 +0200
@@ -79,10 +79,10 @@
 static hash_table *addr_table = NULL;
 static hash_table *host_table = NULL;
 
-static struct in_addr networkFromInaddr(struct in_addr a);
+static struct IN_ADDR networkFromInaddr(struct IN_ADDR a);
 static void netdbRelease(netdbEntry * n);
 
-static void netdbHashInsert(netdbEntry * n, struct in_addr addr);
+static void netdbHashInsert(netdbEntry * n, struct IN_ADDR addr);
 static void netdbHashDelete(const char *key);
 static void netdbHostInsert(netdbEntry * n, const char *hostname);
 static void netdbHostDelete(const net_db_name * x);
@@ -108,7 +108,7 @@
 
 static void
 
-netdbHashInsert(netdbEntry * n, struct in_addr addr)
+netdbHashInsert(netdbEntry * n, struct IN_ADDR addr)
 {
     xstrncpy(n->network, inet_ntoa(networkFromInaddr(addr)), 16);
     n->hash.key = n->network;
@@ -245,7 +245,7 @@
 
 static netdbEntry *
 
-netdbLookupAddr(struct in_addr addr)
+netdbLookupAddr(struct IN_ADDR addr)
 {
     netdbEntry *n;
     char *key = inet_ntoa(networkFromInaddr(addr));
@@ -255,7 +255,7 @@
 
 static netdbEntry *
 
-netdbAdd(struct in_addr addr)
+netdbAdd(struct IN_ADDR addr)
 {
     netdbEntry *n;
 
@@ -275,7 +275,7 @@
 netdbSendPing(const ipcache_addrs * ia, void *data)
 {
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
     char *hostname = (char *)((generic_cbdata *) data)->data;
     netdbEntry *n;
     netdbEntry *na;
@@ -341,12 +341,12 @@
     xfree(hostname);
 }
 
-static struct in_addr
+static struct IN_ADDR
 
-            networkFromInaddr(struct in_addr a)
+            networkFromInaddr(struct IN_ADDR a)
 {
 
-    struct in_addr b;
+    struct IN_ADDR b;
     b.s_addr = ntohl(a.s_addr);
 #if USE_CLASSFUL
 
@@ -529,7 +529,7 @@
     netdbEntry *n;
     netdbEntry N;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
     int count = 0;
 
     struct timeval start = current_time;
@@ -674,7 +674,7 @@
     int rec_sz = 0;
     off_t o;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
     double rtt;
     double hops;
     char *p;
@@ -974,7 +974,7 @@
 
 int
 
-netdbHops(struct in_addr addr)
+netdbHops(struct IN_ADDR addr)
 {
 #if USE_ICMP
     netdbEntry *n = netdbLookupAddr(addr);
@@ -1143,7 +1143,7 @@
 
 void
 
-netdbExchangeUpdatePeer(struct in_addr addr, peer * e, double rtt, double hops)
+netdbExchangeUpdatePeer(struct IN_ADDR addr, peer * e, double rtt, double hops)
 {
 #if USE_ICMP
     netdbEntry *n;
@@ -1179,7 +1179,7 @@
 
 void
 
-netdbDeleteAddrNetwork(struct in_addr addr)
+netdbDeleteAddrNetwork(struct IN_ADDR addr)
 {
 #if USE_ICMP
     netdbEntry *n = netdbLookupAddr(addr);
@@ -1206,7 +1206,7 @@
     int rec_sz;
     char *buf;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
     storeBuffer(s);
     HttpVersion version(1, 0);
     httpReplySetHeaders(reply, version, HTTP_OK, "OK",
diff -ru squid3.cvs/src/pinger.cc squid3/src/pinger.cc
--- squid3.cvs/src/pinger.cc	2004-04-05 04:00:28.000000000 +0200
+++ squid3/src/pinger.cc	2005-04-15 17:27:57.000000000 +0200
@@ -200,7 +200,7 @@
 static int in_cksum(unsigned short *ptr, int size);
 static void pingerRecv(void);
 
-static void pingerLog(struct icmphdr *, struct in_addr, int, int);
+static void pingerLog(struct icmphdr *, struct IN_ADDR, int, int);
 static int ipHops(int ttl);
 static void pingerSendtoSquid(pingerReplyData * preply);
 static void pingerOpen(void);
@@ -324,7 +324,7 @@
 
 static void
 
-pingerSendEcho(struct in_addr to, int opcode, char *payload, int len)
+pingerSendEcho(struct IN_ADDR to, int opcode, char *payload, int len)
 {
     LOCAL_ARRAY(char, pkt, MAX_PKT_SZ);
 
@@ -502,7 +502,7 @@
 
 static void
 
-pingerLog(struct icmphdr *icmp, struct in_addr addr, int rtt, int hops)
+pingerLog(struct icmphdr *icmp, struct IN_ADDR addr, int rtt, int hops)
 {
     debug(42, 2) ("pingerLog: %9d.%06d %-16s %d %-15.15s %dms %d hops\n",
                   (int) current_time.tv_sec,
diff -ru squid3.cvs/src/protos.h squid3/src/protos.h
--- squid3.cvs/src/protos.h	2005-04-07 04:14:22.000000000 +0200
+++ squid3/src/protos.h	2005-04-15 17:27:58.000000000 +0200
@@ -96,13 +96,13 @@
 
 SQUIDCEXTERN void clientdbInit(void);
 
-SQUIDCEXTERN void clientdbUpdate(struct in_addr, log_type, protocol_t, size_t);
+SQUIDCEXTERN void clientdbUpdate(struct IN_ADDR, log_type, protocol_t, size_t);
 
-SQUIDCEXTERN int clientdbCutoffDenied(struct in_addr);
+SQUIDCEXTERN int clientdbCutoffDenied(struct IN_ADDR);
 SQUIDCEXTERN void clientdbDump(StoreEntry *);
 SQUIDCEXTERN void clientdbFreeMemory(void);
 
-SQUIDCEXTERN int clientdbEstablished(struct in_addr, int);
+SQUIDCEXTERN int clientdbEstablished(struct IN_ADDR, int);
 SQUIDCEXTERN void clientOpenListenSockets(void);
 SQUIDCEXTERN void clientHttpConnectionsClose(void);
 SQUIDCEXTERN void clientReadBody(HttpRequest * req, char *buf, size_t size, CBCB * callback, void *data);
@@ -130,9 +130,9 @@
 SQUIDCEXTERN int comm_connect_addr(int sock, const struct sockaddr_in *);
 SQUIDCEXTERN void comm_init(void);
 
-SQUIDCEXTERN int comm_open(int, int, struct in_addr, u_short port, int, const char *note);
+SQUIDCEXTERN int comm_open(int, int, struct IN_ADDR, u_short port, int, const char *note);
 
-SQUIDCEXTERN int comm_openex(int, int, struct in_addr, u_short, int, unsigned char TOS, const char *);
+SQUIDCEXTERN int comm_openex(int, int, struct IN_ADDR, u_short, int, unsigned char TOS, const char *);
 SQUIDCEXTERN u_short comm_local_port(int fd);
 
 SQUIDCEXTERN void commSetSelect(int, unsigned int, PF *, void *, time_t);
@@ -229,7 +229,7 @@
 SQUIDCEXTERN void idnsShutdown(void);
 SQUIDCEXTERN void idnsALookup(const char *, IDNSCB *, void *);
 
-SQUIDCEXTERN void idnsPTRLookup(const struct in_addr, IDNSCB *, void *);
+SQUIDCEXTERN void idnsPTRLookup(const struct IN_ADDR, IDNSCB *, void *);
 
 extern void eventAdd(const char *name, EVH * func, void *arg, double when, int, bool cbdata=true);
 SQUIDCEXTERN void eventAddIsh(const char *name, EVH * func, void *arg, double delta_ish, int);
@@ -258,14 +258,14 @@
 SQUIDCEXTERN void filemapFreeMemory(fileMap *);
 
 
-SQUIDCEXTERN void fqdncache_nbgethostbyaddr(struct in_addr, FQDNH *, void *);
+SQUIDCEXTERN void fqdncache_nbgethostbyaddr(struct IN_ADDR, FQDNH *, void *);
 
-SQUIDCEXTERN const char *fqdncache_gethostbyaddr(struct in_addr, int flags);
+SQUIDCEXTERN const char *fqdncache_gethostbyaddr(struct IN_ADDR, int flags);
 SQUIDCEXTERN void fqdncache_init(void);
 SQUIDCEXTERN void fqdnStats(StoreEntry *);
 SQUIDCEXTERN void fqdncacheReleaseInvalid(const char *);
 
-SQUIDCEXTERN const char *fqdnFromAddr(struct in_addr);
+SQUIDCEXTERN const char *fqdnFromAddr(struct IN_ADDR);
 SQUIDCEXTERN int fqdncacheQueueDrain(void);
 SQUIDCEXTERN void fqdncacheFreeMemory(void);
 SQUIDCEXTERN void fqdncache_restart(void);
@@ -438,9 +438,9 @@
 SQUIDCEXTERN void icmpOpen(void);
 SQUIDCEXTERN void icmpClose(void);
 
-SQUIDCEXTERN void icmpSourcePing(struct in_addr to, const icp_common_t *, const char *url);
+SQUIDCEXTERN void icmpSourcePing(struct IN_ADDR to, const icp_common_t *, const char *url);
 
-SQUIDCEXTERN void icmpDomainPing(struct in_addr to, const char *domain);
+SQUIDCEXTERN void icmpDomainPing(struct IN_ADDR to, const char *domain);
 
 #ifdef SQUID_SNMP
 SQUIDCEXTERN PF snmpHandleUdp;
@@ -450,11 +450,11 @@
 SQUIDCEXTERN void snmpConnectionClose(void);
 SQUIDCEXTERN void snmpDebugOid(int lvl, oid * Name, snint Len);
 
-SQUIDCEXTERN void addr2oid(struct in_addr addr, oid * Dest);
+SQUIDCEXTERN void addr2oid(struct IN_ADDR addr, oid * Dest);
 
-SQUIDCEXTERN struct in_addr *oid2addr(oid * id);
+SQUIDCEXTERN struct IN_ADDR *oid2addr(oid * id);
 
-SQUIDCEXTERN struct in_addr *client_entry(struct in_addr *current);
+SQUIDCEXTERN struct IN_ADDR *client_entry(struct IN_ADDR *current);
 SQUIDCEXTERN variable_list *snmp_basicFn(variable_list *, snint *);
 SQUIDCEXTERN variable_list *snmp_confFn(variable_list *, snint *);
 SQUIDCEXTERN variable_list *snmp_sysFn(variable_list *, snint *);
@@ -490,9 +490,9 @@
 SQUIDCEXTERN void stat_ipcache_get(StoreEntry *);
 SQUIDCEXTERN void ipcacheCycleAddr(const char *name, ipcache_addrs *);
 
-SQUIDCEXTERN void ipcacheMarkBadAddr(const char *name, struct in_addr);
+SQUIDCEXTERN void ipcacheMarkBadAddr(const char *name, struct IN_ADDR);
 
-SQUIDCEXTERN void ipcacheMarkGoodAddr(const char *name, struct in_addr);
+SQUIDCEXTERN void ipcacheMarkGoodAddr(const char *name, struct IN_ADDR);
 SQUIDCEXTERN void ipcacheFreeMemory(void);
 SQUIDCEXTERN ipcache_addrs *ipcacheCheckNumeric(const char *name);
 SQUIDCEXTERN void ipcache_restart(void);
@@ -564,17 +564,17 @@
 SQUIDCEXTERN void netdbPingSite(const char *hostname);
 SQUIDCEXTERN void netdbDump(StoreEntry *);
 
-SQUIDCEXTERN int netdbHops(struct in_addr);
+SQUIDCEXTERN int netdbHops(struct IN_ADDR);
 SQUIDCEXTERN void netdbFreeMemory(void);
 SQUIDCEXTERN int netdbHostHops(const char *host);
 SQUIDCEXTERN int netdbHostRtt(const char *host);
 SQUIDCEXTERN void netdbUpdatePeer(HttpRequest *, peer * e, int rtt, int hops);
 
-SQUIDCEXTERN void netdbDeleteAddrNetwork(struct in_addr addr);
+SQUIDCEXTERN void netdbDeleteAddrNetwork(struct IN_ADDR addr);
 SQUIDCEXTERN void netdbBinaryExchange(StoreEntry *);
 SQUIDCEXTERN EVH netdbExchangeStart;
 
-SQUIDCEXTERN void netdbExchangeUpdatePeer(struct in_addr, peer *, double, double);
+SQUIDCEXTERN void netdbExchangeUpdatePeer(struct IN_ADDR, peer *, double, double);
 SQUIDCEXTERN peer *netdbClosestParent(HttpRequest *);
 SQUIDCEXTERN void netdbHostData(const char *host, int *samp, int *rtt, int *hops);
 
@@ -605,7 +605,7 @@
 SQUIDCEXTERN void fwdStatus(FwdState *, http_status);
 #endif
 
-SQUIDCEXTERN struct in_addr getOutgoingAddr(HttpRequest * request);
+SQUIDCEXTERN struct IN_ADDR getOutgoingAddr(HttpRequest * request);
 unsigned long getOutgoingTOS(HttpRequest * request);
 
 SQUIDCEXTERN void urnStart(HttpRequest *, StoreEntry *);
@@ -794,7 +794,7 @@
 SQUIDCEXTERN void squid_signal(int sig, SIGHDLR *, int flags);
 SQUIDCEXTERN pid_t readPidFile(void);
 
-SQUIDCEXTERN struct in_addr inaddrFromHostent(const struct hostent *hp);
+SQUIDCEXTERN struct IN_ADDR inaddrFromHostent(const struct hostent *hp);
 SQUIDCEXTERN int intAverage(int, int, int, int);
 SQUIDCEXTERN double doubleAverage(double, double, int, int);
 SQUIDCEXTERN void debug_trap(const char *);
diff -ru squid3.cvs/src/redirect.cc squid3/src/redirect.cc
--- squid3.cvs/src/redirect.cc	2004-10-19 04:13:40.000000000 +0200
+++ squid3/src/redirect.cc	2005-04-15 17:27:58.000000000 +0200
@@ -46,7 +46,7 @@
     void *data;
     char *orig_url;
 
-    struct in_addr client_addr;
+    struct IN_ADDR client_addr;
     const char *client_ident;
     const char *method_s;
     RH *handler;
diff -ru squid3.cvs/src/snmp_agent.cc squid3/src/snmp_agent.cc
--- squid3.cvs/src/snmp_agent.cc	2005-01-04 04:13:39.000000000 +0100
+++ squid3/src/snmp_agent.cc	2005-04-15 17:27:58.000000000 +0200
@@ -175,7 +175,7 @@
 {
     variable_list *Answer = NULL;
 
-    struct in_addr *laddr;
+    struct IN_ADDR *laddr;
     char *cp = NULL;
     peer *p = NULL;
     int cnt = 0;
diff -ru squid3.cvs/src/snmp_core.cc squid3/src/snmp_core.cc
--- squid3.cvs/src/snmp_core.cc	2003-09-21 04:13:17.000000000 +0200
+++ squid3/src/snmp_core.cc	2005-04-15 17:27:58.000000000 +0200
@@ -406,7 +406,7 @@
             theOutSnmpConnection = theInSnmpConnection;
         }
 
-        memset(&theOutSNMPAddr, '\0', sizeof(struct in_addr));
+        memset(&theOutSNMPAddr, '\0', sizeof(struct IN_ADDR));
 
         len = sizeof(struct sockaddr_in);
         memset(&xaddr, '\0', len);
@@ -854,7 +854,7 @@
     u_char *cp = NULL;
     peer *peers = Config.peers;
 
-    struct in_addr *laddr = NULL;
+    struct IN_ADDR *laddr = NULL;
     char *host_addr = NULL, *current_addr = NULL, *last_addr = NULL;
 
     if (peers == NULL) {
@@ -919,7 +919,7 @@
     oid *instance = NULL;
     u_char *cp = NULL;
 
-    struct in_addr *laddr = NULL;
+    struct IN_ADDR *laddr = NULL;
 
     if (*len <= current->len) {
         instance = (oid *)xmalloc(sizeof(name) * (*len + 4));
@@ -1142,7 +1142,7 @@
 
 void
 
-addr2oid(struct in_addr addr, oid * Dest)
+addr2oid(struct IN_ADDR addr, oid * Dest)
 {
     u_char *cp;
     cp = (u_char *) & (addr.s_addr);
@@ -1152,12 +1152,12 @@
     Dest[3] = *cp++;
 }
 
-struct in_addr
+struct IN_ADDR
             *
             oid2addr(oid * id)
 {
 
-    static struct in_addr laddr;
+    static struct IN_ADDR laddr;
     u_char *cp = (u_char *) & (laddr.s_addr);
     cp[0] = id[0];
     cp[1] = id[1];
diff -ru squid3.cvs/src/structs.h squid3/src/structs.h
--- squid3.cvs/src/structs.h	2005-04-04 04:15:24.000000000 +0200
+++ squid3/src/structs.h	2005-04-15 17:27:57.000000000 +0200
@@ -118,7 +118,7 @@
     acl_address *next;
     acl_list *aclList;
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 };
 
 struct _acl_tos
@@ -341,11 +341,11 @@
     struct
     {
 
-        struct in_addr router;
+        struct IN_ADDR router;
 
-        struct in_addr incoming;
+        struct IN_ADDR incoming;
 
-        struct in_addr outgoing;
+        struct IN_ADDR outgoing;
         int version;
     }
 
@@ -453,17 +453,17 @@
     struct
     {
 
-        struct in_addr udp_incoming;
+        struct IN_ADDR udp_incoming;
 
-        struct in_addr udp_outgoing;
+        struct IN_ADDR udp_outgoing;
 #if SQUID_SNMP
 
-        struct in_addr snmp_incoming;
+        struct IN_ADDR snmp_incoming;
 
-        struct in_addr snmp_outgoing;
+        struct IN_ADDR snmp_outgoing;
 #endif
 
-        struct in_addr client_netmask;
+        struct IN_ADDR client_netmask;
     }
 
     Addrs;
@@ -682,7 +682,7 @@
     struct
     {
 
-        struct in_addr addr;
+        struct IN_ADDR addr;
         int ttl;
         unsigned short port;
         char *encode_key;
@@ -984,7 +984,7 @@
 struct _ipcache_addrs
 {
 
-    struct in_addr *in_addrs;
+    struct IN_ADDR *in_addrs;
     unsigned char *bad_mask;
     unsigned char count;
     unsigned char cur;
@@ -1272,7 +1272,7 @@
 
     int tcp_up;			/* 0 if a connect() fails */
 
-    struct in_addr addresses[10];
+    struct IN_ADDR addresses[10];
     int n_addresses;
     int rr_count;
     int rr_lastcount;
@@ -1352,7 +1352,7 @@
 struct _pingerEchoData
 {
 
-    struct in_addr to;
+    struct IN_ADDR to;
     unsigned char opcode;
     int psize;
     char payload[PINGER_PAYLOAD_SZ];
@@ -1361,7 +1361,7 @@
 struct _pingerReplyData
 {
 
-    struct in_addr from;
+    struct IN_ADDR from;
     unsigned char opcode;
     int rtt;
     int hops;
@@ -1595,7 +1595,7 @@
     char *dnsserver_msg;
     time_t ttl;
 
-    struct in_addr src_addr;
+    struct IN_ADDR src_addr;
     char *redirect_url;
     ERCB *callback;
     void *callback_data;
@@ -1841,7 +1841,7 @@
 {
     hash_link hash;		/* must be first */
 
-    struct in_addr addr;
+    struct IN_ADDR addr;
 
     struct
     {
diff -ru squid3.cvs/src/tools.cc squid3/src/tools.cc
--- squid3.cvs/src/tools.cc	2005-03-19 09:30:37.000000000 +0100
+++ squid3/src/tools.cc	2005-04-15 17:27:58.000000000 +0200
@@ -556,7 +556,7 @@
 
     const struct hostent *h = NULL;
 
-    struct in_addr sa;
+    struct IN_ADDR sa;
 
     if (Config.visibleHostname != NULL)
         return Config.visibleHostname;
@@ -929,12 +929,12 @@
 #endif
 }
 
-struct in_addr
+struct IN_ADDR
 
             inaddrFromHostent(const struct hostent *hp)
 {
 
-    struct in_addr s;
+    struct IN_ADDR s;
     xmemcpy(&s.s_addr, hp->h_addr, sizeof(s.s_addr));
     return s;
 }
diff -ru squid3.cvs/src/wccp.cc squid3/src/wccp.cc
--- squid3.cvs/src/wccp.cc	2005-02-06 04:13:33.000000000 +0100
+++ squid3/src/wccp.cc	2005-04-15 17:27:58.000000000 +0200
@@ -61,7 +61,7 @@
 struct wccp_cache_entry_t
 {
 
-    struct in_addr ip_addr;
+    struct IN_ADDR ip_addr;
     int revision;
     char hash[WCCP_HASH_SIZE];
     int reserved;
@@ -96,7 +96,7 @@
 static int last_assign_buckets_change;
 static unsigned int number_caches;
 
-static struct in_addr local_ip;
+static struct IN_ADDR local_ip;
 
 static PF wccpHandleUdp;
 static int wccpLowestIP(void);
