void CBufferUser::SendOnlineMsg(PUserCtrl pUser) { UINT nUserId = pUser->userInfo.nUserId; UINT nCmdId = CMD_HEARBET; PMsgbuf pBuf = bufcache->GetBuffer(); UINT addr = pUser->netStatus.nInetAddr; UINT port = pUser->netStatus.nInetPort; PACKACK(pBuf, 0, 0); PACKSEQSUM(pBuf, 0); PACKADDR(pBuf, addr, port); PACKCMDUSER(pBuf, nCmdId, nUserId, 0); pBuf->len = PackHeaderSize; CalcBufLen(pBuf); CheckSumVal(pBuf); sendctrl->PushMsg(pBuf); }
/*#define TAIL_RESTART 120*60*/ /*#define NOBODY 65534*/ /* Can't do this so that we can run iptables */ #define DEFAULT_MAIL_LOG "/var/log/mail.log" #define uint32_t unsigned long #define PACKADDR(a, b, c, d) (((uint32_t)(a) << 24) | ((b) << 16) | ((c) << 8) | (d)) #define MAKEMASK(bits) ((uint32_t)(0xffffffff << (bits))) static const struct cidr_net { uint32_t base; uint32_t mask; } localNets[] = { /*{ PACKADDR(127, 0, 0, 0), MAKEMASK(8) }, /* 127.0.0.0/8 */ { PACKADDR(192, 168, 0, 0), MAKEMASK(16) }, /* 192.168.0.0/16 - RFC3330 */ /*{ PACKADDR(192, 0, 2, 0), MAKEMASK(24) }, /* 192.0.2.0/24 - RFC3330 */ { PACKADDR( 10, 0, 0, 0), MAKEMASK(8) }, /* 10.0.0.0/8 */ { PACKADDR(172, 16, 0, 0), MAKEMASK(12) }, /* 172.16.0.0/12 */ { PACKADDR(169, 254, 0, 0), MAKEMASK(16) }, /* 169.254.0.0/16 */ { 0, 0 } }, whiteNets[] = { { PACKADDR(212, 159, 0, 0), MAKEMASK(19) }, /* F9 - 212.159.0.0/19 */ { PACKADDR(84, 93, 229, 0), MAKEMASK(8) }, /* F9 - 84.93.229.0/8 */ { PACKADDR(217, 157, 23, 243), MAKEMASK(0) }, /* njh.softcom.dk */ { PACKADDR(204, 15, 80, 0), MAKEMASK(22) }, /* Spamcop */ { 0, 0 } }; struct privdata { char ip[INET_ADDRSTRLEN]; /* IP address of the other end */