Revision: 14813
Author: adrian.chadd
Date: Thu Oct 21 01:45:06 2010
Log: * Add in an IPv6 client_netmask
* Make the IPv4 client_netmask work once again


http://code.google.com/p/lusca-cache/source/detail?r=14813

Modified:
 /playpen/LUSCA_HEAD_ipv6/src/cf.data.pre
 /playpen/LUSCA_HEAD_ipv6/src/client_side_conn.c
 /playpen/LUSCA_HEAD_ipv6/src/structs.h

=======================================
--- /playpen/LUSCA_HEAD_ipv6/src/cf.data.pre    Wed Oct 20 21:23:48 2010
+++ /playpen/LUSCA_HEAD_ipv6/src/cf.data.pre    Thu Oct 21 01:45:06 2010
@@ -2609,7 +2609,7 @@

 NAME: client_netmask
 TYPE: address
-LOC: Config.Addrs.client_netmask
+LOC: Config.Addrs.client_netmask_v4
 DEFAULT: 255.255.255.255
 DOC_START
        A netmask for client addresses in logfiles and cachemgr output.
@@ -2618,6 +2618,14 @@
        the last digit set to '0'.
 DOC_END

+NAME: client_netmask_v6
+TYPE: address6
+LOC: Config.Addrs.client_netmask_v6
+DEFAULT: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+DOC_START
+       Similar to client_netmask, but for IPv6.
+DOC_END
+
 NAME: forward_log
 IFDEF: WIP_FWD_LOG
 TYPE: string
=======================================
--- /playpen/LUSCA_HEAD_ipv6/src/client_side_conn.c     Tue Aug 31 09:02:21 2010
+++ /playpen/LUSCA_HEAD_ipv6/src/client_side_conn.c     Thu Oct 21 01:45:06 2010
@@ -51,6 +51,7 @@
 connStateCreate(int fd, sqaddr_t *peer, sqaddr_t *me)
 {
         ConnStateData *connState = NULL;
+       sqaddr_t m;

         CBDATA_INIT_TYPE(ConnStateData);
         connState = cbdataAlloc(ConnStateData);
@@ -62,10 +63,15 @@
        sqinet_copy(&connState->peer2, peer);
        sqinet_copy(&connState->log_addr2, peer);

-#warning XXX still need to add back client_netmask! And/or add a v6 client_netmask config option!
-#if 0
-        connState->log_addr.s_addr &= Config.Addrs.client_netmask.s_addr;
-#endif
+       if (sqinet_get_family(&connState->log_addr2) == AF_INET) {
+               sqinet_init(&m);
+               sqinet_set_v4_inaddr(&m, &Config.Addrs.client_netmask_v4);
+               sqinet_mask_addr(&connState->log_addr2, &m);
+               sqinet_done(&m);
+       } else {
+               sqinet_mask_addr(&connState->log_addr2, 
&Config.Addrs.client_netmask_v6);
+       }
+
        sqinet_copy(&connState->me2, me);

         connState->fd = fd;
=======================================
--- /playpen/LUSCA_HEAD_ipv6/src/structs.h      Wed Oct 20 21:23:48 2010
+++ /playpen/LUSCA_HEAD_ipv6/src/structs.h      Thu Oct 21 01:45:06 2010
@@ -578,7 +578,8 @@
        struct in_addr snmp_incoming;
        struct in_addr snmp_outgoing;
 #endif
-       struct in_addr client_netmask;
+       struct in_addr client_netmask_v4;
+       sqaddr_t client_netmask_v6;
        sqaddr_t udp_incoming6;
        sqaddr_t udp_outgoing6;
     } Addrs;

--
You received this message because you are subscribed to the Google Groups 
"lusca-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/lusca-commit?hl=en.

Reply via email to