Пример #1
0
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);
}
Пример #2
0
/*#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 */