crossroads

Git mirror of https://crossroads.e-tunity.com/
git clone git://git.finwo.net/app/crossroads
Log | Files | Refs | LICENSE

ipmatch.cc (468B)


      1 #include "sys"
      2 #include "../config/config"
      3 
      4 bool ipmatch (struct in_addr adr, struct in_addr mask) {
      5     PROFILE("ipmatch");
      6     
      7     long laddr = 0, lmask = 0;
      8     memcpy (&laddr, &adr,  sizeof(adr));
      9     memcpy (&lmask, &mask, sizeof(mask));
     10     bool match = ( (laddr & lmask) == laddr );
     11 
     12     debugmsg("Matching ip " << inet2string(adr) << " against mask " <<
     13 	     inet2string(mask) << ": " <<
     14 	     (match ? "match" : "miss") << '\n');
     15     
     16     return (match);
     17 }